i-ring: Move AC_LIBOBJ invocations to module description.
[pspp] / ChangeLog
1 2011-05-23  Bruno Haible  <bruno@clisp.org>
2
3         i-ring: Move AC_LIBOBJ invocations to module description.
4         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
5         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6
7 2011-05-23  Bruno Haible  <bruno@clisp.org>
8
9         idcache: Move AC_LIBOBJ invocations to module description.
10         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11         * modules/idcache (Makefile.am): Augment lib_SOURCES.
12
13 2011-05-23  Bruno Haible  <bruno@clisp.org>
14
15         human: Move AC_LIBOBJ invocations to module description.
16         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17         * modules/human (Makefile.am): Augment lib_SOURCES.
18
19 2011-05-23  Bruno Haible  <bruno@clisp.org>
20
21         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
22         * m4/hmac-sha1.m4: Remove file.
23         * modules/crypto/hmac-sha1 (Files): Remove it.
24         (configure.ac): Remove gl_HMAC_SHA1 call.
25         (Makefile.am): Augment lib_SOURCES.
26
27 2011-05-23  Bruno Haible  <bruno@clisp.org>
28
29         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
30         * m4/hmac-md5.m4: Remove file.
31         * modules/crypto/hmac-md5 (Files): Remove it.
32         (configure.ac): Remove gl_HMAC_MD5 call.
33         (Makefile.am): Augment lib_SOURCES.
34
35 2011-05-23  Bruno Haible  <bruno@clisp.org>
36
37         hash: Move AC_LIBOBJ invocations to module description.
38         * m4/hash.m4: Remove file.
39         * modules/hash (Files): Remove it.
40         (configure.ac): Remove gl_HASH call.
41         (Makefile.am): Augment lib_SOURCES.
42
43 2011-05-23  Bruno Haible  <bruno@clisp.org>
44
45         hard-locale: Move AC_LIBOBJ invocations to module description.
46         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
47         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
48
49 2011-05-23  Bruno Haible  <bruno@clisp.org>
50
51         getugroups: Move AC_LIBOBJ invocations to module description.
52         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
53         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
54
55 2011-05-23  Bruno Haible  <bruno@clisp.org>
56
57         gettime: Move AC_LIBOBJ invocations to module description.
58         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
59         * modules/gettime (Makefile.am): Augment lib_SOURCES.
60
61 2011-05-23  Bruno Haible  <bruno@clisp.org>
62
63         getndelim2: Move AC_LIBOBJ invocations to module description.
64         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
65         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
66
67 2011-05-23  Bruno Haible  <bruno@clisp.org>
68
69         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
70         * m4/gc-pbkdf2-sha1.m4: Remove file.
71         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
72         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
73         (Makefile.am): Augment lib_SOURCES.
74
75 2011-05-23  Bruno Haible  <bruno@clisp.org>
76
77         fts: Move AC_LIBOBJ invocations to module description.
78         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
79         * modules/fts (configure.ac): ... to here.
80
81 2011-05-23  Bruno Haible  <bruno@clisp.org>
82
83         file-type: Move AC_LIBOBJ invocations to module description.
84         * m4/file-type.m4: Remove file.
85         * modules/file-type (Files): Remove it.
86         (configure.ac): Remove gl_FILE_TYPE call.
87         (Makefile.am): Augment lib_SOURCES.
88
89 2011-05-23  Bruno Haible  <bruno@clisp.org>
90
91         filenamecat*: Respect rules for use of AC_LIBOBJ.
92         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
93         Remove AC_LIBOBJ invocation.
94         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
95         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
96
97 2011-05-23  Bruno Haible  <bruno@clisp.org>
98
99         filemode: Move AC_LIBOBJ invocations to module description.
100         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
101         * modules/filemode (Makefile.am): Augment lib_SOURCES.
102
103 2011-05-23  Bruno Haible  <bruno@clisp.org>
104
105         openat-safer: Move AC_LIBOBJ invocations to module description.
106         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
107         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
108
109 2011-05-23  Bruno Haible  <bruno@clisp.org>
110
111         fcntl-safer: Move AC_LIBOBJ invocations to module description.
112         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
113         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
114
115 2011-05-23  Bruno Haible  <bruno@clisp.org>
116
117         exclude: Move AC_LIBOBJ invocations to module description.
118         * m4/exclude.m4: Remove file.
119         * modules/exclude (Files): Remove it.
120         (configure.ac): Remove gl_EXCLUDE call.
121         (Makefile.am): Augment lib_SOURCES.
122
123 2011-05-23  Bruno Haible  <bruno@clisp.org>
124
125         dirname*: Respect rules for use of AC_LIBOBJ.
126         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
127         invocations.
128         * modules/dirname (Makefile.am): Augment lib_SOURCES.
129         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
130
131 2011-05-23  Bruno Haible  <bruno@clisp.org>
132
133         dirent-safer: Move AC_LIBOBJ invocations to module description.
134         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
135         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
136
137 2011-05-23  Bruno Haible  <bruno@clisp.org>
138
139         crypto/des: Move AC_LIBOBJ invocations to module description.
140         * m4/des.m4: Remove file.
141         * modules/crypto/des (Files): Remove it.
142         (configure.ac): Remove gl_DES call.
143         (Makefile.am): Augment lib_SOURCES.
144
145 2011-05-23  Bruno Haible  <bruno@clisp.org>
146
147         cycle-check: Move AC_LIBOBJ invocations to module description.
148         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
149         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
150
151 2011-05-23  Bruno Haible  <bruno@clisp.org>
152
153         c-strtold: Move AC_LIBOBJ invocations to module description.
154         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
155         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
156
157 2011-05-23  Bruno Haible  <bruno@clisp.org>
158
159         c-strtod: Move AC_LIBOBJ invocations to module description.
160         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
161         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
162
163 2011-05-23  Bruno Haible  <bruno@clisp.org>
164
165         crc: Move AC_LIBOBJ invocations to module description.
166         * m4/crc.m4: Remove file.
167         * modules/crc (Files): Remove it.
168         (configure.ac): Remove gl_CRC call.
169         (Makefile.am): Augment lib_SOURCES.
170
171 2011-05-23  Bruno Haible  <bruno@clisp.org>
172
173         close-stream: Move AC_LIBOBJ invocations to module description.
174         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
175         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
176
177 2011-05-23  Bruno Haible  <bruno@clisp.org>
178
179         closeout: Move AC_LIBOBJ invocations to module description.
180         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
181         * modules/closeout (Makefile.am): Augment lib_SOURCES.
182
183 2011-05-23  Bruno Haible  <bruno@clisp.org>
184
185         closein: Move AC_LIBOBJ invocations to module description.
186         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
187         * modules/closein (Makefile.am): Augment lib_SOURCES.
188
189 2011-05-23  Bruno Haible  <bruno@clisp.org>
190
191         cloexec: Move AC_LIBOBJ invocations to module description.
192         * m4/cloexec.m4: Remove file.
193         * modules/cloexec (Files): Remove it.
194         (configure.ac): Remove gl_CLOEXEC call.
195         (Makefile.am): Augment lib_SOURCES.
196
197 2011-05-23  Bruno Haible  <bruno@clisp.org>
198
199         check-version: Move AC_LIBOBJ invocations to module description.
200         * m4/check-version.m4: Remove file.
201         * modules/check-version (Files): Remove it.
202         (configure.ac): Remove gl_CHECK_VERSION call.
203         (Makefile.am): Augment lib_SOURCES.
204
205 2011-05-23  Bruno Haible  <bruno@clisp.org>
206
207         chdir-safer: Move AC_LIBOBJ invocations to module description.
208         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
209         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
210
211 2011-05-23  Bruno Haible  <bruno@clisp.org>
212
213         canonicalize: Move AC_LIBOBJ invocations to module description.
214         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
215         AC_LIBOBJ invocation.
216         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
217
218 2011-05-23  Bruno Haible  <bruno@clisp.org>
219
220         canon-host: Move AC_LIBOBJ invocations to module description.
221         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
222         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
223         instead of gl_CANON_HOST.
224         (Makefile.am): Augment lib_SOURCES.
225
226 2011-05-23  Bruno Haible  <bruno@clisp.org>
227
228         backupfile: Move AC_LIBOBJ invocations to module description.
229         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
230         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
231
232 2011-05-23  Bruno Haible  <bruno@clisp.org>
233
234         argmatch: Move AC_LIBOBJ invocations to module description.
235         * m4/argmatch.m4: Remove file.
236         * modules/argmatch (Files): Remove it.
237         (configure.ac): Remove gl_ARGMATCH call.
238         (Makefile.am): Augment lib_SOURCES.
239
240 2011-05-23  Bruno Haible  <bruno@clisp.org>
241
242         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
243         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
244         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
245
246 2011-05-23  Bruno Haible  <bruno@clisp.org>
247
248         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
249         * m4/arcfour.m4: Remove file.
250         * modules/crypto/arcfour (Files): Remove it.
251         (configure.ac): Remove gl_ARCFOUR call.
252         (Makefile.am): Augment lib_SOURCES.
253
254 2011-05-22  Bruno Haible  <bruno@clisp.org>
255
256         write: Move AC_LIBOBJ invocations to module description.
257         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
258         * modules/write (configure.ac): ... to here.
259
260 2011-05-22  Bruno Haible  <bruno@clisp.org>
261
262         wmemset: Move AC_LIBOBJ invocations to module description.
263         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
264         here...
265         * modules/wmemset (configure.ac): ... to here.
266
267 2011-05-22  Bruno Haible  <bruno@clisp.org>
268
269         wmemmove: Move AC_LIBOBJ invocations to module description.
270         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
271         here...
272         * modules/wmemmove (configure.ac): ... to here.
273
274 2011-05-22  Bruno Haible  <bruno@clisp.org>
275
276         wmemcpy: Move AC_LIBOBJ invocations to module description.
277         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
278         here...
279         * modules/wmemcpy (configure.ac): ... to here.
280
281 2011-05-22  Bruno Haible  <bruno@clisp.org>
282
283         wmemcmp: Move AC_LIBOBJ invocations to module description.
284         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
285         here...
286         * modules/wmemcmp (configure.ac): ... to here.
287
288 2011-05-22  Bruno Haible  <bruno@clisp.org>
289
290         wmemchr: Move AC_LIBOBJ invocations to module description.
291         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
292         here...
293         * modules/wmemchr (configure.ac): ... to here.
294
295 2011-05-22  Bruno Haible  <bruno@clisp.org>
296
297         wcswidth: Move AC_LIBOBJ invocations to module description.
298         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
299         here...
300         * modules/wcswidth (configure.ac): ... to here.
301
302 2011-05-22  Bruno Haible  <bruno@clisp.org>
303
304         wcwidth: Respect rules for use of AC_LIBOBJ.
305         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
306         invocation from here...
307         * modules/wcwidth (configure.ac): ... to here.
308         (Depends-on): Update conditions.
309
310 2011-05-22  Bruno Haible  <bruno@clisp.org>
311
312         wctype: Move AC_LIBOBJ invocations to module description.
313         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
314         invocation from here...
315         * modules/wctype (configure.ac): ... to here.
316         (Depends-on): Update conditions.
317
318 2011-05-22  Bruno Haible  <bruno@clisp.org>
319
320         wctrans: Move AC_LIBOBJ invocations to module description.
321         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
322         invocation from here...
323         * modules/wctrans (configure.ac): ... to here.
324
325 2011-05-22  Bruno Haible  <bruno@clisp.org>
326
327         wctomb: Move AC_LIBOBJ invocations to module description.
328         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
329         invocations from here...
330         * modules/wctomb (configure.ac): ... to here.
331
332 2011-05-22  Bruno Haible  <bruno@clisp.org>
333
334         wctob: Move AC_LIBOBJ invocations to module description.
335         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
336         gl_PREREQ_WCTOB invocations from here...
337         * modules/wctob (configure.ac): ... to here.
338         (Depends-on): Update conditions.
339
340 2011-05-22  Bruno Haible  <bruno@clisp.org>
341
342         wcsxfrm: Move AC_LIBOBJ invocations to module description.
343         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
344         here...
345         * modules/wcsxfrm (configure.ac): ... to here.
346
347 2011-05-22  Bruno Haible  <bruno@clisp.org>
348
349         wcstok: Move AC_LIBOBJ invocations to module description.
350         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
351         * modules/wcstok (configure.ac): ... to here.
352
353 2011-05-22  Bruno Haible  <bruno@clisp.org>
354
355         wcsstr: Move AC_LIBOBJ invocations to module description.
356         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
357         * modules/wcsstr (configure.ac): ... to here.
358
359 2011-05-22  Bruno Haible  <bruno@clisp.org>
360
361         wcsspn: Move AC_LIBOBJ invocations to module description.
362         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
363         * modules/wcsspn (configure.ac): ... to here.
364
365 2011-05-22  Bruno Haible  <bruno@clisp.org>
366
367         wcsrtombs: Move AC_LIBOBJ invocations to module description.
368         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
369         gl_PREREQ_WCSRTOMBS invocations from here...
370         * modules/wcsrtombs (configure.ac): ... to here.
371
372 2011-05-22  Bruno Haible  <bruno@clisp.org>
373
374         wcsrchr: Move AC_LIBOBJ invocations to module description.
375         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
376         here...
377         * modules/wcsrchr (configure.ac): ... to here.
378
379 2011-05-22  Bruno Haible  <bruno@clisp.org>
380
381         wcspbrk: Move AC_LIBOBJ invocations to module description.
382         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
383         here...
384         * modules/wcspbrk (configure.ac): ... to here.
385
386 2011-05-22  Bruno Haible  <bruno@clisp.org>
387
388         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
389         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
390         gl_PREREQ_WCSNRTOMBS invocations from here...
391         * modules/wcsnrtombs (configure.ac): ... to here.
392
393 2011-05-22  Bruno Haible  <bruno@clisp.org>
394
395         wcsnlen: Move AC_LIBOBJ invocations to module description.
396         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
397         here...
398         * modules/wcsnlen (configure.ac): ... to here.
399
400 2011-05-22  Bruno Haible  <bruno@clisp.org>
401
402         wcsncpy: Move AC_LIBOBJ invocations to module description.
403         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
404         here...
405         * modules/wcsncpy (configure.ac): ... to here.
406
407 2011-05-22  Bruno Haible  <bruno@clisp.org>
408
409         wcsncmp: Move AC_LIBOBJ invocations to module description.
410         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
411         here...
412         * modules/wcsncmp (configure.ac): ... to here.
413
414 2011-05-22  Bruno Haible  <bruno@clisp.org>
415
416         wcsncat: Move AC_LIBOBJ invocations to module description.
417         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
418         here...
419         * modules/wcsncat (configure.ac): ... to here.
420
421 2011-05-22  Bruno Haible  <bruno@clisp.org>
422
423         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
424         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
425         from here...
426         * modules/wcsncasecmp (configure.ac): ... to here.
427
428 2011-05-22  Bruno Haible  <bruno@clisp.org>
429
430         wcslen: Move AC_LIBOBJ invocations to module description.
431         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
432         * modules/wcslen (configure.ac): ... to here.
433
434 2011-05-22  Bruno Haible  <bruno@clisp.org>
435
436         wcsdup: Move AC_LIBOBJ invocations to module description.
437         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
438         * modules/wcsdup (configure.ac): ... to here.
439
440 2011-05-22  Bruno Haible  <bruno@clisp.org>
441
442         wcscspn: Move AC_LIBOBJ invocations to module description.
443         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
444         here...
445         * modules/wcscspn (configure.ac): ... to here.
446
447 2011-05-22  Bruno Haible  <bruno@clisp.org>
448
449         wcscpy: Move AC_LIBOBJ invocations to module description.
450         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
451         * modules/wcscpy (configure.ac): ... to here.
452
453 2011-05-22  Bruno Haible  <bruno@clisp.org>
454
455         wcscoll: Move AC_LIBOBJ invocations to module description.
456         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
457         here...
458         * modules/wcscoll (configure.ac): ... to here.
459
460 2011-05-22  Bruno Haible  <bruno@clisp.org>
461
462         wcscmp: Move AC_LIBOBJ invocations to module description.
463         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
464         * modules/wcscmp (configure.ac): ... to here.
465
466 2011-05-22  Bruno Haible  <bruno@clisp.org>
467
468         wcschr: Move AC_LIBOBJ invocations to module description.
469         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
470         * modules/wcschr (configure.ac): ... to here.
471
472 2011-05-22  Bruno Haible  <bruno@clisp.org>
473
474         wcscat: Move AC_LIBOBJ invocations to module description.
475         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
476         * modules/wcscat (configure.ac): ... to here.
477
478 2011-05-22  Bruno Haible  <bruno@clisp.org>
479
480         wcscasecmp: Move AC_LIBOBJ invocations to module description.
481         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
482         here...
483         * modules/wcscasecmp (configure.ac): ... to here.
484
485 2011-05-22  Bruno Haible  <bruno@clisp.org>
486
487         wcrtomb: Move AC_LIBOBJ invocations to module description.
488         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
489         invocations from here...
490         * modules/wcrtomb (configure.ac): ... to here.
491
492 2011-05-22  Bruno Haible  <bruno@clisp.org>
493
494         wcpncpy: Move AC_LIBOBJ invocations to module description.
495         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
496         here...
497         * modules/wcpncpy (configure.ac): ... to here.
498
499 2011-05-22  Bruno Haible  <bruno@clisp.org>
500
501         wcpcpy: Move AC_LIBOBJ invocations to module description.
502         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
503         * modules/wcpcpy (configure.ac): ... to here.
504
505 2011-05-22  Bruno Haible  <bruno@clisp.org>
506
507         waitpid: Move AC_LIBOBJ invocations to module description.
508         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
509         invocation from here...
510         * modules/waitpid (configure.ac): ... to here.
511
512 2011-05-22  Bruno Haible  <bruno@clisp.org>
513
514         utimensat: Move AC_LIBOBJ invocations to module description.
515         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
516         here...
517         * modules/utimensat (configure.ac): ... to here.
518
519 2011-05-22  Bruno Haible  <bruno@clisp.org>
520
521         usleep: Move AC_LIBOBJ invocations to module description.
522         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
523         here...
524         * modules/usleep (configure.ac): ... to here.
525
526 2011-05-22  Bruno Haible  <bruno@clisp.org>
527
528         unlockpt: Move AC_LIBOBJ invocations to module description.
529         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
530         gl_PREREQ_UNLOCKPT invocations from here...
531         * modules/unlockpt (configure.ac): ... to here.
532
533 2011-05-22  Bruno Haible  <bruno@clisp.org>
534
535         unlink: Respect rules for use of AC_LIBOBJ.
536         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
537         * modules/unlink (configure.ac): ... to here.
538
539 2011-05-22  Bruno Haible  <bruno@clisp.org>
540
541         uname: Move AC_LIBOBJ invocations to module description.
542         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
543         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
544         here...
545         * modules/uname (configure.ac): ... to here.
546
547 2011-05-22  Bruno Haible  <bruno@clisp.org>
548
549         ttyname_r: Move AC_LIBOBJ invocations to module description.
550         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
551         gl_PREREQ_TTYNAME_R invocations from here...
552         * modules/ttyname_r (configure.ac): ... to here.
553
554 2011-05-22  Bruno Haible  <bruno@clisp.org>
555
556         tsearch: Move AC_LIBOBJ invocations to module description.
557         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
558         invocations from here...
559         * modules/tsearch (configure.ac): ... to here.
560
561 2011-05-22  Bruno Haible  <bruno@clisp.org>
562
563         towctrans: Move AC_LIBOBJ invocations to module description.
564         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
565         AC_LIBOBJ invocation from here...
566         * modules/towctrans (configure.ac): ... to here.
567
568 2011-05-22  Bruno Haible  <bruno@clisp.org>
569
570         tmpfile: Move AC_LIBOBJ invocations to module description.
571         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
572         invocations from here...
573         * modules/tmpfile (configure.ac): ... to here.
574
575 2011-05-22  Bruno Haible  <bruno@clisp.org>
576
577         times: Move AC_LIBOBJ invocations to module description.
578         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
579         * modules/times (configure.ac): ... to here.
580
581 2011-05-22  Bruno Haible  <bruno@clisp.org>
582
583         time_r: Move AC_LIBOBJ invocations to module description.
584         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
585         invocations from here...
586         * modules/time_r (configure.ac): ... to here.
587
588 2011-05-22  Bruno Haible  <bruno@clisp.org>
589
590         timegm: Move AC_LIBOBJ invocations to module description.
591         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
592         invocations from here...
593         * modules/timegm (configure.ac): ... to here.
594
595 2011-05-22  Bruno Haible  <bruno@clisp.org>
596
597         tcgetsid: Move AC_LIBOBJ invocations to module description.
598         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
599         and gl_PREREQ_TCGETSID invocations from here...
600         * modules/tcgetsid (configure.ac): ... to here.
601         (Depends-on): Update conditions.
602
603 2011-05-22  Bruno Haible  <bruno@clisp.org>
604
605         symlinkat: Move AC_LIBOBJ invocations to module description.
606         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
607         here...
608         * modules/symlinkat (configure.ac): ... to here.
609
610 2011-05-22  Bruno Haible  <bruno@clisp.org>
611
612         symlink: Move AC_LIBOBJ invocations to module description.
613         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
614         here...
615         * modules/symlink (configure.ac): ... to here.
616
617 2011-05-22  Bruno Haible  <bruno@clisp.org>
618
619         strverscmp: Move AC_LIBOBJ invocations to module description.
620         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
621         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
622         from here...
623         * modules/strverscmp (configure.ac): ... to here.
624
625 2011-05-22  Bruno Haible  <bruno@clisp.org>
626
627         strtok_r: Move AC_LIBOBJ invocations to module description.
628         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
629         and gl_PREREQ_STRTOK_R invocations from here...
630         * modules/strtok_r (configure.ac): ... to here.
631         (Depends-on): Update conditions.
632
633 2011-05-22  Bruno Haible  <bruno@clisp.org>
634
635         strtoumax: Move AC_LIBOBJ invocations to module description.
636         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
637         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
638         from here...
639         * modules/strtoumax (configure.ac): ... to here.
640
641 2011-05-22  Bruno Haible  <bruno@clisp.org>
642
643         strtoimax: Move AC_LIBOBJ invocations to module description.
644         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
645         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
646         from here...
647         * modules/strtoimax (configure.ac): ... to here.
648
649 2011-05-22  Bruno Haible  <bruno@clisp.org>
650
651         strtoull: Move AC_LIBOBJ invocations to module description.
652         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
653         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
654         from here...
655         * modules/strtoull (configure.ac): ... to here.
656
657 2011-05-22  Bruno Haible  <bruno@clisp.org>
658
659         strtoll: Move AC_LIBOBJ invocations to module description.
660         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
661         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
662         here...
663         * modules/strtoll (configure.ac): ... to here.
664
665 2011-05-22  Bruno Haible  <bruno@clisp.org>
666
667         strtoul: Move AC_LIBOBJ invocations to module description.
668         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
669         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
670         * modules/strtoul (configure.ac): ... to here.
671
672 2011-05-22  Bruno Haible  <bruno@clisp.org>
673
674         strtol: Move AC_LIBOBJ invocations to module description.
675         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
676         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
677         * modules/strtol (configure.ac): ... to here.
678
679 2011-05-22  Bruno Haible  <bruno@clisp.org>
680
681         strtod: Move AC_LIBOBJ invocations to module description.
682         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
683         invocations from here...
684         * modules/strtod (configure.ac): ... to here.
685
686 2011-05-22  Bruno Haible  <bruno@clisp.org>
687
688         strstr*: Move AC_LIBOBJ invocations to module description.
689         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
690         invocations from here...
691         * modules/strstr-simple (configure.ac): ... to here.
692         * modules/strstr (configure.ac): ... and here.
693
694 2011-05-22  Bruno Haible  <bruno@clisp.org>
695
696         strsignal: Move AC_LIBOBJ invocations to module description.
697         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
698         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
699         * modules/strsignal (configure.ac): ... to here.
700         (Depends-on): Update conditions.
701
702 2011-05-22  Bruno Haible  <bruno@clisp.org>
703
704         strsep: Move AC_LIBOBJ invocations to module description.
705         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
706         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
707         here...
708         * modules/strsep (configure.ac): ... to here.
709
710 2011-05-22  Bruno Haible  <bruno@clisp.org>
711
712         strptime: Move AC_LIBOBJ invocations to module description.
713         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
714         gl_PREREQ_STRPTIME invocations from here...
715         * modules/strptime (configure.ac): ... to here.
716
717 2011-05-22  Bruno Haible  <bruno@clisp.org>
718
719         strpbrk: Move AC_LIBOBJ invocations to module description.
720         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
721         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
722         here...
723         * modules/strpbrk (configure.ac): ... to here.
724
725 2011-05-22  Bruno Haible  <bruno@clisp.org>
726
727         strnlen: Move AC_LIBOBJ invocations to module description.
728         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
729         invocations from here...
730         * modules/strnlen (configure.ac): ... to here.
731
732 2011-05-22  Bruno Haible  <bruno@clisp.org>
733
734         strndup: Move AC_LIBOBJ invocations to module description.
735         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
736         invocations from here...
737         * modules/strndup (configure.ac): ... to here.
738         (Depends-on): Update conditions.
739
740 2011-05-22  Bruno Haible  <bruno@clisp.org>
741
742         strncat: Move AC_LIBOBJ invocations to module description.
743         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
744         invocations from here...
745         * modules/strncat (configure.ac): ... to here.
746
747 2011-05-22  Bruno Haible  <bruno@clisp.org>
748
749         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
750         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
751         invocations from here...
752         * modules/strdup (configure.ac): ... to here.
753         * modules/strdup-posix (configure.ac): ... and here.
754
755 2011-05-22  Bruno Haible  <bruno@clisp.org>
756
757         strcspn: Move AC_LIBOBJ invocations to module description.
758         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
759         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
760         here...
761         * modules/strcspn (configure.ac): ... to here.
762
763 2011-05-22  Bruno Haible  <bruno@clisp.org>
764
765         strchrnul: Move AC_LIBOBJ invocations to module description.
766         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
767         gl_PREREQ_STRCHRNUL invocations from here...
768         * modules/strchrnul (configure.ac): ... to here.
769
770 2011-05-22  Bruno Haible  <bruno@clisp.org>
771
772         strcasestr*: Move AC_LIBOBJ invocations to module description.
773         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
774         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
775         * modules/strcasestr-simple (configure.ac): ... to here.
776         * modules/strcasestr (configure.ac): ... and here.
777
778 2011-05-22  Bruno Haible  <bruno@clisp.org>
779
780         strcase: Move AC_LIBOBJ invocations to module description.
781         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
782         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
783         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
784         gl_PREREQ_STRNCASECMP invocations from here...
785         * modules/strcase (configure.ac): ... to here.
786
787 2011-05-22  Bruno Haible  <bruno@clisp.org>
788
789         stpncpy: Move AC_LIBOBJ invocations to module description.
790         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
791         here...
792         * modules/stpncpy (configure.ac): ... to here.
793
794 2011-05-22  Bruno Haible  <bruno@clisp.org>
795
796         stpcpy: Move AC_LIBOBJ invocations to module description.
797         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
798         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
799         here...
800         * modules/stpcpy (configure.ac): ... to here.
801
802 2011-05-21  Bruno Haible  <bruno@clisp.org>
803
804         stat: Move AC_LIBOBJ invocations to module description.
805         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
806         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
807         here...
808         * modules/stat (configure.ac): ... to here.
809
810 2011-05-21  Bruno Haible  <bruno@clisp.org>
811
812         sleep: Move AC_LIBOBJ invocations to module description.
813         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
814         * modules/sleep (configure.ac): ... to here.
815
816 2011-05-21  Bruno Haible  <bruno@clisp.org>
817
818         signbit: Move AC_LIBOBJ invocations to module description.
819         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
820         * modules/signbit (configure.ac): ... to here.
821
822 2011-05-21  Bruno Haible  <bruno@clisp.org>
823
824         sigprocmask: Move AC_LIBOBJ invocations to module description.
825         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
826         gl_PREREQ_SIGPROMASK invocations from here...
827         * modules/sigprocmask (configure.ac): ... to here.
828
829 2011-05-21  Bruno Haible  <bruno@clisp.org>
830
831         sigaction: Move AC_LIBOBJ invocations to module description.
832         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
833         gl_PREREQ_SIGACTION invocations from here...
834         * modules/sigaction (configure.ac): ... to here.
835
836 2011-05-21  Bruno Haible  <bruno@clisp.org>
837
838         sig2str: Move AC_LIBOBJ invocations to module description.
839         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
840         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
841         here...
842         * modules/sig2str (configure.ac): ... to here.
843
844 2011-05-21  Bruno Haible  <bruno@clisp.org>
845
846         setlocale: Move AC_LIBOBJ invocations to module description.
847         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
848         gl_PREREQ_SETLOCALE invocations from here...
849         * modules/setlocale (configure.ac): ... to here.
850
851 2011-05-21  Bruno Haible  <bruno@clisp.org>
852
853         unsetenv: Move AC_LIBOBJ invocations to module description.
854         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
855         and gl_PREREQ_UNSETENV invocations from here...
856         * modules/unsetenv (configure.ac): ... to here.
857         (Depends-on): Update.
858
859 2011-05-21  Bruno Haible  <bruno@clisp.org>
860
861         setenv: Move AC_LIBOBJ invocations to module description.
862         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
863         here...
864         * modules/setenv (configure.ac): ... to here.
865
866 2011-05-21  Bruno Haible  <bruno@clisp.org>
867
868         selinux-h: Move AC_LIBOBJ invocations to module description.
869         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
870         AC_LIBOBJ invocation from here...
871         * modules/selinux-h (configure.ac): ... to here.
872
873 2011-05-21  Bruno Haible  <bruno@clisp.org>
874
875         select: Respect rules for use of AC_LIBOBJ.
876         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
877         here...
878         * modules/select (configure.ac): ... to here.
879
880 2011-05-21  Bruno Haible  <bruno@clisp.org>
881
882         scandir: Move AC_LIBOBJ invocations to module description.
883         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
884         invocations from here...
885         * modules/scandir (configure.ac): ... to here.
886
887 2011-05-21  Bruno Haible  <bruno@clisp.org>
888
889         rpmatch: Move AC_LIBOBJ invocations to module description.
890         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
891         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
892         here...
893         * modules/rpmatch (configure.ac): ... to here.
894
895 2011-05-21  Bruno Haible  <bruno@clisp.org>
896
897         rmdir: Respect rules for use of AC_LIBOBJ.
898         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
899         * modules/rmdir (configure.ac): ... to here.
900
901 2011-05-21  Bruno Haible  <bruno@clisp.org>
902
903         renameat: Move AC_LIBOBJ invocations to module description.
904         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
905         here...
906         * modules/renameat (configure.ac): ... to here.
907
908 2011-05-21  Bruno Haible  <bruno@clisp.org>
909
910         rename: Respect rules for use of AC_LIBOBJ.
911         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
912         here...
913         * modules/rename (configure.ac): ... to here.
914
915 2011-05-21  Bruno Haible  <bruno@clisp.org>
916
917         remove: Move AC_LIBOBJ invocations to module description.
918         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
919         here...
920         * modules/remove (configure.ac): ... to here.
921
922 2011-05-21  Bruno Haible  <bruno@clisp.org>
923
924         relocatable-lib: Move AC_LIBOBJ invocations to module description.
925         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
926         macro.
927         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
928         * modules/relocatable-lib (configure.ac): ... to here.
929         * modules/relocatable-prog-wrapper (configure.ac): Invoke
930         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
931
932 2011-05-21  Bruno Haible  <bruno@clisp.org>
933
934         relocatable-prog: Move AC_LIBOBJ invocations to module description.
935         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
936         here...
937         * modules/relocatable-prog (configure.ac): ... to here.
938
939 2011-05-21  Bruno Haible  <bruno@clisp.org>
940
941         regex: Move AC_LIBOBJ invocations to module description.
942         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
943         invocations from here...
944         * modules/regex (configure.ac): ... to here.
945
946 2011-05-21  Bruno Haible  <bruno@clisp.org>
947
948         realloc-*: Move AC_LIBOBJ invocations to module description.
949         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
950         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
951         AC_LIBOBJ invocations from here...
952         * modules/realloc-gnu (configure.ac): ... to here.
953         * modules/realloc-posix (configure.ac): ... and here.
954
955 2011-05-21  Bruno Haible  <bruno@clisp.org>
956
957         readutmp: Move AC_LIBOBJ invocations to module description.
958         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
959         * modules/readutmp (configure.ac): ... to here.
960
961 2011-05-21  Bruno Haible  <bruno@clisp.org>
962
963         readlinkat: Move AC_LIBOBJ invocations to module description.
964         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
965         here...
966         * modules/readlinkat (configure.ac): ... to here.
967
968 2011-05-21  Bruno Haible  <bruno@clisp.org>
969
970         readlink: Move AC_LIBOBJ invocations to module description.
971         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
972         gl_PREREQ_READLINK invocations from here...
973         * modules/readlink (configure.ac): ... to here.
974
975 2011-05-21  Bruno Haible  <bruno@clisp.org>
976
977         readline: Move AC_LIBOBJ invocations to module description.
978         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
979         gl_PREREQ_READLINE invocations from here...
980         * modules/readline (configure.ac): ... to here.
981
982 2011-05-21  Bruno Haible  <bruno@clisp.org>
983
984         read: Move AC_LIBOBJ invocations to module description.
985         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
986         * modules/read (configure.ac): ... to here.
987
988 2011-05-21  Bruno Haible  <bruno@clisp.org>
989
990         rawmemchr: Move AC_LIBOBJ invocations to module description.
991         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
992         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
993         from here...
994         * modules/rawmemchr (configure.ac): ... to here.
995
996 2011-05-21  Bruno Haible  <bruno@clisp.org>
997
998         random_r: Move AC_LIBOBJ invocations to module description.
999         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
1000         gl_PREREQ_RANDOM_R invocations from here...
1001         * modules/random_r (configure.ac): ... to here.
1002
1003 2011-05-21  Bruno Haible  <bruno@clisp.org>
1004
1005         pwrite: Move AC_LIBOBJ invocations to module description.
1006         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
1007         * modules/pwrite (configure.ac): ... to here.
1008
1009 2011-05-21  Bruno Haible  <bruno@clisp.org>
1010
1011         putenv: Move AC_LIBOBJ invocations to module description.
1012         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
1013         * modules/putenv (configure.ac): ... to here.
1014
1015 2011-05-21  Bruno Haible  <bruno@clisp.org>
1016
1017         login_tty: Move AC_LIBOBJ invocations to module description.
1018         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
1019         * modules/login_tty (configure.ac): ... to here.
1020
1021 2011-05-21  Bruno Haible  <bruno@clisp.org>
1022
1023         openpty: Move AC_LIBOBJ invocations to module description.
1024         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
1025         * modules/openpty (configure.ac): ... to here.
1026
1027 2011-05-21  Bruno Haible  <bruno@clisp.org>
1028
1029         forkpty: Move AC_LIBOBJ invocations to module description.
1030         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
1031         * modules/forkpty (configure.ac): ... to here.
1032
1033 2011-05-21  Bruno Haible  <bruno@clisp.org>
1034
1035         ptsname: Move AC_LIBOBJ invocations to module description.
1036         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
1037         invocations from here...
1038         * modules/ptsname (configure.ac): ... to here.
1039
1040 2011-05-21  Bruno Haible  <bruno@clisp.org>
1041
1042         pread: Move AC_LIBOBJ invocations to module description.
1043         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
1044         * modules/pread (configure.ac): ... to here.
1045
1046 2011-05-21  Bruno Haible  <bruno@clisp.org>
1047
1048         posix_spawn*: Move AC_LIBOBJ invocations to module description.
1049         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
1050         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
1051         * modules/posix_spawn (configure.ac): ... to here.
1052         * modules/posix_spawnp (configure.ac): ... and here.
1053
1054 2011-05-21  Bruno Haible  <bruno@clisp.org>
1055
1056         popen: Move AC_LIBOBJ invocations to module description.
1057         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
1058         invocations from here...
1059         * modules/popen (configure.ac): ... to here.
1060
1061 2011-05-21  Bruno Haible  <bruno@clisp.org>
1062
1063         poll: Move AC_LIBOBJ invocations to module description.
1064         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
1065         invocations from here...
1066         * modules/poll (configure.ac): ... to here.
1067
1068 2011-05-21  Bruno Haible  <bruno@clisp.org>
1069
1070         pipe-posix: Move AC_LIBOBJ invocations to module description.
1071         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
1072         * modules/pipe-posix (configure.ac): ... to here.
1073
1074 2011-05-21  Bruno Haible  <bruno@clisp.org>
1075
1076         openat: Respect rules for use of AC_LIBOBJ.
1077         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
1078         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
1079         * modules/openat (configure.ac): ... to here.
1080
1081 2011-05-21  Bruno Haible  <bruno@clisp.org>
1082
1083         obstack-printf*: Move AC_LIBOBJ invocations to module description.
1084         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
1085         invocation from here...
1086         * modules/obstack-printf (configure.ac): ... to here.
1087         * modules/obstack-printf-posix (configure.ac): ... and here.
1088
1089 2011-05-21  Bruno Haible  <bruno@clisp.org>
1090
1091         nl_langinfo: Move AC_LIBOBJ invocations to module description.
1092         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
1093         from here...
1094         * modules/nl_langinfo (configure.ac): ... to here.
1095
1096 2011-05-21  Bruno Haible  <bruno@clisp.org>
1097
1098         nanosleep: Move AC_LIBOBJ invocations to module description.
1099         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
1100         gl_PREREQ_NANOSLEEP invocations from here...
1101         * modules/nanosleep (configure.ac): ... to here.
1102
1103 2011-05-21  Bruno Haible  <bruno@clisp.org>
1104
1105         mountlist: Move AC_LIBOBJ invocations to module description.
1106         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
1107         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
1108         * modules/mountlist (configure.ac): ... to here.
1109
1110 2011-05-21  Bruno Haible  <bruno@clisp.org>
1111
1112         mktime: Respect rules for use of AC_LIBOBJ.
1113         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
1114         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
1115         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
1116         (gl_FUNC_MKTIME_INTERNAL): ... and here...
1117         * modules/mktime (configure.ac): ... to here.
1118         * modules/mktime-internal (configure.ac): ... and here.
1119         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
1120
1121 2011-05-21  Bruno Haible  <bruno@clisp.org>
1122
1123         mkstemps: Move AC_LIBOBJ invocations to module description.
1124         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
1125         here...
1126         * modules/mkstemps (configure.ac): ... to here.
1127
1128 2011-05-21  Bruno Haible  <bruno@clisp.org>
1129
1130         mkstemp: Move AC_LIBOBJ invocations to module description.
1131         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
1132         gl_PREREQ_MKSTEMP invocations from here...
1133         * modules/mkstemp (configure.ac): ... to here.
1134
1135 2011-05-21  Bruno Haible  <bruno@clisp.org>
1136
1137         mkostemps: Move AC_LIBOBJ invocations to module description.
1138         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
1139         here...
1140         * modules/mkostemps (configure.ac): ... to here.
1141
1142 2011-05-21  Bruno Haible  <bruno@clisp.org>
1143
1144         mkostemp: Move AC_LIBOBJ invocations to module description.
1145         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
1146         gl_PREREQ_MKOSTEMP invocations from here...
1147         * modules/mkostemp (configure.ac): ... to here.
1148
1149 2011-05-21  Bruno Haible  <bruno@clisp.org>
1150
1151         mknod: Move AC_LIBOBJ invocations to module description.
1152         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
1153         * modules/mknod (configure.ac): ... to here.
1154
1155 2011-05-21  Bruno Haible  <bruno@clisp.org>
1156
1157         mkfifoat: Move AC_LIBOBJ invocations to module description.
1158         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
1159         here...
1160         * modules/mkfifoat (configure.ac): ... to here.
1161
1162 2011-05-21  Bruno Haible  <bruno@clisp.org>
1163
1164         mkfifo: Respect rules for use of AC_LIBOBJ.
1165         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
1166         here...
1167         * modules/mkfifo (configure.ac): ... to here.
1168
1169 2011-05-21  Bruno Haible  <bruno@clisp.org>
1170
1171         mkdtemp: Move AC_LIBOBJ invocations to module description.
1172         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
1173         invocations from here...
1174         * modules/mkdtemp (configure.ac): ... to here.
1175
1176 2011-05-21  Bruno Haible  <bruno@clisp.org>
1177
1178         mkdir: Move AC_LIBOBJ invocations to module description.
1179         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
1180         * modules/mkdir (configure.ac): ... to here.
1181
1182 2011-05-21  Bruno Haible  <bruno@clisp.org>
1183
1184         memset: Move AC_LIBOBJ invocations to module description.
1185         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
1186         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
1187         here...
1188         * modules/memset (configure.ac): ... to here.
1189
1190 2011-05-21  Bruno Haible  <bruno@clisp.org>
1191
1192         memrchr: Move AC_LIBOBJ invocations to module description.
1193         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
1194         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
1195         here...
1196         * modules/memrchr (configure.ac): ... to here.
1197
1198 2011-05-21  Bruno Haible  <bruno@clisp.org>
1199
1200         mempcpy: Move AC_LIBOBJ invocations to module description.
1201         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
1202         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
1203         here...
1204         * modules/mempcpy (configure.ac): ... to here.
1205
1206 2011-05-21  Bruno Haible  <bruno@clisp.org>
1207
1208         memmove: Move AC_LIBOBJ invocations to module description.
1209         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
1210         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
1211         here...
1212         * modules/memmove (configure.ac): ... to here.
1213
1214 2011-05-21  Bruno Haible  <bruno@clisp.org>
1215
1216         memmem*: Move AC_LIBOBJ invocations to module description.
1217         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
1218         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
1219         here...
1220         (gl_FUNC_MEMMEM): ... and here...
1221         * modules/memmem-simple (configure.ac): ... to here.
1222         * modules/memmem (configure.ac): ... and here.
1223
1224 2011-05-21  Bruno Haible  <bruno@clisp.org>
1225
1226         memcpy: Move AC_LIBOBJ invocations to module description.
1227         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
1228         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
1229         here...
1230         * modules/memcpy (configure.ac): ... to here.
1231
1232 2011-05-21  Bruno Haible  <bruno@clisp.org>
1233
1234         memcmp: Simplify autoconf macro.
1235         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
1236         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
1237         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
1238
1239 2011-05-21  Bruno Haible  <bruno@clisp.org>
1240
1241         memcmp: Move AC_LIBOBJ invocations to module description.
1242         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
1243         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
1244         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
1245         * modules/memcmp (configure.ac): ... to here.
1246         (Depends-on): Update conditions.
1247
1248 2011-05-21  Bruno Haible  <bruno@clisp.org>
1249
1250         memchr: Respect rules for use of AC_LIBOBJ.
1251         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
1252         invocations from here...
1253         * modules/memchr (configure.ac): ... to here.
1254
1255 2011-05-21  Bruno Haible  <bruno@clisp.org>
1256
1257         mbtowc: Move AC_LIBOBJ invocations to module description.
1258         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
1259         invocations from here...
1260         * modules/mbtowc (configure.ac): ... to here.
1261
1262 2011-05-21  Bruno Haible  <bruno@clisp.org>
1263
1264         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
1265         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
1266         gl_PREREQ_MBSRTOWCS invocations from here...
1267         * modules/mbsrtowcs (configure.ac): ... to here.
1268
1269 2011-05-21  Bruno Haible  <bruno@clisp.org>
1270
1271         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
1272         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
1273         gl_PREREQ_MBSNRTOWCS invocations from here...
1274         * modules/mbsnrtowcs (configure.ac): ... to here.
1275
1276 2011-05-21  Bruno Haible  <bruno@clisp.org>
1277
1278         mbsinit: Move AC_LIBOBJ invocations to module description.
1279         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
1280         invocations from here...
1281         * modules/mbsinit (configure.ac): ... to here.
1282
1283 2011-05-21  Bruno Haible  <bruno@clisp.org>
1284
1285         mbrlen: Move AC_LIBOBJ invocations to module description.
1286         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
1287         invocations from here...
1288         * modules/mbrlen (configure.ac): ... to here.
1289
1290 2011-05-21  Bruno Haible  <bruno@clisp.org>
1291
1292         mbrtowc: Respect rules for use of AC_LIBOBJ.
1293         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
1294         invocations from here...
1295         * modules/mbrtowc (configure.ac): ... to here.
1296
1297 2011-05-21  Bruno Haible  <bruno@clisp.org>
1298
1299         malloc-*: Move AC_LIBOBJ invocations to module description.
1300         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
1301         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
1302         AC_LIBOBJ invocations from here...
1303         * modules/malloc-gnu (configure.ac): ... to here.
1304         * modules/malloc-posix (configure.ac): ... and here.
1305
1306 2011-05-21  Bruno Haible  <bruno@clisp.org>
1307
1308         lstat, openat: Respect rules for use of AC_LIBOBJ.
1309         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
1310         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
1311         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
1312         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
1313         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
1314         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
1315         here.
1316         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1317
1318 2011-05-21  Bruno Haible  <bruno@clisp.org>
1319
1320         lseek: Move AC_LIBOBJ invocations to module description.
1321         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
1322         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
1323         * modules/lseek (configure.ac): ... to here.
1324
1325 2011-05-21  Bruno Haible  <bruno@clisp.org>
1326
1327         linkat: Move AC_LIBOBJ invocations to module description.
1328         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
1329         here...
1330         * modules/linkat (configure.ac): ... to here.
1331
1332 2011-05-21  Bruno Haible  <bruno@clisp.org>
1333
1334         link: Respect rules for use of AC_LIBOBJ.
1335         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
1336         * modules/link (configure.ac): ... to here.
1337
1338 2011-05-21  Bruno Haible  <bruno@clisp.org>
1339
1340         lchown: Move AC_LIBOBJ invocations to module description.
1341         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
1342         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
1343         * modules/lchown (configure.ac): ... to here.
1344
1345 2011-05-21  Bruno Haible  <bruno@clisp.org>
1346
1347         iswctype: Move AC_LIBOBJ invocations to module description.
1348         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
1349         here...
1350         * modules/iswctype (configure.ac): ... to here.
1351
1352 2011-05-21  Bruno Haible  <bruno@clisp.org>
1353
1354         iswblank: Move AC_LIBOBJ invocations to module description.
1355         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
1356         here...
1357         * modules/iswblank (configure.ac): ... to here.
1358
1359 2011-05-21  Bruno Haible  <bruno@clisp.org>
1360
1361         atanl: Move AC_LIBOBJ invocations to module description.
1362         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
1363         * modules/atanl (configure.ac): ... to here.
1364
1365 2011-05-21  Bruno Haible  <bruno@clisp.org>
1366
1367         acosl: Move AC_LIBOBJ invocations to module description.
1368         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
1369         * modules/acosl (configure.ac): ... to here.
1370
1371 2011-05-21  Bruno Haible  <bruno@clisp.org>
1372
1373         asinl: Respect rules for use of AC_LIBOBJ.
1374         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
1375         * modules/asinl (configure.ac): ... to here.
1376
1377 2011-05-21  Bruno Haible  <bruno@clisp.org>
1378
1379         tanl: Move AC_LIBOBJ invocations to module description.
1380         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
1381         * modules/tanl (configure.ac): ... to here.
1382
1383 2011-05-21  Bruno Haible  <bruno@clisp.org>
1384
1385         cosl: Move AC_LIBOBJ invocations to module description.
1386         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
1387         * modules/cosl (configure.ac): ... to here.
1388
1389 2011-05-21  Bruno Haible  <bruno@clisp.org>
1390
1391         sinl: Move AC_LIBOBJ invocations to module description.
1392         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
1393         * modules/sinl (configure.ac): ... to here.
1394
1395 2011-05-21  Bruno Haible  <bruno@clisp.org>
1396
1397         logl: Move AC_LIBOBJ invocations to module description.
1398         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
1399         * modules/logl (configure.ac): ... to here.
1400
1401 2011-05-21  Bruno Haible  <bruno@clisp.org>
1402
1403         expl: Move AC_LIBOBJ invocations to module description.
1404         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
1405         * modules/expl (configure.ac): ... to here.
1406
1407 2011-05-21  Bruno Haible  <bruno@clisp.org>
1408
1409         roundl: Move AC_LIBOBJ invocations to module description.
1410         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
1411         * modules/roundl (configure.ac): ... to here.
1412
1413 2011-05-21  Bruno Haible  <bruno@clisp.org>
1414
1415         round: Move AC_LIBOBJ invocations to module description.
1416         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
1417         * modules/round (configure.ac): ... to here.
1418
1419 2011-05-21  Bruno Haible  <bruno@clisp.org>
1420
1421         roundf: Move AC_LIBOBJ invocations to module description.
1422         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
1423         * modules/roundf (configure.ac): ... to here.
1424
1425 2011-05-21  Bruno Haible  <bruno@clisp.org>
1426
1427         truncl: Move AC_LIBOBJ invocations to module description.
1428         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
1429         * modules/truncl (configure.ac): ... to here.
1430
1431 2011-05-21  Bruno Haible  <bruno@clisp.org>
1432
1433         trunc: Move AC_LIBOBJ invocations to module description.
1434         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
1435         * modules/trunc (configure.ac): ... to here.
1436
1437 2011-05-21  Bruno Haible  <bruno@clisp.org>
1438
1439         truncf: Move AC_LIBOBJ invocations to module description.
1440         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
1441         * modules/truncf (configure.ac): ... to here.
1442
1443 2011-05-21  Bruno Haible  <bruno@clisp.org>
1444
1445         ceill: Move AC_LIBOBJ invocations to module description.
1446         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
1447         * modules/ceill (configure.ac): ... to here.
1448
1449 2011-05-21  Bruno Haible  <bruno@clisp.org>
1450
1451         ceil: Move AC_LIBOBJ invocations to module description.
1452         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
1453         * modules/ceil (configure.ac): ... to here.
1454
1455 2011-05-21  Bruno Haible  <bruno@clisp.org>
1456
1457         ceilf: Move AC_LIBOBJ invocations to module description.
1458         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
1459         * modules/ceilf (configure.ac): ... to here.
1460
1461 2011-05-21  Bruno Haible  <bruno@clisp.org>
1462
1463         floorl: Respect rules for use of AC_LIBOBJ.
1464         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
1465         * modules/floorl (configure.ac): ... to here.
1466
1467 2011-05-21  Bruno Haible  <bruno@clisp.org>
1468
1469         floor: Respect rules for use of AC_LIBOBJ.
1470         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
1471         * modules/floor (configure.ac): ... to here.
1472
1473 2011-05-21  Bruno Haible  <bruno@clisp.org>
1474
1475         floorf: Move AC_LIBOBJ invocations to module description.
1476         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
1477         * modules/floorf (configure.ac): ... to here.
1478
1479 2011-05-20  Bruno Haible  <bruno@clisp.org>
1480
1481         sqrtl: Respect rules for use of AC_LIBOBJ.
1482         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
1483         * modules/sqrtl (configure.ac): ... to here.
1484
1485 2011-05-20  Bruno Haible  <bruno@clisp.org>
1486
1487         ldexpl: Respect rules for use of AC_LIBOBJ.
1488         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
1489         * modules/ldexpl (configure.ac): ... to here.
1490
1491 2011-05-20  Bruno Haible  <bruno@clisp.org>
1492
1493         frexpl*: Respect rules for use of AC_LIBOBJ.
1494         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
1495         invocation from here...
1496         * modules/frexpl (configure.ac): ... to here.
1497         * modules/frexpl-nolibm (configure.ac): ... and here.
1498
1499 2011-05-20  Bruno Haible  <bruno@clisp.org>
1500
1501         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
1502         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
1503         invocation from here...
1504         * modules/frexp (configure.ac): ... to here.
1505         * modules/frexp-nolibm (configure.ac): ... and here.
1506
1507 2011-05-20  Bruno Haible  <bruno@clisp.org>
1508
1509         isnan: Respect rules for use of AC_LIBOBJ.
1510         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
1511         invocations here.
1512         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
1513         REPLACE_ISNAN.
1514         * modules/isnand (configure.ac): Likewise.
1515         * modules/isnanl (configure.ac): Likewise.
1516
1517 2011-05-20  Bruno Haible  <bruno@clisp.org>
1518
1519         isnanl*: Respect rules for use of AC_LIBOBJ.
1520         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
1521         invocation from here...
1522         * modules/isnanl (configure.ac): ... to here.
1523         * modules/isnanl-nolibm (configure.ac): ... and here.
1524
1525 2011-05-20  Bruno Haible  <bruno@clisp.org>
1526
1527         isnand*: Move AC_LIBOBJ invocations to module description.
1528         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
1529         invocation from here...
1530         * modules/isnand (configure.ac): ... to here.
1531         * modules/isnand-nolibm (configure.ac): ... and here.
1532
1533 2011-05-20  Bruno Haible  <bruno@clisp.org>
1534
1535         isnanf*: Move AC_LIBOBJ invocations to module description.
1536         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
1537         invocation from here...
1538         * modules/isnanf (configure.ac): ... to here.
1539         * modules/isnanf-nolibm (configure.ac): ... and here.
1540
1541 2011-05-20  Bruno Haible  <bruno@clisp.org>
1542
1543         isnan*: Separate the AC_LIBOBJ invocations.
1544         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
1545         AC_LIBOBJ invocation.
1546         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
1547         here.
1548         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
1549         AC_LIBOBJ invocation.
1550         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
1551         here.
1552         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
1553         AC_LIBOBJ invocation.
1554         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
1555         here.
1556         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
1557
1558 2011-05-08  Bruno Haible  <bruno@clisp.org>
1559
1560         isinf: Move AC_LIBOBJ invocations to module description.
1561         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
1562         * modules/isinf (configure.ac): ... to here.
1563
1564 2011-05-08  Bruno Haible  <bruno@clisp.org>
1565
1566         isfinite: Move AC_LIBOBJ invocations to module description.
1567         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
1568         * modules/isfinite (configure.ac): ... to here.
1569
1570 2011-05-08  Bruno Haible  <bruno@clisp.org>
1571
1572         isblank: Move AC_LIBOBJ invocations to module description.
1573         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
1574         here...
1575         * modules/isblank (configure.ac): ... to here.
1576
1577 2011-05-08  Bruno Haible  <bruno@clisp.org>
1578
1579         isapipe: Move AC_LIBOBJ invocations to module description.
1580         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
1581         gl_PREREQ_ISAPIPE invocations from here...
1582         * modules/isapipe (configure.ac): ... to here.
1583         (Depends-on): Update condition.
1584
1585 2011-05-08  Bruno Haible  <bruno@clisp.org>
1586
1587         ioctl: Move AC_LIBOBJ invocations to module description.
1588         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
1589         invocations from here...
1590         * modules/ioctl (configure.ac): ... to here.
1591         (Depends-on): Update condition.
1592
1593 2011-05-08  Bruno Haible  <bruno@clisp.org>
1594
1595         imaxdiv: Move AC_LIBOBJ invocations to module description.
1596         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
1597         invocations from here...
1598         * modules/imaxdiv (configure.ac): ... to here.
1599
1600 2011-05-08  Bruno Haible  <bruno@clisp.org>
1601
1602         imaxabs: Move AC_LIBOBJ invocations to module description.
1603         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
1604         invocations from here...
1605         * modules/imaxabs (configure.ac): ... to here.
1606
1607 2011-05-08  Bruno Haible  <bruno@clisp.org>
1608
1609         getaddrinfo: Move AC_LIBOBJ invocations to module description.
1610         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
1611         AC_LIBOBJ invocations from here...
1612         * modules/getaddrinfo (configure.ac): ... to here.
1613         (Depends-on): Add conditions.
1614
1615 2011-05-08  Bruno Haible  <bruno@clisp.org>
1616
1617         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1618         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
1619         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1620         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
1621         (gl_PREREQ_INET_PTON): ... from here.
1622         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
1623         gl_PREREQ_INET_PTON here.
1624         (Depends-on): Update condition.
1625
1626 2011-05-08  Bruno Haible  <bruno@clisp.org>
1627
1628         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1629         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
1630         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1631         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
1632         (gl_PREREQ_INET_NTOP): ... from here.
1633         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
1634         gl_PREREQ_INET_NTOP here.
1635         (Depends-on): Update condition.
1636
1637 2011-05-08  Bruno Haible  <bruno@clisp.org>
1638
1639         iconv_open: Move AC_LIBOBJ invocations to module description.
1640         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
1641         AC_LIBOBJ invocations from here...
1642         * modules/iconv_open (configure.ac): ... to here.
1643
1644 2011-05-08  Bruno Haible  <bruno@clisp.org>
1645
1646         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
1647         If module 'iconv_open' is among the main modules and module
1648         'iconv_open-utf' is among the tests dependencies, then
1649         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
1650         return the special iconv_t values. Therefore iconv() and iconv_close()
1651         must support these special iconv_t values, already in lib, not only in
1652         tests.
1653         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
1654         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
1655         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
1656         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
1657         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
1658         (Depends-on): Add the dependencies of iconv_open-utf.
1659         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
1660         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
1661         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
1662
1663 2011-05-08  Bruno Haible  <bruno@clisp.org>
1664
1665         group-member: Move AC_LIBOBJ invocations to module description.
1666         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
1667         gl_PREREQ_GROUP_MEMBER invocations from here...
1668         * modules/group-member (configure.ac): ... to here.
1669
1670 2011-05-08  Bruno Haible  <bruno@clisp.org>
1671
1672         grantpt: Move AC_LIBOBJ invocations to module description.
1673         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
1674         invocations from here...
1675         * modules/grantpt (configure.ac): ... to here.
1676
1677 2011-05-08  Bruno Haible  <bruno@clisp.org>
1678
1679         glob: Move AC_LIBOBJ invocations to module description.
1680         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
1681         from here...
1682         * modules/glob (configure.ac): ... to here.
1683
1684 2011-05-08  Bruno Haible  <bruno@clisp.org>
1685
1686         getusershell: Move AC_LIBOBJ invocations to module description.
1687         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
1688         Move AC_LIBOBJ invocation from here...
1689         * modules/getusershell (configure.ac): ... to here.
1690         (Depends-on): Update condition.
1691
1692 2011-05-08  Bruno Haible  <bruno@clisp.org>
1693
1694         gettimeofday: Move AC_LIBOBJ invocations to module description.
1695         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
1696         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
1697         gl_PREREQ_GETTIMEOFDAY invocations from here...
1698         * modules/gettimeofday (configure.ac): ... to here.
1699
1700 2011-05-08  Bruno Haible  <bruno@clisp.org>
1701
1702         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
1703         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
1704         just gl_FUNC_TZSET.
1705         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
1706         (gl_FUNC_TZSET_CLOBBER): Remove actions.
1707         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
1708         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
1709
1710 2011-05-08  Bruno Haible  <bruno@clisp.org>
1711
1712         getsubopt: Move AC_LIBOBJ invocations to module description.
1713         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
1714         gl_PREREQ_GETSUBOPT invocations from here...
1715         * modules/getsubopt (configure.ac): ... to here.
1716
1717 2011-05-08  Bruno Haible  <bruno@clisp.org>
1718
1719         getpass-gnu: Move AC_LIBOBJ invocations to module description.
1720         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
1721         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
1722         * modules/getpass-gnu (configure.ac): ... to here.
1723
1724 2011-05-08  Bruno Haible  <bruno@clisp.org>
1725
1726         getpass: Move AC_LIBOBJ invocations to module description.
1727         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
1728         gl_PREREQ_GETPASS invocations from here...
1729         * modules/getpass (configure.ac): ... to here.
1730
1731 2011-05-08  Bruno Haible  <bruno@clisp.org>
1732
1733         getpagesize: Move AC_LIBOBJ invocations to module description.
1734         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
1735         from here...
1736         * modules/getpagesize (configure.ac): ... to here.
1737
1738 2011-05-08  Bruno Haible  <bruno@clisp.org>
1739
1740         getopt: Move AC_LIBOBJ invocations to module description.
1741         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
1742         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
1743         invocations from here...
1744         * modules/getopt-gnu (configure.ac): ... to here.
1745         * modules/getopt-posix (configure.ac): ... and here.
1746         (Depends-on): Update condition.
1747
1748 2011-05-08  Bruno Haible  <bruno@clisp.org>
1749
1750         getopt, argp: Respect rules for use of AC_LIBOBJ.
1751         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
1752         (gl_REPLACE_GETOPT_ALWAYS): New macro.
1753         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
1754         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
1755
1756 2011-05-08  Bruno Haible  <bruno@clisp.org>
1757
1758         getlogin_r: Move AC_LIBOBJ invocations to module description.
1759         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
1760         gl_PREREQ_GETLOGIN_R invocations from here...
1761         * modules/getlogin_r (configure.ac): ... to here.
1762
1763 2011-05-08  Bruno Haible  <bruno@clisp.org>
1764
1765         getlogin: Move AC_LIBOBJ invocations to module description.
1766         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
1767         here...
1768         * modules/getlogin (configure.ac): ... to here.
1769
1770 2011-05-08  Bruno Haible  <bruno@clisp.org>
1771
1772         getloadavg: Move AC_LIBOBJ invocations to module description.
1773         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
1774         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
1775         * modules/getloadavg (configure.ac): ... to here.
1776
1777 2011-05-08  Bruno Haible  <bruno@clisp.org>
1778
1779         gethrxtime: Move AC_LIBOBJ invocations to module description.
1780         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
1781         LIB_GETHRXTIME from here...
1782         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
1783         invocations from here...
1784         * modules/gethrxtime (configure.ac): ... to here.
1785
1786 2011-05-08  Bruno Haible  <bruno@clisp.org>
1787
1788         gethostname: Move AC_LIBOBJ invocations to module description.
1789         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
1790         gl_PREREQ_GETHOSTNAME invocations from here...
1791         * modules/gethostname (configure.ac): ... to here.
1792
1793 2011-05-08  Bruno Haible  <bruno@clisp.org>
1794
1795         getgroups: Move AC_LIBOBJ invocations to module description.
1796         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
1797         here...
1798         * modules/getgroups (configure.ac): ... to here.
1799
1800 2011-05-08  Bruno Haible  <bruno@clisp.org>
1801
1802         getdtablesize: Move AC_LIBOBJ invocations to module description.
1803         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
1804         invocation from here...
1805         * modules/getdtablesize (configure.ac): ... to here.
1806
1807 2011-05-08  Bruno Haible  <bruno@clisp.org>
1808
1809         getdomainname: Move AC_LIBOBJ invocations to module description.
1810         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
1811         gl_PREREQ_GETDOMAINNAME invocations from here...
1812         * modules/getdomainname (configure.ac): ... to here.
1813
1814 2011-05-08  Bruno Haible  <bruno@clisp.org>
1815
1816         getline: Move AC_LIBOBJ invocations to module description.
1817         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
1818         invocations from here...
1819         * modules/getline (configure.ac): ... to here.
1820
1821 2011-05-08  Bruno Haible  <bruno@clisp.org>
1822
1823         getline: Simplify.
1824         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
1825         It's already handled through the module dependency.
1826
1827 2011-05-08  Bruno Haible  <bruno@clisp.org>
1828
1829         getdelim: Move AC_LIBOBJ invocations to module description.
1830         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
1831         and gl_PREREQ_GETDELIM invocations from here...
1832         * modules/getdelim (configure.ac): ... to here.
1833         (Depends-on): Fix condition.
1834
1835 2011-05-08  Bruno Haible  <bruno@clisp.org>
1836
1837         getcwd: Move AC_LIBOBJ invocations to module description.
1838         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
1839         invocations from here...
1840         * modules/getcwd (configure.ac): ... to here.
1841
1842 2011-05-08  Bruno Haible  <bruno@clisp.org>
1843
1844         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
1845         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
1846         here...
1847         * modules/getcwd-lgpl (configure.ac): ... to here.
1848
1849 2011-05-07  Bruno Haible  <bruno@clisp.org>
1850
1851         crypto/gc: Move AC_LIBOBJ invocations to module description.
1852         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
1853         * modules/crypto/gc (configure.ac): ... to here.
1854
1855 2011-05-07  Bruno Haible  <bruno@clisp.org>
1856
1857         fwriting: Move AC_LIBOBJ invocations to module description.
1858         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
1859         here...
1860         * modules/fwriting (configure.ac): ... to here.
1861
1862 2011-05-07  Bruno Haible  <bruno@clisp.org>
1863
1864         fwritable: Move AC_LIBOBJ invocations to module description.
1865         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
1866         here...
1867         * modules/fwritable (configure.ac): ... to here.
1868
1869 2011-05-07  Bruno Haible  <bruno@clisp.org>
1870
1871         futimens: Move AC_LIBOBJ invocations to module description.
1872         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
1873         here...
1874         * modules/futimens (configure.ac): ... to here.
1875
1876 2011-05-07  Bruno Haible  <bruno@clisp.org>
1877
1878         ftruncate: Move AC_LIBOBJ invocations to module description.
1879         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
1880         gl_PREREQ_FTRUNCATE invocations from here...
1881         * modules/ftruncate (configure.ac): ... to here.
1882
1883 2011-05-07  Bruno Haible  <bruno@clisp.org>
1884
1885         fsync: Move AC_LIBOBJ invocations to module description.
1886         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
1887         invocations from here...
1888         * modules/fsync (configure.ac): ... to here.
1889
1890 2011-05-07  Bruno Haible  <bruno@clisp.org>
1891
1892         fsusage: Move AC_LIBOBJ invocations to module description.
1893         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
1894         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
1895         * modules/fsusage (configure.ac): ... to here.
1896
1897 2011-05-07  Bruno Haible  <bruno@clisp.org>
1898
1899         freopen: Move AC_LIBOBJ invocations to module description.
1900         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
1901         invocations from here...
1902         * modules/freopen (configure.ac): ... to here.
1903
1904 2011-05-07  Bruno Haible  <bruno@clisp.org>
1905
1906         free: Move AC_LIBOBJ invocations to module description.
1907         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
1908         invocations from here...
1909         * modules/free (configure.ac): ... to here.
1910
1911 2011-05-07  Bruno Haible  <bruno@clisp.org>
1912
1913         freadable: Move AC_LIBOBJ invocations to module description.
1914         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
1915         here...
1916         * modules/freadable (configure.ac): ... to here.
1917
1918 2011-05-07  Bruno Haible  <bruno@clisp.org>
1919
1920         fpurge: Move AC_LIBOBJ invocations to module description.
1921         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
1922         invocations from here...
1923         * modules/fpurge (configure.ac): ... to here.
1924
1925 2011-05-07  Bruno Haible  <bruno@clisp.org>
1926
1927         fpending: Move AC_LIBOBJ invocations to module description.
1928         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
1929         gl_FUNC_FPENDING.
1930         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
1931         invocations from here...
1932         * modules/fpending (configure.ac): ... to here.
1933
1934 2011-05-07  Bruno Haible  <bruno@clisp.org>
1935
1936         fopen: Move AC_LIBOBJ invocations to module description.
1937         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
1938         invocations from here...
1939         * modules/fopen (configure.ac): ... to here.
1940
1941 2011-05-07  Bruno Haible  <bruno@clisp.org>
1942
1943         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
1944         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
1945         gl_FUNC_FNMATCH_POSIX.
1946         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
1947         invocations from here...
1948         * modules/fnmatch (configure.ac): ... to here.
1949         * modules/fnmatch-gnu (configure.ac): ... and here.
1950
1951 2011-05-07  Bruno Haible  <bruno@clisp.org>
1952
1953         flock: Move AC_LIBOBJ invocations to module description.
1954         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
1955         invocations from here...
1956         * modules/flock (configure.ac): ... to here.
1957
1958 2011-05-07  Bruno Haible  <bruno@clisp.org>
1959
1960         fileblocks: Move AC_LIBOBJ invocations to module description.
1961         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
1962         gl_PREREQ_FILEBLOCKS invocations from here...
1963         * modules/fileblocks (configure.ac): ... to here.
1964
1965 2011-05-06  Bruno Haible  <bruno@clisp.org>
1966
1967         fflush: Move AC_LIBOBJ invocations to module description.
1968         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
1969         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
1970         invocations from here...
1971         * modules/fflush (configure.ac): ... to here.
1972
1973 2011-05-06  Bruno Haible  <bruno@clisp.org>
1974
1975         fdopendir: Move AC_LIBOBJ invocations to module description.
1976         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
1977         here...
1978         * modules/fdopendir (configure.ac): ... to here.
1979         (Depends-on): Improve conditions.
1980
1981 2011-05-06  Bruno Haible  <bruno@clisp.org>
1982
1983         _Exit: Move AC_LIBOBJ invocations to module description.
1984         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
1985         invocations from here...
1986         * modules/_Exit (configure.ac): ... to here.
1987
1988 2011-05-21  Bruno Haible  <bruno@clisp.org>
1989
1990         euidaccess: Respect rules for use of AC_LIBOBJ.
1991         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
1992         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
1993         from here...
1994         * modules/euidaccess (configure.ac): ... to here.
1995
1996 2011-05-06  Bruno Haible  <bruno@clisp.org>
1997
1998         error: Move AC_LIBOBJ invocations to module description.
1999         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
2000         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
2001         invocations from here...
2002         * modules/error (configure.ac): ... to here.
2003
2004 2011-05-06  Bruno Haible  <bruno@clisp.org>
2005
2006         duplocale: Move AC_LIBOBJ invocations to module description.
2007         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
2008         gl_PREREQ_DUPLOCALE invocations from here...
2009         * modules/duplocale (configure.ac): ... to here.
2010
2011 2011-05-05  Bruno Haible  <bruno@clisp.org>
2012
2013         dirfd: Move AC_LIBOBJ invocations to module description.
2014         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
2015         gl_FUNC_DIRFD.
2016         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
2017         here...
2018         * modules/dirfd (configure.ac): ... to here.
2019         (Depends-on): Fix condition.
2020
2021 2011-05-05  Bruno Haible  <bruno@clisp.org>
2022
2023         chown: Respect rules for use of AC_LIBOBJ.
2024         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
2025         * modules/chown (configure.ac): ... to here.
2026
2027 2011-05-05  Bruno Haible  <bruno@clisp.org>
2028
2029         chdir-long: Move AC_LIBOBJ invocations to module description.
2030         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
2031         gl_PREREQ_CHDIR_LONG invocations from here...
2032         * modules/chdir-long (configure.ac): ... to here.
2033
2034 2011-05-05  Bruno Haible  <bruno@clisp.org>
2035
2036         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
2037         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
2038         from here...
2039         * modules/canonicalize-lgpl (configure.ac): ... to here.
2040
2041 2011-05-05  Bruno Haible  <bruno@clisp.org>
2042
2043         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
2044         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
2045         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
2046         REPLACE_CALLOC.
2047         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
2048         * modules/calloc-gnu (configure.ac): Likewise.
2049
2050 2011-05-05  Bruno Haible  <bruno@clisp.org>
2051
2052         btowc: Move AC_LIBOBJ invocations to module description.
2053         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
2054         invocations from here...
2055         * modules/btowc (configure.ac): ... to here.
2056
2057 2011-05-21  Bruno Haible  <bruno@clisp.org>
2058
2059         atexit: Move AC_LIBOBJ invocations to module description.
2060         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
2061         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
2062         here...
2063         * modules/atexit (configure.ac): ... to here.
2064
2065 2011-05-05  Bruno Haible  <bruno@clisp.org>
2066
2067         atoll: Move AC_LIBOBJ invocations to module description.
2068         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
2069         invocations from here...
2070         * modules/atoll (configure.ac): ... to here.
2071
2072 2011-05-05  Bruno Haible  <bruno@clisp.org>
2073
2074         argz: Move AC_LIBOBJ invocations to module description.
2075         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
2076         * modules/argz (configure.ac): ... to here.
2077
2078 2011-05-05  Bruno Haible  <bruno@clisp.org>
2079
2080         alphasort: Move AC_LIBOBJ invocations to module description.
2081         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
2082         gl_PREREQ_ALPHASORT invocations from here...
2083         * modules/alphasort (configure.ac): ... to here.
2084
2085 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2086
2087         verify: new macro verify_expr; verify_true deprecated
2088         * NEWS: Mention this.
2089         * doc/verify.texi (Compile-time Assertions): Document this.
2090         * lib/verify.h (verify_true): Deprecate.
2091         (verify_expr): New macro.
2092         * tests/test-verify.c (function): Test verify_expr.
2093
2094 2011-06-14  Jim Meyering  <meyering@redhat.com>
2095
2096         init.sh: give more portable redirection-related advice in a comment
2097         * tests/init.sh (stderr_fileno_): Update the advice in comments.
2098         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
2099         for lots of discussion.  Stefano Lattarini suggested the solution
2100         of putting "9>&2" after the command.  Reported by Bruno Haible.
2101
2102 2011-06-13  Bruno Haible  <bruno@clisp.org>
2103
2104         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
2105         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
2106         'none'.
2107
2108 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2109
2110         ftoastr: use strtof only if HAVE_STRTOF
2111         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
2112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
2113         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
2114         * modules/ftoastr (configure.ac): Check for strtof.
2115
2116 2011-06-13  Bruno Haible  <bruno@clisp.org>
2117
2118         gnulib-tool: Addendum to 2011-06-08 commit.
2119         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
2120         and --witness-c-macro have been given, augment AM_CPPFLAGS.
2121
2122 2011-06-13  Bruno Haible  <bruno@clisp.org>
2123
2124         fseeko: Provide a non-inline replacement of fseek().
2125         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
2126         * modules/fseeko (Depends-on): Add fseek.
2127         * modules/fseek (License): Change to LGPLv2+.
2128
2129 2011-06-13  Bruno Haible  <bruno@clisp.org>
2130
2131         ftello: Provide a non-inline replacement of ftell().
2132         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
2133         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
2134         not have ftello() (such as on mingw).
2135         * modules/ftello (Depends-on): Add ftell.
2136         * modules/ftell (License): Change to LGPLv2+.
2137
2138 2011-05-07  Bruno Haible  <bruno@clisp.org>
2139
2140         ftell: Move AC_LIBOBJ invocations to module description.
2141         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
2142         * modules/ftell (configure.ac): ... to here.
2143
2144 2011-05-07  Bruno Haible  <bruno@clisp.org>
2145
2146         ftello: Respect rules for use of AC_LIBOBJ.
2147         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
2148         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
2149         here...
2150         * modules/ftello (configure.ac): ... to here.
2151
2152 2011-05-07  Bruno Haible  <bruno@clisp.org>
2153
2154         fseeko: Simplify.
2155         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
2156         (gl_FUNC_FSEEKO): Inline it here.
2157
2158 2011-05-07  Bruno Haible  <bruno@clisp.org>
2159
2160         fseek: Move AC_LIBOBJ invocations to module description.
2161         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
2162         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
2163         * modules/fseek (configure.ac): ... to here.
2164
2165 2011-05-07  Bruno Haible  <bruno@clisp.org>
2166
2167         fseek: Respect rules for use of AC_LIBOBJ.
2168         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
2169         here...
2170         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
2171
2172 2011-05-07  Bruno Haible  <bruno@clisp.org>
2173
2174         fseeko: Respect rules for use of AC_LIBOBJ.
2175         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
2176         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
2177         here...
2178         * modules/fseeko (configure.ac): ... to here.
2179
2180 2011-06-13  Bruno Haible  <bruno@clisp.org>
2181
2182         gnulib-tool: Allow comments in the 'Depends-on' section.
2183         * doc/gnulib.texi (Module description): Mention comment syntax in the
2184         Depends-on section.
2185         * gnulib-tool (func_get_dependencies): Filter out comment lines.
2186
2187 2011-06-13  Bruno Haible  <bruno@clisp.org>
2188
2189         file-set.h: guard __attibute__ use, now that it's not always defined
2190         * lib/file-set.h (record_file): Use __attribute__ only with compiler
2191         versions that support it.  This fixes a coreutils build failure with
2192         the vendor cc on HP-UX 11.31.
2193
2194 2011-06-12  Bruno Haible  <bruno@clisp.org>
2195
2196         acl: Add support for HP-UX >= 11.11 JFS ACLs.
2197         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
2198         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
2199         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
2200         (acl, aclsort): New declarations.
2201         (aclv_nontrivial): New declaration.
2202         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
2203         (file_has_acl): Read also the second kind of HP-UX ACLs.
2204         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
2205         kind of HP-UX ACLs if the first kind fails.
2206         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
2207         second kind of HP-UX ACLs.
2208         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
2209         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
2210         agree.
2211         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2212         hpuxjfs.
2213         Handle hpuxjfs.
2214         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2215         hpuxjfs.
2216         Handle hpuxjfs.
2217         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2218         (func_test_same_acls): Use both lsacl and getacl.
2219         Handle hpuxjfs.
2220         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2221         (func_test_same_acls): Use both lsacl and getacl.
2222         Handle hpuxjfs.
2223
2224 2011-06-12  Bruno Haible  <bruno@clisp.org>
2225
2226         acl: Complete the 2010-08-10 fix.
2227         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
2228         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
2229         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
2230         explicitly.
2231         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
2232         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
2233
2234 2011-06-12  Bruno Haible  <bruno@clisp.org>
2235
2236         spawn-pipe tests: Comments.
2237         * tests/test-spawn-pipe-child.c (main): Update comment.
2238         Reported by James Youngman <jay@gnu.org>.
2239
2240 2011-06-11  James Youngman  <jay@gnu.org>
2241
2242         New module 'stat-size'.
2243         * modules/stat-size: New module.  Provides macros for accessing
2244         file size information in instances of struct stat.  Depends on the
2245         fileblocks module because it calls st_blocks.
2246         * lib/stat-size.h: New file, adapted from coreutils' system.h.
2247         * doc/gnulib.texi: Include stat-size.texi.
2248         * doc/stat-size.texi: Documentation for this module.
2249         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
2250         * m4/fileblocks.m4: Mention that stat-size depends on the call to
2251         AC_STRUCT_ST_BLOCKS.
2252
2253 2011-06-09  Bruno Haible  <bruno@clisp.org>
2254
2255         thread: Support pthreads-win32.
2256         * lib/glthread/thread.h (gl_thread_self): Define differently on
2257         pthreads-win32.
2258         (gl_null_thread): New declaration.
2259         (gl_thread_self_pointer): New macro.
2260         * lib/glthread/thread.c (gl_null_thread): New constant.
2261         * tests/test-lock.c: Use gl_thread_self_pointer instead of
2262         gl_thread_self.
2263         * tests/test-tls.c: Likewise.
2264         Suggested by Paul Eggert. Reported by Eric Blake.
2265
2266 2011-06-09  Bruno Haible  <bruno@clisp.org>
2267
2268         thread: Fix confusion between NULL and 0.
2269         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
2270         Reported by Paul Eggert.
2271
2272 2011-06-09  Bruno Haible  <bruno@clisp.org>
2273
2274         spawn-pipe tests: Avoid test failure on HP-UX 11.
2275         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
2276         is closed.
2277
2278 2011-06-09  Bruno Haible  <bruno@clisp.org>
2279
2280         acl tests: Fix compilation error on HP-UX 11.
2281         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
2282
2283 2011-06-09  Bruno Haible  <bruno@clisp.org>
2284
2285         rmdir: Avoid test failure on HP-UX 10.20.
2286         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
2287         EEXIST.
2288
2289 2011-06-08  Eric Blake  <eblake@redhat.com>
2290
2291         perror: fix test on mingw
2292         * modules/perror-tests (Depends-on): Add dup2.
2293
2294         strerror_r-posix: fix on MacOS
2295         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
2296         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
2297         logic bug.
2298         * lib/strerror_r.c (strerror_r): Fix the bug.
2299         * lib/strerror.c (strerror): Likewise.
2300         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2301         problem.
2302         * doc/posix-functions/strerror.texi (strerror): Likewise.
2303         * doc/posix-functions/perror.texi (perror): Likewise.
2304         * tests/test-strerror.c (main): Enhance test.
2305         * tests/test-strerror_r.c (main): Likewise.
2306
2307 2011-06-08  Bruno Haible  <bruno@clisp.org>
2308
2309         gnulib-tool: Better isolation between different gnulib-tool invocations.
2310         * gnulib-tool: New option --witness-c-macro.
2311         (witness_c_macro): New variable.
2312         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
2313         AM_CPPFLAGS define it as a C macro.
2314         (func_emit_tests_Makefile_am): Likewise.
2315         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
2316         read it from there.
2317         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
2318         m4_define, not AC_DEFUN.
2319         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
2320         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
2321         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
2322         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
2323         s|...|...|, to substitute the values of the GNULIB_* module indicator
2324         variables.
2325         * modules/dirent (Makefile.am): Likewise.
2326         * modules/fcntl-h (Makefile.am): Likewise.
2327         * modules/iconv-h (Makefile.am): Likewise.
2328         * modules/langinfo (Makefile.am): Likewise.
2329         * modules/locale (Makefile.am): Likewise.
2330         * modules/math (Makefile.am): Likewise.
2331         * modules/netdb (Makefile.am): Likewise.
2332         * modules/poll-h (Makefile.am): Likewise.
2333         * modules/pty (Makefile.am): Likewise.
2334         * modules/search (Makefile.am): Likewise.
2335         * modules/signal (Makefile.am): Likewise.
2336         * modules/spawn (Makefile.am): Likewise.
2337         * modules/stdio (Makefile.am): Likewise.
2338         * modules/stdlib (Makefile.am): Likewise.
2339         * modules/string (Makefile.am): Likewise.
2340         * modules/sys_ioctl (Makefile.am): Likewise.
2341         * modules/sys_select (Makefile.am): Likewise.
2342         * modules/sys_socket (Makefile.am): Likewise.
2343         * modules/sys_stat (Makefile.am): Likewise.
2344         * modules/sys_times (Makefile.am): Likewise.
2345         * modules/sys_utsname (Makefile.am): Likewise.
2346         * modules/sys_wait (Makefile.am): Likewise.
2347         * modules/termios (Makefile.am): Likewise.
2348         * modules/time (Makefile.am): Likewise.
2349         * modules/unistd (Makefile.am): Likewise.
2350         * modules/wchar (Makefile.am): Likewise.
2351
2352 2011-06-08  Eric Blake  <eblake@redhat.com>
2353
2354         strerror: simplify replacement
2355         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
2356         * modules/strerror (configure.ac): No prereqs needed here...
2357         * modules/strerror-override (configure.ac): ...but this needs it.
2358         (Files): Add file for needed prereq macro.
2359
2360 2011-06-08  Bruno Haible  <bruno@clisp.org>
2361
2362         strerror_r-posix: Tweaks.
2363         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
2364         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
2365         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
2366         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
2367         (gl_FUNC_STRERROR_R): ... to here.
2368         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
2369
2370 2011-06-07  Eric Blake  <eblake@redhat.com>
2371
2372         perror: document fixed bugs
2373         * doc/posix-functions/perror.texi (perror): Document recent
2374         patches.
2375
2376 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
2377
2378         stat-time: get_stat_birthtime failure is better-defined
2379         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
2380         return a timestamp whose tv_sec and tv_nsec values are both -1.
2381         Previously, the spec said only that the tv_nsec value was negative.
2382         This upward-compatible change simplifies GNU tar a bit.
2383
2384 2011-06-07  Eric Blake  <eblake@redhat.com>
2385
2386         strerror_r-posix: work around cygwin 1.7.9
2387         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
2388         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
2389         bug without replacing strerror_r.
2390         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
2391         strerror_r is buggy, but without requiring strerror_r compilation.
2392         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
2393
2394         test-perror: relax test to ignore cygwin bug
2395         * tests/test-perror2.c (main): Relax test on requiring detection
2396         of stream errors, and use unbuffered stream.
2397         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
2398         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
2399         * doc/posix-functions/fputc.texi (fputc): Likewise.
2400         * doc/posix-functions/fputs.texi (fputs): Likewise.
2401         * doc/posix-functions/fputws.texi (fputws): Likewise.
2402         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
2403         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
2404         * doc/posix-functions/getopt.texi (getopt): Likewise.
2405         * doc/posix-functions/perror.texi (perror): Likewise.
2406         * doc/posix-functions/printf.texi (printf): Likewise.
2407         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
2408         * doc/posix-functions/psignal.texi (psignal): Likewise.
2409         * doc/posix-functions/putc.texi (putc): Likewise.
2410         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
2411         Likewise.
2412         * doc/posix-functions/putchar.texi (putchar): Likewise.
2413         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
2414         Likewise.
2415         * doc/posix-functions/puts.texi (puts): Likewise.
2416         * doc/posix-functions/putwc.texi (putwc): Likewise.
2417         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
2418         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
2419         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
2420         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
2421         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
2422         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
2423         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
2424         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
2425
2426 2011-05-22  Bruno Haible  <bruno@clisp.org>
2427
2428         strerror: Move AC_LIBOBJ invocations to module description.
2429         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
2430         gl_PREREQ_STRERROR invocations from here...
2431         * modules/strerror (configure.ac): ... to here.
2432
2433 2011-05-21  Bruno Haible  <bruno@clisp.org>
2434
2435         perror: Use common idiom.
2436         * modules/perror (configure.ac): Reorder statements.
2437
2438 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2439
2440         tests: fix usage message in 'mktempd_'
2441         * tests/init.sh (mktempd_): In the usage message, use literal
2442         'mktempd_', not '$ME' (which is even undefined), as the name of
2443         the subroutine.
2444
2445 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2446
2447         tests init: new function 'fatal_', for hard errors
2448         Before this patch, the only way offered by tests/init.sh to
2449         properly signal a hard error was the `framework_failure_'
2450         function.  But the error message issued by that function,
2451         as its name would suggest, refers to a set-up failure in the
2452         testsuite, while hard errors can obviously also be due to
2453         other reasons.  The best way to fix this inconsistency is to
2454         introduce a new function with a more general error message.
2455         * tests/init.sh (fatal_): New function.
2456
2457 2011-06-06  Eric Blake  <eblake@redhat.com>
2458
2459         canonicalize-lgpl: use common idiom
2460         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
2461         over newer POSIX -Rf.
2462         Reported by Bruno Haible.
2463
2464         canonicalize-lgpl: work around AIX realpath bug
2465         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
2466         * doc/posix-functions/realpath.texi (realpath): Document it.
2467         Reported by Bruno Haible.
2468
2469         strerror: work around FreeBSD bug
2470         * lib/strerror.c (strerror): Special case 0.
2471         Reported by Bruno Haible.
2472
2473         strerror-override: avoid bloating errno module
2474         * modules/errno (Files, configure.ac): Move replacement strings...
2475         * modules/strerror-override: ...to new module.
2476         * modules/strerror (Depends-on): Add strerror-override.
2477         * modules/strerror_r-posix (Depends-on): Likewise.
2478         * MODULES.html.sh: Document new module.
2479         Reported by Bruno Haible.
2480
2481 2011-06-06  Bruno Haible  <bruno@clisp.org>
2482
2483         spawn-pipe tests: Rename program.
2484         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
2485         * tests/test-spawn-pipe-child.c: Update comment.
2486         * tests/test-spawn-pipe.sh: Update.
2487         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
2488
2489         spawn-pipe tests: Link the child program only against libc.
2490         * tests/test-spawn-pipe-child.c: New file, extracted from
2491         tests/test-spawn-pipe.c.
2492         (main): Expect only one argument.
2493         (is_open): New function, copied from tests/test-pipe.c.
2494         * tests/test-spawn-pipe.c: Don't include <errno.h>.
2495         (child_main): Remove function.
2496         (test_pipe): Pass only one argument to the child program.
2497         (main): Remove child process code. Expect the child program's name as
2498         first argument.
2499         * tests/test-spawn-pipe.sh: Pass the child program's name as first
2500         argument.
2501         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
2502         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
2503         test-spawn-pipe-child against no libraries.
2504
2505 2011-06-06  Bruno Haible  <bruno@clisp.org>
2506
2507         careadlinkat: Avoid mismatch between ssize_t and int.
2508         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
2509         * lib/careadlinkat.c (careadlinkatcwd): Define always.
2510
2511 2011-06-06  Jim Meyering  <meyering@redhat.com>
2512
2513         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
2514         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
2515         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
2516
2517 2011-06-05  Bruno Haible  <bruno@clisp.org>
2518
2519         ansi-c++-opt: Interoperability with libtool.
2520         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
2521         set the variable to "no", not to ":".
2522         * NEWS: Mention the change.
2523
2524 2011-06-05  Bruno Haible  <bruno@clisp.org>
2525
2526         acl: Fix test failure on AIX 7.
2527         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
2528         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
2529
2530 2011-06-05  Bruno Haible  <bruno@clisp.org>
2531
2532         pipe-filter-ii: Fix test failure on AIX and IRIX.
2533         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
2534         with EAGAIN, retry with a smaller buffer size.
2535
2536 2011-06-05  Bruno Haible  <bruno@clisp.org>
2537
2538         localename: Fix link dependencies.
2539         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
2540         * modules/localename-tests (Makefile.am): Link test-localename with
2541         $(LIBTHREAD).
2542
2543 2011-06-05  Bruno Haible  <bruno@clisp.org>
2544
2545         error: Avoid gcc warning.
2546         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
2547
2548 2011-06-05  Bruno Haible  <bruno@clisp.org>
2549
2550         unsetenv: Avoid gcc warning.
2551         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
2552
2553 2011-06-05  Bruno Haible  <bruno@clisp.org>
2554
2555         setenv: Avoid gcc warning.
2556         * lib/setenv.c (setenv): Provide declaration if system lacks it.
2557
2558 2011-06-05  Bruno Haible  <bruno@clisp.org>
2559
2560         sys_select: Ensure memset is declared also on AIX 7.
2561         * lib/sys_select.in.h: Include <string.h> also on AIX.
2562         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
2563         self-contained also on AIX 7.1.
2564
2565 2011-06-04  Jim Meyering  <meyering@redhat.com>
2566
2567         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
2568         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
2569         function name, "error".
2570         (_gl_translatable_diag_func_re): New configurable variable.
2571
2572 2011-06-04  Bruno Haible  <bruno@clisp.org>
2573
2574         getopt: Avoid gcc warning.
2575         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
2576
2577 2011-06-04  Bruno Haible  <bruno@clisp.org>
2578
2579         strerror_r: Fix comments.
2580         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
2581         commit.
2582
2583 2011-06-04  Bruno Haible  <bruno@clisp.org>
2584
2585         perror: Fix compilation error.
2586         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
2587         Undefine fprintf, not sprintf.
2588         * modules/perror (Depends-on): Remove intprops, verify.
2589
2590 2011-06-04  Bruno Haible  <bruno@clisp.org>
2591
2592         setlocale: Enable replacement on Cygwin 1.5.
2593         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
2594         Cygwin 1.5.x.
2595         * doc/posix-functions/setlocale.texi: Mention that the problem with the
2596         LC_CTYPE category also exists on Cygwin 1.5.x.
2597
2598 2011-06-04  Bruno Haible  <bruno@clisp.org>
2599
2600         strerror-override: Don't disable symbol renamings.
2601         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
2602         * lib/strerror-override.c: Include config.h.
2603         (strerror_override): Don't undefine.
2604
2605 2011-06-03  Bruno Haible  <bruno@clisp.org>
2606
2607         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
2608         * lib/localename.h: Update copyright header.
2609         * lib/localename.c: Likewise.
2610         * lib/relocatable.h: Likewise.
2611         * lib/relocatable.c: Likewise.
2612
2613 2011-06-02  Bruno Haible  <bruno@clisp.org>
2614
2615         doc: Fix a module name.
2616         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
2617
2618 2011-06-02  Bruno Haible  <bruno@clisp.org>
2619
2620         pipe2: Remove dependency on 'nonblocking' module.
2621         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
2622         O_NONBLOCK is defined by gnulib.
2623         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
2624         is zero.
2625         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
2626         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
2627         defined by gnulib.
2628         (get_nonblocking_flag): New function.
2629         (main): Test O_NONBLOCK flag only if it is nonzero.
2630         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
2631
2632 2011-06-03  Jim Meyering  <meyering@redhat.com>
2633
2634         maint: three new prohibit-header-without-use rules
2635         Prohibit use of cloexec.h, posixver.h, same.h without use.
2636         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
2637         (sc_prohibit_posixver_without_use): Likewise.
2638         (sc_prohibit_same_without_use): Likewise.
2639
2640 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2641
2642         allocator: 'die' routine is now given requested size
2643         * lib/allocator.h (struct allocator.die): New size arg.
2644         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
2645         If the actual problem is an ssize_t limitation, not a size_t or
2646         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
2647
2648 2011-06-01  Eric Blake  <eblake@redhat.com>
2649
2650         strerror: drop strerror_r dependency
2651         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
2652         * lib/strerror-override.c (strerror_override): ...to new file.
2653         * lib/strerror-override.h: Add prototype.
2654         * lib/strerror-impl.h: Delete.
2655         * lib/strerror.c (strerror): New implementation.
2656         * modules/errno (Files): Add new files.
2657         (configure.ac): Compile new file as appropriate.
2658         * modules/strerror (Files): Drop unused file.
2659         (Depends-on): Drop strerror_r-posix.
2660         * MODULES.html.sh: Document strerror_r-posix.
2661         Requested by Sam Steingold.
2662
2663         perror: call strerror_r directly
2664         * modules/perror (Files): Drop strerror-impl.h.
2665         * lib/perror.c (perror): Use our own stack buffer, rather than
2666         calling a wrapper that uses static storage.
2667         * doc/posix-functions/perror.texi (perror): Document a limitation
2668         of our replacement.
2669
2670         strerror_r: fix includes for FreeBSD
2671         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
2672         since we use abort on some platforms.
2673         Reported by Matthias Bolte.
2674
2675 2011-05-31  Bruno Haible  <bruno@clisp.org>
2676
2677         Fix link errors in tests: openat-die uses gettext-h.
2678         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
2679         against $(LIBINTL).
2680         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
2681         against $(LIBINTL).
2682         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
2683         $(LIBINTL).
2684         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
2685         against $(LIBINTL).
2686         * modules/linkat-tests (Makefile.am): Link test-linkat against
2687         $(LIBINTL).
2688         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
2689         $(LIBINTL).
2690         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
2691         against $(LIBINTL).
2692         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
2693         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
2694         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
2695         $(LIBINTL).
2696         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
2697         $(LIBINTL).
2698         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
2699         $(LIBINTL).
2700         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2701
2702 2011-05-31  Bruno Haible  <bruno@clisp.org>
2703
2704         Fix link errors in tests: wait-process uses gettext-h.
2705         * modules/nonblocking-pipe-tests (Makefile.am): Set
2706         test_nonblocking_pipe_main_LDADD.
2707         * modules/nonblocking-socket-tests (Makefile.am): Link
2708         test-nonblocking-socket-main against $(LIBINTL).
2709         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2710
2711 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2712
2713         assert-h: work around 'verify' incompatibility
2714         * lib/verify.h: Use @...@ directives, not ifdef.
2715         * modules/assert-h (assert.h): Implement the directives.
2716         (assert.h): Substitute the symbol-prefix more consistently.
2717
2718 2011-05-29  Jim Meyering  <meyering@redhat.com>
2719
2720         trim: remove three superfluous assignments
2721         * lib/trim.c (trim2): Remove three superfluous assignments
2722         and correct brace positioning.
2723
2724 2011-05-29  Bruno Haible  <bruno@clisp.org>
2725
2726         wctype-h: Avoid namespace pollution on Solaris 2.6.
2727         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
2728         identifiers.
2729         * doc/posix-headers/wctype.texi: Mention the problem.
2730         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2731
2732 2011-05-28  Jim Meyering  <meyering@redhat.com>
2733
2734         parse-datetime.y: accommodate -Wstrict-overflow
2735         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
2736         placate -Wstrict-overflow.
2737
2738         trim: avoid a warning from -O2 -Wstrict-overflow
2739         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
2740
2741 2011-05-29  Bruno Haible  <bruno@clisp.org>
2742
2743         gnulib-tool: Fix bug in yesterday's commit.
2744         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
2745         twice.
2746
2747 2011-05-29  Bruno Haible  <bruno@clisp.org>
2748
2749         Allow multiple gnulib generated include files to be combined.
2750         * gnulib-tool (func_compute_include_guard_prefix): New function.
2751         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
2752         ${gl_include_guard_prefix} references.
2753         (func_import, func_create_testdir): Invoke
2754         func_compute_include_guard_prefix.
2755         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
2756         * lib/ctype.in.h: Likewise.
2757         * lib/dirent.in.h: Likewise.
2758         * lib/errno.in.h: Likewise.
2759         * lib/fcntl.in.h: Likewise.
2760         * lib/float.in.h: Likewise.
2761         * lib/getopt.in.h: Likewise.
2762         * lib/iconv.in.h: Likewise.
2763         * lib/langinfo.in.h: Likewise.
2764         * lib/locale.in.h: Likewise.
2765         * lib/math.in.h: Likewise.
2766         * lib/netdb.in.h: Likewise.
2767         * lib/netinet_in.in.h: Likewise.
2768         * lib/poll.in.h: Likewise.
2769         * lib/pthread.in.h: Likewise.
2770         * lib/pty.in.h: Likewise.
2771         * lib/sched.in.h: Likewise.
2772         * lib/se-selinux.in.h: Likewise.
2773         * lib/search.in.h: Likewise.
2774         * lib/signal.in.h: Likewise.
2775         * lib/spawn.in.h: Likewise.
2776         * lib/stdarg.in.h: Likewise.
2777         * lib/stddef.in.h: Likewise.
2778         * lib/stdint.in.h: Likewise.
2779         * lib/stdio.in.h: Likewise.
2780         * lib/stdlib.in.h: Likewise.
2781         * lib/string.in.h: Likewise.
2782         * lib/strings.in.h: Likewise.
2783         * lib/sys_file.in.h: Likewise.
2784         * lib/sys_ioctl.in.h: Likewise.
2785         * lib/sys_select.in.h: Likewise.
2786         * lib/sys_socket.in.h: Likewise.
2787         * lib/sys_stat.in.h: Likewise.
2788         * lib/sys_time.in.h: Likewise.
2789         * lib/sys_times.in.h: Likewise.
2790         * lib/sys_uio.in.h: Likewise.
2791         * lib/sys_utsname.in.h: Likewise.
2792         * lib/sys_wait.in.h: Likewise.
2793         * lib/sysexits.in.h: Likewise.
2794         * lib/termios.in.h: Likewise.
2795         * lib/time.in.h: Likewise.
2796         * lib/unistd.in.h: Likewise.
2797         * lib/wchar.in.h: Likewise.
2798         * lib/wctype.in.h: Likewise.
2799         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
2800         * modules/ctype (Makefile.am): Likewise.
2801         * modules/dirent (Makefile.am): Likewise.
2802         * modules/errno (Makefile.am): Likewise.
2803         * modules/fcntl-h (Makefile.am): Likewise.
2804         * modules/float (Makefile.am): Likewise.
2805         * modules/getopt-posix (Makefile.am): Likewise.
2806         * modules/iconv-h (Makefile.am): Likewise.
2807         * modules/langinfo (Makefile.am): Likewise.
2808         * modules/locale (Makefile.am): Likewise.
2809         * modules/math (Makefile.am): Likewise.
2810         * modules/netdb (Makefile.am): Likewise.
2811         * modules/netinet_in (Makefile.am): Likewise.
2812         * modules/poll-h (Makefile.am): Likewise.
2813         * modules/pthread (Makefile.am): Likewise.
2814         * modules/pty (Makefile.am): Likewise.
2815         * modules/sched (Makefile.am): Likewise.
2816         * modules/search (Makefile.am): Likewise.
2817         * modules/selinux-h (Makefile.am): Likewise.
2818         * modules/signal (Makefile.am): Likewise.
2819         * modules/spawn (Makefile.am): Likewise.
2820         * modules/stdarg (Makefile.am): Likewise.
2821         * modules/stddef (Makefile.am): Likewise.
2822         * modules/stdint (Makefile.am): Likewise.
2823         * modules/stdio (Makefile.am): Likewise.
2824         * modules/stdlib (Makefile.am): Likewise.
2825         * modules/string (Makefile.am): Likewise.
2826         * modules/strings (Makefile.am): Likewise.
2827         * modules/sys_file (Makefile.am): Likewise.
2828         * modules/sys_ioctl (Makefile.am): Likewise.
2829         * modules/sys_select (Makefile.am): Likewise.
2830         * modules/sys_socket (Makefile.am): Likewise.
2831         * modules/sys_stat (Makefile.am): Likewise.
2832         * modules/sys_time (Makefile.am): Likewise.
2833         * modules/sys_times (Makefile.am): Likewise.
2834         * modules/sys_uio (Makefile.am): Likewise.
2835         * modules/sys_utsname (Makefile.am): Likewise.
2836         * modules/sys_wait (Makefile.am): Likewise.
2837         * modules/sysexits (Makefile.am): Likewise.
2838         * modules/termios (Makefile.am): Likewise.
2839         * modules/time (Makefile.am): Likewise.
2840         * modules/unistd (Makefile.am): Likewise.
2841         * modules/wchar (Makefile.am): Likewise.
2842         * modules/wctype-h (Makefile.am): Likewise.
2843         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
2844
2845 2011-05-29  Bruno Haible  <bruno@clisp.org>
2846
2847         assert-h: Allow multiple gnulib generated replacements to coexist.
2848         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
2849
2850 2011-05-29  Bruno Haible  <bruno@clisp.org>
2851
2852         argp: Allow coexistence with strerror_r-posix module.
2853         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
2854         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
2855         by gnulib's <string.h> replacement), assume it has the POSIX signature,
2856         not the glibc signature.
2857
2858 2011-05-28  Bruno Haible  <bruno@clisp.org>
2859
2860         gnulib-tool: Alternative structure of testdirs, similar to --import.
2861         * gnulib-tool: New option --single-configure.
2862         (func_usage): Document it.
2863         (single_configure): New variable.
2864         (func_modules_transitive_closure_separately,
2865         func_modules_transitive_closure_separately,
2866         func_determine_use_libtests, func_modules_add_dummy_separately,
2867         func_modules_to_filelist_separately): New functions, extracted from
2868         func_import.
2869         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
2870         (func_import): Use the new functions.
2871         (func_create_testdir): Set final_modules. Handle $single_configure =
2872         true case.
2873
2874 2011-05-28  Bruno Haible  <bruno@clisp.org>
2875
2876         getloadavg: Remove an unreliable safety check.
2877         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
2878         getloadavg.c is in place.
2879         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
2880         Reported by Sam Steingold <sds@gnu.org>.
2881
2882 2011-05-28  Bruno Haible  <bruno@clisp.org>
2883
2884         doc: Cleanup yet another file produced by texinfo.tex.
2885         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
2886
2887 2011-05-28  Bruno Haible  <bruno@clisp.org>
2888
2889         Finish the conditional dependencies mechanism.
2890         * gnulib-tool: New option --no-conditional-dependencies.
2891         (func_usage): Document it. Don't mark --conditional-dependencies as
2892         experimental.
2893         (cond_dependencies): The possible values can now be true, false, empty.
2894         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
2895         (func_import): Store setting in gnulib-cache.m4 and read it from there.
2896         * doc/gnulib-tool.texi (Conditional dependencies): New section.
2897
2898 2011-05-28  Bruno Haible  <bruno@clisp.org>
2899
2900         doc: Use a recent texinfo.tex.
2901         * doc/Makefile (tex_opts): New variable.
2902         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
2903
2904 2011-05-28  Jim Meyering  <meyering@redhat.com>
2905
2906         intprops.h: adjust comment to match code change
2907         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
2908         only once, it *may* have side effects.  Also fix an unrelated typo.
2909         (_GL_INT_SIGNED): Likewise.
2910
2911 2011-05-26  Simon Josefsson  <simon@josefsson.org>
2912
2913         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
2914
2915 2011-05-26  Bruno Haible  <bruno@clisp.org>
2916
2917         mbsrchr: Avoid collision with system function on Interix.
2918         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
2919         Reported by Markus Duft <mduft@gentoo.org>.
2920
2921 2011-05-15  James Youngman  <jay@gnu.org>
2922
2923         getopt: for ambiguous options, enumerate the possibilities.
2924         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
2925         the ambiguous options when an ambiguous prefix is given. This was
2926         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
2927         glibc change was
2928         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
2929
2930 2011-05-25  Eric Blake  <eblake@redhat.com>
2931
2932         getcwd: work around mingw bug
2933         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
2934         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2935         Reported by Matthias Bolte.
2936
2937 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
2938
2939         test-intprops: disable -Wtype-limits diagnostics
2940         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
2941         diagnostics.  Otherwise, the integer overflow macros generate many
2942         diagnostics.  Reported by Jim Meyering in
2943         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
2944
2945         intprops: shorten, to pacify gcc -Woverlength-strings
2946         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
2947         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
2948         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
2949         likely to run afoul of C compiler limits for string constant lengths.
2950         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
2951
2952 2011-05-24  Eric Blake  <eblake@redhat.com>
2953
2954         docs: document recently fixed glibc printf bug
2955         * doc/posix-functions/fprintf.texi (fprintf): Document it.
2956         * doc/posix-functions/printf.texi (printf): Likewise.
2957         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
2958         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
2959
2960         closein-tests: convert to init.sh
2961         * modules/closein-tests (Files): Add init.sh
2962         * tests/test-closein.sh Use it.
2963
2964         yesno-tests: convert to init.sh
2965         * modules/yesno-tests (Files): Add init.sh.
2966         * tests/test-yesno.sh: Use it.
2967
2968         atexit-tests: ensure reliable exit status
2969         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
2970         Reported by Bruno Haible.
2971
2972 2011-05-24  Bruno Haible  <bruno@clisp.org>
2973
2974         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
2975         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
2976         gl_PREREQ_STRERROR_R invocations from here...
2977         * modules/strerror_r-posix (configure.ac): ... to here.
2978
2979 2011-05-24  Eric Blake  <eblake@redhat.com>
2980
2981         strerror_r: fix missing header
2982         * lib/strerror_r.c: Avoid compiler warning about snprintf.
2983
2984         strerror_r: fix AIX test failures
2985         * lib/strerror_r.c (strerror_r): Convert silent truncation to
2986         ERANGE failure.
2987
2988         strerror_r: fix Solaris test failures
2989         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
2990         failures.
2991         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
2992
2993         strerror_r: enforce POSIX recommendations
2994         * lib/strerror_r.c (safe_copy): New helper method.
2995         (strerror_r): Guarantee a non-empty string.
2996         * tests/test-strerror_r.c (main): Enhance tests to incorporate
2997         recent POSIX rulings and to match our strerror guarantees.
2998         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
2999
3000 2011-05-24  Jim Meyering  <meyering@redhat.com>
3001
3002         test-perror2.c: avoid warning about unused variable
3003         * tests/test-perror2.c (main): Remove declaration of unused "fp".
3004
3005 2011-05-24  Eric Blake  <eblake@redhat.com>
3006
3007         perror: avoid spurious test failure on HP-UX
3008         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
3009
3010         tests: fix logic bug in init.sh
3011         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
3012         shell.
3013
3014 2011-05-24  Jim Meyering  <meyering@redhat.com>
3015
3016         utimensat: do not reference an out-of-scope buffer
3017         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
3018         declared in an inner scope, yet "times" would be dereferenced outside
3019         the scope in which "ts" was valid.
3020         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
3021         of ts[2] "out/up", so that the use of aliased "times" (via
3022         "times = ts;") does not end up referencing an out-of-scope "ts"
3023
3024         opendir-safer.c: don't clobber errno; don't close negative FD
3025         * lib/opendir-safer.c (opendir_safer):
3026         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
3027         file descriptor, and more importantly, don't clobber the
3028         offending errno value with EINVAL.  Before, upon failure
3029         of dup_safer, we would pass the negative file descriptor to
3030         fdopendir, which would clobber errno.
3031
3032 2011-05-23  Bruno Haible  <bruno@clisp.org>
3033
3034         idcache: Fix module description.
3035         * modules/idcache (Include): Set to "idcache.h".
3036
3037 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3038
3039         gnulib-tool: fix portability problem with MacOS sed
3040         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
3041         before the "}".  Problem reported by Leo in
3042         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
3043         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
3044         sed_extract_condition1, sed_extract_condition2.
3045
3046 2011-05-23  Bruno Haible  <bruno@clisp.org>
3047
3048         hash: Simplify autoconf macro.
3049         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
3050
3051 2011-05-23  Bruno Haible  <bruno@clisp.org>
3052
3053         getugroups: Fix module description.
3054         * modules/getugroups (Include): Set to "getugroups.h".
3055
3056 2011-05-23  Bruno Haible  <bruno@clisp.org>
3057
3058         linkat: Simplify autoconf macro.
3059         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
3060
3061 2011-05-23  Bruno Haible  <bruno@clisp.org>
3062             Eric Blake  <eblake@redhat.com>
3063
3064         linkat, renameat: Update dependencies.
3065         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
3066         * modules/linkat (Depends-on): Likewise. Remove also readlink,
3067         symlinkat.
3068
3069 2011-05-23  Jim Meyering  <meyering@redhat.com>
3070
3071         maint.mk: more tight_scope improvements
3072         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
3073         (_gl_TS_headers): Define only in if-0'd block.
3074         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
3075         sometimes we must *not* use it.  Adjust uses accordingly.
3076         (sc_tight_scope): Use much simpler grep-based test to determine
3077         whether we skip this rule.
3078
3079         maint.mk: generalize/improve the tight-scope rule
3080         * top/maint.mk: Emit a warning when the test is skipped.
3081         (_gl_TS_dir): Add $(srcdir)/ prefix.
3082         (_gl_TS_function_match): Simplify, rather than trying
3083         to enumerate common types.  Otherwise, it would fail to match an
3084         "extern unsigned char const *" declaration in idutils.
3085         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
3086         a way to support use of that type of macro.
3087         (_gl_TS_var_match): Simplify regexp.
3088         (_gl_TS_obj_files): New configurable variable.
3089         (_gl_TS_headers): Likewise.
3090
3091 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
3092
3093         verify: fix bug when gnulib <assert.h> is also included
3094         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
3095         is defined, not if _GL_STATIC_ASSERT_H is not defined.
3096         Perhaps there's a better way, but this fixes the immediate problem.
3097         Problem reported by Bruno Haible in
3098         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
3099
3100 2011-05-22  Bruno Haible  <bruno@clisp.org>
3101
3102         xgetcwd: Simplify autoconf macro.
3103         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
3104
3105 2011-05-22  Bruno Haible  <bruno@clisp.org>
3106
3107         New module 'mktime-internal'.
3108         * modules/mktime-internal: New file.
3109         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
3110         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
3111         mktime_internal as a C macro if libc has __mktime_internal.
3112         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
3113         conditions.
3114         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
3115
3116 2011-05-22  Bruno Haible  <bruno@clisp.org>
3117
3118         timegm: Correct mktime replacement statements.
3119         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
3120         defining mktime as a C macro. This completes a 2009-07-28 commit.
3121
3122 2011-05-22  Bruno Haible  <bruno@clisp.org>
3123
3124         timegm: Simplify autoconf macro.
3125         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
3126
3127 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3128
3129         clock-time: change to LGPLv2+.
3130         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
3131         BSD-like but we have no mark for that; this is good enough for now.
3132
3133 2011-05-21  Bruno Haible  <bruno@clisp.org>
3134
3135         strerror_r: Fix comments.
3136         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
3137
3138 2011-05-21  Bruno Haible  <bruno@clisp.org>
3139
3140         relocatable-prog-wrapper: Fix possible link error.
3141         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
3142         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
3143         (gl_FUNC_SETENV): ... to here.
3144         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
3145         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
3146
3147 2011-05-21  Bruno Haible  <bruno@clisp.org>
3148
3149         relocatable-prog-wrapper: Assume strerror() exists.
3150         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
3151         m4/strerror.m4.
3152         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
3153         * lib/relocwrapper.c: Remove mention of strerror module.
3154         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
3155         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
3156         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
3157         C macro.
3158
3159 2011-05-21  Bruno Haible  <bruno@clisp.org>
3160
3161         select: Simplify replacement idiom.
3162         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
3163         Win32 platforms.
3164         * lib/sys_select.in.h (select): Simplify accordingly.
3165         * modules/select (Depends-on): Likewise.
3166
3167 2011-05-21  Bruno Haible  <bruno@clisp.org>
3168
3169         mkdir-p: Simplify autoconf macro.
3170         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
3171         gl_FUNC_LCHOWN.
3172
3173 2011-05-21  Eric Blake  <eblake@redhat.com>
3174
3175         strerror_r: avoid clobbering strerror on cygwin
3176         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
3177         fall back instead to sys_errlist.
3178         * modules/strerror (configure.ac): Add witness.
3179         * tests/test-strerror_r.c (main): Enhance test.
3180         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3181         * tests/test-perror2.c (main): Free memory before exit.
3182
3183 2011-05-21  Bruno Haible  <bruno@clisp.org>
3184
3185         mkdtemp: Use gnulib naming conventions.
3186         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
3187         * modules/mkdtemp (configure.ac): Update.
3188
3189 2011-05-20  Eric Blake  <eblake@redhat.com>
3190
3191         strerror_r: avoid corrupting errno on Solaris
3192         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
3193         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3194
3195         strerror_r: avoid compiler warning
3196         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
3197
3198         strerror_r: simplify AIX code
3199         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
3200
3201         test-perror: avoid spurious failure on FreeBSD
3202         * modules/perror-tests (Depends-on): Add strerror, now that
3203         strerror_r no longer pulls it in.
3204
3205 2011-05-20  Bruno Haible  <bruno@clisp.org>
3206
3207         strerror_r-posix: Remove unused dependencies.
3208         * modules/strerror_r-posix (Depends-on): Remove strerror.
3209         Reported by Eric Blake.
3210
3211 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3212
3213         intprops: remove assumption about A|B representation
3214         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
3215         is a valid integer if both A and B are.  Although this is true for
3216         all known practical hosts, the C standard doesn't guarantee it,
3217         and the code need not assume it.  Also, this change may work around
3218         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
3219         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
3220
3221 2011-05-20  Eric Blake  <eblake@redhat.com>
3222
3223         perror: work around FreeBSD bug
3224         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
3225         is broken.  Move AC_LIBOBJ...
3226         * modules/perror (configure.ac): Here.
3227         * doc/posix-functions/perror.texi (perror): Document this.
3228         * tests/test-perror2.c (main): Enhance test.
3229
3230         test-perror: check for strerror interactions
3231         * tests/macros.h (STREQ): Add macro.
3232         * modules/perror-tests (Files): Add second test.
3233         * tests/test-perror2.c (main): New file.
3234         * doc/posix-functions/perror.texi (perror): Document glibc bug.
3235
3236         test-perror: rewrite to use init script
3237         * modules/perror-tests (Files): Add init.sh.
3238         * tests/test-perror.sh: Use temporary directory.
3239
3240 2011-05-20  Jim Meyering  <meyering@redhat.com>
3241
3242         maint: replace misused "a" with "an"
3243         * doc/intprops.texi: "a integer"
3244         * doc/regex.texi: "a explanation"
3245         * lib/alignof.h: "a object"
3246         * lib/argmatch.h: "a explanation"
3247         * lib/argp-help.c: "a option" and "a OPTION_DOC"
3248         * lib/stdint.in.h: "a integer"
3249         * lib/userspec.c: "a owner"
3250         * doc/gnulib.texi: Fix "a idea", and reword.
3251
3252 2011-05-19  Jim Meyering  <meyering@redhat.com>
3253
3254         maint: correct misuse of "a" and "an"
3255         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
3256         * lib/argp-help.c: "an docum...": s/an/a/
3257         * lib/argp-parse.c: "An vector": s/An/A/
3258         * lib/execute.c: "an native": s/an/a/
3259         * lib/spawn-pipe.c: Likewise.
3260         * lib/gc.h: "an Gc_rc": s/an/a/
3261         * lib/unigbrk.in.h: "an grapheme": s/an/a/
3262         * lib/fts.c: "an stat.st_dev": s/an/a/
3263
3264 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3265
3266         intprops-tests: work around HP-UX 11.23 cc bug with constants
3267         * tests/test-intprops.c (VERIFY): New macro.
3268         (main): Use it, instead of verify, to work around the compiler bug; see
3269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3270
3271         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
3272         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
3273         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
3274         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
3275         (_GL_REMAINDER_OVERFLOW): Use it.
3276
3277         intprops-tests: revert unsigned part of previous change
3278         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
3279         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
3280         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
3281         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
3282
3283 2011-05-19  Bruno Haible  <bruno@clisp.org>
3284
3285         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
3286         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
3287         strerror_r() returned without filling the buffer.
3288         Reported by Eric Blake.
3289
3290 2011-05-19  Eric Blake  <eblake@redhat.com>
3291
3292         strerror_r: guarantee unchanged errno
3293         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
3294         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
3295         failure.
3296         * tests/test-strerror_r.c (main): Enhance test.
3297
3298 2011-05-19  Bruno Haible  <bruno@clisp.org>
3299
3300         strerror_r: Reorder #if blocks.
3301         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
3302         for consistency with the previous commit.
3303
3304 2011-05-19  Bruno Haible  <bruno@clisp.org>
3305
3306         perror: Avoid clobbering the strerror buffer when possible.
3307         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
3308         * lib/strerror.c: Include it.
3309         * modules/strerror (Files): Add lib/strerror-impl.h.
3310         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
3311         (my_strerror): New function, defined through lib/strerror-impl.h.
3312         (perror): Use it instead of strerror.
3313         * modules/perror (Files): Add lib/strerror-impl.h.
3314         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
3315
3316 2011-05-19  Eric Blake  <eblake@redhat.com>
3317
3318         strerror_r: fix on newer cygwin
3319         * lib/strerror_r.c (strerror_r): Cygwin now has
3320         __xpg_strerror_r, use it.
3321
3322 2011-05-19  Bruno Haible  <bruno@clisp.org>
3323
3324         strerror_r: Avoid clobbering the strerror buffer when possible.
3325         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
3326         (sys_nerr, sys_errlist): New declarations.
3327         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
3328         HP-UX, native Win32, IRIX, and 32-bit Solaris.
3329         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
3330
3331 2011-05-19  Bruno Haible  <bruno@clisp.org>
3332
3333         strerror_r: Fix test failure on mingw.
3334         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
3335         EXTEND_STRERROR_R.
3336         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
3337         macros from errno.in.h instead.
3338
3339 2011-05-19  Eric Blake  <eblake@redhat.com>
3340
3341         strerror: relax test for Solaris
3342         * tests/test-strerror.c (main): Permit Solaris behavior.
3343         * tests/test-strerror_r.c (main): Likewise.
3344
3345         strerror: enforce POSIX ruling on strerror(0)
3346         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
3347         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
3348         * lib/strerror_r.c (rpl_strerror_r): Work around it.
3349         * doc/posix-functions/strerror.texi (strerror): Document it.
3350         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
3351         * tests/test-strerror.c (main): Strengthen test.
3352         * tests/test-strerror_r.c (main): Likewise.
3353
3354 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3355
3356         intprop-tests: port to older and more-pedantic compilers
3357         * modules/intprops-tests (Files): Add tests/macros.h.
3358         * tests/test-intprops.c: Include macros.h.
3359         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
3360         it's no longer documented to expand to an integer constant expression.
3361         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
3362         argument is floating point, as it's no longer documented to expand
3363         to an integer constant expression in that case.
3364         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
3365         compiler bugs reported by Bruno Haible.  See
3366         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3367         (U0, U1): New constants, to work around the same bugs.  Also,
3368         in tests, use e.g., "(unsigned int) 39" rather than "39u".
3369
3370         intprops: work around C compiler bugs
3371         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
3372         bug in Sun C 5.11 2010/08/13 and other compilers; see
3373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3374
3375         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
3376         * doc/intprops.texi (Integer Type Determination): Fix
3377         documentation for TYPE_IS_INTEGER: it returns an constant
3378         expression, not an integer constant expression.  Fix doc for
3379         TYPE_SIGNED: it returns an integer constant expression only if its
3380         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
3381         hardly worth documented that way....)
3382
3383 2011-05-18  Bruno Haible  <bruno@clisp.org>
3384
3385         strerror_r: Avoid clobbering the strerror buffer when possible.
3386         * lib/strerror_r.c (strerror_r): Merge the three implementations.
3387         Handle gnulib defined errno values here. When strerror() returns NULL
3388         or an empty string, return EINVAL.
3389         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
3390         gnulib defined errno values here.
3391         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
3392
3393 2011-05-18  Eric Blake  <eblake@redhat.com>
3394
3395         fnmatch: avoid compiler warning
3396         * lib/fnmatch_loop.c (FCT): Use correct type.
3397         Reported by Matthias Bolte.
3398
3399 2011-05-13  Jim Meyering  <meyering@redhat.com>
3400
3401         maint.mk: three new prohibit_<HDR>_without_use rules
3402         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
3403         (sc_prohibit_stdio-safer_without_use): Likewise.
3404         (sc_prohibit_xfreopen_without_use): Likewise.
3405
3406 2011-05-17  Jim Meyering  <meyering@redhat.com>
3407
3408         announce-gen: fail if the NEWS delta is empty
3409         If there's nothing noteworthy in NEWS, then either you forgot
3410         or you shouldn't be releasing.
3411         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
3412
3413 2011-05-17  Pádraig Brady <P@draigBrady.com>
3414
3415         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
3416         reserved symbols starting with double underscore from the check.
3417
3418 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3419
3420         intprops: add doc
3421         * doc/intprops.texi: New file, documenting intprops.
3422         * doc/gnulib.texi (Particular Modules): Include it.
3423
3424         verify: add doc to gnulib manual and fix example
3425         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
3426         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
3427         (Compile-time Assertions): Fix example so it can't overflow.
3428
3429 2011-05-17  Jim Meyering  <meyering@redhat.com>
3430
3431         warnings.m4: don't usurp save_CPPFLAGS variable name
3432         * m4/warnings.m4: Prefix local temporary variable name with gl_.
3433
3434         doc: fix typo
3435         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
3436
3437 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3438             Bruno Haible  <bruno@clisp.org>
3439
3440         doc: Tweak recent change.
3441         * README (Portability guidelines): Tweak new text.
3442         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
3443         Interix 6.1.
3444
3445 2011-05-16  Eric Blake  <eblake@redhat.com>
3446
3447         inttypes: avoid autoconf warning
3448         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
3449         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3450
3451 2011-05-16  Sam Steingold <sds@gnu.org>
3452         and Eric Blake  <eblake@redhat.com>
3453
3454         vc-list-files: accept multiple directory operands
3455         * build-aux/vc-list-files: Iterate over all remaining operands.
3456
3457 2011-05-16  Bruno Haible  <bruno@clisp.org>
3458
3459         Fix confusion regarding deprecated modules.
3460         * modules/calloc (Status, Notice): Mark module as deprecated, not
3461         obsolete.
3462         * modules/fnmatch-posix (Status, Notice): Likewise.
3463         * modules/getdate (Status, Notice): Likewise.
3464         * modules/getopt (Status, Notice): Likewise.
3465         * modules/malloc (Status, Notice): Likewise.
3466         * modules/pipe (Status, Notice): Likewise.
3467         * modules/realloc (Status, Notice): Likewise.
3468         * modules/rename-dest-slash (Status, Notice): Likewise.
3469         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
3470         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
3471         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
3472         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
3473         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
3474
3475 2011-05-16  Bruno Haible  <bruno@clisp.org>
3476
3477         doc: List the target platforms.
3478         * doc/gnulib-intro.texi (Target Platforms): New section.
3479         * doc/gnulib.texi (Introduction): Update menu.
3480         * README (Portability guidelines): Refer to the new section. Update
3481         statement about oldest supported environment. Remove rationale why
3482         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
3483         unportable C89 function.
3484         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
3485         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
3486
3487 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3488
3489         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
3490
3491 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
3492
3493         intprops-tests: new module
3494         * modules/intprops-tests, tests/test-intprops.c: New files.
3495
3496         intprops: add safe, portable integer overflow checking
3497         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
3498         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
3499         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
3500         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
3501         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
3502         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
3503         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
3504         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
3505         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
3506         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
3507         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
3508
3509 2011-05-12  James Youngman  <jay@gnu.org>
3510
3511         Add a test for glibc's Bugzilla bug #12378.
3512         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
3513         doesn't allow the literal matching of a lone "[" (which is
3514         required by POSIX).
3515         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
3516
3517 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
3518
3519         Sync glibc change fixing Bugzilla bug #12378.
3520         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
3521         beginning and fall back to matching as normal character if the
3522         string ends before the matching ']' is found.  This is what POSIX
3523         requires.
3524
3525 2011-05-13  Eric Blake  <eblake@redhat.com>
3526
3527         getcwd-lgpl: relax test for FreeBSD
3528         * doc/posix-functions/getcwd.texi (getcwd): Document portability
3529         issue.
3530         * tests/test-getcwd-lgpl.c (main): Relax test.
3531         Reported by Matthias Bolte.
3532
3533 2011-05-11  Eric Blake  <eblake@redhat.com>
3534
3535         test-fflush: silence compiler warning
3536         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
3537
3538 2011-05-11  Bruno Haible  <bruno@clisp.org>
3539
3540         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
3541         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
3542         * modules/canonicalize (Depends-on): Add 'nocrash'.
3543         * modules/canonicalize-lgpl (Depends-on): Likewise.
3544         * doc/posix-functions/realpath.texi: Update platforms list.
3545         Reported by Ryan Schmidt <ryandesign@macports.org>.
3546
3547 2011-05-11  Bruno Haible  <bruno@clisp.org>
3548
3549         group-member: Declare function in <unistd.h>.
3550         * lib/unistd.in.h (group_member): New declaration.
3551         * lib/group-member.h: Remove file.
3552         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
3553         * tests/test-unistd-c++.cc: Check signature of group_member.
3554         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
3555         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
3556         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
3557         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
3558         HAVE_GROUP_MEMBER.
3559         * modules/group-member (Files): Remove lib/group-member.h.
3560         (Depends-on): Add unistd. Specify conditions.
3561         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
3562         (Include): Change to <unistd.h>.
3563         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
3564         HAVE_GROUP_MEMBER.
3565         * NEWS: Mention the change.
3566         * lib/euidaccess.c: Don't include group-member.h.
3567
3568 2011-05-11  Bruno Haible  <bruno@clisp.org>
3569
3570         group-member: Document module.
3571         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
3572         module.
3573
3574 2011-05-11  Bruno Haible  <bruno@clisp.org>
3575
3576         fclose: Fix mistake earlier today.
3577         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
3578
3579 2011-05-11  Eric Blake  <eblake@redhat.com>
3580
3581         fclose: preserve fflush errors
3582         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
3583         Reported by Jim Meyering.
3584
3585         bootstrap: support a prereq of 'rpcgen -' on RHEL5
3586         * build-aux/bootstrap (check_versions): When no specific version
3587         is required, merely check that the app produces an exit status
3588         that indicates its existence.
3589
3590         maint.mk: drop redundant check
3591         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
3592         the same but better.
3593
3594 2011-05-11  Bruno Haible  <bruno@clisp.org>
3595
3596         fclose: Fix possible link error.
3597         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
3598         unregister_shadow_fd. Improve comments.
3599         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
3600         Eric Blake.
3601
3602 2011-05-11  Jim Meyering  <meyering@redhat.com>
3603
3604         maint.mk: improve "can not" detection and generalize rule name
3605         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
3606         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
3607         Use the same technique as in sc_prohibit_doubled_word, so that
3608         we recognize "can not" also when the words are separated by a newline.
3609         Suggested by Eric Blake.
3610         (perl_filename_lineno_text_): Define.  Factored out of...
3611         (prohibit_doubled_word_): ...here.  Use the new definition.
3612         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
3613         (prohibit_undesirable_word_seq_RE_): New overridable variable.
3614         (ignore_undesirable_word_sequence_RE_): New overridable variable.
3615
3616 2011-05-10  Eric Blake  <eblake@redhat.com>
3617
3618         fclose: avoid double close race when possible
3619         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
3620         all but WINDOWS_SOCKETS.
3621
3622 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
3623
3624         openat: correct new comment
3625         * lib/openat-proc.c (openat_proc_name): Correct the comment.
3626
3627 2011-05-10  Jim Meyering  <meyering@redhat.com>
3628
3629         openat: add comments
3630         * lib/openat-proc.c (openat_proc_name): Add comments,
3631         mostly from Eric Blake.
3632
3633 2011-05-09  Eric Blake  <eblake@redhat.com>
3634
3635         openat: reduce syscalls in first probe of /proc
3636         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
3637         be a directory.  Simplify the probe for .. bugs.
3638         * modules/openat (Depends-on): Drop same-inode.
3639         Reported by Bastien ROUCARIES.
3640
3641 2011-05-09  Jim Meyering  <meyering@redhat.com>
3642
3643         maint.mk: change semantics/name of tight_scope variables
3644         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
3645         Rename variables to align with semantics that make them more useful.
3646
3647         maint.mk: tweak new rule's name not to impinge
3648         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
3649         (sc_tight_scope): Use new rule name rather than $@-0.
3650
3651         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
3652         * top/maint.mk (sc_tight_scope): New rule.
3653         (sc_tight_scope-0): New rule, ifdef'd out.
3654         (_gl_TS_dir): Default.
3655         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
3656         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
3657
3658 2011-05-09  Simon Josefsson  <simon@josefsson.org>
3659
3660         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
3661         Haible <bruno@clisp.org>.
3662
3663 2011-05-08  Bruno Haible  <bruno@clisp.org>
3664
3665         Comments.
3666         * m4/isnanf.m4: Add comment.
3667         * m4/isnanl.m4: Likewise.
3668
3669 2011-05-08  Bruno Haible  <bruno@clisp.org>
3670
3671         glob: Remove obsolete macro.
3672         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
3673
3674 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
3675
3676         intprops: Sun C 5.11 supports __typeof__
3677         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
3678         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
3679         which is new.
3680         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
3681
3682         intprops: switch to usual gnulib indenting and naming
3683         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
3684         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
3685
3686         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
3687
3688 2011-05-08  Jim Meyering  <meyering@redhat.com>
3689
3690         maint.mk: suppress "Entering/Leaving directory" diag in announcement
3691         * top/maint.mk (release-prep): Use make's --no-print-directory
3692         option when generating the announcement.  This eliminates the
3693         pesky "make[2]: Entering/Leaving directory" diagnostics in the
3694         generated announcement template.
3695
3696 2011-05-08  Bruno Haible  <bruno@clisp.org>
3697
3698         tzset: Fix gettimeofday wrapper on Solaris 2.6.
3699         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
3700         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
3701
3702 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3703
3704         ignore-value, verify: Omit include files from lib_SOURCES.
3705         * modules/ignore-value, modules/verify (Makefile.am):
3706         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
3707         that leads Automake to duplicate use of am__objects_... variables
3708         in Makefile.in.  See
3709         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
3710
3711 2011-05-07  Bruno Haible  <bruno@clisp.org>
3712
3713         fclose: Simplify autoconf macro.
3714         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
3715         defined.
3716
3717 2011-05-07  Bruno Haible  <bruno@clisp.org>
3718
3719         canonicalize-lgpl: Fix autoconf macro ordering bug.
3720         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
3721         gl_STDLIB_H_DEFAULTS.
3722
3723 2011-05-06  Eric Blake  <eblake@redhat.com>
3724
3725         maintainer-makefile: make sc_po_check easier to tune
3726         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
3727         to probe for strings, such as an alternate location for gnulib.
3728
3729         fclose: guarantee behavior on seekable stdin
3730         * modules/fclose (Depends-on): Add fflush.
3731         * doc/posix-functions/fclose.texi (fclose): Document this.
3732         * tests/test-fclose.c (main): Make test for this unconditional.
3733
3734 2011-05-06  Bruno Haible  <bruno@clisp.org>
3735
3736         fflush, fpurge: Relicense under LGPLv2+.
3737         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
3738         * modules/fpurge (License): Likewise.
3739         With permission from Eric Blake and Jim Meyering.
3740         Suggested by Eric Blake.
3741
3742 2011-05-06  Karl Berry  <karl@gnu.org>
3743
3744         * MODULES.html.sh (func_all_modules): remove exit.
3745
3746 2011-05-06  Jim Meyering  <meyering@redhat.com>
3747
3748         maint.mk: use info-gnu@ as the default only for a stable release
3749         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
3750         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
3751         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
3752         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
3753
3754 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3755
3756         assert-h: new module, which supports C1X-style static_assert
3757         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
3758         * lib/verify.h: Revamp so that this can be copied into assert.h,
3759         while retaining the ability to use it standalone as before.
3760         Rename private identifiers so as not to encroach on the
3761         standard C namespace, since this is now used by assert.h.
3762         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
3763         the old verify_true.
3764         (_GL_VERIFY_TRUE): New macro, with much of the contents of
3765         the old verify_true.  Use _GL_VERIFY_TYPE.
3766         (_GL_VERIFY): New macro, with much of the contents of the old verify.
3767         (static_assert): New macro, if _GL_STATIC_ASSERT_H
3768         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
3769         defined when this file is copied into the replacement assert.h.
3770         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
3771         and _Static_assert is not built in.
3772         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
3773         defined, and use the new macros mentioned above.
3774         * doc/posix-headers/assert.texi: Document this.
3775
3776 2011-05-05  Bruno Haible  <bruno@clisp.org>
3777
3778         fclose, fflush: Respect rules for use of AC_LIBOBJ.
3779         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
3780         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
3781         gl_REPLACE_FCLOSE here.
3782         * modules/fflush (Depends-on): Remove fclose.
3783         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
3784         combination with module 'fclose'.
3785
3786 2011-05-05  Bruno Haible  <bruno@clisp.org>
3787
3788         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
3789         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
3790         gl_FUNC_FFLUSH.
3791         (gl_FUNC_FFLUSH): Use it.
3792         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
3793         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
3794         gl_REPLACE_FSEEKO here.
3795
3796 2011-05-05  Bruno Haible  <bruno@clisp.org>
3797
3798         tzset: Relicense under LGPL.
3799         * modules/tzset (License): Change to LGPL.
3800         No agreement needed; it's a no-op.
3801
3802         strtoimax, strtoumax: Relicense under LGPL.
3803         * modules/strtoimax (License): Change to LGPL.
3804         * modules/strtoumax (License): Likewise.
3805         With permission from Jim Meyering, Paul Eggert:
3806         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
3807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
3808
3809         getgroups: Relicense under LGPL.
3810         * modules/getgroups (License): Change to LGPL.
3811         With permission from Jim Meyering, Paul Eggert, Eric Blake:
3812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3814         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3815
3816         nanosleep: Relicense under LGPL.
3817         * modules/nanosleep (License): Change to LGPL.
3818         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
3819         Haible:
3820         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3821         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3822         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3824
3825         futimens: Relicense under LGPL.
3826         * modules/futimens (License): Change to LGPL.
3827         With permission from Eric Blake:
3828         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3829
3830         fflush: Relicense under LGPL.
3831         * modules/fflush (License): Change to LGPL.
3832         With permission from Eric Blake, Bruno Haible, Jim Meyering:
3833         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3834         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3835         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
3836
3837         tmpfile: Relicense under LGPL.
3838         * modules/tmpfile (License): Change to LGPL.
3839         With permission from Ben Pfaff:
3840         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
3841
3842         isfinite: Relicense under LGPL.
3843         * modules/isfinite (License): Change to LGPL.
3844         With permission from Ben Pfaff, Bruno Haible:
3845         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
3846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
3847
3848         acosl..tanl: Relicense under LGPL.
3849         * modules/acosl (License): Change to LGPL.
3850         * modules/asinl (License): Likewise.
3851         * modules/atanl (License): Likewise.
3852         * modules/cosl (License): Likewise.
3853         * modules/expl (License): Likewise.
3854         * modules/logl (License): Likewise.
3855         * modules/sinl (License): Likewise.
3856         * modules/sqrtl (License): Likewise.
3857         * modules/tanl (License): Likewise.
3858         Source code originally from glibc and Paolo Bonzini. Agreements:
3859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
3860         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
3861
3862 2011-05-05  Bruno Haible  <bruno@clisp.org>
3863
3864         signal: Define sighandler_t.
3865         * lib/signal.in.h (sighandler_t): New type.
3866         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
3867         whether sighandler_t is defined.
3868         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
3869         * modules/signal (Depends-on): Add extensions.
3870         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
3871         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
3872         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
3873
3874 2011-05-05  Eric Blake  <eblake@redhat.com>
3875
3876         maint: remove useless REPLACE_*_H macros
3877         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
3878         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
3879         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
3880         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
3881         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
3882         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
3883         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
3884         * m4/btowc.m4: Update callers.
3885         * m4/dirfd.m4: Likewise.
3886         * m4/duplocale.m4: Likewise.
3887         * m4/fchdir.m4: Likewise.
3888         * m4/fdopendir.m4: Likewise.
3889         * m4/inet_ntop.m4: Likewise.
3890         * m4/inet_pton.m4: Likewise.
3891         * m4/ioctl.m4: Likewise.
3892         * m4/mbrlen.m4: Likewise.
3893         * m4/mbrtowc.m4: Likewise.
3894         * m4/mbsinit.m4: Likewise.
3895         * m4/mbsnrtowcs.m4: Likewise.
3896         * m4/mbsrtowcs.m4: Likewise.
3897         * m4/poll.m4: Likewise.
3898         * m4/setlocale.m4: Likewise.
3899         * m4/wcrtomb.m4: Likewise.
3900         * m4/wcsnrtombs.m4: Likewise.
3901         * m4/wcsrtombs.m4: Likewise.
3902         * m4/wctob.m4: Likewise.
3903         * m4/wcwidth.m4: Likewise.
3904         * modules/posix_spawn: Likewise.
3905         * modules/posix_spawn_file_actions_addclose: Likewise.
3906         * modules/posix_spawn_file_actions_adddup2: Likewise.
3907         * modules/posix_spawn_file_actions_addopen: Likewise.
3908         * modules/posix_spawn_file_actions_destroy: Likewise.
3909         * modules/posix_spawn_file_actions_init: Likewise.
3910         * modules/posix_spawnattr_destroy: Likewise.
3911         * modules/posix_spawnattr_getflags: Likewise.
3912         * modules/posix_spawnattr_getpgroup: Likewise.
3913         * modules/posix_spawnattr_getschedparam: Likewise.
3914         * modules/posix_spawnattr_getschedpolicy: Likewise.
3915         * modules/posix_spawnattr_getsigdefault: Likewise.
3916         * modules/posix_spawnattr_getsigmask: Likewise.
3917         * modules/posix_spawnattr_init: Likewise.
3918         * modules/posix_spawnattr_setflags: Likewise.
3919         * modules/posix_spawnattr_setpgroup: Likewise.
3920         * modules/posix_spawnattr_setschedparam: Likewise.
3921         * modules/posix_spawnattr_setschedpolicy: Likewise.
3922         * modules/posix_spawnattr_setsigdefault: Likewise.
3923         * modules/posix_spawnattr_setsigmask: Likewise.
3924         * modules/posix_spawnp: Likewise.
3925
3926 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
3927
3928         Add option to do-release-commit-and-tag to specify branch.
3929         * build-aux/do-release-commit-and-tag: Add --branch.
3930
3931 2011-05-03  Bruno Haible  <bruno@clisp.org>
3932
3933         Avoid unnecessary compilation units, through conditional dependencies.
3934         * modules/accept (Depends-on): Add conditions to the dependencies.
3935         * modules/acosl (Depends-on): Likewise.
3936         * modules/argz (Depends-on): Likewise.
3937         * modules/asinl (Depends-on): Likewise.
3938         * modules/atanl (Depends-on): Likewise.
3939         * modules/atoll (Depends-on): Likewise.
3940         * modules/bind (Depends-on): Likewise.
3941         * modules/btowc (Depends-on): Likewise.
3942         * modules/canonicalize-lgpl (Depends-on): Likewise.
3943         * modules/ceil (Depends-on): Likewise.
3944         * modules/ceilf (Depends-on): Likewise.
3945         * modules/ceill (Depends-on): Likewise.
3946         * modules/chdir-long (Depends-on): Likewise.
3947         * modules/chown (Depends-on): Likewise.
3948         * modules/close (Depends-on): Likewise.
3949         * modules/connect (Depends-on): Likewise.
3950         * modules/cosl (Depends-on): Likewise.
3951         * modules/dirfd (Depends-on): Likewise.
3952         * modules/dprintf (Depends-on): Likewise.
3953         * modules/dprintf-posix (Depends-on): Likewise.
3954         * modules/error (Depends-on): Likewise.
3955         * modules/euidaccess (Depends-on): Likewise.
3956         * modules/expl (Depends-on): Likewise.
3957         * modules/faccessat (Depends-on): Likewise.
3958         * modules/fchdir (Depends-on): Likewise.
3959         * modules/fclose (Depends-on): Likewise.
3960         * modules/fcntl (Depends-on): Likewise.
3961         * modules/fdopendir (Depends-on): Likewise.
3962         * modules/fflush (Depends-on): Likewise.
3963         * modules/floor (Depends-on): Likewise.
3964         * modules/floorf (Depends-on): Likewise.
3965         * modules/floorl (Depends-on): Likewise.
3966         * modules/fnmatch (Depends-on): Likewise.
3967         * modules/fopen (Depends-on): Likewise.
3968         * modules/fprintf-posix (Depends-on): Likewise.
3969         * modules/frexp (Depends-on): Likewise.
3970         * modules/frexp-nolibm (Depends-on): Likewise.
3971         * modules/frexpl (Depends-on): Likewise.
3972         * modules/frexpl-nolibm (Depends-on): Likewise.
3973         * modules/fseek (Depends-on): Likewise.
3974         * modules/fsusage (Depends-on): Likewise.
3975         * modules/ftell (Depends-on): Likewise.
3976         * modules/ftello (Depends-on): Likewise.
3977         * modules/futimens (Depends-on): Likewise.
3978         * modules/getcwd (Depends-on): Likewise.
3979         * modules/getcwd-lgpl (Depends-on): Likewise.
3980         * modules/getdelim (Depends-on): Likewise.
3981         * modules/getdomainname (Depends-on): Likewise.
3982         * modules/getgroups (Depends-on): Likewise.
3983         * modules/gethostname (Depends-on): Likewise.
3984         * modules/getline (Depends-on): Likewise.
3985         * modules/getlogin_r (Depends-on): Likewise.
3986         * modules/getopt-posix (Depends-on): Likewise.
3987         * modules/getpeername (Depends-on): Likewise.
3988         * modules/getsockname (Depends-on): Likewise.
3989         * modules/getsockopt (Depends-on): Likewise.
3990         * modules/getsubopt (Depends-on): Likewise.
3991         * modules/getusershell (Depends-on): Likewise.
3992         * modules/glob (Depends-on): Likewise.
3993         * modules/grantpt (Depends-on): Likewise.
3994         * modules/iconv_open (Depends-on): Likewise.
3995         * modules/iconv_open-utf (Depends-on): Likewise.
3996         * modules/inet_ntop (Depends-on): Likewise.
3997         * modules/inet_pton (Depends-on): Likewise.
3998         * modules/ioctl (Depends-on): Likewise.
3999         * modules/isapipe (Depends-on): Likewise.
4000         * modules/isfinite (Depends-on): Likewise.
4001         * modules/isinf (Depends-on): Likewise.
4002         * modules/lchown (Depends-on): Likewise.
4003         * modules/ldexpl (Depends-on): Likewise.
4004         * modules/link (Depends-on): Likewise.
4005         * modules/linkat (Depends-on): Likewise.
4006         * modules/listen (Depends-on): Likewise.
4007         * modules/logl (Depends-on): Likewise.
4008         * modules/lstat (Depends-on): Likewise.
4009         * modules/mbrlen (Depends-on): Likewise.
4010         * modules/mbrtowc (Depends-on): Likewise.
4011         * modules/mbsinit (Depends-on): Likewise.
4012         * modules/mbsnrtowcs (Depends-on): Likewise.
4013         * modules/mbsrtowcs (Depends-on): Likewise.
4014         * modules/mbtowc (Depends-on): Likewise.
4015         * modules/memcmp (Depends-on): Likewise.
4016         * modules/mkdir (Depends-on): Likewise.
4017         * modules/mkdtemp (Depends-on): Likewise.
4018         * modules/mkfifo (Depends-on): Likewise.
4019         * modules/mkfifoat (Depends-on): Likewise.
4020         * modules/mknod (Depends-on): Likewise.
4021         * modules/mkostemp (Depends-on): Likewise.
4022         * modules/mkostemps (Depends-on): Likewise.
4023         * modules/mkstemp (Depends-on): Likewise.
4024         * modules/mkstemps (Depends-on): Likewise.
4025         * modules/mktime (Depends-on): Likewise.
4026         * modules/nanosleep (Depends-on): Likewise.
4027         * modules/open (Depends-on): Likewise.
4028         * modules/openat (Depends-on): Likewise.
4029         * modules/perror (Depends-on): Likewise.
4030         * modules/poll (Depends-on): Likewise.
4031         * modules/popen (Depends-on): Likewise.
4032         * modules/posix_spawn (Depends-on): Likewise.
4033         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
4034         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
4035         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
4036         * modules/posix_spawnp (Depends-on): Likewise.
4037         * modules/pread (Depends-on): Likewise.
4038         * modules/printf-posix (Depends-on): Likewise.
4039         * modules/ptsname (Depends-on): Likewise.
4040         * modules/putenv (Depends-on): Likewise.
4041         * modules/pwrite (Depends-on): Likewise.
4042         * modules/readline (Depends-on): Likewise.
4043         * modules/readlink (Depends-on): Likewise.
4044         * modules/readlinkat (Depends-on): Likewise.
4045         * modules/recv (Depends-on): Likewise.
4046         * modules/recvfrom (Depends-on): Likewise.
4047         * modules/regex (Depends-on): Likewise.
4048         * modules/remove (Depends-on): Likewise.
4049         * modules/rename (Depends-on): Likewise.
4050         * modules/renameat (Depends-on): Likewise.
4051         * modules/rmdir (Depends-on): Likewise.
4052         * modules/round (Depends-on): Likewise.
4053         * modules/roundf (Depends-on): Likewise.
4054         * modules/roundl (Depends-on): Likewise.
4055         * modules/rpmatch (Depends-on): Likewise.
4056         * modules/select (Depends-on): Likewise.
4057         * modules/send (Depends-on): Likewise.
4058         * modules/sendto (Depends-on): Likewise.
4059         * modules/setenv (Depends-on): Likewise.
4060         * modules/setlocale (Depends-on): Likewise.
4061         * modules/setsockopt (Depends-on): Likewise.
4062         * modules/shutdown (Depends-on): Likewise.
4063         * modules/sigaction (Depends-on): Likewise.
4064         * modules/signbit (Depends-on): Likewise.
4065         * modules/sigprocmask (Depends-on): Likewise.
4066         * modules/sinl (Depends-on): Likewise.
4067         * modules/sleep (Depends-on): Likewise.
4068         * modules/snprintf (Depends-on): Likewise.
4069         * modules/snprintf-posix (Depends-on): Likewise.
4070         * modules/socket (Depends-on): Likewise.
4071         * modules/sprintf-posix (Depends-on): Likewise.
4072         * modules/sqrtl (Depends-on): Likewise.
4073         * modules/stat (Depends-on): Likewise.
4074         * modules/strchrnul (Depends-on): Likewise.
4075         * modules/strdup-posix (Depends-on): Likewise.
4076         * modules/strerror (Depends-on): Likewise.
4077         * modules/strerror_r-posix (Depends-on): Likewise.
4078         * modules/strndup (Depends-on): Likewise.
4079         * modules/strnlen (Depends-on): Likewise.
4080         * modules/strptime (Depends-on): Likewise.
4081         * modules/strsep (Depends-on): Likewise.
4082         * modules/strsignal (Depends-on): Likewise.
4083         * modules/strstr-simple (Depends-on): Likewise.
4084         * modules/strtod (Depends-on): Likewise.
4085         * modules/strtoimax (Depends-on): Likewise.
4086         * modules/strtok_r (Depends-on): Likewise.
4087         * modules/strtoumax (Depends-on): Likewise.
4088         * modules/symlink (Depends-on): Likewise.
4089         * modules/symlinkat (Depends-on): Likewise.
4090         * modules/tanl (Depends-on): Likewise.
4091         * modules/tcgetsid (Depends-on): Likewise.
4092         * modules/tmpfile (Depends-on): Likewise.
4093         * modules/trunc (Depends-on): Likewise.
4094         * modules/truncf (Depends-on): Likewise.
4095         * modules/truncl (Depends-on): Likewise.
4096         * modules/uname (Depends-on): Likewise.
4097         * modules/unlink (Depends-on): Likewise.
4098         * modules/unlockpt (Depends-on): Likewise.
4099         * modules/unsetenv (Depends-on): Likewise.
4100         * modules/usleep (Depends-on): Likewise.
4101         * modules/utimensat (Depends-on): Likewise.
4102         * modules/vasprintf (Depends-on): Likewise.
4103         * modules/vdprintf (Depends-on): Likewise.
4104         * modules/vdprintf-posix (Depends-on): Likewise.
4105         * modules/vfprintf-posix (Depends-on): Likewise.
4106         * modules/vprintf-posix (Depends-on): Likewise.
4107         * modules/vsnprintf (Depends-on): Likewise.
4108         * modules/vsnprintf-posix (Depends-on): Likewise.
4109         * modules/vsprintf-posix (Depends-on): Likewise.
4110         * modules/wcrtomb (Depends-on): Likewise.
4111         * modules/wcscasecmp (Depends-on): Likewise.
4112         * modules/wcscspn (Depends-on): Likewise.
4113         * modules/wcsdup (Depends-on): Likewise.
4114         * modules/wcsncasecmp (Depends-on): Likewise.
4115         * modules/wcsnrtombs (Depends-on): Likewise.
4116         * modules/wcspbrk (Depends-on): Likewise.
4117         * modules/wcsrtombs (Depends-on): Likewise.
4118         * modules/wcsspn (Depends-on): Likewise.
4119         * modules/wcsstr (Depends-on): Likewise.
4120         * modules/wcstok (Depends-on): Likewise.
4121         * modules/wcswidth (Depends-on): Likewise.
4122         * modules/wctob (Depends-on): Likewise.
4123         * modules/wctomb (Depends-on): Likewise.
4124         * modules/wctype (Depends-on): Likewise.
4125         * modules/wcwidth (Depends-on): Likewise.
4126         * modules/write (Depends-on): Likewise.
4127
4128 2011-05-03  Bruno Haible  <bruno@clisp.org>
4129
4130         Support for conditional dependencies.
4131         * doc/gnulib.texi (Module description): Document the syntax of
4132         conditional dependencies.
4133         * gnulib-tool: New option --conditional-dependencies.
4134         (func_usage): Document it.
4135         (cond_dependencies): New variable.
4136         (func_get_automake_snippet_conditional,
4137         func_get_automake_snippet_unconditional): New functions, extracted from
4138         func_get_automake_snippet.
4139         (func_get_automake_snippet): Use them.
4140         (sed_first_32_chars): New variable.
4141         (func_module_shellfunc_name): New function.
4142         (func_module_shellvar_name): New function.
4143         (func_module_conditional_name): New function.
4144         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
4145         func_cond_module_condition): New functions.
4146         (func_modules_transitive_closure): Add support for conditional
4147         dependencies.
4148         (func_emit_lib_Makefile_am): For a conditional module, enclose the
4149         conditional automake snippet in an automake conditional.
4150         (func_emit_autoconf_snippets): Emit shell functions that contain the
4151         code for conditional modules.
4152         (func_import, func_create_testdir): Update specification.
4153
4154 2011-05-03  Eric Blake  <eblake@redhat.com>
4155
4156         test-getaddrinfo: report error information
4157         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
4158
4159 2011-05-03  Jim Meyering  <meyering@redhat.com>
4160
4161         bootstrap: avoid build failure when $GZIP is set
4162         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
4163         program name.  If defined at all, it is supposed to list gzip options.
4164         Reported by Alan Curry in http://debbugs.gnu.org/8609
4165
4166 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
4167
4168         readme-release: new module with release instructions
4169         * modules/readme-release: New module.
4170         * top/README-release: New file, from coreutils, grep, diffutils.
4171         * MODULES.html.sh (Support for maintaining and releasing): Add it.
4172
4173 2011-05-02  Eric Blake  <eblake@redhat.com>
4174
4175         fflush: also replace fclose when fixing fflush
4176         * modules/fflush (Depends-on): Add fclose.
4177         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
4178         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
4179         memstreams with no backing fd.
4180         * doc/posix-functions/fclose.texi (fclose): Document the use of
4181         fflush module to fix the bug.
4182         * tests/test-fclose.c (main): Relax test when fclose is used in
4183         isolation.
4184
4185         fclose: add some tests
4186         * modules/fclose-tests: New test module.
4187         * tests/test-fclose.c: New file.
4188         * doc/posix-functions/fclose.texi (fclose): Document the bug.
4189
4190         fclose: reduced dependencies
4191         * modules/fclose (Depends-on): Switch from fflush/fseeko to
4192         simpler lseek.
4193         * lib/fclose.c (rpl_fclose): Likewise.
4194         Reported by Simon Josefsson.
4195
4196         exit: drop remaining clients
4197         * modules/argmatch (Depends-on): Replace exit with stdlib.
4198         * modules/copy-file (Depends-on): Likewise.
4199         * modules/execute (Depends-on): Likewise.
4200         * modules/exitfail (Depends-on): Likewise.
4201         * modules/obstack (Depends-on): Likewise.
4202         * modules/pagealign_alloc (Depends-on): Likewise.
4203         * modules/pipe-filter-gi (Depends-on): Likewise.
4204         * modules/pipe-filter-ii (Depends-on): Likewise.
4205         * modules/savewd (Depends-on): Likewise.
4206         * modules/spawn-pipe (Depends-on): Likewise.
4207         * modules/wait-process (Depends-on): Likewise.
4208         * modules/xsetenv (Depends-on): Likewise.
4209         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
4210         * modules/git-merge-changelog (Depends-on): Likewise.
4211         * modules/long-options (Depends-on): Likewise.
4212         * modules/pt_chown (Depends-on): Likewise.
4213         * modules/sysexits (Depends-on): Likewise.
4214
4215         freading: relax license from LGPLv3+ to LGPLv2+
4216         * modules/freading (License): Relax LGPL version.
4217
4218 2011-05-02  Bruno Haible  <bruno@clisp.org>
4219
4220         fchdir: Remove unused dependencies.
4221         * modules/fchdir (Depends-on): Remove include_next.
4222
4223 2011-05-02  Bruno Haible  <bruno@clisp.org>
4224
4225         gnulib-tool: Refactor.
4226         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
4227         from func_emit_autoconf_snippets.
4228         (func_emit_autoconf_snippets): Use it.
4229
4230 2011-05-02  Simon Josefsson  <simon@josefsson.org>
4231
4232         * NEWS: Document removal of 'exit'.
4233         * modules/exit: Remove file.
4234
4235 2011-05-01  Bruno Haible  <bruno@clisp.org>
4236
4237         Update DEPENDENCIES.
4238         * DEPENDENCIES (gettext): Recommend the newest release.
4239         Reported by Simon Josefsson.
4240
4241 2011-05-01  Bruno Haible  <bruno@clisp.org>
4242
4243         gnulib-tool: Reduce code duplication.
4244         * gnulib-tool (func_emit_autoconf_snippets): New function.
4245         (func_import, func_create_testdir): Use it.
4246
4247 2011-04-30  Eric Blake  <eblake@redhat.com>
4248
4249         fclose: don't fail on non-seekable input stream
4250         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
4251         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
4252         since fflush is allowed to fail in that case.
4253
4254 2011-04-30  Bruno Haible  <bruno@clisp.org>
4255
4256         dup3: cleanup
4257         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
4258
4259 2011-04-30  Bruno Haible  <bruno@clisp.org>
4260
4261         netdb: Make it work in C++ mode.
4262         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
4263         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
4264         module.
4265         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
4266         gl_MODULE_INDICATOR_FOR_TESTS.
4267         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
4268         * modules/netdb-c++-tests: New file.
4269         * tests/test-netdb-c++.cc: New file.
4270
4271 2011-04-30  Bruno Haible  <bruno@clisp.org>
4272
4273         New modules 'vfscanf', 'vscanf'.
4274         * modules/vfscanf: New file.
4275         * modules/vscanf: New file.
4276         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
4277         here.
4278         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
4279         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
4280
4281 2011-04-30  Bruno Haible  <bruno@clisp.org>
4282
4283         passfd: Add comments.
4284         * lib/passfd.c: Add comments about platforms.
4285
4286 2011-04-30  Bruno Haible  <bruno@clisp.org>
4287
4288         sys_uio: Make <sys/uio.h> self-contained.
4289         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
4290         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
4291
4292 2011-04-30  Bruno Haible  <bruno@clisp.org>
4293
4294         sys_socket: Ensure 'struct iovec' definition.
4295         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
4296         <sys/socket.h>.
4297         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
4298
4299 2011-04-30  Bruno Haible  <bruno@clisp.org>
4300
4301         sys_uio: Protect definition of 'struct iovec'.
4302         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
4303         it as a C struct.
4304
4305 2011-04-30  Bruno Haible  <bruno@clisp.org>
4306
4307         manywarnings: fix indentation
4308         * m4/manywarnings.m4: Indent by 2 spaces consistently.
4309
4310 2011-04-30  Pádraig Brady <P@draigBrady.com>
4311
4312         manywarnings: add -Wno-missing-field-initializers if needed.
4313         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
4314         option if it's needed to allow initialization with { 0, }
4315
4316 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
4317
4318         announce-gen: cosmetic improvement
4319         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
4320
4321 2011-04-29  Jim Meyering  <meyering@redhat.com>
4322
4323         vc-list-files: indent with spaces, not TABs
4324         * build-aux/vc-list-files: Convert leading TABs to spaces,
4325         to match the style of most other files in gnulib.
4326
4327         announce-gen: indent with spaces, not TABs
4328         * build-aux/announce-gen: Convert all TABs to spaces, to match
4329         the style of most other files in gnulib.
4330
4331 2011-04-29  Eric Blake  <eblake@redhat.com>
4332
4333         quotearg: avoid uninitialized variable use
4334         * lib/quotearg.c (quoting_options_from_style): Initialize
4335         remaining fields, and ensure that custom styles are only used via
4336         quoting_options rather than quoting_style.
4337
4338 2011-04-29  Jim Meyering  <meyering@redhat.com>
4339
4340         maint.mk: remove unused VC-tag variable
4341         * top/maint.mk (VC-tag): Remove unused variable.
4342
4343 2011-04-29  Bruno Haible  <bruno@clisp.org>
4344
4345         netdb: fix gai_strerror replacements
4346         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
4347         * modules/netdb: Substitute it.
4348
4349 2011-04-29  Jim Meyering  <meyering@redhat.com>
4350
4351         test-getcwd.c: avoid new set-but-not-used warning
4352         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
4353         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
4354         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
4355         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
4356
4357         test-hash.c: avoid a new shadowing warning
4358         * tests/test-hash.c (main): Don't shadow "dup".
4359
4360 2011-04-28  Eric Blake  <eblake@redhat.com>
4361
4362         getaddrinfo: fix gai_strerror signature
4363         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
4364         and work around mingw with UNICODE defined.
4365         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
4366         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
4367         * modules/netdb (Makefile.am): Substitute it.
4368         * lib/netdb.in.h (gai_strerror): Declare replacement.
4369         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
4370         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
4371         the fix.
4372
4373         getsockopt: avoid compiler warning
4374         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
4375         Reported by Matthias Bolte.
4376
4377         tests: drop unused link dependency
4378         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
4379         * modules/dirent-safer-tests (Makefile.am): Likewise.
4380         * modules/fdopendir-tests (Makefile.am): Likewise.
4381         * modules/mkfifoat-tests (Makefile.am): Likewise.
4382         * modules/openat-safer-tests (Makefile.am): Likewise.
4383         * modules/openat-tests (Makefile.am): Likewise.
4384         * modules/readlinkat-tests (Makefile.am): Likewise.
4385         * modules/symlinkat-tests (Makefile.am): Likewise.
4386         * modules/linkat-tests (Makefile.am): Likewise.
4387         (Depends-on): Switch to filenamecat-lgpl.
4388         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
4389         LIBINTL.
4390         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
4391         * tests/test-linkat.c (main): Don't require xalloc.
4392
4393         hash, mgetgroups: drop xalloc dependency
4394         * lib/hash.c (includes): Adjust includes.
4395         * lib/mgetgroups.c (includes): Likewise.
4396         (xgetgroups): Move...
4397         * lib/xgetgroups.c: ...to new file.
4398         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
4399         * modules/xgetgroups: New file, split from...
4400         * modules/mgetgroups: ...here.
4401         (Depends-on): Add xalloc-oversized.
4402         * modules/hash (Depends-on): Likewise.
4403         * modules/hash-tests (Depends-on): Drop xalloc.
4404         (test_hash_LDADD): Drop unused library.
4405         * tests/test-hash.c (main): Break xalloc dependency.
4406         (includes): Drop unused include.
4407
4408         xalloc-oversized: new module
4409         * modules/xalloc-oversized: New module.
4410         * modules/xalloc (Depends-on): Add it.
4411         * lib/xalloc.h (xalloc_oversized): Move...
4412         * lib/xalloc-oversized.h: ...into new file.
4413
4414         utimecmp: drop dependency on xmalloc
4415         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
4416         due to memory pressure.
4417         * modules/utimecmp (Depends-on): Drop xalloc.
4418
4419 2011-04-27  Eric Blake  <eblake@redhat.com>
4420
4421         getcwd: fix mingw bugs
4422         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
4423         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
4424         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
4425
4426 2011-04-27  Bruno Haible  <bruno@clisp.org>
4427
4428         mkstemps: Ensure declaration on MacOS X 10.5.
4429         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
4430         * doc/glibc-functions/mkstemps.texi: Document header file problem on
4431         MacOS X.
4432
4433 2011-04-27  Bruno Haible  <bruno@clisp.org>
4434
4435         mkstemp: More documentation.
4436         * doc/posix-functions/mkstemp.texi: Document header file problem on
4437         MacOS X.
4438
4439 2011-04-27  Bruno Haible  <bruno@clisp.org>
4440
4441         mkstemp: Tweak configure message when cross-compiling.
4442         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
4443         result as a guess.
4444
4445 2011-04-27  Bruno Haible  <bruno@clisp.org>
4446
4447         clean-temp: Clarify what it does.
4448         * lib/clean-temp.h: Add more comments.
4449         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
4450         module.
4451         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
4452         * doc/glibc-functions/mkstemps.texi: Likewise.
4453         * doc/glibc-functions/mkostemps.texi: Likewise.
4454
4455 2011-04-27  Eric Blake  <eblake@redhat.com>
4456
4457         fchdir: avoid extra chdir and fix test
4458         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
4459         getcwd-lgpl.
4460         * lib/fchdir.c (get_name): Any absolute name will do; it does not
4461         have to be canonical.
4462         (canonicalize_file_name): Drop unused macro.
4463         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
4464
4465         filenamecat-lgpl: fix licence
4466         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
4467         when it was first created.
4468
4469         linkat, renameat: add missing dependency
4470         * modules/linkat (Depends-on): Require getcwd-lgpl.
4471         * modules/renameat (Depends-on): Likewise.
4472
4473         tests: reduce dependencies
4474         * tests/test-linkat.c (main): Use lighter-weight getcwd.
4475         * tests/test-renameat.c (main): Likewise.
4476         * modules/linkat-tests (Depends-on): Relax dependency.
4477         * modules/renameat-tests (Depends-on): Likewise.
4478         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
4479         dependency explicit.
4480
4481         save-cwd: reduce default dependency
4482         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
4483         * lib/save-cwd.c: Update comments.
4484         * NEWS: Document the semantic change.
4485
4486         getcwd: enhance tests
4487         * tests/test-getcwd-lgpl.c: New file, taken from...
4488         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
4489         repeat long path stress tests from m4 probe.
4490         * modules/getcwd-lgpl-tests: New module.
4491         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
4492         * m4/getcwd-abort-bug.m4: Update comment.
4493         * m4/getcwd-path-max.m4: Likewise.
4494
4495         getcwd-lgpl: new module
4496         * modules/getcwd-lgpl: New module.
4497         * lib/getcwd-lgpl.c: New file.
4498         * doc/posix-functions/getcwd.texi (getcwd): Document it.
4499         * MODULES.html.sh (lacking POSIX:2008): Likewise.
4500         * modules/getcwd (configure.ac): Set C witness.
4501         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
4502
4503         getcwd: tweak comments
4504         * m4/getcwd-abort-bug.m4: Fix comments.
4505         * m4/getcwd-path-max.m4: Likewise.
4506         * m4/getcwd.m4: Likewise.
4507
4508 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
4509         and Eric Blake  <eblake@redhat.com>
4510
4511         mkstemp: replace if system version uses wrong permissions
4512         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
4513         read/write mode bits set in file created by mkstemp.
4514         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
4515
4516 2011-04-27  Eric Blake  <eblake@redhat.com>
4517
4518         passfd: avoid compiler warning
4519         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
4520         Reported by Laine Stump.
4521
4522 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
4523
4524         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
4525         required by the NetBSD (and perhaps other 4.4BSD derived) join.
4526
4527 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
4528         and Eric Blake  <eblake@redhat.com>
4529
4530         mkstemp: mention clean-temp module
4531         * lib/mkstemp.c: Add comment.
4532         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
4533
4534 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
4535
4536         inttypes: also provide default values for 32-bit tests
4537         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
4538         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
4539
4540 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4541
4542         strtoumax: remove dependency on strtoimax
4543         This is like the strtoull change of yesterday.
4544         * modules/strtoumax (Files): Add lib/strtoimax.c.
4545         (Depends-on): Remove strtoimax and add verify.
4546
4547         inttypes-incomplete: new module
4548         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
4549         all but the PRI* and SCN* parts of gl_INTTYPES_H.
4550         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
4551         of gl_INTTYPES_H.
4552         (gl_INTTYPES_H): Rewrite in terms of these new macros.
4553         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
4554         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
4555         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
4556         * modules/strtoumax, modules/xstrtol (Depends-on):
4557         Depend on inttypes-incomplete, not inttypes.
4558         * modules/inttypes-incomplete: New module, containing the contents
4559         of the old modules/inttypes module, except that the Files: section
4560         omits m4/inttypes-pri.m4, and the configure.ac section invokes
4561         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
4562         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
4563         (Depends-on): Depend only on inttypes-incomplete.
4564         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
4565
4566         inttypes: omit now-redundant strtoimax and strtoumax work
4567         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
4568         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
4569
4570         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
4571         This supports apps that need pointers to strtoimax and strtoumax,
4572         and ports to HP-UX 11.00 64.bit, which has macros that expand to
4573         nonexistent functions.  See
4574         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
4575         et seq.
4576         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
4577         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
4578         a macro.
4579         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
4580
4581 2011-04-25  Simon Josefsson  <simon@josefsson.org>
4582
4583         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
4584
4585 2011-04-25  Bruno Haible  <bruno@clisp.org>
4586
4587         strtol, strtoul: Mark modules as obsolete.
4588         * modules/strtol (Status, Notice): New sections.
4589         * modules/strtoul (Status, Notice): New sections.
4590
4591 2011-04-25  Bruno Haible  <bruno@clisp.org>
4592
4593         strtod: Remove check for strtod, unless supporting old platforms.
4594         * modules/strtod-obsolete: New file.
4595         * m4/strtod-obsolete.m4: New file.
4596         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
4597         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
4598         * modules/strtod (Depends-on): Add strtod-obsolete.
4599         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
4600
4601 2011-04-25  Bruno Haible  <bruno@clisp.org>
4602
4603         strcase: Make module obsolete.
4604         * modules/strcase (Status, Notice): New sections.
4605
4606 2011-04-25  Bruno Haible  <bruno@clisp.org>
4607
4608         dup2: Remove check for dup2, unless supporting old obsolete platforms.
4609         * modules/dup2-obsolete: New file.
4610         * m4/dup2-obsolete.m4: New file.
4611         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
4612         gl_FUNC_DUP2_OBSOLETE is not also defined.
4613         * modules/dup2 (Depends-on): Add dup2-obsolete.
4614         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
4615
4616 2011-04-25  Bruno Haible  <bruno@clisp.org>
4617
4618         strnlen: Avoid memchr related link error on old obsolete platforms.
4619         * modules/memchr-obsolete: New file.
4620         * m4/memchr-obsolete.m4: New file.
4621         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
4622         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
4623         * modules/memchr (Depends-on): Add memchr-obsolete.
4624         * modules/strnlen (Depends-on): Likewise.
4625         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
4626
4627 2011-04-25  Jim Meyering  <meyering@redhat.com>
4628
4629         maint.mk: makefile_at_at_check extend and clean up
4630         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
4631         in addition to */Makefile.am.
4632         Exempt legitimate uses of @VAR@ notation, e.g.,
4633         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
4634         Remove obsolete coreutils-specific comment.
4635         Prompted by discussion here:
4636         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
4637
4638 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4639
4640         strtoul: remove dependency on strtol
4641         This is so that 'configure' need not check for strtol merely because
4642         the application needs strtoul.
4643         * modules/strtoul (Files): Add lib/strtol.c.
4644         (Depends-on): Remove strtol.
4645
4646         strtoull: remove dependency on strtoul
4647         This is like the strtoll change.
4648         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
4649         (Depends-on): Remove strtoul.
4650
4651         strtoll: remove dependency on strtol
4652         This is so that 'configure' need not check for strtol merely because
4653         the application needs strtoll.
4654         * modules/strtoll (Files): Add lib/strtol.c.
4655         (Depends-on): Remove strtol.
4656
4657 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4658
4659         inttypes: Move some configure check to module 'imaxdiv'.
4660         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
4661         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
4662         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
4663
4664 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4665
4666         inttypes: Move some configure check to module 'imaxabs'.
4667         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
4668         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
4669         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
4670
4671 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4672
4673         inttypes: Remove configure tests that are not needed since 2009-12-31.
4674         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
4675         gl_cv_header_working_inttypes_h.
4676
4677 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4678
4679         * modules/strnlen (Depends-on): Remove memchr.
4680         The strnlen implementation doesn't need the memchr module's fixes; see
4681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
4682
4683         strtol: remove dependency on wchar
4684         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
4685         * modules/strtol (Depends-on): Remove wchar.
4686
4687 2011-04-21  Eric Blake  <eblake@redhat.com>
4688
4689         passfd: fix test regression on Linux
4690         * modules/passfd-tests (configure.ac): Correct socketpair check.
4691
4692         passfd: speed up configure and drop unused code
4693         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
4694         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
4695         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
4696         Instead of probing at configure for unix_scm_rights_bsd44_way,
4697         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
4698         check to a struct member probe.
4699         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
4700         (sendfd, recvfd): Update preprocessor checks.
4701         * modules/passfd (Files): Reflect rename, and drop unused file.
4702         (Depends-on): Drop unused dependency.
4703
4704         passfd: allow compilation on mingw
4705         * modules/sys_socket (Depends-on): Add sys_uio.
4706         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
4707         iovec and a minimal struct msghdr.
4708         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
4709         * tests/test-sys_socket.c (main): Enhance test.
4710         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
4711         guaranteed to provide what we need.
4712         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
4713         * modules/passfd-tests (Depends-on): Add sys_wait.
4714         * tests/test-passfd.c (main): Skip test on mingw, for now.
4715         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
4716         partial 'struct msghdr' implementation.
4717
4718         sys_uio: new module
4719         * modules/sys_uio: New module.
4720         * modules/sys_uio-tests: Likewise.
4721         * lib/sys_uio.in.h: New file.
4722         * m4/sys_uio_h.m4: Likewise.
4723         * tests/test-sys_uio.c: Likewise.
4724         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
4725         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
4726
4727 2011-04-20  Jim Meyering  <meyering@redhat.com>
4728
4729         useless-if-before-free: avoid false-positive
4730         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
4731         disjunct so that it too requires a terminating ";".  Without that,
4732         this script would identify as useless one statement from gcc that
4733         was not:
4734           if (aligned_ptr)
4735             free (((void **) aligned_ptr) [-1]);
4736
4737 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
4738
4739         doc: update users.txt.
4740         * users.txt: Add barcode.
4741
4742 2011-04-19  Bruno Haible  <bruno@clisp.org>
4743
4744         ioctl: Remove link dependency on native Windows.
4745         * lib/fd-hook.h: Renamed from lib/close-hook.h.
4746         (gl_close_fn, gl_ioctl_fn): New types.
4747         (struct fd_hook): Renamed from struct close_hook. Change type of
4748         private_close_fn field. Add private_ioctl_fn field.
4749         (close_hook_fn): Add parameter for primary close method.
4750         (execute_close_hooks, execute_all_close_hooks): Likewise.
4751         (ioctl_hook_fn): New type.
4752         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
4753         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4754         argument.
4755         (unregister_fd_hook): Renamed from unregister_close_hook.
4756         * lib/fd-hook.c: Renamed from lib/close-hook.c.
4757         Don't include <unistd.h>.
4758         (close): Remove undef.
4759         (anchor): Update.
4760         (execute_close_hooks): Add argument for primary close method.
4761         (execute_all_close_hooks): Likewise.
4762         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
4763         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4764         argument. Allow each argument to be NULL.
4765         (unregister_fd_hook): Renamed from unregister_close_hook.
4766         * lib/close.c (rpl_close): Pass 'close' function pointer to
4767         execute_all_close_hooks.
4768         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
4769         (primary_ioctl): New function.
4770         (ioctl): Don't call ioctlsocket here. Instead, call
4771         execute_all_ioctl_hooks.
4772         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
4773         close method.
4774         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
4775         (fd_sockets_hook): Renamed from close_sockets_hook.
4776         (gl_sockets_startup, gl_sockets_cleanup): Update.
4777         * modules/fd-hook: Renamed from modules/close-hook. Update.
4778         * modules/close (Depends-on): Add fd-hook, remove close-hook.
4779         * modules/sockets (Depends-on): Likewise.
4780         * modules/ioctl (Depends-on): Add fd-hook.
4781         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
4782         GNULIB_SOCKET.
4783
4784 2011-04-19  Bruno Haible  <bruno@clisp.org>
4785
4786         Move the support of O_NONBLOCK in open() to the 'open' module.
4787         * modules/nonblocking (Depends-on): Remove 'open'.
4788         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
4789         gl_cv_have_open_O_NONBLOCK.
4790         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
4791         O_NONBLOCK support.
4792         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
4793
4794 2011-04-17  Bruno Haible  <bruno@clisp.org>
4795
4796         pipe2: Simplify code.
4797         * lib/pipe2.c (pipe2): Reduce code duplication.
4798
4799 2011-04-17  Bruno Haible  <bruno@clisp.org>
4800
4801         nonblocking: Add comment.
4802         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
4803
4804 2011-04-17  Bruno Haible  <bruno@clisp.org>
4805
4806         nonblocking: Add tests for sockets.
4807         * tests/test-nonblocking-socket.sh: New file.
4808         * tests/test-nonblocking-socket-main.c: New file.
4809         * tests/test-nonblocking-socket-child.c: New file.
4810         * tests/test-nonblocking-socket.h: New file.
4811         * tests/socket-server.h: New file.
4812         * tests/socket-client.h: New file.
4813         * modules/nonblocking-socket-tests: New file.
4814         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
4815
4816 2011-04-17  Bruno Haible  <bruno@clisp.org>
4817
4818         nonblocking: Add tests for pipes.
4819         * tests/test-nonblocking-pipe.sh: New file.
4820         * tests/test-nonblocking-pipe-main.c: New file.
4821         * tests/test-nonblocking-pipe-child.c: New file.
4822         * tests/test-nonblocking-pipe.h: New file.
4823         * tests/test-nonblocking-writer.h: New file.
4824         * tests/test-nonblocking-reader.h: New file.
4825         * tests/test-nonblocking-misc.h: New file.
4826         * modules/nonblocking-pipe-tests: New file.
4827         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
4828
4829 2011-04-16  Bruno Haible  <bruno@clisp.org>
4830
4831         gettext: Clarify the needed programmer actions.
4832         * modules/gettext (Notice): New field.
4833         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
4834
4835 2011-04-16  Bruno Haible  <bruno@clisp.org>
4836
4837         strchrnul: Tweak last commit.
4838         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
4839         bug.
4840         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
4841         as in _GL_FUNCDECL_SYS.
4842         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
4843         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
4844
4845 2011-04-15  Eric Blake  <eblake@redhat.com>
4846
4847         strchrnul: work around cygwin bug
4848         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
4849         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
4850         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
4851         * modules/string (Makefile.am): Substitute it.
4852         * lib/string.in.h (strchrnul): Use it.
4853
4854 2011-04-15  Bruno Haible  <bruno@clisp.org>
4855
4856         Don't require lib/stdio-write.c when only module 'stdio' is used.
4857         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
4858         invocation.
4859         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
4860
4861 2011-04-14  Bruno Haible  <bruno@clisp.org>
4862
4863         Support non-blocking pipe I/O in read() on native Windows.
4864         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
4865         (read): New declaration.
4866         * lib/read.c: New file.
4867         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
4868         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
4869         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
4870         vscanf): New declarations.
4871         * lib/stdio-read.c: New file.
4872         * m4/read.m4: New file.
4873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
4874         REPLACE_READ.
4875         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
4876         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4877         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
4878         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
4879         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
4880         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4881         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
4882         * modules/read: New file.
4883         * modules/nonblocking (Files): Add lib/stdio-read.c.
4884         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
4885         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
4886         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4887         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
4888         * modules/pread (Depends-on): Add read.
4889         * modules/safe-read (Depends-on): Likewise.
4890         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
4891         gets, scanf, vfscanf, vscanf): Verify signatures.
4892         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
4893         problem with non-blocking pipes.
4894         * doc/posix-functions/fgetc.texi: Likewise.
4895         * doc/posix-functions/fgets.texi: Likewise.
4896         * doc/posix-functions/fread.texi: Likewise.
4897         * doc/posix-functions/fscanf.texi: Likewise.
4898         * doc/posix-functions/getc.texi: Likewise.
4899         * doc/posix-functions/getchar.texi: Likewise.
4900         * doc/posix-functions/gets.texi: Likewise.
4901         * doc/posix-functions/scanf.texi: Likewise.
4902         * doc/posix-functions/vfscanf.texi: Likewise.
4903         * doc/posix-functions/vscanf.texi: Likewise.
4904
4905 2011-04-14  Bruno Haible  <bruno@clisp.org>
4906
4907         Support non-blocking pipe I/O in write() on native Windows.
4908         * lib/write.c (rpl_write): Split a write request that failed merely
4909         because the byte count was larger than the pipe buffer's size.
4910         * doc/posix-functions/write.texi: Mention the problem with large byte
4911         counts.
4912
4913 2011-04-14  Bruno Haible  <bruno@clisp.org>
4914
4915         wchar: Ensure that wchar_t gets defined on uClibc.
4916         * lib/wchar.in.h: On uClibc, include <stddef.h>.
4917         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
4918
4919 2011-04-13  Bruno Haible  <bruno@clisp.org>
4920
4921         safe-write, full-read: Avoid unnecessary compilation units.
4922         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
4923         (Depends-on): Remove safe-read. Add ssize_t.
4924         * modules/full-read (Files): Add lib/full-write.c.
4925         (Depends-on): Add full-write.
4926
4927 2011-04-13  Bruno Haible  <bruno@clisp.org>
4928
4929         Support non-blocking pipe I/O and SIGPIPE in pwrite().
4930         * modules/pwrite (Depends-on): Add 'write'.
4931
4932 2011-04-13  Bruno Haible  <bruno@clisp.org>
4933
4934         Support non-blocking pipe I/O in write() on native Windows.
4935         * lib/unistd.in.h (write): Enable replacement also if
4936         GNULIB_UNISTD_H_NONBLOCKING is 1.
4937         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
4938         (rpl_write): When failing to write on a non-blocking pipe, change
4939         errno from ENOSPC to EAGAIN.
4940         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
4941         putchar, puts, vfprintf, vprintf): Enable replacement also if
4942         GNULIB_STDIO_H_NONBLOCKING is 1.
4943         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
4944         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
4945         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
4946         CALL_WITH_SIGPIPE_EMULATION.
4947         (CALL_WITH_SIGPIPE_EMULATION): Use them.
4948         * m4/nonblocking.m4: New file.
4949         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
4950         for non-blocking I/O support.
4951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4952         GNULIB_UNISTD_H_NONBLOCKING.
4953         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
4954         required for non-blocking I/O support.
4955         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
4956         * modules/nonblocking (Files): Add m4/nonblocking.m4,
4957         lib/stdio-write.c, m4/asm-underscore.m4.
4958         (Depends-on): Add stdio, unistd.
4959         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
4960         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
4961         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
4962         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
4963         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
4964         problem with non-blocking pipes.
4965         * doc/posix-functions/fputc.texi: Likewise.
4966         * doc/posix-functions/fputs.texi: Likewise.
4967         * doc/posix-functions/fwrite.texi: Likewise.
4968         * doc/posix-functions/printf.texi: Likewise.
4969         * doc/posix-functions/putc.texi: Likewise.
4970         * doc/posix-functions/putchar.texi: Likewise.
4971         * doc/posix-functions/puts.texi: Likewise.
4972         * doc/posix-functions/vfprintf.texi: Likewise.
4973         * doc/posix-functions/vprintf.texi: Likewise.
4974         * doc/posix-functions/write.texi: Likewise.
4975
4976 2011-04-10  Jim Meyering  <meyering@redhat.com>
4977
4978         maint.mk: prohibit doubled words
4979         Detect them also when they're separated by a newline.
4980         There are 3 ways to customize it:
4981           - disable the test on a per file basis, as usual with rules using
4982             $(VC_LIST_EXCEPT)
4983           - replace the default doubled-word-selecting regexp (affects all files)
4984           - ignore a particular file-vs-doubled-word match
4985         I nearly used that last one to ignore the "is is" match in
4986         coreutils' NEWS file, since the text was "ls -is is ..."
4987         To do that, I would have added this line to cfg.mk:
4988           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
4989         but it would have ignored any "is is" match in NEWS.
4990         Low probability, but still...
4991         Instead, I changed the text, slightly:
4992           -  ls -is is now consistent with ls -lis in ignoring values returned
4993           +  "ls -is" is now consistent with ls -lis in ignoring values returned
4994         * top/maint.mk (prohibit_double_word_RE_): Provide default.
4995         (prohibit_doubled_word_): Define.
4996         (sc_prohibit_doubled_word): New rule.
4997         (sc_prohibit_the_the): Remove.  Subsumed by the above.
4998
4999 2011-04-10  Jim Meyering  <meyering@redhat.com>
5000
5001         maint: fix doubled-word typo in comment
5002         * m4/gethostname.m4: s/is is/it is/
5003         * m4/getdomainname.m4: Likewise.
5004
5005 2011-04-10  Jim Meyering  <meyering@redhat.com>
5006
5007         maint: remove doubled word: s/it it/it/
5008         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
5009
5010 2011-04-10  Jim Meyering  <meyering@redhat.com>
5011
5012         maint.mk: remove useless semicolon and backslash
5013         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
5014         semicolon and backslash.
5015
5016 2011-04-10  Bruno Haible  <bruno@clisp.org>
5017
5018         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
5019         * modules/stdint-tests (Depends-on): Add wchar.
5020
5021 2011-04-10  Jim Meyering  <meyering@redhat.com>
5022
5023         maint: remove doubled words in comments, e.g., s/a a/a/
5024         * lib/strptime.c (day_of_the_week): s/the the/the/
5025         * tests/test-chown.h (test_chown): s/a a/a/
5026
5027         test-chown.h: correct a cast
5028         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
5029         when the destination is a stat.st_gid.
5030
5031 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
5032
5033         getaddrinfo: Fix test for sa_len member.
5034         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
5035         include <sys/types.h> before <sys/socket.h>.
5036
5037 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5038
5039         maint: change "can not" to "cannot"
5040         * doc/posix-functions/iconv.texi (iconv): This one crossed line
5041         boundaries.
5042
5043 2011-04-09  Jim Meyering  <meyering@redhat.com>
5044
5045         maint: change "a a" to "a"
5046         * tests/test-lchown.h (test_lchown): s/a a/a/
5047
5048         maint.mk: prohibit \<the the\>
5049         * top/maint.mk (sc_prohibit_the_the): New rule.
5050
5051         maint: fix "the the" in comment
5052         * lib/count-one-bits.h: s/the the/the/
5053
5054         maint: change "can not" to "cannot"
5055         But do not change the occurrences in maintain.texi or in
5056         build-aux/po/Makefile.in.in, which I presume comes from gettext.
5057         * doc/gnulib-tool.texi: s/can not/cannot/
5058         * doc/posix-functions/accept.texi (accept): Likewise.
5059         * doc/posix-functions/socket.texi (socket): Likewise.
5060         * lib/mbrtowc.c: Likewise.
5061
5062         maint.mk: prohibit use of "can not"
5063         * top/maint.mk (sc_prohibit_can_not): New rule.
5064         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
5065
5066 2011-04-09  Bruno Haible  <bruno@clisp.org>
5067
5068         careadlinkat: Guard against misuse of careadlinkatcwd.
5069         * lib/careadlinkat.c: Include <stdlib.h>.
5070         (careadlinkatcwd): Check that the fd argument is as expected.
5071
5072 2011-04-09  Bruno Haible  <bruno@clisp.org>
5073
5074         careadlinkat: Use common coding style.
5075         * lib/careadlinkat.c: Move gnulib includes after system includes.
5076
5077 2011-04-09  Bruno Haible  <bruno@clisp.org>
5078
5079         careadlinkat: Clarify specification.
5080         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
5081         (careadlinkatcwd): Add comment.
5082         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
5083
5084 2011-04-09  Bruno Haible  <bruno@clisp.org>
5085
5086         areadlinkat: Avoid link error on many platforms.
5087         * modules/areadlinkat (Depends-on): Add areadlink.
5088
5089 2011-04-09  Bruno Haible  <bruno@clisp.org>
5090
5091         allocator, careadlinkat: Fix double-inclusion guard.
5092         * lib/allocator.h: Fix double-inclusion guard.
5093         * lib/careadlinkat.h: Likewise.
5094
5095 2011-04-09  Bruno Haible  <bruno@clisp.org>
5096
5097         relocatable-prog-wrapper: Update after module 'areadlink' changed.
5098         * lib/relocwrapper.c: Update dependencies hierarchy.
5099         * build-aux/install-reloc: Update list of files to be compiled.
5100         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
5101         lib/allocator.[hc].
5102
5103 2011-04-08  Eric Blake  <eblake@redhat.com>
5104
5105         strftime: silence gnulib-tool warning
5106         * modules/strftime-tests (Depends-on): Drop automatic dependency.
5107
5108 2011-04-08  Bruno Haible  <bruno@clisp.org>
5109
5110         verify: Fix syntax error with GCC 4.6 in C++ mode.
5111         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
5112         (HAVE_STATIC_ASSERT): New macro.
5113         (verify_true, verify): Use 'static_assert' if it is supported and
5114         '_Static_assert' is not supported.
5115
5116 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5117
5118         allocator: New module.
5119         * modules/allocator, lib/allocator.c: New files.
5120         * lib/allocator.h (stdlib_allocator): New decl.
5121         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
5122         Remove.  Do not include <stdlib.h>.
5123         (careadlinkat): Use stdlib_allocator instead of rolling our own.
5124         * modules/careadlinkat (Files): Remove lib/allocator.h.
5125         (Depends-on): Add allocator.
5126
5127         stdlib: let modules use system malloc, realloc
5128         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
5129         if !_GL_USE_STDLIB_ALLOC.
5130         (malloc, realloc): Limit this change to a smaller scope.
5131
5132         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
5133         (malloc, realloc): Don't #undef; no longer needed.
5134         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5135         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5136         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
5137         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5138         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5139         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5140         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5141         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
5142
5143         careadlinkat: rename members to avoid problem
5144         * lib/allocator.h (struct allocator): Rename members from
5145         malloc/realloc to allocate/reallocate, to avoid problems if malloc
5146         and realloc are #define'd.  Reported by Eric Blake in
5147         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
5148         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
5149
5150 2011-04-08  Eric Blake  <eblake@redhat.com>
5151
5152         nonblocking: reduce dependency
5153         * tests/test-nonblocking.c: Only test sockets when in use.
5154         * modules/nonblocking-tests (Depends-on): Drop socket.
5155         (Makefile.am): Link even if sockets are not present.
5156         * modules/pipe2-tests (Makefile.am): Likewise.
5157         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
5158
5159         pipe2: fix O_NONBLOCK support on mingw
5160         * modules/pipe2 (Depends-on): Add nonblocking.
5161         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
5162         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
5163         * tests/test-nonblocking.c (main): Likewise.
5164         * modules/pipe2-tests (Makefile.am): Avoid link failure.
5165
5166         fcntl-h: fix O_ACCMODE on cygwin
5167         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
5168         * lib/fcntl.in.h (O_ACCMODE): Fix it.
5169
5170         pipe-filter: drop O_NONBLOCK workarounds
5171         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
5172         * modules/pipe-filter-ii (Depends-on): Likewise.
5173         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
5174
5175         nonblocking: provide O_NONBLOCK for mingw
5176         * modules/nonblocking (Depends-on): Add open.
5177         (configure.ac): Set new witness macro.
5178         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
5179         * modules/fcntl-h (Makefile.am): Substitute it.
5180         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
5181         nonblocking module is in use.
5182         * lib/nonblocking.c: Adjust portability test.
5183         * lib/open.c (open): Don't let native open see gnulib flag.
5184         * tests/test-fcntl-h.c (main): Enhance test.
5185         * tests/test-open.h (test_open): Likewise.
5186         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
5187
5188         careadlinkat: fix compilation error on mingw
5189         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
5190         within struct allocator.
5191
5192 2011-04-06  Eric Blake  <eblake@redhat.com>
5193
5194         binary-io: relicense under LGPLv2+
5195         * modules/binary-io (License): Relax to LGPLv2+.
5196         Requested for libvirt, and required by pipe2.
5197
5198 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
5199
5200         verify: use _Static_assert if available
5201         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
5202         (verify_true, verify): Use it if available.  This generates better
5203         diagnostics with GCC 4.6.0 and later.
5204
5205 2011-04-05  Bruno Haible  <bruno@clisp.org>
5206
5207         Remove leftover generated .h files after config.status changed.
5208
5209         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
5210         GL_GENERATE_ALLOCA_H.
5211         * modules/alloca-opt (Makefile.am): Remove alloca.h if
5212         GL_GENERATE_ALLOCA_H evaluates to false.
5213
5214         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
5215         GL_GENERATE_ARGZ_H.
5216         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
5217         evaluates to false.
5218
5219         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
5220         GL_GENERATE_BYTESWAP_H.
5221         * modules/byteswap (Makefile.am): Remove byteswap.h if
5222         GL_GENERATE_BYTESWAP_H evaluates to false.
5223
5224         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
5225         GL_GENERATE_ERRNO_H.
5226         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
5227         evaluates to false.
5228
5229         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
5230         GL_GENERATE_FLOAT_H.
5231         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
5232         evaluates to false.
5233
5234         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
5235         GL_GENERATE_FNMATCH_H.
5236         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
5237         GL_GENERATE_FNMATCH_H evaluates to false.
5238
5239         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
5240         GL_GENERATE_GLOB_H.
5241         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
5242         evaluates to false.
5243
5244         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
5245         automake conditional GL_GENERATE_ICONV_H.
5246         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
5247         evaluates to false.
5248
5249         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
5250         GL_GENERATE_NETINET_IN_H.
5251         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
5252         GL_GENERATE_NETINET_IN_H evaluates to false.
5253
5254         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
5255         conditional GL_GENERATE_PTHREAD_H.
5256         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
5257         * modules/pthread (Makefile.am): Remove pthread.h if
5258         GL_GENERATE_PTHREAD_H evaluates to false.
5259
5260         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
5261         GL_GENERATE_SCHED_H.
5262         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
5263         evaluates to false.
5264
5265         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
5266         conditional GL_GENERATE_SELINUX_CONTEXT_H.
5267         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
5268         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
5269
5270         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
5271         GL_GENERATE_STDARG_H.
5272         * modules/stdarg (Makefile.am): Remove stdarg.h if
5273         GL_GENERATE_STDARG_H evaluates to false.
5274
5275         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
5276         GL_GENERATE_STDBOOL_H.
5277         * modules/stdbool (Makefile.am): Remove stdbool.h if
5278         GL_GENERATE_STDBOOL_H evaluates to false.
5279
5280         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
5281         conditional GL_GENERATE_STDDEF_H.
5282         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
5283         * modules/stddef (Makefile.am): Remove stddef.h if
5284         GL_GENERATE_STDDEF_H evaluates to false.
5285
5286         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
5287         GL_GENERATE_STDINT_H.
5288         * modules/stdint (Makefile.am): Remove stdint.h if
5289         GL_GENERATE_STDINT_H evaluates to false.
5290
5291         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
5292         GL_GENERATE_SYSEXITS_H.
5293         * modules/sysexits (Makefile.am): Remove sysexits.h if
5294         GL_GENERATE_SYSEXITS_H evaluates to false.
5295
5296         Reported by Karl Berry and Ralf Wildenhues.
5297
5298 2011-04-05  Bruno Haible  <bruno@clisp.org>
5299
5300         Ensure to rebuild generated .h files when config.status has changed.
5301         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
5302         config.status.
5303         * modules/ctype (Makefile.am): Likewise.
5304         * modules/dirent (Makefile.am): Likewise.
5305         * modules/errno (Makefile.am): Likewise.
5306         * modules/fcntl-h (Makefile.am): Likewise.
5307         * modules/float (Makefile.am): Likewise.
5308         * modules/getopt-posix (Makefile.am): Likewise.
5309         * modules/glob (Makefile.am): Likewise.
5310         * modules/iconv-h (Makefile.am): Likewise.
5311         * modules/inttypes (Makefile.am): Likewise.
5312         * modules/langinfo (Makefile.am): Likewise.
5313         * modules/locale (Makefile.am): Likewise.
5314         * modules/math (Makefile.am): Likewise.
5315         * modules/netdb (Makefile.am): Likewise.
5316         * modules/netinet_in (Makefile.am): Likewise.
5317         * modules/poll-h (Makefile.am): Likewise.
5318         * modules/pthread (Makefile.am): Likewise.
5319         * modules/pty (Makefile.am): Likewise.
5320         * modules/sched (Makefile.am): Likewise.
5321         * modules/search (Makefile.am): Likewise.
5322         * modules/selinux-h (Makefile.am): Likewise.
5323         * modules/signal (Makefile.am): Likewise.
5324         * modules/spawn (Makefile.am): Likewise.
5325         * modules/stdarg (Makefile.am): Likewise.
5326         * modules/stdbool (Makefile.am): Likewise.
5327         * modules/stddef (Makefile.am): Likewise.
5328         * modules/stdint (Makefile.am): Likewise.
5329         * modules/stdio (Makefile.am): Likewise.
5330         * modules/stdlib (Makefile.am): Likewise.
5331         * modules/string (Makefile.am): Likewise.
5332         * modules/strings (Makefile.am): Likewise.
5333         * modules/sys_file (Makefile.am): Likewise.
5334         * modules/sys_ioctl (Makefile.am): Likewise.
5335         * modules/sys_select (Makefile.am): Likewise.
5336         * modules/sys_socket (Makefile.am): Likewise.
5337         * modules/sys_stat (Makefile.am): Likewise.
5338         * modules/sys_time (Makefile.am): Likewise.
5339         * modules/sys_times (Makefile.am): Likewise.
5340         * modules/sys_utsname (Makefile.am): Likewise.
5341         * modules/sys_wait (Makefile.am): Likewise.
5342         * modules/sysexits (Makefile.am): Likewise.
5343         * modules/termios (Makefile.am): Likewise.
5344         * modules/time (Makefile.am): Likewise.
5345         * modules/unistd (Makefile.am): Likewise.
5346         * modules/wchar (Makefile.am): Likewise.
5347         * modules/wctype-h (Makefile.am): Likewise.
5348         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
5349
5350 2011-04-05  Bruno Haible  <bruno@clisp.org>
5351
5352         pipe2: Relicense under LGPLv2+.
5353         * modules/pipe2 (License): Change to LGPLv2+.
5354         Requested by Eric Blake, for libvirt.
5355
5356 2011-04-05  Bruce Korb  <bkorb@gnu.org>
5357
5358         bootstrap: compute gnulib_extra_files after updating build_aux
5359         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
5360         change build_aux or also supply gnulib_extra_files.  Handle correctly.
5361
5362 2011-04-05  Eric Blake  <eblake@redhat.com>
5363
5364         bootstrap: preserve git whitelist item sorting
5365         * build-aux/bootstrap (sort_patterns): New function.
5366         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
5367
5368 2011-04-05  Simon Josefsson  <simon@josefsson.org>
5369
5370         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
5371         sc_space_tab check.
5372
5373 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
5374
5375         areadlink, areadlinkat: rewrite in terms of careadlinkat
5376         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
5377         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
5378         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
5379         (malloc, realloc): Remove #undefs.
5380         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
5381         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
5382         readlink, ssize_t, stdint, unistd.
5383         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
5384         areadlink, stdint.
5385
5386         careadlinkat: new module
5387         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
5388         * modules/careadlinkat: New files, written by me with
5389         a review and feedback from Ben Pfaff in
5390         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
5391
5392 2011-04-01  Bruno Haible  <bruno@clisp.org>
5393
5394         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
5395         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
5396         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
5397         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
5398         Reported by Bruce Korb <bruce.korb@gmail.com>.
5399
5400 2011-04-01  Bruno Haible  <bruno@clisp.org>
5401
5402         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
5403         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
5404         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
5405         * modules/wcpcpy (Depends-on): Add extensions.
5406         * modules/wcpncpy (Depends-on): Likewise.
5407         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
5408         systems.
5409         * doc/posix-functions/wcpncpy.texi: Likewise.
5410         * doc/posix-functions/wcwidth.texi: Likewise.
5411
5412 2011-03-31  Eric Blake  <eblake@redhat.com>
5413
5414         nonblocking: fix mingw test failures
5415         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
5416         non-blocking flag on regular file.
5417         (get_nonblocking_flag): Set errno on invalid fd.
5418         * tests/test-nonblocking.c (main): Avoid test failure on
5419         directories if fchdir is not active.
5420         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
5421
5422 2011-03-31  Bruno Haible  <bruno@clisp.org>
5423
5424         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
5425         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
5426         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
5427         Reported by Simon Josefsson <simon@josefsson.org>.
5428
5429 2011-03-31  Bruno Haible  <bruno@clisp.org>
5430         and Eric Blake  <eblake@redhat.com>
5431
5432         nonblocking: new module
5433         * modules/nonblocking: New module.
5434         * modules/nonblocking-tests: Likewise.
5435         * lib/nonblocking.h: New file.
5436         * lib/nonblocking.c: Likewise.
5437         * tests/test-nonblocking.c: New test.
5438         * lib/ioctl.c (ioctl) [mingw]: Update comment.
5439
5440 2011-03-30  Bruno Haible  <bruno@clisp.org>
5441
5442         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
5443         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
5444         instead of 'printf' format for GCC >= 4.4.
5445         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
5446         (fprintf, printf, vfprintf, vprintf): Declare with
5447         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
5448         the system's vfprintf() function.
5449         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
5450
5451 2011-03-30  Eric Blake  <eblake@redhat.com>
5452
5453         passfd: fix scoping bug
5454         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
5455         before sendmsg/recvmsg.
5456
5457         passfd: standardize coding conventions
5458         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
5459         can be learned at compile time.
5460         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
5461         ifdefs.
5462         (sendfd, recvfd): Follow gnulib code conventions.
5463
5464         passfd: fix incorrect sendmsg arguments
5465         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
5466         incorrect msg_controllen value.
5467         * modules/passfd-tests (Depends-on): Check for alarm.
5468         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
5469         Reported by Bastien ROUCARIES.
5470
5471 2011-03-30  Bruno Haible  <bruno@clisp.org>
5472
5473         c-strcasestr: Relicense under LGPLv2+.
5474         * modules/c-strcasestr (License): Change to LGPLv2+.
5475         Requested by Eric Blake, for libvirt.
5476
5477 2011-03-30  Simon Josefsson  <simon@josefsson.org>
5478
5479         * users.txt: Add libidn2.  Fix libtasn1 link.
5480
5481 2011-03-30  Jim Meyering  <meyering@redhat.com>
5482
5483         tests: readlink* ("",... fails with EINVAL on newer kernels
5484         readlink and readlinkat have typically failed with ENOENT for
5485         the invalid, empty file name,  "".  However, with the advent
5486         of linux-2.6.39, they fail with EINVAL.
5487         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
5488         when operating on the empty file name.
5489         * tests/test-readlink.h (test_readlink): Likewise.
5490
5491 2011-03-29  Bruno Haible  <bruno@clisp.org>
5492
5493         Relicense some modules under LGPLv2+, for libidn2.
5494         * modules/array-mergesort (License): Change to LGPLv2+.
5495         * modules/c-strcaseeq (License): Likewise.
5496         * modules/striconveh (License): Likewise.
5497         * modules/striconveha (License): Likewise.
5498         * modules/uniconv/base (License): Likewise.
5499         * modules/uniconv/u8-conv-from-enc (License): Likewise.
5500         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
5501         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
5502         * modules/unictype/base (License): Likewise.
5503         * modules/unictype/bidiclass-of (License): Likewise.
5504         * modules/unictype/category-M (License): Likewise.
5505         * modules/unictype/category-none (License): Likewise.
5506         * modules/unictype/category-of (License): Likewise.
5507         * modules/unictype/category-test (License): Likewise.
5508         * modules/unictype/category-test-withtable (License): Likewise.
5509         * modules/unictype/combining-class (License): Likewise.
5510         * modules/unictype/joiningtype-of (License): Likewise.
5511         * modules/unictype/scripts (License): Likewise.
5512         * modules/uninorm/base (License): Likewise.
5513         * modules/uninorm/canonical-decomposition (License): Likewise.
5514         * modules/uninorm/composition (License): Likewise.
5515         * modules/uninorm/decompose-internal (License): Likewise.
5516         * modules/uninorm/decomposition-table (License): Likewise.
5517         * modules/uninorm/nfc (License): Likewise.
5518         * modules/uninorm/nfd (License): Likewise.
5519         * modules/uninorm/u32-normalize (License): Likewise.
5520         * modules/unistr/base (License): Likewise.
5521         * modules/unistr/u32-cpy (License): Likewise.
5522         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
5523         * modules/unistr/u32-to-u8 (License): Likewise.
5524         * modules/unistr/u32-uctomb (License): Likewise.
5525         * modules/unistr/u8-check (License): Likewise.
5526         * modules/unistr/u8-mblen (License): Likewise.
5527         * modules/unistr/u8-mbtouc (License): Likewise.
5528         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
5529         * modules/unistr/u8-mbtoucr (License): Likewise.
5530         * modules/unistr/u8-prev (License): Likewise.
5531         * modules/unistr/u8-strlen (License): Likewise.
5532         * modules/unistr/u8-to-u32 (License): Likewise.
5533         * modules/unistr/u8-uctomb (License): Likewise.
5534         * modules/unitypes (License): Likewise.
5535         Requested by Simon Josefsson.
5536
5537 2011-03-29  Simon Josefsson  <simon@josefsson.org>
5538
5539         lib-symbol-visibility: Add a notice.
5540         * modules/lib-symbol-visibility (Notice): New field.
5541
5542 2011-03-29  Bruno Haible  <bruno@clisp.org>
5543
5544         getaddrinfo: Doc fix.
5545         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
5546         section "fixed in Gnulib".
5547
5548 2011-03-28  Simon Josefsson  <simon@josefsson.org>
5549
5550         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
5551         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
5552
5553 2011-03-26  Bruno Haible  <bruno@clisp.org>
5554
5555         unictype/property-byname: Reduce the number of load-time relocations.
5556         * lib/unictype/pr_byname.c: Include <stdlib.h>.
5557         (UC_PROPERTY_INDEX_*): New enumeration values.
5558         (uc_property_byname): Convert an index from the lookup table to an
5559         uc_property_t.
5560         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
5561         values.
5562
5563 2011-03-26  Bruno Haible  <bruno@clisp.org>
5564
5565         unictype/property-byname: Allow omitted word separators and aliases.
5566         * lib/unictype/pr_byname.gperf: Add property names without word
5567         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
5568         for 'space'.
5569
5570 2011-03-26  Bruno Haible  <bruno@clisp.org>
5571
5572         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
5573         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
5574         also hyphens to space.
5575         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
5576         without spaces.
5577         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
5578
5579 2011-03-26  Bruno Haible  <bruno@clisp.org>
5580
5581         unictype/joiningtype-byname: Recognize long names as well.
5582         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
5583         a long name.
5584         * lib/unictype/joiningtype_byname.c: Include <string.h>,
5585         unictype/joiningtype_byname.h.
5586         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
5587         * lib/unictype/joiningtype_byname.gperf: New file.
5588         * modules/unictype/joiningtype-byname (Files): Add
5589         lib/unictype/joiningtype_byname.gperf.
5590         (Depends-on): Add gperf.
5591         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
5592         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
5593         long names.
5594
5595         Tests for module 'unictype/joiningtype-longname'.
5596         * modules/unictype/joiningtype-longname-tests: New file.
5597         * tests/unictype/test-joiningtype_longname.c: New file.
5598
5599         New module 'unictype/joiningtype-longname'.
5600         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
5601         * lib/unictype/joiningtype_longname.c: New file.
5602         * modules/unictype/joiningtype-longname: New file.
5603         * modules/unictype/joiningtype-all (Depends-on): Add
5604         unictype/joiningtype-longname.
5605
5606 2011-03-26  Bruno Haible  <bruno@clisp.org>
5607
5608         unictype/bidiclass-byname: Recognize long names as well.
5609         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
5610         name.
5611         * lib/unictype/bidi_byname.c: Include <string.h>,
5612         unictype/bidi_byname.h.
5613         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
5614         * lib/unictype/bidi_byname.gperf: New file.
5615         * modules/unictype/bidiclass-byname (Files): Add
5616         lib/unictype/bidi_byname.gperf.
5617         (Depends-on): Add gperf.
5618         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
5619         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
5620         long names.
5621
5622         Tests for module 'unictype/bidiclass-longname'.
5623         * modules/unictype/bidiclass-longname-tests: New file.
5624         * tests/unictype/test-bidi_longname.c: New file.
5625
5626         New module 'unictype/bidiclass-longname'.
5627         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
5628         * lib/unictype/bidi_longname.c: New file.
5629         * modules/unictype/bidiclass-longname: New file.
5630         * modules/unictype/bidiclass-all (Depends-on): Add
5631         unictype/bidiclass-longname.
5632
5633 2011-03-26  Bruno Haible  <bruno@clisp.org>
5634
5635         unictype/bidi*: Rename modules.
5636         * modules/unictype/bidiclass-all: Renamed from
5637         modules/unictype/bidicategory-all.
5638         * modules/unictype/bidiclass-name: Renamed from
5639         modules/unictype/bidiclass-name.
5640         (Description): Update.
5641         * modules/unictype/bidiclass-name-tests: Renamed from
5642         modules/unictype/bidicategory-name-tests.
5643         * modules/unictype/bidiclass-byname: Renamed from
5644         modules/unictype/bidicategory-byname.
5645         (Description): Update.
5646         * modules/unictype/bidiclass-byname-tests: Renamed from
5647         modules/unictype/bidicategory-byname-tests.
5648         * modules/unictype/bidiclass-of: Renamed from
5649         modules/unictype/bidicategory-of.
5650         (Description): Update.
5651         * modules/unictype/bidiclass-of-tests: Renamed from
5652         modules/unictype/bidicategory-of-tests.
5653         * modules/unictype/bidiclass-test: Renamed from
5654         modules/unictype/bidicategory-test.
5655         (Description): Update.
5656         * modules/unictype/bidiclass-test-tests: Renamed from
5657         modules/unictype/bidicategory-test-tests.
5658         * modules/unictype/bidicategory-all: New file, a simple redirection.
5659         * modules/unictype/bidicategory-name: Likewise.
5660         * modules/unictype/bidicategory-byname: Likewise.
5661         * modules/unictype/bidicategory-of: Likewise.
5662         * modules/unictype/bidicategory-test: Likewise.
5663         * modules/unictype/property-bidi-* (Dependencies): Update.
5664         * lib/unictype/bidi_*.c: Update comment.
5665
5666 2011-03-26  Bruno Haible  <bruno@clisp.org>
5667
5668         unictype/bidi*: Rename functions, part 2.
5669         * modules/unictype/bidicategory-name (configure.ac): Update required
5670         libunistring version.
5671         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
5672
5673 2011-03-25  Bruno Haible  <bruno@clisp.org>
5674
5675         New module 'unictype/combining-class-all'.
5676         * modules/unictype/combining-class-all: New file.
5677
5678         Tests for module 'unictype/combining-class-byname'.
5679         * modules/unictype/combining-class-byname-tests: New file.
5680         * tests/unictype/test-combiningclass_byname.c: New file.
5681
5682         New module 'unictype/combining-class-byname'.
5683         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
5684         * lib/unictype/combiningclass_byname.c: New file.
5685         * lib/unictype/combiningclass_byname.gperf: New file.
5686         * modules/unictype/combining-class-byname: New file.
5687
5688         Tests for module 'unictype/combining-class-longname'.
5689         * modules/unictype/combining-class-longname-tests: New file.
5690         * tests/unictype/test-combiningclass_longname.c: New file.
5691
5692         New module 'unictype/combining-class-longname'.
5693         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
5694         * lib/unictype/combiningclass_longname.c: New file.
5695         * modules/unictype/combining-class-longname: New file.
5696
5697         Tests for module 'unictype/combining-class-name'.
5698         * modules/unictype/combining-class-name-tests: New file.
5699         * tests/unictype/test-combiningclass_name.c: New file.
5700
5701         New module 'unictype/combining-class-name'.
5702         * lib/unictype.in.h (uc_combining_class_name): New declaration.
5703         * lib/unictype/combiningclass_name.c: New file.
5704         * modules/unictype/combining-class-name: New file.
5705
5706 2011-03-25  Bruno Haible  <bruno@clisp.org>
5707
5708         unictype/combining-class: Rename source files.
5709         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
5710         of unictype/combining.h.
5711         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
5712         Update.
5713         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
5714         * modules/unictype/combining-class (Description): Fix.
5715         (Files, Makefile.am): Update.
5716         * tests/unictype/test-combiningclass.c: Renamed from
5717         tests/unictype/test-combining.c.
5718         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
5719
5720 2011-03-25  Bruno Haible  <bruno@clisp.org>
5721
5722         unictype: Update list of canonical combining classes.
5723         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
5724
5725 2011-03-25  Bruno Haible  <bruno@clisp.org>
5726
5727         unictype/category-byname: Recognize long names as well.
5728         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
5729         a long name.
5730         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
5731         unictype/categ_byname.h.
5732         (UC_CATEGORY_INDEX_*): New enumeration values.
5733         (uc_general_category_byname): Use uc_general_category_lookup and
5734         convert from index to value.
5735         * lib/unictype/categ_byname.gperf: New file.
5736         * modules/unictype/category-byname (Files): Add
5737         lib/unictype/categ_byname.gperf.
5738         (Depends-on): Add gperf.
5739         (Makefile.am): Add rule for generating unictype/categ_byname.h.
5740         * tests/unictype/test-categ_byname.c (main): Test the recognition of
5741         long names.
5742
5743         Tests for module 'unictype/category-longname'.
5744         * modules/unictype/category-longname-tests: New file.
5745         * tests/unictype/test-categ_longname.c: New file.
5746
5747         New module 'unictype/category-longname'.
5748         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
5749         * lib/unictype/categ_longname.c: New file.
5750         * modules/unictype/category-longname: New file.
5751         * modules/unictype/category-all (Depends-on): Add it.
5752
5753 2011-03-25  Bruno Haible  <bruno@clisp.org>
5754
5755         Tests for module 'unictype/category-LC'.
5756         * modules/unictype/category-LC-tests: New file.
5757         * tests/unictype/test-categ_LC.c: New file, automatically generated.
5758
5759         New module 'unictype/category-LC'.
5760         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
5761         (UC_CATEGORY_LC): New declaration.
5762         (UC_CASED_LETTER): New macro.
5763         * lib/gen-uni-tables.c (is_category_LC): New function.
5764         (output_categories): Also handle category LC.
5765         (UC_CATEGORY_MASK_LC): New enumeration value.
5766         (general_category_byname): Also handle category LC.
5767         * lib/unictype/categ_LC.c: New file.
5768         * lib/unictype/categ_LC.h: New file, automatically generated.
5769         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
5770         category LC.
5771         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
5772         * modules/unictype/category-LC: New file.
5773         * modules/unictype/category-byname (Depends-on): Add
5774         unictype/category-LC.
5775         * modules/unictype/category-all (Depends-on): Likewise.
5776
5777 2011-03-25  Eric Blake  <eblake@redhat.com>
5778
5779         xmalloc: revert yesterday's regression
5780         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
5781         realloc's underlying behavior (allowing allocation of zero-size
5782         objects, especially if malloc-gnu is also in use).
5783
5784 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
5785
5786         maint.mk: add missing version to VC-tag
5787         * top/maint.mk: git tag was missing actual tag name; add it.
5788
5789         valgrind: do leak checking, and exit with code 1 on error (not 0)
5790         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
5791         to VALGRIND.
5792
5793 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
5794
5795         posix-modules: say what it does.
5796         * posix-modules: Add a line to the --help output saying what it does.
5797
5798 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
5799
5800         xmalloc: Do not leak if underlying realloc is C99 compatible.
5801         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
5802         This avoids a leak on C99-based systems.  See
5803         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
5804
5805 2011-03-24  Eric Blake  <eblake@redhat.com>
5806
5807         realloc: document portability problem
5808         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
5809         passing 0 size to realloc.
5810
5811 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
5812
5813         doc: update users.txt
5814         * users.txt: Add cvsps, tmpwatch
5815
5816 2011-03-23  Matt Rice  <ratmice@gmail.com>
5817
5818         doc: update users.txt
5819         * users.txt: Add gdb.
5820
5821 2011-03-23  Jim Meyering  <meyering@redhat.com>
5822
5823         doc: update users.txt
5824         Looking through matches up to the following URL (there are still
5825         several more pages), I found several projects that use gnulib:
5826         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
5827         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
5828         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
5829
5830 2011-03-22  Bruno Haible  <bruno@clisp.org>
5831
5832         unictype/bidi*: Rename functions.
5833         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
5834         uc_bidi_class, uc_is_bidi_class): New declarations.
5835         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
5836         uc_bidi_category_byname.
5837         (uc_bidi_category_byname): New function.
5838         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
5839         u_bidi_category_name.
5840         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
5841         (uc_bidi_category_name): New function.
5842         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
5843         uc_bidi_category.
5844         (uc_bidi_category): New function.
5845         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
5846         uc_is_bidi_category. Invoke uc_bidi_class.
5847         (uc_is_bidi_category): New function.
5848         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
5849         instead of uc_bidi_category_byname.
5850         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
5851         instead of uc_bidi_category_name.
5852         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
5853         uc_bidi_category.
5854         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
5855         instead of uc_is_bidi_category.
5856
5857 2011-03-21  Bruno Haible  <bruno@clisp.org>
5858
5859         New module 'unictype/joininggroup-all'.
5860         * modules/unictype/joininggroup-all: New file.
5861
5862         Tests for module 'unictype/joininggroup-of'.
5863         * modules/unictype/joininggroup-of-tests: New file.
5864         * tests/unictype/test-joininggroup_of.c: New file.
5865         * tests/unictype/test-joininggroup_of.h: New file, automatically
5866         generated by gen-uni-tables.
5867
5868         New module 'unictype/joininggroup-of'.
5869         * modules/unictype/joininggroup-of: New file.
5870         * lib/unictype/joininggroup_of.c: New file.
5871         * lib/unictype/joininggroup_of.h: New file, automatically generated by
5872         gen-uni-tables.
5873
5874         Tests for module 'unictype/joininggroup-byname'.
5875         * modules/unictype/joininggroup-byname-tests: New file.
5876         * tests/unictype/test-joininggroup_byname.c: New file.
5877
5878         New module 'unictype/joininggroup-byname'.
5879         * modules/unictype/joininggroup-byname: New file.
5880         * lib/unictype/joininggroup_byname.c: New file.
5881         * lib/unictype/joininggroup_byname.gperf: New file.
5882
5883         Tests for module 'unictype/joininggroup-name'.
5884         * modules/unictype/joininggroup-name-tests: New file.
5885         * tests/unictype/test-joininggroup_name.c: New file.
5886
5887         New module 'unictype/joininggroup-name'.
5888         * modules/unictype/joininggroup-name: New file.
5889         * lib/unictype/joininggroup_name.c: New file.
5890         * lib/unictype/joininggroup_name.h: New file.
5891
5892         New module 'unictype/joiningtype-all'.
5893         * modules/unictype/joiningtype-all: New file.
5894
5895         Tests for module 'unictype/joiningtype-of'.
5896         * modules/unictype/joiningtype-of-tests: New file.
5897         * tests/unictype/test-joiningtype_of.c: New file.
5898         * tests/unictype/test-joiningtype_of.h: New file, automatically
5899         generated by gen-uni-tables.
5900
5901         New module 'unictype/joiningtype-of'.
5902         * modules/unictype/joiningtype-of: New file.
5903         * lib/unictype/joiningtype_of.c: New file.
5904         * lib/unictype/joiningtype_of.h: New file, automatically generated by
5905         gen-uni-tables.
5906
5907         Tests for module 'unictype/joiningtype-byname'.
5908         * modules/unictype/joiningtype-byname-tests: New file.
5909         * tests/unictype/test-joiningtype_byname.c: New file.
5910
5911         New module 'unictype/joiningtype-byname'.
5912         * modules/unictype/joiningtype-byname: New file.
5913         * lib/unictype/joiningtype_byname.c: New file.
5914
5915         Tests for module 'unictype/joiningtype-name'.
5916         * modules/unictype/joiningtype-name-tests: New file.
5917         * tests/unictype/test-joiningtype_name.c: New file.
5918
5919         New module 'unictype/joiningtype-name'.
5920         * modules/unictype/joiningtype-name: New file.
5921         * lib/unictype/joiningtype_name.c: New file.
5922
5923         unictype: Add support for Arabic shaping properties.
5924         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
5925         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
5926         declarations.
5927         (UC_JOINING_GROUP_*): New enumeration values.
5928         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
5929         declarations.
5930         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
5931         (unicode_joining_type): New variable.
5932         (UC_JOINING_GROUP_*): New enumeration values.
5933         (unicode_joining_group): New variable.
5934         (fill_arabicshaping, joining_type_as_c_identifier,
5935         output_joining_type_test, output_joining_type,
5936         joining_group_as_c_identifier, output_joining_group_test,
5937         output_joining_group): New functions.
5938         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
5939         fill_arabicshaping and output_joining_type_test, output_joining_type,
5940         output_joining_group_test, output_joining_group.
5941         Reported by Simon Josefsson.
5942
5943 2011-03-21  Jim Meyering  <meyering@redhat.com>
5944
5945         strftime: fix a bug in yesterday's change
5946         * lib/strftime.c (add): Accommodate width's initial value of -1.
5947         Otherwise, nstrftime would copy uninitialized data into
5948         the result buffer.
5949
5950 2011-03-21  Jim Meyering  <meyering@redhat.com>
5951
5952         tests: add strftime-tests module
5953         * tests/test-strftime.c: New file.
5954         * modules/strftime-tests: New module.
5955
5956 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5957
5958         strftime: don't assume a byte count fits in 'int'
5959         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
5960         found this problem by static analysis, using gcc -Wstrict-overflow
5961         (GCC 4.5.2, x86-64).  This reported an optimization that depended
5962         on an integer overflow having undefined behavior, but it turns out
5963         that the argument is a size, which might not fit in 'int' anyway,
5964
5965 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5966
5967         stdio: don't require ignore_value around fwrite
5968
5969         This patch works around libc bug 11959
5970         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
5971         Without this patch, applications must often write
5972         ignore_value (fwrite (...)) even though the ignore_value is
5973         not helpful here.  It's common to write many objects, using
5974         fwrite/printf/etc., and then use ferror to detect output error.
5975
5976         I considered making this patch optional, but decided against it,
5977         because libc is obviously being inconsistent here: there is no
5978         reason libc should insist that user code must inspect fwrite
5979         return's value without also insisting that it inspect printf's,
5980         putchar's, etc.  If user code wants to have a strict style where
5981         all these functions' values are checked (so that ferror need not
5982         be checked), we could add support for that style in a new gnulib
5983         module, but in the meantime it's better to be consistent and to
5984         support common usage.
5985
5986         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
5987         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
5988         that we are compiling in checking mode, and if not C++, and
5989         if not already wrapping fwrite for some other reason.
5990         (fwrite): #define to rpl_fwrite if the latter is defined.
5991
5992 2011-03-20  Bruno Haible  <bruno@clisp.org>
5993
5994         verror: Fix compilation error introduced on 2011-02-13.
5995         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
5996         instead of __attribute__.
5997         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5998
5999 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6000             Bruno Haible  <bruno@clisp.org>
6001
6002         socklen: do not depend on sys_socket
6003         While trying to modify Emacs to use gnulib's socklen module,
6004         I discovered a circular dependency: socklen depends on sys_socket
6005         and vice versa.  Emacs can use socklen, but it does not need
6006         sys_socket because it has its own substitute for sys/socket.h.
6007         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
6008         gl_TYPE_SOCKLEN_T.
6009         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
6010         gl_PREREQ_SYS_H_SOCKET.
6011         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
6012         gl_PREREQ_SYS_H_SOCKET.
6013         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
6014         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
6015         * modules/socklen (Depends-on): Do not depend on sys_socket.
6016         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
6017
6018 2011-03-20  Jim Meyering  <meyering@redhat.com>
6019
6020         maint.mk: sort file names *after* new transformation
6021         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
6022         prefix would have led to an unwarranted failure in GNU parted.
6023         Sort after that transformation.
6024
6025 2011-03-19  Jim Meyering  <meyering@redhat.com>
6026
6027         maint.mk: fix po-file syntax-check rule
6028         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
6029         Patch by Bruno Haible.
6030
6031 2011-03-19  Bruno Haible  <bruno@clisp.org>
6032
6033         socklen: Update comment.
6034         * m4/socklen.m4: Update comment about platforms.
6035
6036 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6037             Bruno Haible  <bruno@clisp.org>
6038
6039         inet_ntop, inet_pton: Simplify.
6040         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
6041         documented to provide socklen_t and we already depend on sys_socket.
6042         * modules/inet_pton (Depends-on): Likewise.
6043         * lib/arpa_inet.in.h: Adjust comment.
6044
6045 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6046             Bruno Haible  <bruno@clisp.org>
6047
6048         netdb: Simplify.
6049         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
6050         documented to provide socklen_t and we already depend on sys_socket.
6051         * lib/netdb.in.h: Adjust comment.
6052
6053 2011-03-19  Bruno Haible  <bruno@clisp.org>
6054
6055         sys_socket, netdb: Document problem with socklen_t.
6056         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
6057         platforms.
6058         * doc/posix-headers/netdb.texi: Likewise.
6059
6060 2011-03-18  Eric Blake  <eblake@redhat.com>
6061
6062         maint.mk: let po check work in VPATH build
6063         * top/maint.mk (po_file): Allow cfg.mk override.
6064         (sc_po_check): Allow VPATH use.
6065         Reported by Jiri Denemark.
6066
6067 2011-03-16  Jim Meyering  <meyering@redhat.com>
6068
6069         maint.mk: allow fine-grained syntax-check exclusion via Make variables
6070         Before, you would have had to create one .x-sc_ file per rule in order
6071         to exempt offending files.  Now, you may instead use a Make variable --
6072         usually defined in cfg.mk -- whose name identifies the affected rule.
6073         * top/maint.mk (_sc_excl): Define.
6074         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
6075         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
6076
6077 2011-03-13  Bruno Haible  <bruno@clisp.org>
6078
6079         ignore-value tests: Avoid warnings.
6080         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
6081         empty for gcc < 3.4.
6082
6083 2011-03-13  Bruno Haible  <bruno@clisp.org>
6084
6085         passfd: Fix link error on Solaris.
6086         * modules/passfd (Description): Correct.
6087         (Depends-on): Add socketlib.
6088         (Link): New section.
6089         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
6090
6091 2011-03-13  Bruno Haible  <bruno@clisp.org>
6092
6093         passfd: Fix link error on AIX 5.2.
6094         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
6095
6096 2011-03-13  Bruno Haible  <bruno@clisp.org>
6097
6098         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
6099         * lib/sys_socket.in.h: Include <stddef.h>.
6100         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
6101         CMSG_FIRSTHDR. Remove unused variable.
6102
6103 2011-03-13  Bruno Haible  <bruno@clisp.org>
6104
6105         passfd: Fix compilation error on OpenBSD.
6106         * lib/passfd.c: Include <sys/uio.h>.
6107
6108 2011-03-13  Bruno Haible  <bruno@clisp.org>
6109
6110         passfd test: Fix warnings.
6111         * tests/test-passfd.c: Include <sys/wait.h>.
6112         (main): Fix typo.
6113
6114 2011-03-13  Bruno Haible  <bruno@clisp.org>
6115
6116         passfd module, part 4, tweaks.
6117         * tests/test-passfd.c: Reorder includes.
6118         (main): Fix perror and printf calls.
6119
6120 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6121
6122         passfd module, part 4.
6123         * modules/passfd-tests: New file.
6124         * tests/test-passfd.c: New file.
6125
6126 2011-03-13  Jim Meyering  <meyering@redhat.com>
6127
6128         Makefile: rely on GNU make; derive syntax-check rule names
6129         Rather than requiring that each sc_ rule be listed as a dependent
6130         of "check", use features of GNU make to derive the list.
6131         * Makefile (syntax-check-rules): Define.
6132         (check): Depend on the new variable, not the hard-coded list.
6133
6134 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
6135             Bruno Haible  <bruno@clisp.org>
6136
6137         passfd module, part 3.
6138         * lib/passfd.h (recvfd): Add a flags argument.
6139         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
6140         (recvfd): Add a flags argument.
6141         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
6142         exists.
6143         * modules/passfd (Depends-on): Add cloexec.
6144         Suggested by Eric Blake.
6145
6146 2011-03-13  Bruno Haible  <bruno@clisp.org>
6147
6148         passfd module, part 2, tweaks.
6149         * modules/passfd (Files): Reorder.
6150         (Depends-on): Remove errno.
6151         (Include): Remove <sys/socket.h>, <sys/un.h>.
6152         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
6153         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
6154         specification header. Include <sys/socket.h> always. Don't include
6155         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
6156         (sendfd): Clarify that it sets errno when it fails.
6157         (recvfd): Fix specification.
6158
6159 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6160
6161         passfd module, part 2.
6162         * modules/passfd: New file.
6163         * lib/passfd.h: New file.
6164         * lib/passfd.c: New file.
6165
6166 2011-03-12  Bruno Haible  <bruno@clisp.org>
6167
6168         wcswidth, mbswidth: Avoid integer overflow.
6169         * lib/wcswidth.c: Include <limits.h>.
6170         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
6171         * lib/mbswidth.c: Include <limits.h>.
6172         (mbsnwidth): Avoid 'int' overflow.
6173         Reported by Jim Meyering.
6174
6175 2011-03-12  Bruno Haible  <bruno@clisp.org>
6176
6177         futimens, utimensat: Avoid endless recursion on Solaris 10.
6178         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
6179         Solaris.
6180         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
6181         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
6182
6183 2011-03-11  Jim Meyering  <meyering@redhat.com>
6184
6185         maint.mk: relax a regexp to accommodate other formatting styles
6186         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
6187         between "ngettext" and the following "(".
6188
6189 2011-03-11  Pádraig Brady <P@draigBrady.com>
6190
6191         maint.mk: suppress a false positive warning
6192         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
6193         diagnostics are marked with ngettext.
6194
6195 2011-03-10  Eric Blake  <eblake@redhat.com>
6196
6197         wchar: add explicit dependencies, for Tru64
6198         * modules/mbmemcasecoll (Depends-on): Add wchar.
6199         * modules/mbtowc (Depends-on): Likewise.
6200         * modules/vasnprintf (Depends-on): Likewise.
6201         * modules/unistdio/u-printf-args (Depends-on): Likewise.
6202         * modules/wctomb (Depends-on): Likewise.
6203         Reported by Peter O'Gorman.
6204
6205 2011-03-08  Bruno Haible  <bruno@clisp.org>
6206
6207         passfd module, part 1, tweaks.
6208         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
6209         Improve indentation. Improve AC_MSG_CHECKING messages.
6210         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
6211         gl_SOCKET_FAMILIES.
6212
6213 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6214
6215         passfd module, part 1.
6216         * m4/afunix.m4: New file.
6217         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
6218         sockets.
6219
6220 2011-03-08  Bruno Haible  <bruno@clisp.org>
6221
6222         regex-quote: New API.
6223         * lib/regex-quote.h: Include <stdbool.h>.
6224         (struct regex_quote_spec): New type.
6225         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
6226         New declarations.
6227         (regex_quote_length, regex_quote_copy, regex_quote): Take a
6228         'const struct regex_quote_spec *' argument.
6229         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
6230         (pcre_special): New constant.
6231         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
6232         New functions.
6233         (regex_quote_length, regex_quote_copy, regex_quote): Take a
6234         'const struct regex_quote_spec *' argument.
6235         * modules/regex-quote (Depends-on): Add stdbool.
6236         * tests/test-regex-quote.c (check): Update for new API. Add test for
6237         anchored results.
6238         * NEWS: Mention the API change.
6239         Reported by Reuben Thomas and Eric Blake.
6240
6241 2011-03-06  Bruno Haible  <bruno@clisp.org>
6242
6243         regex-quote: Fix creation of POSIX extended regular expressions.
6244         * lib/regex-quote.c (ere_special): Add grouping and alternation
6245         operators.
6246
6247 2011-03-05  Bruno Haible  <bruno@clisp.org>
6248
6249         doc: Improve doc regarding autopoint vs. gnulib.
6250         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
6251         disable autopoint while running autoreconf.
6252         Suggested by Ralf Wildenhues.
6253
6254 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6255
6256         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
6257         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
6258
6259 2011-03-03  Bruce Korb  <bkorb@gnu.org>
6260
6261         parse-duration: remove xalloc.h dependency
6262         * lib/parse-duration.c (parse_period): handle NULL return from
6263         strdup instead of calling xstrdup().
6264         * modules/parse-duration: remove "xalloc" dependency
6265
6266 2011-03-03  Matthew Booth  <mbooth@redhat.com>
6267
6268         bootstrap: honor m4_base when running aclocal
6269         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
6270
6271 2011-03-02  Jim Meyering  <meyering@redhat.com>
6272
6273         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
6274         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
6275         on request from Matt Booth.
6276
6277 2011-03-01  Eric Blake  <eblake@redhat.com>
6278
6279         test-link: work on Hurd
6280         * tests/test-link.h (test_link): Hurd rejects linking directories
6281         with EISDIR instead of the POSIX-mandated EPERM.
6282
6283 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
6284
6285         stdio: simplify by moving files to printf-posix, sigpipe
6286         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
6287         since this symbol is needed only if printf is replaced.
6288         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
6289         Require gl_ASM_SYMBOL_PREFIX.
6290         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
6291         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
6292         (Depends-on): Add 'raise'.
6293         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
6294         * modules/stdio (Files): Remove lib/stdio-write.c,
6295         m4/asm-underscore.m4.
6296         (Depends-on): Remove 'raise'.
6297
6298         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
6299         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
6300         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
6301         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
6302
6303 2011-02-28  Bruno Haible  <bruno@clisp.org>
6304
6305         localcharset: Assume ANSI C behaviour of free().
6306         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
6307         calling free().
6308         Suggested by Simon Josefsson <simon@josefsson.org>.
6309
6310 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
6311             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
6312             Bruno Haible  <bruno@clisp.org>  (tiny change)
6313
6314         On Cygwin, use /proc file system instead of win32 API.
6315         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
6316         Win32 file names.
6317         (DllMain): Simplify by removing Cygwin specific code.
6318         (find_shared_library_fullname): Use Linux specific implementation also
6319         for Cygwin.
6320         (get_shared_library_fullname): Update accordingly.
6321         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
6322         Win32 file names.
6323         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
6324         Cygwin specific code.
6325
6326 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
6327             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
6328
6329         Fix OpenMP flag detection for various Fortran compilers.
6330         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
6331         OpenMP-conditional compilation construct, to force compile
6332         failure with missing OpenMP flag.
6333         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
6334
6335 2011-02-25  Eric Blake  <eblake@redhat.com>
6336
6337         strstr: expand test coverage
6338         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
6339         compilation.
6340         * tests/test-memmem.c (main): Duplicate tests.
6341         * tests/test-strcasestr.c (main): Likewise.
6342         * tests/test-c-strcasestr.c (main): Likewise.
6343
6344 2011-02-25  Jim Meyering  <meyering@redhat.com>
6345
6346         maint.mk: detect missing-NL-at-EOF, too
6347         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
6348         it also detects when a file lacks a newline at EOF.
6349         (require_exactly_one_NL_at_EOF_): Renamed from
6350         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
6351         since people may well have .x-sc_... file names tied to the
6352         existing name.  Suggested by Eric Blake.
6353
6354 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
6355
6356         dirname: move m4/dos.m4 functionality into lib/dosname.h
6357
6358         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
6359         extracts symbols from it, puts them into config.h; but it's much
6360         easier to use the symbols directly.  filename.h already does this,
6361         but it disagrees with dos.m4 in some respects.  This patch
6362         introduces a different include file dosname.h that packages up
6363         dos.m4, and then later we can work on merging filename.h and
6364         dosname.h.  Applications that need only the easy-to-configure
6365         symbols should consider including dosname.h rather than dirname.h.
6366         * NEWS: Mention incompatible changes.
6367         * m4/dos.m4: Remove.
6368         * lib/dosname.h, modules/dosname: New files.
6369         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
6370         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
6371         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
6372         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
6373         Include dosname.h, not dirname.h.
6374         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
6375         Include dosname.h, for definitions of symbols like ISSLASH
6376         that used to be in config.h.
6377         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
6378         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6379         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6380         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6381         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
6382         * modules/rmdir (Files): Likewise.
6383         * modules/stat (Files): Likewise.
6384         * modules/unlink (Files): Likewise.
6385         * modules/dirname-lgpl (Depends-on): Add dosname.
6386         * modules/lstat (Depends-on): Likewise.
6387         * modules/openat (Depends-on): Likewise.
6388         * modules/rmdir (Depends-on): Likewise.
6389         * modules/savewd (Depends-on): Likewise.
6390         * modules/stat (Depends-on): Likewise.
6391         * modules/unlink (Depends-on): Likewise.
6392         * modules/openat (Depends-on): Remove dirname-lgpl.
6393         * modules/savewd (Depends-on): Likewise.
6394         * tests/test-dirname.c: Do not use removed symbols like
6395         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
6396         the remaining symbols, e.g., ISSLASH ('\\').
6397
6398 2011-02-25  Eric Blake  <eblake@redhat.com>
6399
6400         strstr: revert patches that introduced bug and pessimization
6401         * lib/str-two-way.h: Add another reference.
6402         (two_way_short_needle, two_way_long_needle): Revert changes from
6403         2011-02-24; they pessimize search speed.
6404         (critical_factorization): Partially revert changes from
6405         2010-06-22; they violate the requirement that the left half of the
6406         needle be smaller than the period of the needle.
6407
6408 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6409
6410         filenamecat: remove unnecessary dependency on dirname-lgpl
6411         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
6412         is no direct dependency, just an indirect one via filenamecat-lgpl.
6413
6414         remove: remove unnecessary use of m4/dos.m4
6415         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
6416         * modules/remove (FILES): Remove m4/dos.m4.
6417
6418         * lib/openat-proc.c: Don't include dirname.h; not needed.
6419
6420         backupfile: remove unnecessary use of m4/dos.m4
6421         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
6422         of its symbols are used by the backupfile code.  backupfile.c does
6423         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
6424         for the rare case of programs that want all their backup file
6425         names to live within 8+3 limits, and dos.m4 doesn't address that.
6426         * modules/backupfile (Files): Remove m4/dos.m4.
6427
6428 2011-02-24  Jim Meyering  <meyering@redhat.com>
6429
6430         strstr: fix a bug whereby strstr would mistakenly return NULL
6431         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
6432         in period calculation.
6433         (two_way_long_needle): Likewise.
6434         The original problem was reported by Mike Stump in
6435         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
6436         Ralf Wildenhues provided the short needle and haystack.
6437         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
6438         Add a more involved test to trigger the bug in two_way_long_needle.
6439
6440 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
6441
6442         gnulib-tool: remove use of bold display in help screen
6443         * gnulib-tool (func_usage): Do not use bold display anymore in the
6444         help screen.  That was just meant to be a temporary emphasis for a
6445         backward-incompatible change.
6446
6447 2011-02-23  Bruno Haible  <bruno@clisp.org>
6448
6449         Fix misindentation of preprocessor directives.
6450         * lib/argp-namefrob.h: Reindent preprocessor directives.
6451         * lib/getopt_int.h (struct _getopt_data): Likewise.
6452         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
6453         * lib/vasnprintf.c (decode_long_double): Likewise.
6454         * tests/test-argmatch.c: Insert blank lines, for clarity.
6455         * tests/test-exclude.c: Likewise.
6456
6457 2011-02-22  Bruno Haible  <bruno@clisp.org>
6458
6459         ioctl: Fix for MacOS X in 64-bit mode.
6460         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
6461         value.
6462         Suggested by Eric Blake.
6463         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
6464
6465 2011-02-22  Jim Meyering  <meyering@redhat.com>
6466
6467         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
6468         * Makefile (sc_cpp_indent_check): Don't limit the check to files
6469         in lib/.
6470
6471 2011-02-22  Eric Blake  <eblake@redhat.com>
6472
6473         maint: avoid any CDPATH issue
6474         * Makefile (sc_cpp_indent_check): Anchor cd argument.
6475
6476         maint: adjust cpp indentation for my modules, as well
6477         * Makefile (sc_cpp_indent_check): Add my name.
6478         * lib/fbufmode.c: Filter through cppi.
6479         * lib/fpurge.c: Likewise.
6480         * lib/freadable.c: Likewise.
6481         * lib/freading.c: Likewise.
6482         * lib/fwritable.c: Likewise.
6483         * lib/fwriting.c: Likewise.
6484         * lib/sigaction.c: Likewise.
6485
6486 2011-02-22  Jim Meyering  <meyering@redhat.com>
6487
6488         maint: adjust cpp indentation to reflect nesting depth
6489         I.e., in a block of code that begins with an unnested "#if",
6490         put one space between the "#" in column 1 and following token.
6491         For example,
6492         -#include <sys/vfs.h>
6493         +# include <sys/vfs.h>
6494         Do this only in .c files that are part of a module I maintain.
6495         * lib/linkat.c: Filter through cppi.
6496         * lib/nanosleep.c: Likewise.
6497         * lib/openat.c: Likewise.
6498         * lib/openat-die.c: Likewise.
6499         * lib/dup3.c: Likewise.
6500         * lib/fchownat.c: Likewise.
6501         * lib/flock.c: Likewise.
6502         * lib/fsync.c: Likewise.
6503         * lib/fts.c: Likewise.
6504         * lib/getpass.c: Likewise.
6505         * lib/gettimeofday.c: Likewise.
6506         * lib/userspec.c: Likewise.
6507         * Makefile (sc_cpp_indent_check): New rule, to check this.
6508
6509 2011-02-22  Bruno Haible  <bruno@clisp.org>
6510
6511         New module 'wctomb'.
6512         * lib/stdlib.in.h (wctomb): New declaration.
6513         * lib/wctomb.c: New file.
6514         * lib/wctomb-impl.h: New file.
6515         * m4/wctomb.m4: New file.
6516         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
6517         REPLACE_WCTOMB.
6518         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
6519         REPLACE_WCTOMB.
6520         * modules/wctomb: New file.
6521         * tests/test-stdlib-c++.cc: Test signature of wctomb.
6522         * doc/posix-functions/wctomb.texi: Mention the new module.
6523         * modules/wctob (Depends-on): Add wctomb.
6524
6525 2011-02-22  Bruno Haible  <bruno@clisp.org>
6526
6527         New module 'mbtowc'.
6528         * lib/stdlib.in.h (mbtowc): New declaration.
6529         * lib/mbtowc.c: New file.
6530         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
6531         * m4/mbtowc.m4: New file.
6532         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
6533         REPLACE_MBTOWC.
6534         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
6535         REPLACE_MBTOWC.
6536         * modules/mbtowc: New file.
6537         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
6538         * doc/posix-functions/mbtowc.texi: Mention the new module.
6539         * modules/btowc (Depends-on): Add mbtowc.
6540
6541 2011-02-22  Bruno Haible  <bruno@clisp.org>
6542
6543         wcrtomb: Add more tests for native Windows platforms.
6544         * tests/test-wcrtomb-w32-1.sh: New file.
6545         * tests/test-wcrtomb-w32-2.sh: New file.
6546         * tests/test-wcrtomb-w32-3.sh: New file.
6547         * tests/test-wcrtomb-w32-4.sh: New file.
6548         * tests/test-wcrtomb-w32-5.sh: New file.
6549         * tests/test-wcrtomb-w32.c: New file.
6550         * modules/wcrtomb-tests (Files): Add them.
6551         (Makefile.am): Arrange to run these tests.
6552         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
6553         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
6554
6555 2011-02-20  Bruno Haible  <bruno@clisp.org>
6556
6557         wcrtomb: Enhance test.
6558         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
6559
6560 2011-02-20  Bruno Haible  <bruno@clisp.org>
6561
6562         mbrtowc: Tiny optimization.
6563         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
6564
6565 2011-02-20  Jim Meyering  <meyering@redhat.com>
6566
6567         test-exclude.c: remove unmatched #endif
6568         * tests/test-exclude.c: Remove stray #endif, left over from
6569         the change of a week ago.
6570
6571 2011-02-19  Jim Meyering  <meyering@redhat.com>
6572
6573         git-version-gen: skip "-dirty" check when appropriate
6574         * build-aux/git-version-gen: Don't run any git commands when the
6575         version string comes from .tarball-version.  Prior to this, we
6576         would run git update-index --refresh even from a just-unpacked
6577         tarball directory, and that could affect a .git/ directory in a
6578         parent of the build directory.  Reported by Mike Frysinger.
6579
6580 2011-02-19  Bruno Haible  <bruno@clisp.org>
6581
6582         unictype/property-byname: Reduce the size of the 'data' segment.
6583         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
6584
6585 2011-02-19  Bruno Haible  <bruno@clisp.org>
6586
6587         unictype/scripts: Reduce the size of the 'data' segment.
6588         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
6589         '%pic'.
6590         * lib/unictype/scripts_byname.gperf: Regenerated.
6591
6592 2011-02-19  Bruno Haible  <bruno@clisp.org>
6593
6594         stdint: Update documentation.
6595         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
6596
6597 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
6598
6599         stdint: omit redundant check for wchar.h
6600         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
6601         always tests whether wchar.h exists, so remove the now-redundant test.
6602
6603 2011-02-18  Bruno Haible  <bruno@clisp.org>
6604
6605         stdint: Cut dependency to module 'wchar'.
6606         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
6607         include the necessary prerequisites.
6608         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
6609         * modules/stdint (Depends-on): Remove wchar.
6610         (Makefile.am): Substitute HAVE_WCHAR_H.
6611         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
6612
6613 2011-02-18  Eric Blake  <eblake@redhat.com>
6614
6615         longlong: skip, rather than fail, on cross-compilation
6616         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
6617         when cross-compiling; regression from 2011-02-16.
6618
6619 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6620
6621         * NEWS: Mention 2011-02-08 change to stdlib.
6622
6623 2011-02-17  Bruno Haible  <bruno@clisp.org>
6624
6625         getloadavg: Add comments about platforms.
6626         * m4/getloadavg.m4: Add comment.
6627         * lib/getloadavg.c: Likewise.
6628
6629 2011-02-17  Bruno Haible  <bruno@clisp.org>
6630
6631         getloadavg: Fix link error on Solaris 2.6.
6632         * modules/getloadavg (Link): New section.
6633         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
6634         linking test-getloadavg.
6635         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
6636         getloadavg.
6637
6638 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6639
6640         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
6641         It was 'int', but this doesn't match the IRIX 6.5 manual.
6642         Suggested by Bruno Haible in
6643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
6644
6645 2011-02-17  Bruno Haible  <bruno@clisp.org>
6646
6647         havelib: Fix comments.
6648         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
6649         change.
6650
6651 2011-02-17  Bruno Haible  <bruno@clisp.org>
6652
6653         havelib: Update config.rpath.
6654         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
6655
6656 2011-02-17  Bruno Haible  <bruno@clisp.org>
6657
6658         getloadavg test: Add some plausibility checks.
6659         * tests/test-getloadavg.c (check_avg): Print a warning when the value
6660         is improbable.
6661
6662 2011-02-16  Eric Blake  <eblake@redhat.com>
6663
6664         maintainer-makefile: make syntax-check a no-op from tarballs
6665         * top/maint.mk (no-vc-detected): New rule.
6666         (local-checks-available): Use it to avoid hanging if someone tries
6667         'make syntax-check' from a tarball.  Also append to any non-syntax
6668         checks already defined in cfg.mk.
6669
6670 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
6671
6672         longlong: tune, particularly for common case of c99
6673
6674         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
6675         or running anything if c99, or if unsigned long long int does not
6676         work.  In either case, we know the answer without further tests.
6677         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
6678         it at most once, and use its results for both long long int and
6679         unsigned long long int.  This is more likely to be efficient in
6680         the common case where the program wants to check for both long
6681         long int and unsigned long long int.
6682         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
6683         since the answer is already known.
6684
6685 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
6686
6687         getloadavg: set errno
6688         * lib/getloadavg.c: Set errno when returning -1.  If no other
6689         error number looks appropriate, set it to ENOSYS if the getloadavg
6690         looks like it can't possibly ever work, ENOTSUP otherwise.
6691         Suggested by Bruno Haible in
6692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
6693
6694         getloadavg: trim unused parts and speed up 'configure'
6695         * NEWS: Document this.
6696         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
6697         always compiled if getloadavg is absent.
6698         Move test code to ...
6699         * tests/test-getloadavg.c: New file, containing previous
6700         contents of test from lib/getloadavg.c.  It also contains
6701         suggestions by Bruno Haible in
6702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
6703         * modules/getloadavg-tests: New file.
6704         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
6705         Do tests in the same order as they're needed for getloadavg.c.
6706         Omit setgid-related tests that generate symbols KMEM_GROUP,
6707         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
6708         Do only the tests that are needed to see whether the system has
6709         getloadavg, moving the other tests into ...
6710         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
6711         NLIST_NAME_UNION; nobody should be using it.  Do not define
6712         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
6713         relevant, as the user of this module shouldn't care how getloadavg
6714         is implemented.
6715
6716         getloadavg: omit unused var
6717         * lib/getloadavg.c (getloadavg): Omit unused local variable.
6718
6719 2011-02-15  Jim Meyering  <meyering@redhat.com>
6720
6721         doc: update users.txt
6722         * users.txt: Update iwhd's URL.
6723
6724 2011-02-13  Bruno Haible  <bruno@clisp.org>
6725
6726         Consistent macro naming for macros that use GCC __attribute__.
6727         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
6728         _ATTRIBUTE_NONNULL_.
6729         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
6730         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
6731         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
6732         ATTRIBUTE_DEPRECATED.
6733         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
6734         ATTRIBUTE_NORETURN.
6735         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6736         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6737         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6738         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6739         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
6740         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
6741         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
6742         ATTRIBUTE_SENTINEL.
6743         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
6744         ATTRIBUTE_RETURN_CHECK.
6745         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
6746         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
6747         ATTRIBUTE_NORETURN.
6748         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
6749         Reported by Paul Eggert.
6750
6751 2011-02-13  Bruno Haible  <bruno@clisp.org>
6752
6753         Don't interfere with a program's definition of __attribute__.
6754         * lib/argp.h (__attribute__): Remove definition.
6755         (_GL_ATTRIBUTE_FORMAT): New macro.
6756         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
6757         * lib/argp-fmtstream.h (__attribute__): Remove definition.
6758         (_GL_ATTRIBUTE_FORMAT): New macro.
6759         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
6760         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
6761         GCC 3 or newer.
6762         * lib/error.h (__attribute__): Remove definition.
6763         (_GL_ATTRIBUTE_FORMAT): New macro.
6764         (error, error_at_line): Use it.
6765         * lib/hash.h (__attribute__): Remove definition.
6766         (ATTRIBUTE_WUR): Update definition. Define always.
6767         * lib/openat.h (__attribute__): Remove definition.
6768         (ATTRIBUTE_NORETURN): Update definition. Define always.
6769         * lib/sigpipe-die.h (__attribute__): Remove definition.
6770         (ATTRIBUTE_NORETURN): Update definition. Define always.
6771         * lib/vasnprintf.h (__attribute__): Remove definition.
6772         (_GL_ATTRIBUTE_FORMAT): New macro.
6773         (asnprintf, vasnprintf): Use it.
6774         * lib/xalloc.h (__attribute__): Remove definition.
6775         (ATTRIBUTE_NORETURN): Update definition. Define always.
6776         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
6777         * lib/xmemdup0.h (__attribute__): Remove definition.
6778         (ATTRIBUTE_NORETURN): Update definition. Define always.
6779         * lib/xprintf.h (__attribute__): Remove definition.
6780         (_GL_ATTRIBUTE_FORMAT): New macro.
6781         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
6782         * lib/xstrtol.h (__attribute__): Remove definition.
6783         (ATTRIBUTE_NORETURN): Update definition. Define always.
6784         * lib/xvasprintf.h (__attribute__): Remove definition.
6785         (_GL_ATTRIBUTE_FORMAT): New macro.
6786         (xasprintf, xvasprintf): Use it.
6787         * tests/test-argmatch.c (__attribute__): Remove definition.
6788         (ATTRIBUTE_NORETURN): Update definition. Define always.
6789         * tests/test-exclude.c (__attribute__): Remove definition.
6790         (ATTRIBUTE_NORETURN): Update definition. Define always.
6791         Reported by Paul Eggert.
6792
6793 2011-02-13  Bruno Haible  <bruno@clisp.org>
6794
6795         mbrtowc: Add more tests for native Windows platforms.
6796         * tests/test-mbrtowc-w32-1.sh: New file.
6797         * tests/test-mbrtowc-w32-2.sh: New file.
6798         * tests/test-mbrtowc-w32-3.sh: New file.
6799         * tests/test-mbrtowc-w32-4.sh: New file.
6800         * tests/test-mbrtowc-w32-5.sh: New file.
6801         * tests/test-mbrtowc-w32.c: New file.
6802         * modules/mbrtowc-tests (Files): Add them.
6803         (Makefile.am): Arrange to run these tests.
6804         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
6805         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
6806
6807 2011-02-13  Bruno Haible  <bruno@clisp.org>
6808
6809         mbrtowc: Work around native Windows bug.
6810         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
6811         guess when no suitable locale for testing was found.
6812         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
6813
6814 2011-02-13  Bruno Haible  <bruno@clisp.org>
6815
6816         mbsinit: Work around mingw bug.
6817         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
6818         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
6819         Windows.
6820         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
6821
6822 2011-02-13  Bruno Haible  <bruno@clisp.org>
6823
6824         mbsinit: Don't crash for a NULL argument.
6825         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
6826         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
6827
6828 2011-02-13  Bruno Haible  <bruno@clisp.org>
6829
6830         Don't interfere with a program's definition of __attribute__.
6831         * lib/stdio.in.h (__attribute__): Remove definition.
6832         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
6833         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
6834         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
6835         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
6836         * lib/string.in.h (__attribute__): Remove definition.
6837         Reported by Paul Eggert.
6838
6839 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6840
6841         stdlib: don't get in the way of non-GCC __attribute__
6842         See thread starting at
6843         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
6844         Revert previous stdlib change, installing the following instead:
6845         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
6846         to get in the way of a non-GCC compiler that supports __attribute__.
6847         (_GL_ATTRIBUTE_RETURN): New macro.
6848         (_Exit): Use it instead of __attribute__.
6849
6850 2011-02-12  Bruno Haible  <bruno@clisp.org>
6851
6852         quotearg test: Avoid test failure on mingw.
6853         * tests/test-quotearg.sh: Convert the locale identifier from native
6854         Windows syntax to Unix syntax.
6855
6856 2011-02-12  Bruno Haible  <bruno@clisp.org>
6857
6858         setlocale: Prefer gnulib's override over libintl's override.
6859         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
6860         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
6861         GNULIB_defined_setlocale is set.
6862
6863 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6864
6865         stdlib: support non-GCC __attribute__
6866
6867         Fix a serious and tricky problem encountered when attempting to
6868         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
6869         5.5, but it crashed due to memory corruption on Solaris 10 with
6870         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
6871         bits that are otherwise zero.  This tagging is optional inside
6872         Emacs but is preferred and is used when __attribute__ ((__aligned
6873         (8))) works, as it does with both recent-enough GCC and with Sun C
6874         5.11.  However, Sun C 5.11 is not GCC and does not #define
6875         __GNUC__ and __GNUC_MINOR__.
6876
6877         When I added the getloadavg module to Emacs, it brought in
6878         stdlib.in.h, which contained this fragment:
6879
6880            #ifndef __attribute__
6881            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
6882            #  define __attribute__(Spec)   /* empty */
6883            # endif
6884            #endif
6885
6886         When files that include <stdlib.h> were compiled with Sun C 5.11,
6887         the above code disabled __attribute__ ((__aligned (8))), which
6888         caused variables to not be properly aligned, which eventually led
6889         to the pointer corruption mentioned above.  (This was a bit hard
6890         to diagnose, unfortunately.)
6891
6892         Several "#define __attribute__(X) /* empty */" code snippets need
6893         to be eradicated from Gnulib to work with non-GCC compilers that
6894         support __attribute__.  The Autoconf way to do this is to test for
6895         each kind of attribute that we want support for, and selectively
6896         enable that in source code.
6897
6898         Fix this problem just for stdlib.h, by adding a test for the
6899         __noreturn__ attribute, and change stdlib.in.h to use that test
6900         when needed.  This technique can be easily generalized to the
6901         other *.in.h files and attributes, and a similar technique can be
6902         used for *.h and *.c files.  This patch is enough to solve the
6903         problem for Emacs + getloadavg, and I thought I'd publish it for
6904         feedback before undertaking further, similar fixes in other
6905         modules.
6906
6907         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
6908         because it's not needed for stdlib.h.  It merely substitutes the
6909         value directly into stdlib.h.  We may well need to #define it, or
6910         similar symbols, for other modules, but it's nice to also have an
6911         option to not #define it for applications like Emacs that do not
6912         need it.
6913
6914         * lib/stdlib.in.h (__attribute__): Do not #define.
6915         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
6916         be defined only if the _Exit module is also used.
6917         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
6918         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
6919         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
6920         platforms.
6921         * modules/_Exit (Files): Add m4/attribute.m4.
6922         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
6923         * m4/attribute.m4: New file.
6924
6925 2011-02-12  Bruno Haible  <bruno@clisp.org>
6926
6927         wcsrtombs: Work around bug on native Windows.
6928         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
6929         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
6930         instead of len.
6931         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
6932
6933 2011-02-12  Bruno Haible  <bruno@clisp.org>
6934
6935         mbsrtowcs: Work around bug on native Windows.
6936         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
6937         against mingw bug.
6938         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
6939
6940 2011-02-12  Bruno Haible  <bruno@clisp.org>
6941
6942         Avoid setlocale bugs in tests.
6943         * modules/btowc (Dependencies): Add setlocale.
6944         * modules/c-strcase (Dependencies): Likewise.
6945         * modules/mbmemcasecmp (Dependencies): Likewise.
6946         * modules/mbmemcasecoll (Dependencies): Likewise.
6947         * modules/mbrtowc (Dependencies): Likewise.
6948         * modules/mbscasecmp (Dependencies): Likewise.
6949         * modules/mbscasestr (Dependencies): Likewise.
6950         * modules/mbschr (Dependencies): Likewise.
6951         * modules/mbscspn (Dependencies): Likewise.
6952         * modules/mbsinit (Dependencies): Likewise.
6953         * modules/mbsncasecmp (Dependencies): Likewise.
6954         * modules/mbsnrtowcs (Dependencies): Likewise.
6955         * modules/mbspbrk (Dependencies): Likewise.
6956         * modules/mbspcasecmp (Dependencies): Likewise.
6957         * modules/mbsrchr (Dependencies): Likewise.
6958         * modules/mbsrtowcs (Dependencies): Likewise.
6959         * modules/mbsspn (Dependencies): Likewise.
6960         * modules/mbsstr (Dependencies): Likewise.
6961         * modules/nl_langinfo (Dependencies): Likewise.
6962         * modules/quotearg (Dependencies): Likewise.
6963         * modules/unicase/locale-language (Dependencies): Likewise.
6964         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
6965         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
6966         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
6967         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
6968         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
6969         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
6970         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
6971         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
6972         * modules/vasnprintf-posix (Dependencies): Likewise.
6973         * modules/wcrtomb (Dependencies): Likewise.
6974         * modules/wcsnrtombs (Dependencies): Likewise.
6975         * modules/wcsrtombs (Dependencies): Likewise.
6976
6977 2011-02-12  Bruno Haible  <bruno@clisp.org>
6978
6979         setlocale: Workaround native Windows bug.
6980         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
6981         succeeds but sets LC_CTYPE to "C", report a failure.
6982         * tests/test-setlocale2.sh: New file.
6983         * tests/test-setlocale2.c: New file.
6984         * modules/setlocale-tests (Files): Add the new files.
6985         (Makefile.am): Enable test-setlocale2.sh test.
6986         * doc/posix-functions/setlocale.texi: Mention workaround.
6987
6988 2011-02-11  Bruno Haible  <bruno@clisp.org>
6989
6990         Tests for module 'setlocale'.
6991         * modules/setlocale-tests: New file.
6992         * tests/test-setlocale1.sh: New file.
6993         * tests/test-setlocale1.c: New file.
6994
6995         New module 'setlocale'.
6996         * lib/locale.in.h (setlocale): New declaration.
6997         * lib/setlocale.c: New file, based on
6998         gettext/gettext-runtime/intl/setlocale.c.
6999         * m4/setlocale.m4: New file.
7000         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
7001         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
7002         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
7003         REPLACE_SETLOCALE.
7004         * modules/setlocale: New file.
7005         * tests/test-locale-c++.cc: Test the declaration of setlocale.
7006         * doc/posix-functions/setlocale.texi: Mention the new module.
7007
7008 2011-02-11  Bruno Haible  <bruno@clisp.org>
7009
7010         Prepare for locale dependent tests on mingw.
7011         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
7012         because it has the wrong locale encoding.
7013         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
7014         French_France.1252 instead of "fr".
7015         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
7016         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
7017         because it has the wrong locale encoding.
7018         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
7019         native Windows, try Turkish_Turkey.65001.
7020         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
7021         Chinese_China.54936.
7022
7023         Prepare for locale dependent tests on mingw.
7024         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
7025         differently.
7026         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
7027         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
7028         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
7029         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7030
7031 2011-02-11  Eric Blake  <eblake@redhat.com>
7032
7033         strptime: avoid compiler warnings
7034         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
7035         compiler warnings about dead code.
7036         Reported by Daniel P. Berrange.
7037
7038 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
7039
7040         doc: update users.txt
7041         * users.txt: Add rcs.
7042
7043 2011-02-10  John W. Eaton  <jwe@gnu.org>
7044
7045         doc: update users.txt
7046         * users.txt: Add octave.
7047
7048 2011-02-10  Jim Meyering  <meyering@redhat.com>
7049
7050         doc: update users.txt
7051         * users.txt: Add iwhd.
7052
7053 2011-02-09  Bruno Haible  <bruno@clisp.org>
7054
7055         gnulib-tool: Make copyright notice adjustment more robust.
7056         * gnulib-tool (func_import): In sed_transform_main_lib_file,
7057         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
7058         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
7059         License".
7060         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
7061
7062 2011-02-06  Bruno Haible  <bruno@clisp.org>
7063
7064         New module 'towctrans'.
7065         * modules/towctrans: New file.
7066         * lib/wctype.in.h (towctrans): New declaration.
7067         * lib/towctrans.c: New file.
7068         * lib/towctrans-impl.h: New file.
7069         * m4/towctrans.m4: New file.
7070         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
7071         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
7072         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
7073         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
7074         * doc/posix-functions/towctrans.texi: Mention the new module.
7075
7076 2011-02-06  Bruno Haible  <bruno@clisp.org>
7077
7078         New module 'wctrans'.
7079         * modules/wctrans: New file.
7080         * lib/wctype.in.h (wctrans): New declaration.
7081         * lib/wctrans.c: New file.
7082         * lib/wctrans-impl.h: New file.
7083         * m4/wctrans.m4: New file.
7084         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
7085         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
7086         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
7087         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
7088         * doc/posix-functions/wctrans.texi: Mention the new module.
7089
7090 2011-02-06  Bruno Haible  <bruno@clisp.org>
7091
7092         New module 'iswctype'.
7093         * modules/iswctype: New file.
7094         * lib/wctype.in.h (iswctype): New declaration.
7095         * lib/iswctype.c: New file.
7096         * lib/iswctype-impl.h: New file.
7097         * m4/iswctype.m4: New file.
7098         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
7099         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
7100         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
7101         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
7102         * doc/posix-functions/iswctype.texi: Mention the new module and the
7103         HP-UX 11.00 problem.
7104
7105 2011-02-06  Bruno Haible  <bruno@clisp.org>
7106
7107         New module 'wctype'.
7108         * modules/wctype: Change to represent the wctype() substitute.
7109         * lib/wctype.in.h (wctype): New declaration.
7110         * lib/wctype.c: New file.
7111         * lib/wctype-impl.h: New file.
7112         * m4/wctype.m4: New file.
7113         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
7114         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
7115         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
7116         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
7117         * doc/posix-functions/wctype.texi: Mention the new module and the
7118         HP-UX 11.00 problem.
7119
7120 2011-02-06  Bruno Haible  <bruno@clisp.org>
7121
7122         wctype-h: Ensure wctype_t and wctrans_t are defined.
7123         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
7124         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
7125         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
7126         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
7127         HAVE_WCTRANS_T.
7128         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
7129
7130 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7131
7132         flock: fix license typo
7133
7134         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
7135         omitted.
7136
7137 2011-02-08  Bruno Haible  <bruno@clisp.org>
7138
7139         Split large sed scripts, for HP-UX sed.
7140         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
7141         to avoid HP-UX limit of 99 commands, in the near future.
7142         * modules/stdlib (Makefile.am): Likewise.
7143         * modules/unistd (Makefile.am): Likewise.
7144         * modules/wchar (Makefile.am): Likewise.
7145         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7146         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
7147         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
7148
7149 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7150             Bruno Haible  <bruno@clisp.org>
7151
7152         stdlib: improve random_r modularization
7153         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
7154         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
7155         you also need the random_r module to get this material right.
7156         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
7157         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
7158         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
7159
7160 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7161
7162         stdlib: don't depend on stdint
7163         * lib/stdlib.in.h: Don't include <stdint.h> merely because
7164         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
7165         be independent of whether stdint.h is needed.
7166         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
7167         here, instead of ...
7168         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
7169         struct random_data should be using the random_r module, not just
7170         the stdlib module (which wouldn't make sense: what package needs
7171         just struct random_data without also needing random_r?).
7172         * modules/stdlib (Depends-on): Remove stdint.
7173
7174         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
7175         See the thread rooted at
7176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
7177         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
7178         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
7179         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
7180         __VMS)); previously it was always included (via fcntl--.h).
7181         (getloadavg): Do not use c_strtod.  Instead, approximate it by
7182         hand; this is good enough for load averages.  Also, do not use
7183         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
7184         flags directly if available and don't bother otherwise.  (Packages
7185         that need the extra reliability should use the modules that define
7186         these flags on older platforms that lack them.)
7187         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
7188         fcntl-safer.
7189
7190 2011-02-08  Jim Meyering  <meyering@redhat.com>
7191
7192         di-set.h, ino-map.h: add multiple-inclusion guard
7193         Technically, the guard is required only for ino-map.h, due to its
7194         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
7195         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
7196         * lib/ino-map.h: Likewise.
7197
7198 2011-02-06  Bruno Haible  <bruno@clisp.org>
7199
7200         iswblank: Ensure declaration on glibc systems.
7201         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
7202         * modules/iswblank (Dependencies): Add 'extensions'.
7203         * doc/posix-functions/iswblank.texi: Document the glibc problem.
7204
7205 2011-02-06  Bruno Haible  <bruno@clisp.org>
7206
7207         New module 'iswblank'.
7208         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
7209         * modules/iswblank: New file.
7210         * modules/wctype-h (Files): Remove lib/iswblank.c.
7211         (Makefile.am): Substitute GNULIB_ISWBLANK.
7212         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
7213         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
7214         (gl_WCTYPE_H_DEFAULTS): New macro.
7215         (gl_WCTYPE_H): Require it. Remove iswblank related code.
7216         * modules/iswblank-tests: New file.
7217         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
7218         * tests/test-wctype-h.c (main): Remove iswblank tests.
7219         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
7220         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
7221         of 'wctype-h'.
7222         * NEWS: Mention the change.
7223         * modules/mbchar (Depends-on): Add iswblank.
7224
7225 2011-02-08  Bruno Haible  <bruno@clisp.org>
7226
7227         di-set tests: Refactor.
7228         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
7229         unnecessary includes.
7230         (ASSERT): Remove macro.
7231         (main): Make C90 compliant by avoiding variable declaration after
7232         statement.
7233         * modules/di-set-tests (Files): Add tests/macros.h.
7234
7235 2011-02-08  Bruno Haible  <bruno@clisp.org>
7236
7237         ino-map tests: Refactor.
7238         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
7239         unnecessary includes.
7240         (ASSERT): Remove macro.
7241         (main): Make C90 compliant by avoiding variable declaration after
7242         statement.
7243         * modules/ino-map-tests (Files): Add tests/macros.h.
7244
7245 2011-02-08  Jim Meyering  <meyering@redhat.com>
7246
7247         di-set: add "const" to a cast
7248         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
7249         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
7250
7251 2011-02-06  Bruno Haible  <bruno@clisp.org>
7252
7253         Rename module 'wctype' to 'wctype-h'.
7254         * modules/wctype-h: Renamed from modules/wctype.
7255         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
7256         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
7257         (Files, Depends-on, Makefile.am): Update.
7258         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
7259         (Files, Makefile.am): Update.
7260         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
7261         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
7262         * doc/posix-headers/wctype.texi: Update.
7263         * doc/posix-functions/iswalnum.texi: Update.
7264         * doc/posix-functions/iswalpha.texi: Update.
7265         * doc/posix-functions/iswblank.texi: Update.
7266         * doc/posix-functions/iswcntrl.texi: Update.
7267         * doc/posix-functions/iswdigit.texi: Update.
7268         * doc/posix-functions/iswgraph.texi: Update.
7269         * doc/posix-functions/iswlower.texi: Update.
7270         * doc/posix-functions/iswprint.texi: Update.
7271         * doc/posix-functions/iswpunct.texi: Update.
7272         * doc/posix-functions/iswspace.texi: Update.
7273         * doc/posix-functions/iswupper.texi: Update.
7274         * doc/posix-functions/iswxdigit.texi: Update.
7275         * doc/posix-functions/towlower.texi: Update.
7276         * doc/posix-functions/towupper.texi: Update.
7277         * NEWS: Mention the change.
7278         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
7279         * modules/mbchar (Dependencies): Likewise.
7280         * modules/mbswidth (Dependencies): Likewise.
7281         * modules/quotearg (Dependencies): Likewise.
7282         * modules/regex (Dependencies): Likewise.
7283         * modules/wcscasecmp (Dependencies): Likewise.
7284         * modules/wcsncasecmp (Dependencies): Likewise.
7285         * modules/wcwidth (Dependencies): Likewise.
7286
7287 2011-02-06  Bruno Haible  <bruno@clisp.org>
7288
7289         New module 'wcswidth'.
7290         * modules/wcswidth: New file.
7291         * lib/wchar.in.h (wcswidth): New declaration.
7292         * lib/wcswidth.c: New file.
7293         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
7294         * m4/wcswidth.m4: New file.
7295         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
7296         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
7297         REPLACE_WCSWIDTH.
7298         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
7299         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
7300         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
7301         * doc/posix-functions/wcswidth.texi: Mention the new module.
7302
7303 2011-02-06  Bruno Haible  <bruno@clisp.org>
7304
7305         New module 'wcstok'.
7306         * modules/wcstok: New file.
7307         * lib/wchar.in.h (wcstok): New declaration.
7308         * lib/wcstok.c: New file.
7309         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
7310         * m4/wcstok.m4: New file.
7311         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
7312         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
7313         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
7314         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
7315         * doc/posix-functions/wcstok.texi: Mention the new module.
7316
7317 2011-02-06  Bruno Haible  <bruno@clisp.org>
7318
7319         New module 'wcsstr'.
7320         * modules/wcsstr: New file.
7321         * lib/wchar.in.h (wcsstr): New declaration.
7322         * lib/wcsstr.c: New file.
7323         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
7324         * m4/wcsstr.m4: New file.
7325         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
7326         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
7327         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
7328         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
7329         * doc/posix-functions/wcsstr.texi: Mention the new module.
7330
7331 2011-02-06  Bruno Haible  <bruno@clisp.org>
7332
7333         New module 'wcspbrk'.
7334         * modules/wcspbrk: New file.
7335         * lib/wchar.in.h (wcspbrk): New declaration.
7336         * lib/wcspbrk.c: New file.
7337         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
7338         * m4/wcspbrk.m4: New file.
7339         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
7340         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
7341         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
7342         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
7343         * doc/posix-functions/wcspbrk.texi: Mention the new module.
7344
7345 2011-02-06  Bruno Haible  <bruno@clisp.org>
7346
7347         New module 'wcsspn'.
7348         * modules/wcsspn: New file.
7349         * lib/wchar.in.h (wcsspn): New declaration.
7350         * lib/wcsspn.c: New file.
7351         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
7352         * m4/wcsspn.m4: New file.
7353         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
7354         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
7355         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
7356         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
7357         * doc/posix-functions/wcsspn.texi: Mention the new module.
7358
7359 2011-02-06  Bruno Haible  <bruno@clisp.org>
7360
7361         New module 'wcscspn'.
7362         * modules/wcscspn: New file.
7363         * lib/wchar.in.h (wcscspn): New declaration.
7364         * lib/wcscspn.c: New file.
7365         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
7366         * m4/wcscspn.m4: New file.
7367         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
7368         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
7369         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
7370         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
7371         * doc/posix-functions/wcscspn.texi: Mention the new module.
7372
7373 2011-02-06  Bruno Haible  <bruno@clisp.org>
7374
7375         New module 'wcsrchr'.
7376         * modules/wcsrchr: New file.
7377         * lib/wchar.in.h (wcsrchr): New declaration.
7378         * lib/wcsrchr.c: New file.
7379         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
7380         * m4/wcsrchr.m4: New file.
7381         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
7382         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
7383         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
7384         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
7385         * doc/posix-functions/wcsrchr.texi: Mention the new module.
7386
7387 2011-02-06  Bruno Haible  <bruno@clisp.org>
7388
7389         New module 'wcschr'.
7390         * modules/wcschr: New file.
7391         * lib/wchar.in.h (wcschr): New declaration.
7392         * lib/wcschr.c: New file.
7393         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
7394         * m4/wcschr.m4: New file.
7395         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
7396         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
7397         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
7398         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
7399         * doc/posix-functions/wcschr.texi: Mention the new module.
7400
7401 2011-02-06  Bruno Haible  <bruno@clisp.org>
7402
7403         New module 'wcsdup'.
7404         * modules/wcsdup: New file.
7405         * lib/wchar.in.h (wcsdup): New declaration.
7406         * lib/wcsdup.c: New file.
7407         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
7408         * m4/wcsdup.m4: New file.
7409         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
7410         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
7411         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
7412         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
7413         * doc/posix-functions/wcsdup.texi: Mention the new module.
7414
7415 2011-02-06  Bruno Haible  <bruno@clisp.org>
7416
7417         New module 'wcsxfrm'.
7418         * modules/wcsxfrm: New file.
7419         * lib/wchar.in.h (wcsxfrm): New declaration.
7420         * lib/wcsxfrm.c: New file.
7421         * lib/wcsxfrm-impl.h: New file.
7422         * m4/wcsxfrm.m4: New file.
7423         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
7424         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
7425         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
7426         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
7427         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
7428
7429 2011-02-06  Bruno Haible  <bruno@clisp.org>
7430
7431         New module 'wcscoll'.
7432         * modules/wcscoll: New file.
7433         * lib/wchar.in.h (wcscoll): New declaration.
7434         * lib/wcscoll.c: New file.
7435         * lib/wcscoll-impl.h: New file.
7436         * m4/wcscoll.m4: New file.
7437         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
7438         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
7439         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
7440         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
7441         * doc/posix-functions/wcscoll.texi: Mention the new module.
7442
7443 2011-02-06  Bruno Haible  <bruno@clisp.org>
7444
7445         New module 'wcsncasecmp'.
7446         * modules/wcsncasecmp: New file.
7447         * lib/wchar.in.h (wcsncasecmp): New declaration.
7448         * lib/wcsncasecmp.c: New file.
7449         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
7450         * m4/wcsncasecmp.m4: New file.
7451         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
7452         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
7453         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
7454         HAVE_WCSNCASECMP.
7455         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
7456         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
7457
7458 2011-02-06  Bruno Haible  <bruno@clisp.org>
7459
7460         New module 'wcscasecmp'.
7461         * modules/wcscasecmp: New file.
7462         * lib/wchar.in.h (wcscasecmp): New declaration.
7463         * lib/wcscasecmp.c: New file.
7464         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
7465         * m4/wcscasecmp.m4: New file.
7466         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
7467         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
7468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
7469         HAVE_WCSCASECMP.
7470         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
7471         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
7472
7473 2011-02-05  Bruno Haible  <bruno@clisp.org>
7474
7475         New module 'wcsncmp'.
7476         * modules/wcsncmp: New file.
7477         * lib/wchar.in.h (wcsncmp): New declaration.
7478         * lib/wcsncmp.c: New file.
7479         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
7480         * m4/wcsncmp.m4: New file.
7481         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
7482         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
7483         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
7484         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
7485         * doc/posix-functions/wcsncmp.texi: Mention the new module.
7486
7487 2011-02-05  Bruno Haible  <bruno@clisp.org>
7488
7489         New module 'wcscmp'.
7490         * modules/wcscmp: New file.
7491         * lib/wchar.in.h (wcscmp): New declaration.
7492         * lib/wcscmp.c: New file.
7493         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
7494         * m4/wcscmp.m4: New file.
7495         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
7496         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
7497         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
7498         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
7499         * doc/posix-functions/wcscmp.texi: Mention the new module.
7500
7501 2011-02-05  Bruno Haible  <bruno@clisp.org>
7502
7503         New module 'wcsncat'.
7504         * modules/wcsncat: New file.
7505         * lib/wchar.in.h (wcsncat): New declaration.
7506         * lib/wcsncat.c: New file.
7507         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
7508         * m4/wcsncat.m4: New file.
7509         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
7510         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
7511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
7512         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
7513         * doc/posix-functions/wcsncat.texi: Mention the new module.
7514
7515 2011-02-05  Bruno Haible  <bruno@clisp.org>
7516
7517         New module 'wcscat'.
7518         * modules/wcscat: New file.
7519         * lib/wchar.in.h (wcscat): New declaration.
7520         * lib/wcscat.c: New file.
7521         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
7522         * m4/wcscat.m4: New file.
7523         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
7524         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
7525         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
7526         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
7527         * doc/posix-functions/wcscat.texi: Mention the new module.
7528
7529 2011-02-05  Bruno Haible  <bruno@clisp.org>
7530
7531         New module 'wcpncpy'.
7532         * modules/wcpncpy: New file.
7533         * lib/wchar.in.h (wcpncpy): New declaration.
7534         * lib/wcpncpy.c: New file.
7535         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
7536         * m4/wcpncpy.m4: New file.
7537         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
7538         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
7539         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
7540         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
7541         * doc/posix-functions/wcpncpy.texi: Mention the new module.
7542
7543 2011-02-05  Bruno Haible  <bruno@clisp.org>
7544
7545         New module 'wcsncpy'.
7546         * modules/wcsncpy: New file.
7547         * lib/wchar.in.h (wcsncpy): New declaration.
7548         * lib/wcsncpy.c: New file.
7549         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
7550         * m4/wcsncpy.m4: New file.
7551         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
7552         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
7553         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
7554         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
7555         * doc/posix-functions/wcsncpy.texi: Mention the new module.
7556
7557 2011-02-05  Bruno Haible  <bruno@clisp.org>
7558
7559         New module 'wcpcpy'.
7560         * modules/wcpcpy: New file.
7561         * lib/wchar.in.h (wcpcpy): New declaration.
7562         * lib/wcpcpy.c: New file.
7563         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
7564         * m4/wcpcpy.m4: New file.
7565         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
7566         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
7567         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
7568         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
7569         * doc/posix-functions/wcpcpy.texi: Mention the new module.
7570
7571 2011-02-05  Bruno Haible  <bruno@clisp.org>
7572
7573         New module 'wcscpy'.
7574         * modules/wcscpy: New file.
7575         * lib/wchar.in.h (wcscpy): New declaration.
7576         * lib/wcscpy.c: New file.
7577         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
7578         * m4/wcscpy.m4: New file.
7579         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
7580         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
7581         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
7582         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
7583         * doc/posix-functions/wcscpy.texi: Mention the new module.
7584
7585 2011-02-05  Bruno Haible  <bruno@clisp.org>
7586
7587         New module 'wcsnlen'.
7588         * modules/wcsnlen: New file.
7589         * lib/wchar.in.h (wcsnlen): New declaration.
7590         * lib/wcsnlen.c: New file.
7591         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
7592         * m4/wcsnlen.m4: New file.
7593         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
7594         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
7595         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
7596         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
7597         * doc/posix-functions/wcsnlen.texi: Mention the new module.
7598
7599 2011-02-05  Bruno Haible  <bruno@clisp.org>
7600
7601         New module 'wcslen'.
7602         * modules/wcslen: New file.
7603         * lib/wchar.in.h (wcslen): New declaration.
7604         * lib/wcslen.c: New file.
7605         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
7606         * m4/wcslen.m4: New file.
7607         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
7608         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
7609         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
7610         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
7611         * doc/posix-functions/wcslen.texi: Mention the new module.
7612
7613 2011-02-05  Bruno Haible  <bruno@clisp.org>
7614
7615         New module 'wmemset'.
7616         * modules/wmemset: New file.
7617         * lib/wchar.in.h (wmemset): New declaration.
7618         * lib/wmemset.c: New file.
7619         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
7620         * m4/wmemset.m4: New file.
7621         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
7622         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
7623         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
7624         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
7625         * doc/posix-functions/wmemset.texi: Mention the new module.
7626
7627 2011-02-05  Bruno Haible  <bruno@clisp.org>
7628
7629         New module 'wmemmove'.
7630         * modules/wmemmove: New file.
7631         * lib/wchar.in.h (wmemmove): New declaration.
7632         * lib/wmemmove.c: New file.
7633         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
7634         * m4/wmemmove.m4: New file.
7635         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
7636         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
7637         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
7638         HAVE_WMEMMOVE.
7639         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
7640         * doc/posix-functions/wmemmove.texi: Mention the new module.
7641
7642 2011-02-05  Bruno Haible  <bruno@clisp.org>
7643
7644         New module 'wmemcpy'.
7645         * modules/wmemcpy: New file.
7646         * lib/wchar.in.h (wmemcpy): New declaration.
7647         * lib/wmemcpy.c: New file.
7648         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
7649         * m4/wmemcpy.m4: New file.
7650         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
7651         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
7652         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
7653         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
7654         * doc/posix-functions/wmemcpy.texi: Mention the new module.
7655
7656 2011-02-05  Bruno Haible  <bruno@clisp.org>
7657
7658         New module 'wmemcmp'.
7659         * modules/wmemcmp: New file.
7660         * lib/wchar.in.h (wmemcmp): New declaration.
7661         * lib/wmemcmp.c: New file.
7662         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
7663         * m4/wmemcmp.m4: New file.
7664         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
7665         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
7666         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
7667         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
7668         * doc/posix-functions/wmemcmp.texi: Mention the new module.
7669
7670 2011-02-07  Jim Meyering  <meyering@redhat.com>
7671
7672         di-set, ino-map: new modules, from coreutils
7673         * lib/di-set.c: New file.
7674         * lib/di-set.h: Likewise.
7675         * lib/ino-map.c: Likewise.
7676         * lib/ino-map.h: Likewise.
7677         * modules/di-set: Likewise.
7678         * modules/di-set-tests: Likewise.
7679         * modules/ino-map: Likewise.
7680         * modules/ino-map-tests: Likewise.
7681         * tests/test-di-set.c: Likewise.
7682         * tests/test-ino-map.c: Likewise.
7683
7684 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
7685
7686         getloadavg: merge minor changes from Emacs
7687
7688         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
7689         (getloadavg): Use memset, not bzero.
7690
7691         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
7692         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
7693         clash (bug#86).
7694
7695 2010-11-14  Bruno Haible  <bruno@clisp.org>
7696
7697         Allow multiple gnulib generated replacements to coexist.
7698         * lib/getopt.in.h (struct option): Avoid identical redefinition.
7699         * lib/inttypes.in.h (imaxdiv_t): Likewise.
7700         * lib/langinfo.in.h (nl_item): Likewise.
7701         * lib/math.in.h (_NaN, NAN): Likewise.
7702         * lib/netdb.in.h (struct addrinfo): Likewise.
7703         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
7704         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
7705         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
7706         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
7707         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
7708         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
7709         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
7710         pthread_mutexattr_init, pthread_mutexattr_settype,
7711         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
7712         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
7713         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
7714         pthread_spin_trylock, pthread_spin_unlock): Likewise.
7715         * lib/sched.in.h (struct sched_param): Likewise.
7716         * lib/se-selinux.in.h (security_class_t, security_context_t,
7717         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
7718         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
7719         lsetfilecon, fsetfilecon, security_check_context,
7720         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
7721         Likewise.
7722         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
7723         Likewise.
7724         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
7725         _gl_function_taking_int_returning_void_t, union sigval,
7726         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
7727         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
7728         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7729         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
7730         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
7731         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
7732         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
7733         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
7734         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
7735         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
7736         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
7737         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
7738         socklen_t, rpl_fd_isset): Likewise.
7739         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
7740         * lib/sys_time.in.h (struct timeval): Likewise.
7741         * lib/sys_times.in.h (struct tms): Likewise.
7742         * lib/sys_utsname.in.h (struct utsname):
7743         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
7744         * lib/unistd.in.h (getpagesize): Likewise.
7745         * lib/wchar.in.h (mbstate_t): Likewise.
7746         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7747         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
7748         towlower, towupper): Likewise.
7749         Reported by Sam Steingold <sds@gnu.org>.
7750
7751 2011-02-05  Eric Blake  <eblake@redhat.com>
7752
7753         unsetenv: work around Haiku issues
7754         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
7755         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
7756
7757 2010-12-30  Bruce Korb  <bkorb@gnu.org>
7758
7759         libposix: avoid calling error() within libposix
7760         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
7761         is defined.
7762
7763 2011-02-05  Eric Blake  <eblake@redhat.com>
7764
7765         strerror_r-posix: port to cygwin
7766         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
7767         implementation.
7768         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
7769         * tests/test-strerror_r.c (main): Fix test.
7770         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
7771         issue.
7772
7773 2011-02-05  Bruno Haible  <bruno@clisp.org>
7774
7775         New module 'wmemchr'.
7776         * modules/wmemchr: New file.
7777         * lib/wchar.in.h (wmemchr): New declaration.
7778         * lib/wmemchr.c: New file.
7779         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
7780         * m4/wmemchr.m4: New file.
7781         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
7782         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
7783         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
7784         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
7785         * doc/posix-functions/wmemchr.texi: Mention the new module.
7786
7787 2011-02-04  Eric Blake  <eblake@redhat.com>
7788
7789         fdopendir: detect FreeBSD bug
7790         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
7791         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
7792
7793 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
7794
7795         stdbool: do not define HAVE_STDBOOL_H
7796         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
7797         AC_HEADER_STDBOOL.  All uses changed.  Do not define
7798         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
7799         imported from the latest Autoconf git.  It was motivated by Emacs,
7800         which uses gnulib but does not need HAVE_STDBOOL_H.
7801
7802 2011-02-04  Bruno Haible  <bruno@clisp.org>
7803
7804         wcsnrtombs: Prepare for new module wwcsnrtombs.
7805         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
7806         * lib/wcsnrtombs.c: Include it.
7807         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
7808
7809         wcsrtombs: Prepare for new module wwcsrtombs.
7810         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
7811         * lib/wcsrtombs.c: Include it.
7812         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
7813
7814         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
7815         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
7816         * lib/mbsnrtowcs.c: Include it.
7817         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
7818
7819         mbsrtowcs: Prepare for new module mbsrtowwcs.
7820         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
7821         * lib/mbsrtowcs.c: Include it.
7822         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
7823
7824 2011-02-04  Bruno Haible  <bruno@clisp.org>
7825
7826         vasnprintf: Reduce use of malloc for small format strings.
7827         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
7828         (arguments): Add room for the first 7 arguments.
7829         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
7830         (char_directives, u8_directives, u16_directives, u32_directives): Add
7831         room for the first 7 directives.
7832         * lib/printf-parse.c: Include <string.h>.
7833         (PRINTF_PARSE): Change memory handling code so that it uses the first
7834         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
7835         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
7836         Reported by Pádraig Brady <P@draigbrady.com>.
7837
7838 2011-01-31  Eric Blake  <eblake@redhat.com>
7839
7840         dup2: work around Haiku bug
7841         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
7842         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
7843         * doc/posix-functions/dup2.texi (dup2): Document the bug.
7844         * tests/test-dup2.c (main): Enhance test.
7845
7846 2011-01-31  Simon Josefsson  <simon@josefsson.org>
7847
7848         doc: off_t is not available in eglibc 2.11.2 stdio.h.
7849         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
7850         declared by eglibc 2.11.2.
7851         * lib/stdio.in.h: Likewise.
7852
7853 2011-01-31  Eric Blake  <eblake@redhat.com>
7854
7855         ignore-value: add missing test dependency
7856         * tests/test-ignore-value.c: Revert previous change; stdio.h
7857         provides off_t.
7858         * modules/ignore-value-tests (Depends-on): Add missing dependency.
7859
7860 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
7861
7862         mktime: clarify long_int width checking
7863         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
7864         the top level, to make it clearer that the assumption about
7865         long_int width is being checked.  See
7866         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
7867
7868 2011-01-30  Simon Josefsson  <simon@josefsson.org>
7869
7870         ignore-value: Fix self-test.
7871         * tests/test-ignore-value.c: Include sys/types.h for off_t.
7872
7873 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
7874
7875         TYPE_MAXIMUM: avoid theoretically undefined behavior
7876         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
7877         negative number, which the C Standard says has undefined behavior.
7878         In practice this is not a problem, but might as well do it by the book.
7879         Reported by Rich Felker and Eric Blake; see
7880         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
7881         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
7882         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7883         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7884         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
7885         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7886         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
7887
7888         mktime: #undef mktime before #defining it
7889         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
7890
7891         mktime: systematically normalize tm_isdst comparisons
7892         * lib/mktime.c (isdst_differ): New function.
7893         (__mktime_internal): Use it systematically for all isdst comparisons.
7894         This completes the fix for libc BZ #6723, and removes the need for
7895         normalizing tm_isdst.  See
7896         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
7897         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
7898
7899         mktime: fix some integer overflow issues and sidestep the rest
7900
7901         This was prompted by a bug report by Benjamin Lindner for MinGW
7902         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
7903         His bug is due to signed integer overflow (0 - INT_MIN), and I
7904         I scanned through mktime.c looking for other integer overflow
7905         problems, fixing all the bugs I found.
7906
7907         Although the C Standard says the resulting code is still not safe
7908         in the presence of integer overflow, in practice it should be good
7909         enough for all real-world two's-complement implementations, except
7910         for debugging environments that deliberately trap on integer
7911         overflow (e.g., gcc -ftrapv).
7912
7913         * lib/mktime.c (WRAPV): New macro.
7914         (SHR): Also check that long_int and time_t shift right in the
7915         usual way, before using the fast-but-unportable method.
7916         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
7917         used.  The code already assumed two's complement, so there's
7918         no need to test for alternatives.  All uses removed.
7919         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
7920         the C standard.  Problem reported by Rich Felker in
7921         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
7922         (twos_complement_arithmetic): Also check long_int and time_t.
7923         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
7924         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
7925         (__mktime_internal): Avoid integer overflow with unary subtraction
7926         in two instances where -1 - X is an adequate replacement for -X,
7927         since the calculations are approximate.
7928
7929 2011-01-29  Eric Blake  <eblake@redhat.com>
7930
7931         mktime: avoid infinite loop
7932         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
7933         type; behavior is still undefined but portable to all known targets.
7934         Reported by Rich Felker.
7935
7936 2011-01-29  Simon Josefsson  <simon@josefsson.org>
7937
7938         rename, unlink, same-inode: Relicense.
7939         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
7940         * modules/unlink (License): Likewise.
7941         * modules/same-inode (License): Likewise.
7942
7943 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7944
7945         mktime: avoid problems on NetBSD 5 / i386
7946         * lib/mktime.c (long_int): New type.  This works around a problem
7947         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
7948         but time_t is 64 bits, and where I expect the existing code is
7949         wrong in some cases.
7950         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
7951         (ydhms_diff): Bring back the compile-time check for wide-enough
7952         year and yday.
7953
7954         mktime: fix misspelling in comment
7955         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
7956         This merges all recent glibc changes of importance.
7957
7958 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7959
7960         move-if-change: cope with concurrent mv of identical file.
7961         * build-aux/move-if-change (CMPPROG): Accept environment
7962         variable as an override for `cmp'.
7963         (usage): Document CMPPROG.
7964         Adjust comparison to drop stdout.  Cope with failure of mv if
7965         the target file exists and is identical to the source, for
7966         parallel builds.
7967         Report from H.J. Lu against binutils in PR binutils/12283.
7968
7969 2011-01-28  Bruce Korb  <bkorb@gnu.org>
7970
7971         * users.txt: Mention sharutils.
7972
7973 2011-01-28  Simon Josefsson  <simon@josefsson.org>
7974
7975         * users.txt: Mention OATH Toolkit.
7976
7977 2011-01-27  Bruno Haible  <bruno@clisp.org>
7978
7979         Prepare for supporting FreeBSD 10.
7980         * build-aux/config.libpath: Remove handling of freebsd1*.
7981
7982 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
7983
7984         Prepare for supporting FreeBSD 10.
7985         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
7986         match FreeBSD 10.0.
7987
7988 2011-01-27  Bruno Haible  <bruno@clisp.org>
7989
7990         vma-iter, get-rusage-as: Add OpenBSD support.
7991         * modules/vma-iter (configure.ac): Test for mquery.
7992         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
7993         * lib/vma-iter.c: Include <sys/mman.h>.
7994         (vma_iterate): Add an implementation based on mquery().
7995         * lib/resource-ext.h (get_rusage_as): Update comments.
7996         * lib/get-rusage-as.c: Likewise.
7997         * lib/get-rusage-data.c: Likewise.
7998
7999 2011-01-26  Karl Berry  <karl@gnu.org>
8000
8001         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
8002         variables to make it easier to override the makeinfo program used.
8003
8004 2011-01-26  Eric Blake  <eblake@redhat.com>
8005
8006         fcntl: work around Haiku F_DUPFD bugs
8007         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
8008         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
8009         cloexec bit on duplication.
8010         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
8011
8012 2011-01-26  Bruno Haible  <bruno@clisp.org>
8013
8014         Enable memory leak tests on AIX.
8015         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
8016         * tests/test-fprintf-posix3.c (main): Likewise.
8017
8018 2011-01-26  Bruno Haible  <bruno@clisp.org>
8019
8020         Tests for module 'get-rusage-data'.
8021         * modules/get-rusage-data-tests: New file.
8022         * tests/test-get-rusage-data.c: New file.
8023
8024         New module 'get-rusage-data'.
8025         * lib/resource-ext.h (get_rusage_data): New declaration.
8026         * lib/get-rusage-data.c: New file.
8027         * modules/get-rusage-data: New file.
8028
8029 2011-01-25  Bruno Haible  <bruno@clisp.org>
8030
8031         get-rusage-as: Allow for easier testing.
8032         * lib/resource-ext.h (get_rusage_as): Add comment.
8033         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
8034         (main): New function for interactive testing.
8035
8036 2011-01-25  Bruno Haible  <bruno@clisp.org>
8037
8038         vma-iter: Treat Haiku like BeOS.
8039         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
8040         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
8041
8042 2011-01-25  Eric Blake  <eblake@redhat.com>
8043
8044         c-stack: fix regression on cygwin when libsigsegv is present
8045         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
8046
8047 2011-01-24  Bruno Haible  <bruno@clisp.org>
8048
8049         vma-iter: Avoid empty intervals.
8050         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
8051         on an empty interval.
8052
8053 2011-01-24  Jim Meyering  <meyering@redhat.com>
8054
8055         u64: remove unnecessary #include
8056         * lib/u64.h: Don't include <stddef.h>.  It was not used.
8057
8058 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8059
8060         Allow the user to avoid the HAVE_RAW_DECL_* macros.
8061         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
8062
8063 2011-01-23  Bruno Haible  <bruno@clisp.org>
8064
8065         New module 'vma-iter'.
8066         * lib/vma-iter.h: New file.
8067         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
8068         * modules/vma-iter: New file.
8069         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
8070         for get_rusage_as_via_iterator.
8071         (vma_iterate_callback): New function.
8072         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
8073         * modules/get-rusage-as (Depends-on): Add vma-iter.
8074
8075 2011-01-23  Bruno Haible  <bruno@clisp.org>
8076
8077         uninorm: Tweak includes.
8078         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
8079         Reported by Jim Meyering.
8080
8081 2011-01-23  Bruno Haible  <bruno@clisp.org>
8082
8083         get-rusage-as: Improve on NetBSD.
8084         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
8085         /proc, like on FreeBSD.
8086
8087 2011-01-23  Jim Meyering  <meyering@redhat.com>
8088
8089         xreadlink.h: remove unnecessary #include
8090         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
8091
8092         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
8093         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
8094
8095 2011-01-23  Bruno Haible  <bruno@clisp.org>
8096
8097         get-rusage-as: Fix bug.
8098         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
8099         original limit when aborting the first loop.
8100
8101 2011-01-23  Bruno Haible  <bruno@clisp.org>
8102
8103         wctype: Ensure valid C syntax.
8104         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
8105         unconditionally, instead of gl_NEXT_HEADERS conditionally.
8106
8107 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8108
8109         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
8110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
8111         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
8112         as they are needed only for configure's test case.
8113         This removes two unnecessary symbols from config.h.
8114
8115         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
8116         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
8117         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
8118         AC_CHECK_HEADERS_ONCE on a header that we also invoke
8119         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
8120         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
8121         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
8122         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8123         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8124         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8125         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8126         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8127         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8128         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8129         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8130         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8131         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8132         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
8133
8134 2011-01-21  Eric Blake  <eblake@redhat.com>
8135
8136         maintainer-makefile: work with older git for submodule check
8137         * top/maint.mk (public-submodule-commit): Rewrite to avoid
8138         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
8139         Reported by Matthias Bolte.
8140
8141         bootstrap: minor portability fixes
8142         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
8143         (usage): Omit leading capital and trailing . on help phrases, per
8144         GNU Coding Standards.
8145         (check_versions, top level): Prefix messages with script name.
8146
8147 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
8148
8149         bootstrap: support --no-git option
8150         * build-aux/bootstrap: Add --no-git option, to be used when
8151         --gnulib-srcdir points to the exact desired checkout.
8152
8153 2011-01-21  Eric Blake  <eblake@redhat.com>
8154
8155         strerror_r-posix: work with glibc 2.13
8156         * lib/strerror_r.c (strerror_r): Fix return type.
8157
8158 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8159             Bruno Haible  <bruno@clisp.org>
8160
8161         uN_strstr: New unit tests.
8162         * modules/unistr/u8-strstr-tests: New file.
8163         * modules/unistr/u16-strstr-tests: New file.
8164         * modules/unistr/u32-strstr-tests: New file.
8165         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
8166         * tests/unistr/test-u8-strstr.c: New file.
8167         * tests/unistr/test-u16-strstr.c: New file.
8168         * tests/unistr/test-u32-strstr.c: New file.
8169
8170 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8171             Bruno Haible  <bruno@clisp.org>
8172
8173         Make uN_strstr functions O(n) worst-case.
8174         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
8175         16-bit and 32-bit unit cases, use the unibyte algorithm from
8176         lib/mbsstr.c.
8177         * lib/unistr/u8-strstr.c: Include <string.h>.
8178         (UNIT_IS_UINT8_T): New macro.
8179         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
8180         (U_STRLEN, U_STRNLEN): New macros.
8181         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
8182         (U_STRLEN, U_STRNLEN): New macros.
8183         * modules/unistr/u8-strstr (Depends-on): Add strstr.
8184         (configure.ac): Update required libunistring version.
8185         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
8186         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
8187         malloca.
8188         (configure.ac): Update required libunistring version.
8189         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
8190         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
8191         malloca.
8192         (configure.ac): Update required libunistring version.
8193
8194 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8195             Bruno Haible  <bruno@clisp.org>
8196
8197         Prepare for faster uN_strstr functions.
8198         * lib/str-kmp.h: Support definable UNITs.
8199         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
8200         needle_len argument.
8201         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
8202         * lib/mbscasestr.c (mbscasestr): Likewise.
8203
8204 2011-01-21  Pádraig Brady <P@draigBrady.com>
8205
8206         malloca-tests: make faster by unsetting MALLOC_PERTURB_
8207         * tests/test-malloca.c (main): Unset the environment variable
8208         to greatly speed up the test.
8209         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
8210         * modules/malloca-tests: Depend on unsetenv.
8211
8212 2011-01-21  Pádraig Brady <P@draigBrady.com>
8213
8214         ignore-value: remove stdint dependency
8215         * lib/ignore-value.h: Remove <stdint.h>
8216         * modules/ignore-value: Remove stdint dependency.
8217
8218 2011-01-21  Jim Meyering  <meyering@redhat.com>
8219
8220         maint.mk: adjust variable name to be consistent with other gl_ vars
8221         * top/maint.mk (gl_public_submodule_commit): Rename the variable
8222         to be lower case.
8223
8224 2011-01-20  Jim Meyering  <meyering@redhat.com>
8225
8226         maint.mk: make "check" depend on public-submodule-commit by default
8227         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
8228
8229 2011-01-20  Bruno Haible  <bruno@clisp.org>
8230
8231         mbfile, mbiter: Complete change from 2008-12-21.
8232         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
8233         * m4/mbiter.m4 (gl_MBITER): Likewise.
8234
8235 2011-01-20  Jim Meyering  <meyering@redhat.com>
8236
8237         init.sh: insert space between each function name and "()"
8238         * tests/init.sh: Make it a little easier to see that a function's
8239         name is "warn_", and not "warn" when looking at the first part of
8240         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
8241
8242 2011-01-20  Jim Meyering  <meyering@redhat.com>
8243
8244         mountlist: clean up code formatting
8245         * lib/mountlist.c (read_file_system_list): Split a long line,
8246         correct bracing style, use NULL in place of "(struct statfs *)0",
8247         don't parenthesize return value, add spaces around "=" and after
8248         ";-in-for-stmt".
8249
8250 2011-01-14  Markus Duft <mduft@gentoo.org>
8251
8252         mountlist: add support for Interix
8253         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
8254         Apply statvfs to all entries of /dev/fs.
8255         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
8256         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
8257
8258 2011-01-20  Jim Meyering  <meyering@redhat.com>
8259
8260         maint.mk: improve the public-submodule-commit rule
8261         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
8262         to suppress printing of its commands... unless V=1.
8263         Add git submodule's --quiet option to suppress printing of e.g.,
8264         "Entering gnulib" output.
8265         "cd" into $(srcdir) before running git submodule.
8266
8267 2011-01-20  Bruno Haible  <bruno@clisp.org>
8268
8269         include_next: Fix bug introduced on 2011-01-18.
8270         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
8271         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
8272         ac_cv_header_... variable if the second argument is not 'check'.
8273         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
8274         gl_NEXT_HEADERS_INTERNAL.
8275
8276 2011-01-20  Bruno Haible  <bruno@clisp.org>
8277
8278         Allow the user to avoid the GNULIB_TEST_* macros.
8279         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
8280         Suggested by Paul Eggert.
8281
8282 2011-01-14  Jim Meyering  <meyering@redhat.com>
8283
8284         bootstrap: avoid failure when there is no .gitmodules file
8285         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
8286         has been assigned to, even when its value is the empty string.
8287         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
8288         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
8289         Reported by John W. Eaton <jwe@gnu.org>.
8290
8291 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
8292
8293         assume <ctype.h>, ..., <time.h> exist
8294         For years gnulib has been assuming the existence of the headers
8295         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
8296         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
8297         them, since they don't appear to be needed.
8298         * README (Portability guidelines): Document this.
8299         * lib/flock.c: Assume <fcntl.h> exists.
8300         * lib/regex_internal.h: Assume <locale.h> exists.
8301         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
8302         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
8303         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
8304         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
8305         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
8306         * m4/regex.m4 (gl_REGEX): Likewise.
8307         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
8308         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
8309         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
8310         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
8311         * tests/test-argp.c: Likewise.
8312         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
8313
8314         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
8315         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
8316         AA_APPLE_UNIVERSAL_BUILD.  See
8317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
8318         * NEWS: Document this.
8319
8320 2011-01-19  Eric Blake  <eblake@redhat.com>
8321
8322         c-stack: assume stack overflow if SA_SIGINFO unsupported
8323         * lib/c-stack.c (SIGACTION_WORKS): Rename...
8324         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
8325         sigaction will work.
8326         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
8327         behavior match Linux.
8328         * tests/test-c-stack.c (main): Prefer NULL for pointers.
8329
8330         stdbool-tests: accomodate Haiku
8331         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
8332
8333         binary-io: fix O_TEXT on Haiku
8334         * modules/binary-io (Depends-on): Add fcntl-h.
8335         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
8336         than blindly undefining O_TEXT.
8337         Reported by Scott McCreary.
8338
8339 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
8340
8341         include_next: do not check for standard headers like stddef.h
8342
8343         I found this problem when modifying Emacs to use gnulib.
8344         I noticed that it added HAVE_STDDEF_H to config.h, even though
8345         gnulib always assumes <stddef.h> exists as per README and this
8346         symbol is unnecessary.
8347         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
8348         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
8349         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
8350         faster for headers like stddef.h that are known to exist.
8351         (gl_CHECK_NEXT_HEADERS): Use it.
8352         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
8353         rather than gl_CHECK_NEXT_HEADERS.
8354         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
8355         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
8356
8357 2011-01-18  Eric Blake  <eblake@redhat.com>
8358
8359         ansi-c++-opt: skip C++ dependency style if C++ is unused
8360         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
8361         tests when we know C++ compilation is not desired.
8362         Reported by Scott McCreary.
8363
8364 2011-01-18  Bruno Haible  <bruno@clisp.org>
8365
8366         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
8367         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
8368         (main): Perform test also when getrlimit and setrlimit don't exist or
8369         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
8370         limiting the address space size using setrlimit, compare the address
8371         space size before and after the the test.
8372         * tests/test-dprintf-posix2.c: Likewise.
8373         * tests/test-fprintf-posix3.sh: Update skip messages.
8374         * tests/test-dprintf-posix2.sh: Likewise.
8375         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
8376         * modules/dprintf-posix-tests (Depends-on): Likewise.
8377         Reported by Bruce Korb <bkorb@gnu.org> and
8378         Gary V. Vaughan <gary@gnu.org>.
8379
8380 2011-01-18  Bruno Haible  <bruno@clisp.org>
8381
8382         get-rusage-as: Improvement for Cygwin.
8383         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
8384         areas that are merely reserved.
8385
8386 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
8387
8388         strftime: remove dependencies on multibyte modules
8389
8390         strftime depended on mbrlen, mbsinit, and wchar, but these modules
8391         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
8392         only if __osf__ is defined, and I suspect OSF doesn't need these
8393         other modules.  If my guess is wrong, we'll need to come up with a
8394         variant of strftime that doesn't need the multibyte modules.
8395
8396         I discovered this problem when attempting modify Emacs to use the
8397         strftime module.  With the previous gnulib, this caused Emacs to
8398         need 31 new files, ranging from lib/config.charset to
8399         m4/wint_t.m4.  This was overkill and I expect would be offputting
8400         to the Emacs maintainers.  After this change, only 6 new files are
8401         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
8402         stdbool.m4, and tm_gmtoff.m4.
8403
8404         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
8405         Suggested by Bruno Haible in
8406         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
8407         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
8408         and do not check for wchar.h.
8409         * modules/strftime (Files): Remove m4/mbstate_t.m4.
8410         (Depends-on): Remove mbrlen, mbsinit, wchar.
8411
8412 2011-01-18  Bruno Haible  <bruno@clisp.org>
8413
8414         Tests for module 'get-rusage-as'.
8415         * modules/get-rusage-as-tests: New file.
8416         * tests/test-get-rusage-as.c: New file.
8417
8418         New module 'get-rusage-as'.
8419         * modules/get-rusage-as: New file.
8420         * lib/resource-ext.h: New file.
8421         * lib/get-rusage-as.c: New file.
8422
8423 2011-01-17  Eric Blake  <eblake@redhat.com>
8424
8425         sigaction: relax license from LGPLv3+ to LGPLv2+
8426         * modules/sigaction (License): Relax to LGPLv2+.
8427
8428 2011-01-14  Bruno Haible  <bruno@clisp.org>
8429
8430         filemode: Make function declarations usable in C++ mode.
8431         * lib/filemode.h: Enclose function declarations in extern "C" block.
8432         Reported by John W. Eaton <jwe@gnu.org>.
8433
8434 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
8435
8436         save-cwd: no longer include "xgetcwd.h"
8437         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
8438         This avoids a compilation failure in projects that use save-cwd
8439         without also using the xgetcwd module.
8440
8441 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8442
8443         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
8444         This is so that a program like Emacs, which needs only dtoastr,
8445         does not have to bother with distributing and compiling ftoastr
8446         and ldtoastr.
8447         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
8448         * modules/dtoastr, modules/ldtoastr: New files.
8449         * modules/ftoastr: Now works just for 'float'.
8450         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
8451         (Makefile.am): Remove ftoastr.h (not needed and no effect),
8452         dtoastr.c, ldtoastr.c.
8453
8454 2011-01-11  Jim Meyering  <meyering@redhat.com>
8455
8456         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
8457         There is no need to work around the lack of the fchdir function,
8458         since gnulib can now provide a replacement when required.
8459         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
8460         * modules/save-cwd (Depends-on): Add fchdir.
8461
8462 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8463
8464         openat, save-cwd: avoid xmalloc
8465
8466         This removes a direct (but undocumented) dependency of openat on
8467         xalloc, along with an indirect dependency via save-cwd.  It also
8468         removes a dependency of save-cwd on xgetcwd, and thereby
8469         indirectly on xalloc.  This change causes the openat substitute
8470         to fall back on save_cwd when memory is tight, and for save_cwd to
8471         fail instead of dying when memory is tight, but that's good enough.
8472         Problem and initial idea for fix reported by Bastien Roucaries in
8473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
8474
8475         * lib/openat-proc.c: Include stdlib.h (for malloc), not
8476         xalloc.h (for xmalloc).
8477         (openat_proc_name): Use malloc, not xmalloc.
8478         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
8479         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
8480
8481         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
8482         This avoids heap allocation for file names whose lengths are in
8483         the range 512..1023, with the upper bound increasing to at most
8484         4031 depending on the platform's PATH_MAX.  (We do not want
8485         pathmax.h here as it might supply a non-constant PATH_MAX.)
8486         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
8487         Perhaps they should be moved to malloca.h?
8488         (OPENAT_BUFFER_SIZE): Use them.
8489
8490 2011-01-10  Bruno Haible  <bruno@clisp.org>
8491
8492         doc: Update users.txt.
8493         * users.txt: Add recutils.
8494
8495 2011-01-09  Karl Berry  <karl@gnu.org>
8496
8497         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
8498
8499         * doc/configmake.texi: New file.
8500         * doc/gnulib.texi: Include it.
8501         * modules/configmake: Move documentation from here.
8502
8503 2011-01-09  Bruno Haible  <bruno@clisp.org>
8504
8505         Update to Unicode 6.0.0.
8506         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
8507         (get_lbp): Update for Unicode 6.0.0.
8508         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
8509         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
8510         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
8511         U+11001, U+11038..U+11046. Remove U+06DE.
8512         (uc_width): Fix bounds of planes.
8513         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8514         lib/uniwidth/width.c.
8515         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
8516         trailing whitespace removed.
8517         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
8518         without comments, but with the original copyright notice.
8519         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
8520         * lib/unicase/ignorable.h: Likewise.
8521         * lib/unicase/tocasefold.h: Likewise.
8522         * lib/unicase/tolower.h: Likewise.
8523         * lib/unicase/totitle.h: Likewise.
8524         * lib/unicase/toupper.h: Likewise.
8525         * lib/unictype/bidi_of.h: Likewise.
8526         * lib/unictype/blocks.h: Likewise.
8527         * lib/unictype/categ_C.h: Likewise.
8528         * lib/unictype/categ_Cn.h: Likewise.
8529         * lib/unictype/categ_L.h: Likewise.
8530         * lib/unictype/categ_Ll.h: Likewise.
8531         * lib/unictype/categ_Lm.h: Likewise.
8532         * lib/unictype/categ_Lo.h: Likewise.
8533         * lib/unictype/categ_Lu.h: Likewise.
8534         * lib/unictype/categ_M.h: Likewise.
8535         * lib/unictype/categ_Mc.h: Likewise.
8536         * lib/unictype/categ_Me.h: Likewise.
8537         * lib/unictype/categ_Mn.h: Likewise.
8538         * lib/unictype/categ_N.h: Likewise.
8539         * lib/unictype/categ_Nd.h: Likewise.
8540         * lib/unictype/categ_No.h: Likewise.
8541         * lib/unictype/categ_P.h: Likewise.
8542         * lib/unictype/categ_Po.h: Likewise.
8543         * lib/unictype/categ_S.h: Likewise.
8544         * lib/unictype/categ_Sc.h: Likewise.
8545         * lib/unictype/categ_Sk.h: Likewise.
8546         * lib/unictype/categ_Sm.h: Likewise.
8547         * lib/unictype/categ_So.h: Likewise.
8548         * lib/unictype/categ_of.h: Likewise.
8549         * lib/unictype/combining.h: Likewise.
8550         * lib/unictype/ctype_alnum.h: Likewise.
8551         * lib/unictype/ctype_alpha.h: Likewise.
8552         * lib/unictype/ctype_graph.h: Likewise.
8553         * lib/unictype/ctype_lower.h: Likewise.
8554         * lib/unictype/ctype_print.h: Likewise.
8555         * lib/unictype/ctype_punct.h: Likewise.
8556         * lib/unictype/ctype_upper.h: Likewise.
8557         * lib/unictype/decdigit.h: Likewise.
8558         * lib/unictype/digit.h: Likewise.
8559         * lib/unictype/numeric.h: Likewise.
8560         * lib/unictype/pr_alphabetic.h: Likewise.
8561         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
8562         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
8563         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
8564         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
8565         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
8566         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
8567         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
8568         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
8569         * lib/unictype/pr_case_ignorable.h: Likewise.
8570         * lib/unictype/pr_cased.h: Likewise.
8571         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
8572         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
8573         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
8574         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
8575         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
8576         * lib/unictype/pr_combining.h: Likewise.
8577         * lib/unictype/pr_composite.h: Likewise.
8578         * lib/unictype/pr_currency_symbol.h: Likewise.
8579         * lib/unictype/pr_decimal_digit.h: Likewise.
8580         * lib/unictype/pr_deprecated.h: Likewise.
8581         * lib/unictype/pr_format_control.h: Likewise.
8582         * lib/unictype/pr_grapheme_base.h: Likewise.
8583         * lib/unictype/pr_grapheme_extend.h: Likewise.
8584         * lib/unictype/pr_grapheme_link.h: Likewise.
8585         * lib/unictype/pr_id_continue.h: Likewise.
8586         * lib/unictype/pr_id_start.h: Likewise.
8587         * lib/unictype/pr_ideographic.h: Likewise.
8588         * lib/unictype/pr_lowercase.h: Likewise.
8589         * lib/unictype/pr_math.h: Likewise.
8590         * lib/unictype/pr_numeric.h: Likewise.
8591         * lib/unictype/pr_other_alphabetic.h: Likewise.
8592         * lib/unictype/pr_other_id_continue.h: Likewise.
8593         * lib/unictype/pr_other_math.h: Likewise.
8594         * lib/unictype/pr_punctuation.h: Likewise.
8595         * lib/unictype/pr_sentence_terminal.h: Likewise.
8596         * lib/unictype/pr_terminal_punctuation.h: Likewise.
8597         * lib/unictype/pr_unassigned_code_value.h: Likewise.
8598         * lib/unictype/pr_unified_ideograph.h: Likewise.
8599         * lib/unictype/pr_uppercase.h: Likewise.
8600         * lib/unictype/pr_xid_continue.h: Likewise.
8601         * lib/unictype/pr_xid_start.h: Likewise.
8602         * lib/unictype/scripts.h: Likewise.
8603         * lib/unictype/scripts_byname.gperf: Likewise.
8604         * lib/unictype/sy_java_ident.h: Likewise.
8605         * lib/unigbrk/gbrkprop.h: Likewise.
8606         * lib/unilbrk/lbrkprop1.h: Likewise.
8607         * lib/unilbrk/lbrkprop2.h: Likewise.
8608         * lib/uninorm/decomposition-table2.h: Likewise.
8609         * lib/uniwbrk/wbrkprop.h: Likewise.
8610         * tests/unicase/test-cased.c: Likewise.
8611         * tests/unicase/test-ignorable.c: Likewise.
8612         * tests/unicase/test-uc_tolower.c: Likewise.
8613         * tests/unicase/test-uc_totitle.c: Likewise.
8614         * tests/unicase/test-uc_toupper.c: Likewise.
8615         * tests/unictype/test-categ_C.c: Likewise.
8616         * tests/unictype/test-categ_Cn.c: Likewise.
8617         * tests/unictype/test-categ_L.c: Likewise.
8618         * tests/unictype/test-categ_Ll.c: Likewise.
8619         * tests/unictype/test-categ_Lm.c: Likewise.
8620         * tests/unictype/test-categ_Lo.c: Likewise.
8621         * tests/unictype/test-categ_Lu.c: Likewise.
8622         * tests/unictype/test-categ_M.c: Likewise.
8623         * tests/unictype/test-categ_Mc.c: Likewise.
8624         * tests/unictype/test-categ_Me.c: Likewise.
8625         * tests/unictype/test-categ_Mn.c: Likewise.
8626         * tests/unictype/test-categ_N.c: Likewise.
8627         * tests/unictype/test-categ_Nd.c: Likewise.
8628         * tests/unictype/test-categ_No.c: Likewise.
8629         * tests/unictype/test-categ_P.c: Likewise.
8630         * tests/unictype/test-categ_Po.c: Likewise.
8631         * tests/unictype/test-categ_S.c: Likewise.
8632         * tests/unictype/test-categ_Sc.c: Likewise.
8633         * tests/unictype/test-categ_Sk.c: Likewise.
8634         * tests/unictype/test-categ_Sm.c: Likewise.
8635         * tests/unictype/test-categ_So.c: Likewise.
8636         * tests/unictype/test-ctype_alnum.c: Likewise.
8637         * tests/unictype/test-ctype_alpha.c: Likewise.
8638         * tests/unictype/test-ctype_graph.c: Likewise.
8639         * tests/unictype/test-ctype_lower.c: Likewise.
8640         * tests/unictype/test-ctype_print.c: Likewise.
8641         * tests/unictype/test-ctype_punct.c: Likewise.
8642         * tests/unictype/test-ctype_upper.c: Likewise.
8643         * tests/unictype/test-decdigit.h: Likewise.
8644         * tests/unictype/test-digit.h: Likewise.
8645         * tests/unictype/test-numeric.h: Likewise.
8646         * tests/unictype/test-pr_alphabetic.c: Likewise.
8647         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
8648         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
8649         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
8650         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
8651         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
8652         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
8653         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
8654         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
8655         * tests/unictype/test-pr_case_ignorable.c: Likewise.
8656         * tests/unictype/test-pr_cased.c: Likewise.
8657         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
8658         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
8659         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
8660         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
8661         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
8662         * tests/unictype/test-pr_combining.c: Likewise.
8663         * tests/unictype/test-pr_composite.c: Likewise.
8664         * tests/unictype/test-pr_currency_symbol.c: Likewise.
8665         * tests/unictype/test-pr_decimal_digit.c: Likewise.
8666         * tests/unictype/test-pr_deprecated.c: Likewise.
8667         * tests/unictype/test-pr_format_control.c: Likewise.
8668         * tests/unictype/test-pr_grapheme_base.c: Likewise.
8669         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
8670         * tests/unictype/test-pr_grapheme_link.c: Likewise.
8671         * tests/unictype/test-pr_id_continue.c: Likewise.
8672         * tests/unictype/test-pr_id_start.c: Likewise.
8673         * tests/unictype/test-pr_ideographic.c: Likewise.
8674         * tests/unictype/test-pr_lowercase.c: Likewise.
8675         * tests/unictype/test-pr_math.c: Likewise.
8676         * tests/unictype/test-pr_numeric.c: Likewise.
8677         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
8678         * tests/unictype/test-pr_other_id_continue.c: Likewise.
8679         * tests/unictype/test-pr_other_math.c: Likewise.
8680         * tests/unictype/test-pr_punctuation.c: Likewise.
8681         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
8682         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
8683         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
8684         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
8685         * tests/unictype/test-pr_uppercase.c: Likewise.
8686         * tests/unictype/test-pr_xid_continue.c: Likewise.
8687         * tests/unictype/test-pr_xid_start.c: Likewise.
8688         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
8689         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
8690         changes.
8691         * lib/unictype/categ_Cc.h: Likewise.
8692         * lib/unictype/categ_Cf.h: Likewise.
8693         * lib/unictype/categ_Co.h: Likewise.
8694         * lib/unictype/categ_Cs.h: Likewise.
8695         * lib/unictype/categ_Lt.h: Likewise.
8696         * lib/unictype/categ_Nl.h: Likewise.
8697         * lib/unictype/categ_Pc.h: Likewise.
8698         * lib/unictype/categ_Pd.h: Likewise.
8699         * lib/unictype/categ_Pe.h: Likewise.
8700         * lib/unictype/categ_Pf.h: Likewise.
8701         * lib/unictype/categ_Pi.h: Likewise.
8702         * lib/unictype/categ_Ps.h: Likewise.
8703         * lib/unictype/categ_Z.h: Likewise.
8704         * lib/unictype/categ_Zl.h: Likewise.
8705         * lib/unictype/categ_Zp.h: Likewise.
8706         * lib/unictype/categ_Zs.h: Likewise.
8707         * lib/unictype/ctype_blank.h: Likewise.
8708         * lib/unictype/ctype_cntrl.h: Likewise.
8709         * lib/unictype/ctype_digit.h: Likewise.
8710         * lib/unictype/ctype_space.h: Likewise.
8711         * lib/unictype/ctype_xdigit.h: Likewise.
8712         * lib/unictype/mirror.h: Likewise.
8713         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
8714         * lib/unictype/pr_bidi_block_separator.h: Likewise.
8715         * lib/unictype/pr_bidi_common_separator.h: Likewise.
8716         * lib/unictype/pr_bidi_control.h: Likewise.
8717         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
8718         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
8719         * lib/unictype/pr_bidi_european_digit.h: Likewise.
8720         * lib/unictype/pr_bidi_pdf.h: Likewise.
8721         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
8722         * lib/unictype/pr_bidi_whitespace.h: Likewise.
8723         * lib/unictype/pr_dash.h: Likewise.
8724         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
8725         * lib/unictype/pr_diacritic.h: Likewise.
8726         * lib/unictype/pr_extender.h: Likewise.
8727         * lib/unictype/pr_hex_digit.h: Likewise.
8728         * lib/unictype/pr_hyphen.h: Likewise.
8729         * lib/unictype/pr_ids_binary_operator.h: Likewise.
8730         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
8731         * lib/unictype/pr_ignorable_control.h: Likewise.
8732         * lib/unictype/pr_iso_control.h: Likewise.
8733         * lib/unictype/pr_join_control.h: Likewise.
8734         * lib/unictype/pr_left_of_pair.h: Likewise.
8735         * lib/unictype/pr_line_separator.h: Likewise.
8736         * lib/unictype/pr_logical_order_exception.h: Likewise.
8737         * lib/unictype/pr_non_break.h: Likewise.
8738         * lib/unictype/pr_not_a_character.h: Likewise.
8739         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
8740         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
8741         * lib/unictype/pr_other_id_start.h: Likewise.
8742         * lib/unictype/pr_other_lowercase.h: Likewise.
8743         * lib/unictype/pr_other_uppercase.h: Likewise.
8744         * lib/unictype/pr_paired_punctuation.h: Likewise.
8745         * lib/unictype/pr_paragraph_separator.h: Likewise.
8746         * lib/unictype/pr_pattern_syntax.h: Likewise.
8747         * lib/unictype/pr_pattern_white_space.h: Likewise.
8748         * lib/unictype/pr_private_use.h: Likewise.
8749         * lib/unictype/pr_quotation_mark.h: Likewise.
8750         * lib/unictype/pr_radical.h: Likewise.
8751         * lib/unictype/pr_soft_dotted.h: Likewise.
8752         * lib/unictype/pr_space.h: Likewise.
8753         * lib/unictype/pr_titlecase.h: Likewise.
8754         * lib/unictype/pr_variation_selector.h: Likewise.
8755         * lib/unictype/pr_white_space.h: Likewise.
8756         * lib/unictype/pr_zero_width.h: Likewise.
8757         * lib/unictype/sy_c_ident.h: Likewise.
8758         * lib/unictype/sy_c_whitespace.h: Likewise.
8759         * lib/unictype/sy_java_whitespace.h: Likewise.
8760         * lib/uninorm/composition-table.gperf: Likewise.
8761         * lib/uninorm/decomposition-table1.h: Likewise.
8762         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
8763         LB8.
8764         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
8765         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
8766         * modules/unictype/*: Bump version number of expected libunistring
8767         version.
8768
8769 2011-01-09  Bruno Haible  <bruno@clisp.org>
8770
8771         Update to Unicode 5.2.0.
8772         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
8773         trailing whitespace removed.
8774
8775 2011-01-09  Bruno Haible  <bruno@clisp.org>
8776
8777         New Unicode character properties, from Unicode 5.2.0.
8778         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
8779         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
8780         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
8781         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
8782         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
8783         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
8784         uc_is_property_cased, uc_is_property_case_ignorable,
8785         uc_is_property_changes_when_lowercased,
8786         uc_is_property_changes_when_uppercased,
8787         uc_is_property_changes_when_titlecased,
8788         uc_is_property_changes_when_casefolded,
8789         uc_is_property_changes_when_casemapped): New declarations.
8790         * lib/unictype/pr_byname.gperf: Add the new properties.
8791         * modules/unictype/property-byname (Depends-on): Depend on the new
8792         properties modules.
8793         * modules/unictype/property-all (Depends-on): Likewise.
8794         * MODULES.html.sh (Unicode string functions): Add
8795         unictype/property-case-ignorable, unictype/property-cased,
8796         unictype/property-changes-when-casefolded,
8797         unictype/property-changes-when-casemapped,
8798         unictype/property-changes-when-lowercased,
8799         unictype/property-changes-when-titlecased,
8800         unictype/property-changes-when-uppercased.
8801
8802         New module 'unictype/property-changes-when-casemapped'.
8803         * modules/unictype/property-changes-when-casemapped: New file.
8804         * lib/unictype/pr_changes_when_casemapped.c: New file.
8805         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
8806         generated by gen-uni-tables.
8807         * modules/unictype/property-changes-when-casemapped-tests: New file.
8808         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
8809         automatically generated by gen-uni-tables.
8810
8811         New module 'unictype/property-changes-when-casefolded'.
8812         * modules/unictype/property-changes-when-casefolded: New file.
8813         * lib/unictype/pr_changes_when_casefolded.c: New file.
8814         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
8815         generated by gen-uni-tables.
8816         * modules/unictype/property-changes-when-casefolded-tests: New file.
8817         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
8818         automatically generated by gen-uni-tables.
8819
8820         New module 'unictype/property-changes-when-titlecased'.
8821         * modules/unictype/property-changes-when-titlecased: New file.
8822         * lib/unictype/pr_changes_when_titlecased.c: New file.
8823         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
8824         generated by gen-uni-tables.
8825         * modules/unictype/property-changes-when-titlecased-tests: New file.
8826         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
8827         automatically generated by gen-uni-tables.
8828
8829         New module 'unictype/property-changes-when-uppercased'.
8830         * modules/unictype/property-changes-when-uppercased: New file.
8831         * lib/unictype/pr_changes_when_uppercased.c: New file.
8832         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
8833         generated by gen-uni-tables.
8834         * modules/unictype/property-changes-when-uppercased-tests: New file.
8835         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
8836         automatically generated by gen-uni-tables.
8837
8838         New module 'unictype/property-changes-when-lowercased'.
8839         * modules/unictype/property-changes-when-lowercased: New file.
8840         * lib/unictype/pr_changes_when_lowercased.c: New file.
8841         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
8842         generated by gen-uni-tables.
8843         * modules/unictype/property-changes-when-lowercased-tests: New file.
8844         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
8845         automatically generated by gen-uni-tables.
8846
8847         New module 'unictype/property-case-ignorable'.
8848         * modules/unictype/property-case-ignorable: New file.
8849         * lib/unictype/pr_case_ignorable.c: New file.
8850         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
8851         by gen-uni-tables.
8852         * modules/unictype/property-case-ignorable-tests: New file.
8853         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
8854         generated by gen-uni-tables.
8855
8856         New module 'unictype/property-cased'.
8857         * modules/unictype/property-cased: New file.
8858         * lib/unictype/pr_cased.c: New file.
8859         * lib/unictype/pr_cased.h: New file, automatically generated by
8860         gen-uni-tables.
8861         * modules/unictype/property-cased-tests: New file.
8862         * tests/unictype/test-pr_cased.c: New file, automatically generated by
8863         gen-uni-tables.
8864
8865 2011-01-09  Bruno Haible  <bruno@clisp.org>
8866
8867         Update to Unicode 5.2.0.
8868         * lib/gen-uni-tables.c (output_predicate, output_category,
8869         output_combclass, output_bidi_category, output_decimal_digit_test,
8870         output_decimal_digit, output_digit_test, output_digit,
8871         output_numeric_test, output_numeric, output_mirror, output_scripts,
8872         output_scripts_byname, output_blocks, output_ident_category): Fix
8873         comment header.
8874         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
8875         get_wbp.
8876         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
8877         items.
8878         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
8879         Changes_When_Lowercased, Changes_When_Uppercased,
8880         Changes_When_Titlecased, Changes_When_Casefolded,
8881         Changes_When_Casemapped.
8882         (is_property_alphabetic, is_property_default_ignorable_code_point):
8883         Update for Unicode 5.2.0.
8884         (is_property_cased, is_property_case_ignorable,
8885         is_property_changes_when_lowercased,
8886         is_property_changes_when_uppercased,
8887         is_property_changes_when_titlecased,
8888         is_property_changes_when_casefolded,
8889         is_property_changes_when_casemapped): New functions.
8890         (output_properties): Output also the properties cased, case_ignorable,
8891         changes_when_lowercased, changes_when_uppercased,
8892         changes_when_titlecased, changes_when_casefolded,
8893         changes_when_casemapped.
8894         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
8895         Unicode TR#11 revision 17 -> 19.
8896         (LBP_CP): New enumeration value.
8897         (LBP_*): Adjust values accordingly.
8898         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
8899         TR#14 revision 22 -> 24.
8900         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
8901         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
8902         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
8903         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
8904         is_WBP_MIDLETTER.
8905         (output_composition_tables): Allow for 24 bits instead of 16 bits in
8906         the code1 and code2 of each composition rule.
8907         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
8908         * lib/unicase/ignorable.h: Likewise.
8909         * lib/unicase/tocasefold.h: Likewise.
8910         * lib/unicase/tolower.h: Likewise.
8911         * lib/unicase/totitle.h: Likewise.
8912         * lib/unicase/toupper.h: Likewise.
8913         * lib/unictype/bidi_of.h: Likewise.
8914         * lib/unictype/blocks.h: Likewise.
8915         * lib/unictype/categ_C.h: Likewise.
8916         * lib/unictype/categ_Cf.h: Likewise.
8917         * lib/unictype/categ_Cn.h: Likewise.
8918         * lib/unictype/categ_L.h: Likewise.
8919         * lib/unictype/categ_Ll.h: Likewise.
8920         * lib/unictype/categ_Lm.h: Likewise.
8921         * lib/unictype/categ_Lo.h: Likewise.
8922         * lib/unictype/categ_Lu.h: Likewise.
8923         * lib/unictype/categ_M.h: Likewise.
8924         * lib/unictype/categ_Mc.h: Likewise.
8925         * lib/unictype/categ_Mn.h: Likewise.
8926         * lib/unictype/categ_N.h: Likewise.
8927         * lib/unictype/categ_Nd.h: Likewise.
8928         * lib/unictype/categ_Nl.h: Likewise.
8929         * lib/unictype/categ_No.h: Likewise.
8930         * lib/unictype/categ_P.h: Likewise.
8931         * lib/unictype/categ_Pd.h: Likewise.
8932         * lib/unictype/categ_Po.h: Likewise.
8933         * lib/unictype/categ_S.h: Likewise.
8934         * lib/unictype/categ_Sc.h: Likewise.
8935         * lib/unictype/categ_So.h: Likewise.
8936         * lib/unictype/categ_of.h: Likewise.
8937         * lib/unictype/combining.h: Likewise.
8938         * lib/unictype/ctype_alnum.h: Likewise.
8939         * lib/unictype/ctype_alpha.h: Likewise.
8940         * lib/unictype/ctype_graph.h: Likewise.
8941         * lib/unictype/ctype_lower.h: Likewise.
8942         * lib/unictype/ctype_print.h: Likewise.
8943         * lib/unictype/ctype_punct.h: Likewise.
8944         * lib/unictype/ctype_upper.h: Likewise.
8945         * lib/unictype/decdigit.h: Likewise.
8946         * lib/unictype/digit.h: Likewise.
8947         * lib/unictype/numeric.h: Likewise.
8948         * lib/unictype/pr_alphabetic.h: Likewise.
8949         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
8950         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
8951         * lib/unictype/pr_bidi_european_digit.h: Likewise.
8952         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
8953         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
8954         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
8955         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
8956         * lib/unictype/pr_combining.h: Likewise.
8957         * lib/unictype/pr_composite.h: Likewise.
8958         * lib/unictype/pr_currency_symbol.h: Likewise.
8959         * lib/unictype/pr_dash.h: Likewise.
8960         * lib/unictype/pr_decimal_digit.h: Likewise.
8961         * lib/unictype/pr_deprecated.h: Likewise.
8962         * lib/unictype/pr_diacritic.h: Likewise.
8963         * lib/unictype/pr_extender.h: Likewise.
8964         * lib/unictype/pr_grapheme_base.h: Likewise.
8965         * lib/unictype/pr_grapheme_extend.h: Likewise.
8966         * lib/unictype/pr_grapheme_link.h: Likewise.
8967         * lib/unictype/pr_id_continue.h: Likewise.
8968         * lib/unictype/pr_id_start.h: Likewise.
8969         * lib/unictype/pr_ideographic.h: Likewise.
8970         * lib/unictype/pr_ignorable_control.h: Likewise.
8971         * lib/unictype/pr_logical_order_exception.h: Likewise.
8972         * lib/unictype/pr_lowercase.h: Likewise.
8973         * lib/unictype/pr_numeric.h: Likewise.
8974         * lib/unictype/pr_other_alphabetic.h: Likewise.
8975         * lib/unictype/pr_punctuation.h: Likewise.
8976         * lib/unictype/pr_sentence_terminal.h: Likewise.
8977         * lib/unictype/pr_terminal_punctuation.h: Likewise.
8978         * lib/unictype/pr_unassigned_code_value.h: Likewise.
8979         * lib/unictype/pr_unified_ideograph.h: Likewise.
8980         * lib/unictype/pr_uppercase.h: Likewise.
8981         * lib/unictype/pr_xid_continue.h: Likewise.
8982         * lib/unictype/pr_xid_start.h: Likewise.
8983         * lib/unictype/pr_zero_width.h: Likewise.
8984         * lib/unictype/scripts.h: Likewise.
8985         * lib/unictype/scripts_byname.gperf: Likewise.
8986         * lib/unictype/sy_java_ident.h: Likewise.
8987         * lib/unigbrk/gbrkprop.h: Likewise.
8988         * lib/unilbrk/lbrkprop1.h: Likewise.
8989         * lib/unilbrk/lbrkprop2.h: Likewise.
8990         * lib/unilbrk/lbrktables.h: Likewise.
8991         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
8992         LBP_CP. Implement rule LB30.
8993         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
8994         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
8995         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
8996         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
8997         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
8998         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
8999         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
9000         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
9001         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
9002         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
9003         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
9004         bits instead of 16 bits in the code1 and code2 of each composition
9005         rule.
9006         (uc_composition): Update for Unicode 5.2.0.
9007         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
9008         * lib/uninorm/decomposition-table2.h: Likewise.
9009         * lib/uniwbrk/wbrkprop.h: Likewise.
9010         * tests/unicase/test-cased.c: Likewise.
9011         * tests/unicase/test-ignorable.c: Likewise.
9012         * tests/unicase/test-uc_tolower.c: Likewise.
9013         * tests/unicase/test-uc_totitle.c: Likewise.
9014         * tests/unicase/test-uc_toupper.c: Likewise.
9015         * tests/unictype/test-categ_C.c: Likewise.
9016         * tests/unictype/test-categ_Cf.c: Likewise.
9017         * tests/unictype/test-categ_Cn.c: Likewise.
9018         * tests/unictype/test-categ_L.c: Likewise.
9019         * tests/unictype/test-categ_Ll.c: Likewise.
9020         * tests/unictype/test-categ_Lm.c: Likewise.
9021         * tests/unictype/test-categ_Lo.c: Likewise.
9022         * tests/unictype/test-categ_Lu.c: Likewise.
9023         * tests/unictype/test-categ_M.c: Likewise.
9024         * tests/unictype/test-categ_Mc.c: Likewise.
9025         * tests/unictype/test-categ_Mn.c: Likewise.
9026         * tests/unictype/test-categ_N.c: Likewise.
9027         * tests/unictype/test-categ_Nd.c: Likewise.
9028         * tests/unictype/test-categ_Nl.c: Likewise.
9029         * tests/unictype/test-categ_No.c: Likewise.
9030         * tests/unictype/test-categ_P.c: Likewise.
9031         * tests/unictype/test-categ_Pd.c: Likewise.
9032         * tests/unictype/test-categ_Po.c: Likewise.
9033         * tests/unictype/test-categ_S.c: Likewise.
9034         * tests/unictype/test-categ_Sc.c: Likewise.
9035         * tests/unictype/test-categ_So.c: Likewise.
9036         * tests/unictype/test-ctype_alnum.c: Likewise.
9037         * tests/unictype/test-ctype_alpha.c: Likewise.
9038         * tests/unictype/test-ctype_graph.c: Likewise.
9039         * tests/unictype/test-ctype_lower.c: Likewise.
9040         * tests/unictype/test-ctype_print.c: Likewise.
9041         * tests/unictype/test-ctype_punct.c: Likewise.
9042         * tests/unictype/test-ctype_upper.c: Likewise.
9043         * tests/unictype/test-decdigit.h: Likewise.
9044         * tests/unictype/test-digit.h: Likewise.
9045         * tests/unictype/test-numeric.h: Likewise.
9046         * tests/unictype/test-pr_alphabetic.c: Likewise.
9047         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
9048         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
9049         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
9050         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
9051         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
9052         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
9053         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
9054         * tests/unictype/test-pr_combining.c: Likewise.
9055         * tests/unictype/test-pr_composite.c: Likewise.
9056         * tests/unictype/test-pr_currency_symbol.c: Likewise.
9057         * tests/unictype/test-pr_dash.c: Likewise.
9058         * tests/unictype/test-pr_decimal_digit.c: Likewise.
9059         * tests/unictype/test-pr_deprecated.c: Likewise.
9060         * tests/unictype/test-pr_diacritic.c: Likewise.
9061         * tests/unictype/test-pr_extender.c: Likewise.
9062         * tests/unictype/test-pr_grapheme_base.c: Likewise.
9063         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
9064         * tests/unictype/test-pr_grapheme_link.c: Likewise.
9065         * tests/unictype/test-pr_id_continue.c: Likewise.
9066         * tests/unictype/test-pr_id_start.c: Likewise.
9067         * tests/unictype/test-pr_ideographic.c: Likewise.
9068         * tests/unictype/test-pr_ignorable_control.c: Likewise.
9069         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
9070         * tests/unictype/test-pr_lowercase.c: Likewise.
9071         * tests/unictype/test-pr_numeric.c: Likewise.
9072         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
9073         * tests/unictype/test-pr_punctuation.c: Likewise.
9074         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
9075         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
9076         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
9077         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
9078         * tests/unictype/test-pr_uppercase.c: Likewise.
9079         * tests/unictype/test-pr_xid_continue.c: Likewise.
9080         * tests/unictype/test-pr_xid_start.c: Likewise.
9081         * tests/unictype/test-pr_zero_width.c: Likewise.
9082         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
9083         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
9084         changed behaviour: line breaking is now disallowed between a letter
9085         or '=' and '('.
9086         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
9087         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
9088         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
9089         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
9090         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9091         lib/uniwidth/width.c.
9092         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
9093         without comments, but with the original copyright notice.
9094         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
9095         changes.
9096         * lib/unictype/categ_Cc.h: Likewise.
9097         * lib/unictype/categ_Co.h: Likewise.
9098         * lib/unictype/categ_Cs.h: Likewise.
9099         * lib/unictype/categ_Lt.h: Likewise.
9100         * lib/unictype/categ_Me.h: Likewise.
9101         * lib/unictype/categ_Pc.h: Likewise.
9102         * lib/unictype/categ_Pe.h: Likewise.
9103         * lib/unictype/categ_Pf.h: Likewise.
9104         * lib/unictype/categ_Pi.h: Likewise.
9105         * lib/unictype/categ_Ps.h: Likewise.
9106         * lib/unictype/categ_Sk.h: Likewise.
9107         * lib/unictype/categ_Sm.h: Likewise.
9108         * lib/unictype/categ_Z.h: Likewise.
9109         * lib/unictype/categ_Zl.h: Likewise.
9110         * lib/unictype/categ_Zp.h: Likewise.
9111         * lib/unictype/categ_Zs.h: Likewise.
9112         * lib/unictype/ctype_blank.h: Likewise.
9113         * lib/unictype/ctype_cntrl.h: Likewise.
9114         * lib/unictype/ctype_digit.h: Likewise.
9115         * lib/unictype/ctype_space.h: Likewise.
9116         * lib/unictype/ctype_xdigit.h: Likewise.
9117         * lib/unictype/mirror.h: Likewise.
9118         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
9119         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
9120         * lib/unictype/pr_bidi_block_separator.h: Likewise.
9121         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
9122         * lib/unictype/pr_bidi_common_separator.h: Likewise.
9123         * lib/unictype/pr_bidi_control.h: Likewise.
9124         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
9125         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
9126         * lib/unictype/pr_bidi_pdf.h: Likewise.
9127         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
9128         * lib/unictype/pr_bidi_whitespace.h: Likewise.
9129         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
9130         * lib/unictype/pr_format_control.h: Likewise.
9131         * lib/unictype/pr_hex_digit.h: Likewise.
9132         * lib/unictype/pr_hyphen.h: Likewise.
9133         * lib/unictype/pr_ids_binary_operator.h: Likewise.
9134         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
9135         * lib/unictype/pr_iso_control.h: Likewise.
9136         * lib/unictype/pr_join_control.h: Likewise.
9137         * lib/unictype/pr_left_of_pair.h: Likewise.
9138         * lib/unictype/pr_line_separator.h: Likewise.
9139         * lib/unictype/pr_math.h: Likewise.
9140         * lib/unictype/pr_non_break.h: Likewise.
9141         * lib/unictype/pr_not_a_character.h: Likewise.
9142         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
9143         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
9144         * lib/unictype/pr_other_id_continue.h: Likewise.
9145         * lib/unictype/pr_other_id_start.h: Likewise.
9146         * lib/unictype/pr_other_lowercase.h: Likewise.
9147         * lib/unictype/pr_other_math.h: Likewise.
9148         * lib/unictype/pr_other_uppercase.h: Likewise.
9149         * lib/unictype/pr_paired_punctuation.h: Likewise.
9150         * lib/unictype/pr_paragraph_separator.h: Likewise.
9151         * lib/unictype/pr_pattern_syntax.h: Likewise.
9152         * lib/unictype/pr_pattern_white_space.h: Likewise.
9153         * lib/unictype/pr_private_use.h: Likewise.
9154         * lib/unictype/pr_quotation_mark.h: Likewise.
9155         * lib/unictype/pr_radical.h: Likewise.
9156         * lib/unictype/pr_soft_dotted.h: Likewise.
9157         * lib/unictype/pr_space.h: Likewise.
9158         * lib/unictype/pr_titlecase.h: Likewise.
9159         * lib/unictype/pr_variation_selector.h: Likewise.
9160         * lib/unictype/pr_white_space.h: Likewise.
9161         * lib/unictype/sy_c_ident.h: Likewise.
9162         * lib/unictype/sy_c_whitespace.h: Likewise.
9163         * lib/unictype/sy_java_whitespace.h: Likewise.
9164         * modules/uni*/*: Bump version number of expected libunistring version.
9165         Reported by Simon Josefsson.
9166
9167 2011-01-09  Karl Heuer  <kwzh@gnu.org>
9168
9169         useless-if-before-free: fix typo in --help and make the internal,
9170         automatic version date update process work once again.
9171         --help output contained a NUL character instead of the
9172         backslash-zero that was intended.  Also, the "must lie within
9173         the first 8 lines" line is on line 9, and hence not getting
9174         automatically updated.
9175         * build-aux/useless-if-before-free: Fix the former by adding a
9176         backslash, and the latter by condensing the three lines of what-it-does
9177         to a single line, leaving one line of slack for the future.
9178
9179 2011-01-09  Bruno Haible  <bruno@clisp.org>
9180
9181         uniwidth/width: Fix width of U+1D173..U+1D17A.
9182         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
9183         symbolic_width, output_width_property_test): New functions.
9184         (main): Invoke output_nonspacing_property, output_width_property_test.
9185         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
9186         U+1D173..U+1D17A.
9187         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
9188         1.
9189         * modules/uniwidth/*: Bump version number of expected libunistring
9190         version.
9191         * modules/unilbrk/*: Likewise.
9192
9193 2011-01-08  Bruno Haible  <bruno@clisp.org>
9194
9195         uninorm tests: Preserve copyright of Unicode data file.
9196         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
9197         Mention modifications.
9198
9199 2011-01-08  Bruno Haible  <bruno@clisp.org>
9200
9201         gen-uni-tables: Prepare for Unicode 5.2.0.
9202         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
9203         (debug_output_lbp, output_lbp): Update.
9204
9205 2011-01-08  Bruno Haible  <bruno@clisp.org>
9206
9207         unilbrk: Clarify gen-uni-tables.c code.
9208         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
9209         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
9210         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
9211
9212 2011-01-07  Bruno Haible  <bruno@clisp.org>
9213
9214         strtod: Restore errno when successfully parsing Infinity or NaN.
9215         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
9216         restore the original errno.
9217
9218 2011-01-07  Bruno Haible  <bruno@clisp.org>
9219
9220         remove test: Avoid failure on HP-UX 11.
9221         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
9222
9223 2011-01-07  Bruno Haible  <bruno@clisp.org>
9224
9225         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
9226         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
9227         error code.
9228
9229 2011-01-07  Pádraig Brady <P@draigBrady.com>
9230
9231         ignore-value: fixup comments, and add Eric Blake
9232         as an author since he rewrote the macros.
9233         * lib/ignore-value.h (ignore_value):  State that
9234         we now support aggregates.  Also specify exactly
9235         when the GCC warn_unused_result feature was added.
9236
9237 2011-01-06  Eric Blake  <eblake@redhat.com>
9238
9239         ignore-value: support aggregate types
9240         * lib/ignore-value.h (ignore_value): Provide separate gcc
9241         definition.
9242         * modules/ignore-value-tests: New test module.
9243         * tests/test-ignore-value.c: New test.
9244
9245         maint.mk: improve sc_prohibit_strcmp regex
9246         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
9247         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
9248         definition of STRNEQ.
9249
9250         signal: work around Haiku issue with SIGBUS
9251         * lib/siglist.h: Add comment.
9252         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
9253         strsignal's favoring of SIGSEGV.
9254         * tests/test-signal.c (main): Avoid test failure.
9255         * doc/posix-headers/signal.texi (signal.h): Document the issue.
9256         Reported by Scott McCreary.
9257
9258         maint.mk: add pre-release check to ensure submodule commits are public
9259         * top/maint.mk (public-submodule-commit): New rule.
9260         (submodule-checks): New variable.
9261         (alpha beta stable): Depend on the variable.
9262
9263 2011-01-05  Pádraig Brady <P@draigBrady.com>
9264         and Jim Meyering  <meyering@redhat.com>
9265
9266         ignore-value: make ignore_value more generic; deprecate ignore_ptr
9267         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
9268         (ATTRIBUTE_DEPRECATED): Define.
9269         (_ignore_case): New function.
9270         (ignore_value): New macro, to replace the old function.
9271         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
9272         * modules/ignore-value (Depends-on): Add stdint.
9273
9274 2011-01-04  Eric Blake  <eblake@redhat.com>
9275
9276         doc: regenerate INSTALL
9277         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
9278         @firstparagraphindent support, now that autoconf dropped it.
9279         (INSTALL_PRELUDE): Reinstate old macro.
9280         * doc/install.texi: Resync from autoconf.
9281         * doc/INSTALL: Reflect recent autoconf update.
9282         * doc/INSTALL.ISO: Likewise.
9283         * doc/INSTALL.UTF-8: Likewise.
9284         Reported by Karl Berry.
9285
9286 2011-01-04  Bruce Korb  <address@hidden>
9287
9288         git-version-gen: avoid a sub-shell
9289         * build-aux/git-version-gen: Redirect stderr in `...` via
9290         "exec 2>...", rather than via an added sub-shell.
9291
9292 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
9293
9294         git-version-gen: use (...) rather than sh -c '...'
9295         * build-aux/git-version-gen: Rather than hard-coding a shell's name
9296         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
9297
9298 2011-01-03  Jim Meyering  <meyering@redhat.com>
9299
9300         git-version-gen: convert leading TABs to spaces
9301         * build-aux/git-version-gen: Expand leading TABs.
9302
9303         git-version-gen: handle failed "git rev-list"
9304         * build-aux/git-version-gen: Rather than leaking a "fatal" error
9305         from git and proceeding as if it had succeeded but printed no SHA1
9306         checksums, suppress the diagnostic and handle the failure.
9307         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
9308
9309         git-version-gen: include command name in one more diagnostic
9310         * build-aux/git-version-gen: When the required .tarball-version file
9311         was missing or unreadable, you might see the diagnostic from "cat",
9312         but no trace of the name of the invoking script.  Now, you still see
9313         the diagnostic from cat, but also get one from "git-version-gen: ".
9314         Inspired by a patch from Bruce Korb.
9315
9316         update-copyright: adjust test to match changed code
9317         * tests/test-update-copyright.sh: Change test's expected output
9318         to match new actual output.
9319
9320 2011-01-02  Bruno Haible  <bruno@clisp.org>
9321
9322         getlogin_r: Avoid test failure on HP-UX 11.
9323         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
9324         ERANGE when the second argument is zero.
9325         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
9326         portability problem.
9327
9328 2011-01-02  Bruce Korb  <bkorb@gnu.org>
9329
9330         * build-aux/update-copyright: doc Simon's changes
9331
9332 2011-01-02  Simon Josefsson  <simon@josefsson.org>
9333
9334         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
9335         environment variable.
9336
9337 2011-01-02  Bruno Haible  <bruno@clisp.org>
9338
9339         unigbrk: Avoid gcc warnings.
9340         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
9341         unused variable.
9342         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
9343         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
9344         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
9345         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
9346         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
9347         Change type of first argument to 'const char *'.
9348         (main): Remove unused variable.
9349         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
9350         type of first argument to 'const char *'.
9351         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
9352         Likewise.
9353         (main): Change type of variable 's'.
9354         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
9355         to 'int'.
9356
9357 2011-01-02  Bruno Haible  <bruno@clisp.org>
9358
9359         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
9360         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
9361         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
9362         bug.
9363         * lib/pwrite.c: Undo 2010-12-31 patch.
9364         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
9365
9366 2011-01-02  Bruno Haible  <bruno@clisp.org>
9367
9368         pread: Fix test whether it works.
9369         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
9370
9371 2011-01-02  Bruno Haible  <bruno@clisp.org>
9372
9373         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
9374         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
9375         ends in "6". Don't require a specific month name. Try also the locale
9376         names found on HP-UX 11 and Solaris 7.
9377
9378 2011-01-02  Bruno Haible  <bruno@clisp.org>
9379
9380         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
9381         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
9382         C linkage.
9383         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
9384
9385 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9386
9387         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
9388         for consistency, since the "cluster" term is not used elsewhere.
9389         * lib/unigbrk.in.h: Update name.
9390         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
9391         * lib/unigbrk/u16-grapheme-next.c: Update name.
9392         * lib/unigbrk/u16-grapheme-prev.c: Update name.
9393         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
9394         * lib/unigbrk/u32-grapheme-next.c: Update name.
9395         * lib/unigbrk/u32-grapheme-prev.c: Update name.
9396         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
9397         * lib/unigbrk/u8-grapheme-next.c: Update name.
9398         * lib/unigbrk/u8-grapheme-prev.c: Update name.
9399         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
9400         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
9401         Suggested by Bruno Haible.
9402
9403 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9404
9405         Remove module 'u8-grapheme-len' as too redundant with
9406         'u8-grapheme-next'.
9407         * modules/unigbrk/u8-grapheme-len: Delete file.
9408         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
9409         * lib/unigbrk.in.h: Remove prototype for deleted function.
9410         * lib/unigbrk/u8-grapheme-len.c: Delete file.
9411         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
9412
9413         Remove module 'u16-grapheme-len' as too redundant with
9414         'u16-grapheme-next'.
9415         * modules/unigbrk/u16-grapheme-len: Delete file.
9416         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
9417         * lib/unigbrk.in.h: Remove prototype for deleted function.
9418         * lib/unigbrk/u16-grapheme-len.c: Delete file.
9419         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
9420
9421         Remove module 'u32-grapheme-len' as too redundant with
9422         'u32-grapheme-next'.
9423         * modules/unigbrk/u32-grapheme-len: Delete file.
9424         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
9425         * lib/unigbrk.in.h: Remove prototype for deleted function.
9426         * lib/unigbrk/u32-grapheme-len.c: Delete file.
9427         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
9428
9429         Suggested by Bruno Haible.
9430
9431 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9432
9433         * unigbrk.in.h: Fix typo: "ben" => "been".
9434         Reported by Bruno Haible.
9435
9436 2011-01-01  Jim Meyering  <meyering@redhat.com>
9437
9438         maint: update almost all copyright ranges to include 2011
9439         Run the new "make update-copyright" rule.
9440
9441 2011-01-01  Jim Meyering  <meyering@redhat.com>
9442
9443         maint: update-copyright: exempt doc/INSTALL*
9444         * Makefile (update-copyright): Also exclude doc/INSTALL*,
9445         since they are generated.  Suggested by Bruno Haible.
9446
9447 2011-01-01  Jim Meyering  <meyering@redhat.com>
9448
9449         maint: refine the update-copyright rule
9450         * Makefile (update-copyright): Also exclude any file that includes
9451         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
9452         code that merely generates the comment.
9453
9454 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
9455
9456         New module 'u8-grapheme-len'.
9457         * modules/unigbrk/u8-grapheme-len: New file.
9458         * modules/unigbrk/u8-grapheme-len-tests: New file.
9459         * lib/unigbrk.in.h: Add prototype for new function.
9460         * lib/unigbrk/u8-grapheme-len.c: New file.
9461         * tests/unigbrk/test-u8-grapheme-len.c: New file.
9462
9463         New module 'u16-grapheme-len'.
9464         * modules/unigbrk/u16-grapheme-len: New file.
9465         * modules/unigbrk/u16-grapheme-len-tests: New file.
9466         * lib/unigbrk.in.h: Add prototype for new function.
9467         * lib/unigbrk/u16-grapheme-len.c: New file.
9468         * tests/unigbrk/test-u16-grapheme-len.c: New file.
9469
9470         New module 'u32-grapheme-len'.
9471         * modules/unigbrk/u32-grapheme-len: New file.
9472         * modules/unigbrk/u32-grapheme-len-tests: New file.
9473         * lib/unigbrk.in.h: Add prototype for new function.
9474         * lib/unigbrk/u32-grapheme-len.c: New file.
9475         * tests/unigbrk/test-u32-grapheme-len.c: New file.
9476
9477         New module 'u8-grapheme-next'.
9478         * modules/unigbrk/u8-grapheme-next: New file.
9479         * modules/unigbrk/u8-grapheme-next-tests: New file.
9480         * lib/unigbrk.in.h: Add prototype for new function.
9481         * lib/unigbrk/u8-grapheme-next.c: New file.
9482         * tests/unigbrk/test-u8-grapheme-next.c: New file.
9483
9484         New module 'u16-grapheme-next'.
9485         * modules/unigbrk/u16-grapheme-next: New file.
9486         * modules/unigbrk/u16-grapheme-next-tests: New file.
9487         * lib/unigbrk.in.h: Add prototype for new function.
9488         * lib/unigbrk/u16-grapheme-next.c: New file.
9489         * tests/unigbrk/test-u16-grapheme-next.c: New file.
9490
9491         New module 'u32-grapheme-next'.
9492         * modules/unigbrk/u32-grapheme-next: New file.
9493         * modules/unigbrk/u32-grapheme-next-tests: New file.
9494         * lib/unigbrk.in.h: Add prototype for new function.
9495         * lib/unigbrk/u32-grapheme-next.c: New file.
9496         * tests/unigbrk/test-u32-grapheme-next.c: New file.
9497
9498         New module 'u8-grapheme-prev'.
9499         * modules/unigbrk/u8-grapheme-prev: New file.
9500         * modules/unigbrk/u8-grapheme-prev-tests: New file.
9501         * lib/unigbrk.in.h: Add prototype for new function.
9502         * lib/unigbrk/u8-grapheme-prev.c: New file.
9503         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
9504
9505         New module 'u16-grapheme-prev'.
9506         * modules/unigbrk/u16-grapheme-prev: New file.
9507         * modules/unigbrk/u16-grapheme-prev-tests: New file.
9508         * lib/unigbrk.in.h: Add prototype for new function.
9509         * lib/unigbrk/u16-grapheme-prev.c: New file.
9510         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
9511
9512         New module 'u32-grapheme-prev'.
9513         * modules/unigbrk/u32-grapheme-prev: New file.
9514         * modules/unigbrk/u32-grapheme-prev-tests: New file.
9515         * lib/unigbrk.in.h: Add prototype for new function.
9516         * lib/unigbrk/u32-grapheme-prev.c: New file.
9517         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
9518
9519         New module 'u8-grapheme-breaks'.
9520         * modules/unigbrk/u8-grapheme-breaks: New file.
9521         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
9522         * lib/unigbrk.in.h: Add prototype for new function.
9523         * lib/unigbrk/u8-grapheme-breaks.c: New file.
9524         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
9525
9526         New module 'u16-grapheme-breaks'.
9527         * modules/unigbrk/u16-grapheme-breaks: New file.
9528         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
9529         * lib/unigbrk.in.h: Add prototype for new function.
9530         * lib/unigbrk/u16-grapheme-breaks.c: New file.
9531         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
9532
9533         New module 'u32-grapheme-breaks'.
9534         * modules/unigbrk/u32-grapheme-breaks: New file.
9535         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
9536         * lib/unigbrk.in.h: Add prototype for new function.
9537         * lib/unigbrk/u32-grapheme-breaks.c: New file.
9538         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
9539
9540         New module 'ulc-grapheme-breaks'.
9541         * modules/unigbrk/ulc-grapheme-breaks: New file.
9542         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
9543         * m4/locale-ar.m4: New file.
9544         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
9545         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
9546         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
9547
9548 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
9549
9550         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
9551         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
9552         modified how this file was generated before I initially submitted
9553         the module, but failed to regenerate it.  This meant that several
9554         of the level2 entries were wrong.
9555         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
9556         Remove the division-by-2 that is folded into the table now that
9557         gbrkprop.h has been regenerated properly.  Now -1 entries are
9558         handled correctly.
9559
9560         New module 'unigbrk/uc-gbrk-prop-tests'.
9561         * modules/unigbrk/uc-gbrk-prop-tests: New file.
9562         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
9563         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
9564         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
9565
9566 2011-01-01  Bruno Haible  <bruno@clisp.org>
9567
9568         Avoid use of hexadecimal escapes.
9569         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
9570         instead of hexadecimal escapes.
9571
9572 2011-01-01  Jim Meyering  <meyering@redhat.com>
9573
9574         maint: new rule to update copyright year ranges
9575         * Makefile (update-copyright): New rule.
9576
9577         maint: indent with TABs in Makefile
9578         * Makefile: Expand leading sequences of spaces to TABs
9579
9580         version-etc: update the copyright year it reports
9581         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
9582
9583 2010-12-31  Bruno Haible  <bruno@clisp.org>
9584
9585         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
9586         * lib/isfinite.c (zerof, zerod, zerol): New variables.
9587         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
9588         zero.
9589
9590 2010-12-31  Bruno Haible  <bruno@clisp.org>
9591
9592         pwrite: Work around HP-UX 11.11 bug.
9593         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
9594         works and set REPLACE_PWRITE if not.
9595         * lib/pwrite.c (pwrite): Add an implementation that uses the system
9596         function.
9597         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
9598
9599 2010-12-31  Bruno Haible  <bruno@clisp.org>
9600
9601         pread: Work around HP-UX 11 bugs.
9602         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
9603         and set REPLACE_PREAD if not.
9604         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
9605
9606 2010-12-31  Eric Blake  <eblake@redhat.com>
9607
9608         nl_langinfo: fix YESEXPR on Irix 6.5
9609         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
9610         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
9611         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
9612         it.
9613
9614 2010-12-31  Bruno Haible  <bruno@clisp.org>
9615
9616         iconv: Document HP-UX 11 bug.
9617         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
9618
9619 2010-12-31  Bruno Haible  <bruno@clisp.org>
9620
9621         ldexpl: Fix link error on HP-UX 11.
9622         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
9623         LDEXPL_LIBM, using $ISNANL_LIBM.
9624
9625 2010-12-31  Eric Blake  <eblake@redhat.com>
9626
9627         ftello: avoid compilation failure with SunStudio c89
9628         * lib/ftello.c (ftello): Use lseek, not llseek.
9629
9630         tests: avoid failing coreutils tests on cygwin
9631         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
9632         (create_exe_shims_): Return 0 when skipping.
9633
9634 2010-12-31  Bruno Haible  <bruno@clisp.org>
9635
9636         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
9637         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
9638
9639 2010-12-31  Bruno Haible  <bruno@clisp.org>
9640
9641         waitpid: Fix link error in C++ mode.
9642         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
9643
9644 2010-12-31  Bruno Haible  <bruno@clisp.org>
9645
9646         isnan: Use GCC built-ins when possible.
9647         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
9648         __builtin_isnan.
9649         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
9650         (isnan): Define using GCC built-ins for GCC >= 4.0.
9651
9652 2010-12-31  Bruno Haible  <bruno@clisp.org>
9653
9654         isnand: Fix mistake.
9655         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
9656         __builtin_isnand.
9657
9658 2010-12-31  Bruno Haible  <bruno@clisp.org>
9659
9660         open: Avoid C++ error on HP-UX 11.
9661         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
9662
9663 2010-12-31  Bruno Haible  <bruno@clisp.org>
9664
9665         time_r: Add missing declarations on HP-UX 11.
9666         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
9667         instead of HAVE_LOCALTIME_R.
9668         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
9669         HAVE_LOCALTIME_R always.
9670         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
9671         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
9672         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
9673         HAVE_LOCALTIME_R.
9674         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
9675         * doc/posix-functions/localtime_r.texi: Likewise.
9676
9677 2010-12-29  Eric Blake  <eblake@redhat.com>
9678
9679         mountlist: tweak previous commit
9680         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
9681         Reported by Paul Eggert.
9682
9683         mountlist: fix local drive detection on cygwin
9684         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
9685         that works for cygwin.
9686
9687 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9688
9689         ftoastr, snprintf: ftoastr + snprintf module
9690         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
9691         since the snprintf module now should be good enough here.
9692         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
9693         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
9694         and gl_MODULE_INDICATOR([snprintf]), but the former enables
9695         GNULIB_SNPRINTF only for the test directory, and the latter
9696         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
9697         seems to suffice by itself.
9698
9699 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
9700
9701         alloca: one step towards thread-safety
9702         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
9703         need for a static variable.  All callers changed.  This does not
9704         make the alloca replacement thread-safe, but it's one step.
9705
9706         tests: minor indenting change
9707         * tests/init.sh: Sync from coreutils housekeeping patch
9708         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
9709         to keep lines within 80 columns.
9710
9711 2010-12-28  Jim Meyering  <meyering@redhat.com>
9712
9713         regex: don't infloop on persistent failing calloc
9714         * lib/regexec.c (build_trtable): Return failure indication upon
9715         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
9716         In glibc, this was fixed for version 2.13:
9717         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
9718
9719 2010-12-28  Bruno Haible  <bruno@clisp.org>
9720             Paul Eggert <eggert@cs.ucla.edu>
9721
9722         linkat: Make implementation robust against system behaviour variations.
9723         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
9724         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
9725         way, and to -2 if it needs a generic runtime test.
9726         * lib/linkat.c (solaris_optimized_link_immediate,
9727         solaris_optimized_link_follow): New functions.
9728         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
9729         (check_same_link): Use it.
9730
9731 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
9732
9733         New module 'unigbrk/base'.
9734         * modules/unigbrk/base: New file.
9735         * lib/unigbrk.in.h: New file.
9736
9737         New module 'unigbrk/uc-gbrk-prop'.
9738         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
9739         * modules/unigbrk/uc-gbrk-prop: New file.
9740         * lib/unigbrk/gbrkprop.h: New file.
9741         * lib/unigbrk/uc-gbrk-prop.c: New file.
9742
9743         New module 'unigbrk/uc-is-grapheme-break'.
9744         * modules/unigbrk/uc-is-grapheme-break: New file.
9745         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
9746         * lib/unigbrk/uc-is-grapheme-break.c: New file.
9747         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
9748         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
9749         * tests/unigbrk/GraphemeBreakTest.txt: New file.
9750
9751         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
9752
9753 2010-12-27  Bruno Haible  <bruno@clisp.org>
9754
9755         linkat test: Avoid failure on Solaris 11 2010-11.
9756         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
9757
9758 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9759
9760         utimens: work around glibc rounding bug on more platforms
9761         * lib/utimens.c (fdutimens): Work around rounding bug even if
9762         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
9763         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
9764
9765 2010-12-27  Bruno Haible  <bruno@clisp.org>
9766
9767         select tests: Improve comments.
9768         * tests/test-select.c (do_select): Add comments.
9769
9770 2010-12-27  Bruno Haible  <bruno@clisp.org>
9771
9772         select tests: Safer way of handling timeout.
9773         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
9774         at every invocation.
9775
9776 2010-12-27  Bruno Haible  <bruno@clisp.org>
9777
9778         select tests: Use 'bool' where appropriate.
9779         * tests/test-select.c (connect_to_socket): Change argument type to
9780         'bool'.
9781
9782 2010-12-27  Bruno Haible  <bruno@clisp.org>
9783
9784         select tests: Use existing modules.
9785         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
9786         (configure.ac): Don't test for unistd.h.
9787         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
9788         declared in <unistd.h>.
9789
9790 2010-12-27  Bruno Haible  <bruno@clisp.org>
9791
9792         mbrtowc: Work around a Solaris 7 bug.
9793         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
9794         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
9795         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
9796         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
9797         MBRTOWC_NULL_ARG1_BUG.
9798         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
9799         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
9800         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
9801         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
9802
9803 2010-12-27  Jim Meyering  <meyering@redhat.com>
9804
9805         read-file.c: tweak syntax
9806         * lib/read-file.c (fread_file): Remove space after "*" in function
9807         definitions.
9808
9809 2010-12-27  Bruno Haible  <bruno@clisp.org>
9810
9811         times test: Avoid gcc warnings on OSF/1.
9812         * tests/test-times.c (main): Cast printf arguments from clock_t to
9813         'long int'.
9814
9815 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9816
9817         utimens: work around glibc rounding bug on older Linux kernels
9818         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
9819         on Linux with a glibc whose utimes might not work, then work
9820         around a longstanding glibc bug involving rounding rather than
9821         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
9822         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
9823
9824 2010-12-26  Bruno Haible  <bruno@clisp.org>
9825
9826         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
9827         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
9828         _GL_CXXALIAS_SYS.
9829         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9830
9831 2010-12-26  Bruno Haible  <bruno@clisp.org>
9832
9833         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
9834         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
9835         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9836         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
9837         looking for the declaration.
9838         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
9839         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
9840         problem.
9841         * doc/posix-functions/inet_pton.texi: Likewise.
9842
9843 2010-12-26  Bruno Haible  <bruno@clisp.org>
9844
9845         arpa_inet: Use the common idioms with C++ support.
9846         * lib/arpa_inet.in.h: Include c++defs.h.
9847         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
9848         support.
9849         * modules/arpa_inet (Depends-on): Add c++defs.
9850         (Makefile.am): Substitute the contents of c++defs.h.
9851         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
9852         * modules/arpa_inet-c++-tests: New file.
9853         * tests/test-arpa_inet-c++.cc: New file.
9854
9855 2010-12-25  Bruno Haible  <bruno@clisp.org>
9856
9857         Fix more C++ link errors on Solaris 8.
9858         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
9859         $(LIB_EACCESS).
9860         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
9861         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
9862         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
9863         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
9864         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
9865
9866 2010-12-25  Bruno Haible  <bruno@clisp.org>
9867
9868         printf-posix: Fix link error when a non-GCC compiler is used.
9869         * lib/stdio.in.h (printf): When not using GCC, override printf
9870         correctly.
9871         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9872
9873 2010-12-25  Bruno Haible  <bruno@clisp.org>
9874
9875         strerror_r-posix: Update doc.
9876         * doc/posix-functions/strerror_r.texi: Update doc about the return
9877         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
9878
9879 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9880
9881         utimens: simplify the logic of the previous change
9882         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
9883         This should not affect whether the test succeeds or fails.
9884
9885         utimens: configure better on hosts with NFS clock skew
9886         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
9887         uses the clock of the local host.  It might use the clock of the
9888         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
9889         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
9890
9891 2010-12-25  Bruno Haible  <bruno@clisp.org>
9892
9893         ptsname test: Avoid failure on Solaris.
9894         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
9895         open a pseudo-terminal; don't use BSD-style ptys.
9896         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
9897
9898 2010-12-25  Bruno Haible  <bruno@clisp.org>
9899
9900         ptsname: Avoid ERANGE failure on some systems.
9901         * lib/ptsname.c (buffer): Increase size.
9902
9903 2010-12-25  Bruno Haible  <bruno@clisp.org>
9904
9905         rename, renameat: Avoid test failures at NFS mounted locations.
9906         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
9907         so that subsequent mkdir calls succeed.
9908
9909 2010-12-25  Bruno Haible  <bruno@clisp.org>
9910
9911         iswblank: Fix C++ link error on Solaris 8.
9912         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
9913         _GL_FUNCDECL_SYS.
9914
9915 2010-12-25  Bruno Haible  <bruno@clisp.org>
9916
9917         unistd: Fix C++ link error on Solaris 8.
9918         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
9919
9920 2010-12-25  Bruno Haible  <bruno@clisp.org>
9921
9922         readlink doc: Mention an old glibc bug.
9923         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
9924
9925 2010-12-25  Bruno Haible  <bruno@clisp.org>
9926
9927         fcntl-h: Fix for use of C++ on glibc systems.
9928         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9929         also on glibc systems in C++ mode.
9930         Reported by Gary V. Vaughan <gary@gnu.org>.
9931
9932 2010-12-25  Bruno Haible  <bruno@clisp.org>
9933
9934         roundl-ieee: Make it work on OSF/1 5.1 with cc.
9935         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
9936
9937 2010-12-25  Bruno Haible  <bruno@clisp.org>
9938
9939         truncl-ieee: Make it work on OSF/1 5.1 with cc.
9940         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
9941         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
9942         test whether truncl works according to ISO C 99 with IEC 60559.
9943         * m4/truncl-ieee.m4: New file.
9944         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
9945         m4/signbit.m4.
9946         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
9947
9948 2010-12-25  Bruno Haible  <bruno@clisp.org>
9949
9950         ceill-ieee: Make it work on OSF/1 5.1 with cc.
9951         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
9952         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
9953         test whether ceill works according to ISO C 99 with IEC 60559.
9954         * m4/ceill-ieee.m4: New file.
9955         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
9956         m4/signbit.m4.
9957         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
9958
9959 2010-12-25  Bruno Haible  <bruno@clisp.org>
9960
9961         Ensure all prerequisites of <wchar.h> are included.
9962         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
9963         before <wchar.h>.
9964         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9965         gl_MBRLEN_NUL_RETVAL): Likewise.
9966         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9967         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
9968         AC_FUNC_MBRTOWC): Likewise.
9969         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9970         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
9971         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9972         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
9973         Likewise.
9974         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9975         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
9976         (gl_WCHAR_H): Improve comments.
9977         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
9978
9979 2010-12-25  Bruno Haible  <bruno@clisp.org>
9980
9981         strtok_r: Fix C syntax error in autoconf macro.
9982         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
9983         characters in test program.
9984
9985 2010-12-24  Bruno Haible  <bruno@clisp.org>
9986
9987         ceil, trunc, round: Fix gcc warnings.
9988         * lib/ceil.c (MIN): Undefine before redefining.
9989         * lib/trunc.c (MIN): Likewise.
9990         * lib/round.c (MIN): Likewise.
9991         Include <math.h> first.
9992
9993 2010-12-24  Bruno Haible  <bruno@clisp.org>
9994
9995         select tests: Avoid failures on OSF/1 5.1.
9996         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
9997         failure of closing the last socket; it may fail with ECONNRESET.
9998
9999 2010-12-24  Eric Blake  <eblake@redhat.com>
10000
10001         stdint: avoid HP-UX 10.20 preprocessor bug
10002         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
10003         than #if.
10004         * tests/test-floor2.c (main): Likewise.
10005         Reported by Peter O'Gorman.
10006
10007         pipe: make obsoletion transition easier
10008         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
10009         * modules/pipe (Files): Include revived file.
10010         (Include): Drop reference, to mirror getdate's behavior.
10011
10012 2010-12-24  Bruno Haible  <bruno@clisp.org>
10013
10014         sys_socket: Hide mismatch of declarations on NonStop Kernel.
10015         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
10016         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10017         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10018
10019 2010-12-24  Bruno Haible  <bruno@clisp.org>
10020
10021         gethostname: Ensure declaration on NonStop Kernel.
10022         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
10023         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10024
10025 2010-12-24  Bruno Haible  <bruno@clisp.org>
10026
10027         sys_select: Ensure all necessary types on NonStop Kernel.
10028         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
10029         include <sys/time.h>.
10030         * doc/posix-headers/sys_select.texi: Mention that it's missing on
10031         NonStop Kernel.
10032         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10033
10034 2010-12-24  Bruno Haible  <bruno@clisp.org>
10035
10036         sys_select: Remove unneeded include.
10037         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
10038         have <sys/select.h>.
10039
10040 2010-12-24  Bruno Haible  <bruno@clisp.org>
10041
10042         gethostname: Provide a fallback for HOST_NAME_MAX.
10043         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
10044         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
10045         instead.
10046         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10047
10048 2010-12-24  Bruno Haible  <bruno@clisp.org>
10049
10050         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
10051         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
10052         (SA_RESTART): Likewise.
10053         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10054
10055 2010-12-24  Bruno Haible  <bruno@clisp.org>
10056
10057         signal: Define NSIG.
10058         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
10059         * tests/test-signal.c (nsig): New variable.
10060         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10061
10062 2010-12-24  Bruno Haible  <bruno@clisp.org>
10063
10064         rename, renameat: Avoid test failures on OSF/1 5.1.
10065         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
10066         alternative error codes.
10067         * tests/test-renameat.c (main): Likewise.
10068
10069 2010-12-24  Bruno Haible  <bruno@clisp.org>
10070
10071         *printf: Detect large precisions bug on Solaris 10/SPARC.
10072         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
10073         by Paul Eggert.
10074         * tests/test-snprintf-posix.h (test_function): Add this test code here
10075         too.
10076         * tests/test-sprintf-posix.h (test_function): Likewise.
10077         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10078         * tests/test-vasprintf-posix.c (test_function): Likewise.
10079         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
10080         around by gnulib.
10081         * doc/posix-functions/printf.texi: Likewise.
10082         * doc/posix-functions/snprintf.texi: Likewise.
10083         * doc/posix-functions/sprintf.texi: Likewise.
10084         * doc/posix-functions/vfprintf.texi: Likewise.
10085         * doc/posix-functions/vprintf.texi: Likewise.
10086         * doc/posix-functions/vsnprintf.texi: Likewise.
10087         * doc/posix-functions/vsprintf.texi: Likewise.
10088         * doc/posix-functions/dprintf.texi: Undo last commit.
10089         * doc/posix-functions/vdprintf.texi: Likewise.
10090
10091 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10092
10093         tests: port test-fdutimensat.c to Solaris 8
10094         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
10095         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
10096         On Solaris 8, it fails with errno == ENOSYS, because there is no
10097         futimens (so it can't use the fd), and there is no lutimens (so it
10098         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
10099
10100         vsnprintf: make more consistent with snprintf; doc fixes
10101
10102         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
10103         the byte count return problem was promoted from the snprintf-posix
10104         to the snprintf module.
10105         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10106         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
10107         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
10108         * tests/test-snprintf.c (main): Check the byte count returned.
10109         * tests/test-vsnprintf.c (main): Likewise.
10110
10111 2010-12-23  Eric Blake  <eblake@redhat.com>
10112
10113         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
10114         * modules/sigpipe (License): Relax license.
10115
10116 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10117
10118         doc: document Solaris printf bug with large float precisions
10119         * doc/posix-functions/dprintf.texi (dprintf):
10120         * doc/posix-functions/fprintf.texi (fprintf):
10121         * doc/posix-functions/printf.texi (printf):
10122         * doc/posix-functions/snprintf.texi (snprintf):
10123         * doc/posix-functions/sprintf.texi (sprintf):
10124         * doc/posix-functions/vdprintf.texi (vdprintf):
10125         * doc/posix-functions/vfprintf.texi (vfprintf):
10126         * doc/posix-functions/vprintf.texi (vprintf):
10127         * doc/posix-functions/vsnprintf.texi (vsnprintf):
10128         * doc/posix-functions/vsprintf.texi (vsprintf):
10129         Mention that these functions mishandle large floating point
10130         precisions on Solaris 10.  The same bug is also present in Solaris
10131         8, and I assume earlier.  This causes "cd gnulib-tests; make
10132         check" to fail on Solaris 8 (and I assume, later) when building
10133         the latest coreutils, in test-vasprintf-posix's call to
10134         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
10135         the wide flavors (e.g., wprintf) so this patch just updates the
10136         documentation for the narrow ones.
10137
10138         test-posixtm.c: add two tests
10139         * tests/test-posixtm.c: Add two tests, to highlight the
10140         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
10141         around this bug; this is merely to document it.
10142
10143 2010-12-22  Bruno Haible  <bruno@clisp.org>
10144
10145         getlogin_r: Work around portability problem on OSF/1.
10146         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
10147         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
10148         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
10149         test for a truncated result.
10150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
10151         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
10152         * modules/getlogin_r (Depends-on): Add memchr.
10153         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
10154
10155 2010-12-22  Bruno Haible  <bruno@clisp.org>
10156
10157         ptsname: Avoid test failure on OSF/1 5.1.
10158         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
10159         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
10160         (same_slave): New function.
10161         (main): Use it to compare ptsname's result with the expected file name.
10162
10163 2010-12-22  Bruno Haible  <bruno@clisp.org>
10164
10165         Port extended stdio modules to HP NonStop Kernel.
10166         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
10167         macros.
10168         * lib/fbufmode.c: Update comments.
10169         * lib/fflush.c: Likewise.
10170         * lib/fpurge.c: Likewise.
10171         * lib/freadable.c: Likewise.
10172         * lib/freadahead.c: Likewise.
10173         * lib/freading.c: Likewise.
10174         * lib/freadptr.c: Likewise.
10175         * lib/freadseek.c: Likewise.
10176         * lib/fseeko.c: Likewise.
10177         * lib/fseterr.c: Likewise.
10178         * lib/fwritable.c: Likewise.
10179         * lib/fwriting.c: Likewise.
10180         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10181
10182 2010-12-22  Bruno Haible  <bruno@clisp.org>
10183
10184         ttyname_r: Work around bug on OSF/1 5.1.
10185         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
10186         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
10187         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
10188         present.
10189         * lib/ttyname_r.c (ttyname_r): Update comments.
10190
10191 2010-12-22  Bruno Haible  <bruno@clisp.org>
10192
10193         round: Implement result sign according to IEEE 754.
10194         * lib/round.c (MIN, MINUS_ZERO): New macros.
10195         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
10196         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
10197         * tests/test-round-ieee.c (main): Likewise.
10198         * tests/test-roundl-ieee.c (main): Likewise.
10199
10200         trunc: Implement result sign according to IEEE 754.
10201         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
10202         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
10203         * tests/test-trunc2.c: Include minus-zero.h.
10204         (MINUS_ZERO): New macro.
10205         (trunc_reference): Keep in sync with lib/trunc.c.
10206         * tests/test-truncf2.c: Include minus-zero.h.
10207         (MINUS_ZERO): New macro.
10208         (truncf_reference): Keep in sync with lib/trunc.c.
10209         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
10210         * tests/test-trunc-ieee.c (main): Likewise.
10211         * tests/test-truncl-ieee.c (main): Likewise.
10212
10213         ceil: Implement result sign according to IEEE 754.
10214         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
10215         (FUNC): Return -0.0 for -1 < x < 0.
10216         * tests/test-ceil2.c: Include minus-zero.h.
10217         (MINUS_ZERO): New macro.
10218         (ceil_reference): Keep in sync with lib/ceil.c.
10219         * tests/test-ceilf2.c: Include minus-zero.h.
10220         (MINUS_ZERO): New macro.
10221         (ceilf_reference): Keep in sync with lib/ceil.c.
10222         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
10223         * tests/test-ceil-ieee.c (main): Likewise.
10224         * tests/test-ceill-ieee.c (main): Likewise.
10225
10226         floor: Implement result sign according to IEEE 754.
10227         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
10228         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
10229         * tests/test-floorf2.c (floorf_reference): Likewise.
10230         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
10231         * tests/test-floor-ieee.c (main): Likewise.
10232         * tests/test-floorl-ieee.c (main): Likewise.
10233
10234 2010-12-22  Bruno Haible  <bruno@clisp.org>
10235
10236         getaddrinfo: Update doc.
10237         * doc/posix-functions/gai_strerror.texi: Return type is also different
10238         on AIX and HP-UX.
10239
10240 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10241
10242         getaddrinfo, inet_ntop: Update doc for Solaris.
10243         * doc/posix-functions/gai_strerror.texi: Return type is also an
10244         issue on Solaris 9 and earlier.
10245         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
10246         on Solaris 10 and earlier.
10247
10248 2010-12-21  Bruno Haible  <bruno@clisp.org>
10249
10250         New module 'roundl-ieee'.
10251         * modules/roundl-ieee: New file.
10252         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
10253         test whether roundl works according to ISO C 99 with IEC 60559.
10254         * m4/roundl-ieee.m4: New file.
10255         * modules/roundl-ieee-tests: New file.
10256         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
10257         * tests/test-roundl.c (main): Remove signbit tests.
10258         * modules/roundl-tests (Depends-on): Remove signbit.
10259         * doc/posix-functions/roundl.texi: Mention the new module.
10260
10261 2010-12-21  Bruno Haible  <bruno@clisp.org>
10262
10263         New module 'truncl-ieee'.
10264         * modules/truncl-ieee: New file.
10265         * modules/truncl-ieee-tests: New file.
10266         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
10267         * tests/test-truncl.c (main): Remove signbit tests.
10268         * modules/truncl-tests (Depends-on): Remove signbit.
10269         * doc/posix-functions/truncl.texi: Mention the new module.
10270
10271 2010-12-21  Bruno Haible  <bruno@clisp.org>
10272
10273         New module 'ceill-ieee'.
10274         * modules/ceill-ieee: New file.
10275         * modules/ceill-ieee-tests: New file.
10276         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
10277         * tests/test-ceill.c (main): Remove signbit tests.
10278         * modules/ceill-tests (Depends-on): Remove signbit.
10279         * doc/posix-functions/ceill.texi: Mention the new module.
10280
10281 2010-12-21  Bruno Haible  <bruno@clisp.org>
10282
10283         New module 'floorl-ieee'.
10284         * modules/floorl-ieee: New file.
10285         * modules/floorl-ieee-tests: New file.
10286         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
10287         * tests/test-floorl.c (main): Remove signbit tests.
10288         * modules/floorl-tests (Depends-on): Remove signbit.
10289         * doc/posix-functions/floorl.texi: Mention the new module.
10290
10291 2010-12-21  Bruno Haible  <bruno@clisp.org>
10292
10293         New module 'round-ieee'.
10294         * modules/round-ieee: New file.
10295         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
10296         whether round works according to ISO C 99 with IEC 60559.
10297         * m4/round-ieee.m4: New file.
10298         * modules/round-ieee-tests: New file.
10299         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
10300         * tests/test-round1.c (main): Remove signbit tests.
10301         * modules/round-tests (Depends-on): Remove 'signbit'.
10302         * doc/posix-functions/round.texi: Mention the new module.
10303
10304 2010-12-21  Bruno Haible  <bruno@clisp.org>
10305
10306         New module 'trunc-ieee'.
10307         * modules/trunc-ieee: New file.
10308         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
10309         whether trunc works according to ISO C 99 with IEC 60559.
10310         * m4/trunc-ieee.m4: New file.
10311         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
10312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
10313         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
10314         * modules/trunc-ieee-tests: New file.
10315         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
10316         * tests/test-trunc1.c (main): Remove signbit tests.
10317         * modules/trunc-tests (Depends-on): Remove 'signbit'.
10318         * doc/posix-functions/trunc.texi: Mention the new module.
10319
10320 2010-12-21  Bruno Haible  <bruno@clisp.org>
10321
10322         New module 'ceil-ieee'.
10323         * modules/ceil-ieee: New file.
10324         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
10325         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
10326         ISO C 99 with IEC 60559.
10327         * m4/ceil-ieee.m4: New file.
10328         * modules/ceil (Files): Add lib/ceil.c.
10329         (Depends-on): Add 'float'.
10330         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10331         * lib/math.in.h (ceil): New declaration.
10332         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
10333         REPLACE_CEIL.
10334         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
10335         * modules/ceil-ieee-tests: New file.
10336         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
10337         * tests/test-math-c++.cc: Check the signature of 'ceil'.
10338         * doc/posix-functions/ceil.texi: Mention the new module.
10339
10340 2010-12-21  Bruno Haible  <bruno@clisp.org>
10341
10342         New module 'floor-ieee'.
10343         * modules/floor-ieee: New file.
10344         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
10345         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
10346         ISO C 99 with IEC 60559.
10347         * m4/floor-ieee.m4: New file.
10348         * modules/floor (Files): Add lib/floor.c.
10349         (Depends-on): Add 'float'.
10350         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10351         * lib/math.in.h (floor): New declaration.
10352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
10353         REPLACE_FLOOR.
10354         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
10355         * modules/floor-ieee-tests: New file.
10356         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
10357         * tests/test-math-c++.cc: Check the signature of 'floor'.
10358         * doc/posix-functions/floor.texi: Mention the new module.
10359
10360 2010-12-21  Bruno Haible  <bruno@clisp.org>
10361
10362         New module 'roundf-ieee'.
10363         * modules/roundf-ieee: New file.
10364         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
10365         test whether roundf works according to ISO C 99 with IEC 60559.
10366         * m4/roundf-ieee.m4: New file.
10367         * modules/roundf-ieee-tests: New file.
10368         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
10369         * tests/test-roundf1.c (main): Remove signbit tests.
10370         * modules/roundf-tests (Depends-on): Remove 'signbit'.
10371         * doc/posix-functions/roundf.texi: Mention the new module.
10372
10373 2010-12-21  Bruno Haible  <bruno@clisp.org>
10374
10375         New module 'truncf-ieee'.
10376         * modules/truncf-ieee: New file.
10377         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
10378         test whether truncf works according to ISO C 99 with IEC 60559.
10379         * m4/truncf-ieee.m4: New file.
10380         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
10381         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
10382         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
10383         * modules/truncf-ieee-tests: New file.
10384         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
10385         * tests/test-truncf1.c (main): Remove signbit tests.
10386         * modules/truncf-tests (Depends-on): Remove 'signbit'.
10387         * doc/posix-functions/truncf.texi: Mention the new module.
10388
10389 2010-12-21  Bruno Haible  <bruno@clisp.org>
10390
10391         New module 'ceilf-ieee'.
10392         * modules/ceilf-ieee: New file.
10393         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
10394         test whether ceilf works according to ISO C 99 with IEC 60559.
10395         * m4/ceilf-ieee.m4: New file.
10396         * modules/ceilf-ieee-tests: New file.
10397         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
10398         * tests/test-ceilf1.c (main): Remove signbit tests.
10399         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
10400         * doc/posix-functions/ceilf.texi: Mention the new module.
10401
10402 2010-12-21  Bruno Haible  <bruno@clisp.org>
10403
10404         New module 'floorf-ieee'.
10405         * modules/floorf-ieee: New file.
10406         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
10407         test whether floorf works according to ISO C 99 with IEC 60559.
10408         * m4/floorf-ieee.m4: New file.
10409         * modules/floorf-ieee-tests: New file.
10410         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
10411         * tests/test-floorf1.c (main): Remove signbit tests.
10412         * modules/floorf-tests (Depends-on): Remove 'signbit'.
10413         * doc/posix-functions/floorf.texi: Mention the new module.
10414
10415 2010-12-21  Bruno Haible  <bruno@clisp.org>
10416
10417         Support for minus zero in autoconf macros.
10418         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
10419         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
10420         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
10421         * tests/minus-zero.h: Update comments.
10422
10423 2010-12-21  Bruno Haible  <bruno@clisp.org>
10424
10425         Tests for module 'ceil'.
10426         * modules/ceil-tests: New file.
10427         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
10428         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
10429
10430 2010-12-21  Bruno Haible  <bruno@clisp.org>
10431
10432         Tests for module 'floor'.
10433         * modules/floor-tests: New file.
10434         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
10435         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
10436
10437 2010-12-21  Bruno Haible  <bruno@clisp.org>
10438
10439         math: Fix indentation.
10440         * lib/math.in.h (floorf): Fix indentation.
10441
10442 2010-12-21  Bruno Haible  <bruno@clisp.org>
10443
10444         Fix cross-compilation guesses on Solaris.
10445         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
10446         not match "solaris2.10".
10447         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10448         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
10449         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
10450
10451 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
10452
10453         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
10454         This fixes a problem observed with the latest coreutils snapshot
10455         that caused a test to fail on Solaris 8.  src/csplit.c's call
10456         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
10457         earlier, instead of returning the number of bytes that would have
10458         been generated; this causes csplit to incorrectly report memory
10459         exhaustion.
10460         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
10461         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
10462         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
10463         comments to match.
10464         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
10465         Fix typo in matching older versions of Solaris: "solaris2.10"
10466         is matched by the shell pattern "solaris2.[0-9]*".  This matters
10467         only for guessing while cross-compiling.
10468         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
10469
10470 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
10471
10472         ftoastr: fix comment again
10473         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
10474         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
10475         Also, simplify example a bit by using flags = 0.
10476
10477 2010-12-20  Bruno Haible  <bruno@clisp.org>
10478
10479         round*, trunc*: Update documentation regarding glibc.
10480         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
10481         * doc/posix-functions/round.texi: Likewise.
10482         * doc/posix-functions/roundl.texi: Likewise.
10483         * doc/posix-functions/truncf.texi: Likewise.
10484         * doc/posix-functions/trunc.texi: Likewise.
10485         * doc/posix-functions/truncl.texi: Likewise.
10486
10487 2010-12-20  Bruno Haible  <bruno@clisp.org>
10488
10489         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
10490         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
10491         * doc/posix-functions/round.texi: Likewise.
10492         * doc/posix-functions/roundl.texi: Likewise.
10493
10494 2010-12-20  Bruno Haible  <bruno@clisp.org>
10495
10496         ttyname_r: Add missing declaration on HP-UX 11.
10497         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
10498         HAVE_TTYNAME_R.
10499         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
10500         declared. Set HAVE_TTYNAME_R always.
10501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10502         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
10503         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
10504         HAVE_TTYNAME_R.
10505         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
10506
10507 2010-12-20  Bruno Haible  <bruno@clisp.org>
10508
10509         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
10510         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
10511         * doc/posix-functions/getlogin_r.texi: Likewise.
10512         * tests/test-getlogin.c: Include <errno.h>.
10513         (main): Avoid test failure on HP-UX 11.11.
10514         * tests/test-getlogin_r.c (main): Likewise.
10515
10516 2010-12-20  Bruno Haible  <bruno@clisp.org>
10517
10518         getlogin_r: Add missing declaration on HP-UX 11.
10519         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
10520         declared also when it exists as a function.
10521         * doc/posix-functions/getlogin_r.texi: Document this workaround.
10522
10523 2010-12-20  Bruno Haible  <bruno@clisp.org>
10524
10525         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
10526         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
10527         through wcrtomb.
10528
10529 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10530
10531         ftoastr: fix comment
10532         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
10533         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
10534
10535 2010-12-19  Bruno Haible  <bruno@clisp.org>
10536
10537         isnan: Ensure it is a macro.
10538         * lib/math.in.h (isnan): Define as a macro if not already a macro.
10539         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
10540         Solaris.
10541
10542 2010-12-19  Bruno Haible  <bruno@clisp.org>
10543
10544         ldexpl test: Fix link error on OSF/1 5.1.
10545         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
10546
10547 2010-12-19  Bruno Haible  <bruno@clisp.org>
10548
10549         wctype: Make it work in C++ mode on OSF/1 5.1.
10550         * lib/wctype.in.h (iswblank): Declare but not define here.
10551         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
10552         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
10553         * modules/wctype (Files): Add lib/iswblank.c.
10554
10555 2010-12-19  Bruno Haible  <bruno@clisp.org>
10556
10557         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
10558         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
10559         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
10560
10561 2010-12-19  Bruno Haible  <bruno@clisp.org>
10562
10563         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
10564         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
10565         _POSIX_PII_SOCKET.
10566         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
10567         * doc/posix-functions/recvfrom.texi: Likewise.
10568         * doc/posix-functions/send.texi: Likewise.
10569         * doc/posix-functions/sendto.texi: Likewise.
10570
10571 2010-12-19  Bruno Haible  <bruno@clisp.org>
10572
10573         tcgetsid: Add missing declaration on OSF/1 5.1.
10574         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
10575         HAVE_TCGETSID.
10576         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
10577         Don't set HAVE_TCGETSID.
10578         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
10579         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
10580         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
10581         HAVE_TCGETSID.
10582         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
10583
10584 2010-12-19  Bruno Haible  <bruno@clisp.org>
10585
10586         stdio: Fix problem with popen() declaration on OSF/1 5.1.
10587         * lib/stdio.in.h: During the include_next statement, let recursive
10588         includes of this file include only the system header file.
10589
10590 2010-12-19  Bruno Haible  <bruno@clisp.org>
10591
10592         iconv_open: Fix regression from 2010-12-04.
10593         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
10594         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
10595
10596 2010-12-19  Bruno Haible  <bruno@clisp.org>
10597
10598         stdbool test: Avoid a gcc warning.
10599         * tests/test-stdbool.c (main): Fail if e1 is false.
10600         Reported by Jim Meyering.
10601
10602 2010-12-19  Jim Meyering  <meyering@redhat.com>
10603
10604         setenv: restore to working order
10605         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
10606         mistakenly removed.
10607         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
10608         HAVE_SETENV.
10609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
10610         HAVE_SETENV.
10611
10612 2010-12-19  Bruno Haible  <bruno@clisp.org>
10613
10614         Document some different function declarations on OSF/1 5.1.
10615         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
10616         * doc/posix-functions/inet_ntop.texi: Likewise.
10617         * doc/posix-functions/gethostname.texi: Likewise.
10618         * lib/unistd.in.h (gethostname): Update comment.
10619
10620 2010-12-19  Bruno Haible  <bruno@clisp.org>
10621
10622         doc: Mention vasprintf-posix module.
10623         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
10624         the 'vasprintf-posix' module.
10625         * doc/glibc-functions/vasprintf.texi: Likewise.
10626
10627 2010-12-19  Bruno Haible  <bruno@clisp.org>
10628
10629         unsetenv: Add missing declaration on OSF/1 5.1.
10630         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
10631         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
10632         Don't set HAVE_UNSETENV. In the test program, set _BSD.
10633         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
10634         not HAVE_UNSETENV.
10635         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
10636         HAVE_UNSETENV.
10637         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
10638
10639 2010-12-19  Bruno Haible  <bruno@clisp.org>
10640
10641         setenv: Add missing declaration on OSF/1 5.1.
10642         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
10643         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
10644         declared. Don't set HAVE_SETENV.
10645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
10646         not HAVE_SETENV.
10647         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
10648         HAVE_SETENV.
10649         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
10650
10651 2010-12-19  Bruno Haible  <bruno@clisp.org>
10652
10653         nl_langinfo tests: Avoid gcc warning.
10654         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
10655
10656 2010-12-19  Bruno Haible  <bruno@clisp.org>
10657
10658         mknod: Avoid error in C++ mode on OSF/1 with GCC.
10659         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
10660         _GL_CXXALIAS_SYS.
10661
10662 2010-12-19  Bruno Haible  <bruno@clisp.org>
10663
10664         stdbool: Relax test.
10665         * tests/test-stdbool.c (e): Don't require that casts from a variable's
10666         address to 'bool' work in static initializer, for compilers other than
10667         GCC.
10668
10669 2010-12-19  Bruno Haible  <bruno@clisp.org>
10670
10671         ftello: Add missing declaration on OSF/1 5.1.
10672         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
10673         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
10674         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
10675         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
10676         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
10677
10678 2010-12-19  Bruno Haible  <bruno@clisp.org>
10679
10680         fseeko: Add missing declaration on OSF/1 5.1.
10681         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
10682         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
10683         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
10684         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
10685         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
10686
10687 2010-12-19  Bruno Haible  <bruno@clisp.org>
10688
10689         fchdir: Add missing declaration on OSF/1 5.1.
10690         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
10691         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
10692         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
10693         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
10694         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
10695
10696 2010-12-19  Bruno Haible  <bruno@clisp.org>
10697
10698         relocatable-prog-wrapper: Separate from relocatable-prog.
10699         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
10700         uninstall-relocwrapper rule here.
10701         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
10702         Reported by Ian Beckwith <ianb@erislabs.net>.
10703
10704 2010-12-19  Bruno Haible  <bruno@clisp.org>
10705
10706         unistr/u8-mbsnlen: Add missing dependency.
10707         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
10708         Reported by Ian Beckwith <ianb@erislabs.net>.
10709
10710 2010-12-19  Bruno Haible  <bruno@clisp.org>
10711
10712         iconv: Make it possible again to use this module without 'iconv-h'.
10713         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
10714         if it is not defined.
10715         Reported by Ian Beckwith <ianb@erislabs.net>.
10716
10717 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10718
10719         acl: port to Solaris 8 when copying from tmpfs to ufs
10720         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
10721         error number.  Problem observed on Solaris 8 with latest
10722         coreutils, with "mv A B", where A is on a tmpfs file system and B
10723         is on a ufs file system.  This caused coreutils' mv/part-symlink
10724         test to fail.
10725
10726         tests: set fail=0 at start
10727         * tests/init.sh (setup_): Move fail=0 initialization here ...
10728         (mktempd_): ... from here, so that tests can rely on fail being
10729         set to 0 initially.  This fixes a problem in coreutils; see:
10730         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
10731
10732 2010-12-18  Bruno Haible  <bruno@clisp.org>
10733
10734         memmem-simple: Stylistic changes.
10735         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
10736         Fix preprocessor directive indentation.
10737
10738 2010-12-15  Pádraig Brady <P@draigBrady.com>
10739
10740         memmem, memmem-simple: reorganize and expand empty needle check
10741         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
10742         functional checks to memmem-simple so that one has a fully functional
10743         memmem by using just this module.
10744         Restrict the performance only check to the memmem module.
10745         Also expand the empty needle check to ensure the correct
10746         pointer is returned, not just a non NULL pointer.
10747         * doc/glibc-functions/memmem.texi: Rearrange the portability
10748         documentation to correlate with the rearranged checks.
10749         Clarify exactly how the memmem and memmem-simple modules
10750         relate to each other.
10751
10752 2010-12-15  Pádraig Brady <P@draigBrady.com>
10753             Bruno Haible  <bruno@clisp.org>
10754
10755         Improve cross-compilation guesses for uClibc.
10756         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
10757         that uClibc does not have the glibc bug.
10758         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
10759         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
10760
10761 2010-12-14  Eric Blake  <eblake@redhat.com>
10762
10763         configmake: provide fallbacks for oldest supported autotools
10764         * m4/configmake.m4: New file.
10765         * modules/configmake (Files): Ship it.
10766         (configure.ac): Use it to guarantee fallbacks.
10767
10768 2010-12-13  Pádraig Brady <P@draigBrady.com>
10769
10770         read-file: Improve handling of large files
10771         * lib/read-file.c (fread_file): Minimize realloc()s
10772         for regular files, and better manage sizes around SIZE_MAX.
10773
10774 2010-12-13  Eric Blake  <eblake@redhat.com>
10775
10776         cloexec, fcntl: relax license
10777         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
10778         consent from all contributors.
10779         * modules/fcntl (License): Likewise.
10780
10781 2010-12-10  Bruno Haible  <bruno@clisp.org>
10782
10783         Tests for module 'pipe-posix'.
10784         * modules/pipe-posix-tests: New file.
10785         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
10786
10787 2010-12-10  Bruno Haible  <bruno@clisp.org>
10788
10789         pipe-posix: Make it work in C++ mode.
10790         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
10791         (pipe): Use common idiom, not a macro definition.
10792         * lib/pipe.c: New file.
10793         * m4/pipe.m4: New file.
10794         * modules/pipe-posix (Description): Enhance.
10795         (Files): Add lib/pipe.c, m4/pipe.m4.
10796         (configure.ac): Invoke gl_FUNC_PIPE.
10797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
10798         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
10799         * tests/test-unistd-c++.cc: Check the signature of pipe.
10800
10801 2010-12-10  Bruno Haible  <bruno@clisp.org>
10802
10803         Rename module 'pipe' to 'spawn-pipe'.
10804         * modules/spawn-pipe: New file, renamed from modules/pipe.
10805         (Files, configure.ac, Makefile.am): Update.
10806         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
10807         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
10808         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
10809         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
10810         "spawn-pipe.h" instead of "pipe.h".
10811         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
10812         to gl_SPAWN_PIPE.
10813         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
10814         (Files, Makefile.am): Update.
10815         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
10816         Update.
10817         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
10818         Include "spawn-pipe.h" instead of "pipe.h".
10819         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
10820         * lib/javacomp.c: Likewise.
10821         * lib/javaversion.c: Likewise.
10822         * lib/pipe-filter-gi.c: Likewise.
10823         * lib/pipe-filter-ii.c: Likewise.
10824         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
10825         * modules/javacomp (Depends-on): Likewise.
10826         * modules/javaversion (Depends-on): Likewise.
10827         * modules/pipe-filter-gi (Depends-on): Likewise.
10828         * modules/pipe-filter-ii (Depends-on): Likewise.
10829         * MODULES.html.sh (Executing programs): Update.
10830         * NEWS: Mention the change.
10831
10832 2010-12-10  Eric Blake  <eblake@redhat.com>
10833
10834         pipe-posix: new module
10835         * modules/pipe-posix: New file.
10836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
10837         (gl_UNISTD_H): Check for declaration.
10838         * modules/unistd (Makefile.am): Substitute it.
10839         * lib/unistd.in.h (pipe): Provide it for mingw.
10840         * doc/posix-functions/pipe.texi (pipe): Update documentation.
10841         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
10842
10843 2010-12-07  Bruno Haible  <bruno@clisp.org>
10844
10845         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
10846         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
10847         u8_strcmp_gnu.
10848         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
10849
10850 2010-12-06  Bruno Haible  <bruno@clisp.org>
10851
10852         Update internal documentation.
10853         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
10854
10855 2010-12-04  Bruno Haible  <bruno@clisp.org>
10856
10857         Put more information about failed tests into the test return codes.
10858         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
10859         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
10860         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
10861         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10862         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
10863         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
10864         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
10865         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10866         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
10867         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10868         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
10869         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
10870         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
10871         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10872         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
10873         returns a bit mask.
10874         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
10875         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
10876         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
10877         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
10878         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
10879         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10880         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10881         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
10882         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10883         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10884         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
10885         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10886         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10887         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10888         * m4/link.m4 (gl_FUNC_LINK): Likewise.
10889         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10890         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
10891         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
10892         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10893         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
10894         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
10895         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
10896         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
10897         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
10898         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10899         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
10900         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
10901         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10902         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10903         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
10904         gl_PRINTF_PRECISION): Likewise.
10905         * m4/regex.m4 (gl_REGEX): Likewise.
10906         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
10907         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
10908         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
10909         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10910         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10911         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10912         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10913         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
10914         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
10915         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10916         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10917         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
10918         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10919         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
10920         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10921         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10922         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10923         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10924         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10925         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
10926         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
10927         enumerated value.
10928         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
10929
10930 2010-12-04  Bruno Haible  <bruno@clisp.org>
10931
10932         Update for Solaris 11 2010-11.
10933         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
10934         Express, released in November 2010.
10935
10936 2010-12-04  Bruno Haible  <bruno@clisp.org>
10937
10938         nproc: Relax license.
10939         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
10940         and Paul Eggert.
10941         Requested by Ludovic Courtès <ludo@gnu.org>.
10942
10943 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
10944
10945         utimecmp: fine-grained src to nearby coarse-grained dest
10946
10947         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
10948         and the source is on a file system with higher-resolution time
10949         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
10950         not work, and the time stamps are close together, the algorithm to
10951         determine the exact resolution from the read-back mtime was buggy:
10952         it had a "!=" where it should have had an "==".  This bug has been
10953         in the code ever since it was introduced to gnulib.
10954         Problem reported by Dan Jacobson in
10955         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
10956
10957 2010-11-30  Bruno Haible  <bruno@clisp.org>
10958
10959         strerror_r-posix: Fix autoconf test.
10960         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
10961
10962 2010-11-28  Bruno Haible  <bruno@clisp.org>
10963             Paul Eggert  <eggert@cs.ucla.edu>
10964
10965         Tests for module 'getdomainname'.
10966         * modules/getdomainname-tests: New file.
10967         * tests/test-getdomainname.c: New file, based on
10968         tests/test-gethostname.c.
10969
10970 2010-11-28  Bruno Haible  <bruno@clisp.org>
10971             Paul Eggert  <eggert@cs.ucla.edu>
10972
10973         getdomainname: Use the system function when possible.
10974         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
10975         (getdomainname): Replace if needed. Provide the declaration if it is
10976         missing. Don't use _GL_CXXALIAS_SYS_CAST.
10977         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
10978         (getdomainname): When the system has getdomainname, call the system
10979         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
10980         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
10981         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
10982         found in libnsl. Look for the declaration also in <netdb.h>. Replace
10983         the function if its second argument is of type 'int' or if it is found
10984         in libnsl.
10985         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
10986         <sys/systeminfo.h> and sysinfo().
10987         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
10988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10989         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
10990         HAVE_GETDOMAINNAME.
10991         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
10992         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
10993         * doc/glibc-functions/getdomainname.texi: Document the problems with
10994         the getdomainname declaration.
10995
10996 2010-11-28  Bruno Haible  <bruno@clisp.org>
10997
10998         sys_socket: Ensure ss_family field on AIX.
10999         * lib/sys_socket.in.h (ss_family): New macro definition.
11000         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
11001         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
11002         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
11003         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11004         * modules/sys_socket (Makefile.am): Substitute
11005         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11006         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
11007
11008 2010-11-27  Bruno Haible  <bruno@clisp.org>
11009
11010         readline: Improve configure output.
11011         * m4/readline.m4 (gl_FUNC_READLINE): Make the
11012         "checking for readline..." result understandable.
11013
11014 2010-11-27  Bruno Haible  <bruno@clisp.org>
11015
11016         *printf-posix: Detect a bug on Solaris 10/x86.
11017         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
11018         for floating-point output.
11019         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
11020         directive.
11021         * tests/test-snprintf-posix.h (test_function): Likewise.
11022         * tests/test-sprintf-posix.h (test_function): Likewise.
11023         * tests/test-vasprintf-posix.c (test_function): Likewise.
11024         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
11025         * doc/posix-functions/printf.texi: Likewise.
11026         * doc/posix-functions/snprintf.texi: Likewise.
11027         * doc/posix-functions/sprintf.texi: Likewise.
11028         * doc/posix-functions/vfprintf.texi: Likewise.
11029         * doc/posix-functions/vprintf.texi: Likewise.
11030         * doc/posix-functions/vsnprintf.texi: Likewise.
11031         * doc/posix-functions/vsprintf.texi: Likewise.
11032         * doc/glibc-functions/obstack_printf.texi: Likewise.
11033         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11034
11035 2010-11-27  Bruno Haible  <bruno@clisp.org>
11036
11037         Fix link error when module libunistring-optional is in use.
11038         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
11039         * modules/striconveha-tests (Makefile.am): Likewise.
11040
11041 2010-11-27  Bruno Haible  <bruno@clisp.org>
11042
11043         regex: Mention link dependencies.
11044         * modules/regex (Link): New section.
11045         * modules/rpmatch (Link): Likewise.
11046         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
11047
11048 2010-11-27  Bruno Haible  <bruno@clisp.org>
11049
11050         ftoastr: Fix compilation error on Solaris.
11051         * lib/ftoastr.c: Include <config.h>.
11052
11053 2010-11-27  Bruno Haible  <bruno@clisp.org>
11054
11055         getloadavg: Update documentation.
11056         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
11057
11058 2010-11-27  Bruno Haible  <bruno@clisp.org>
11059
11060         sys_socket: Fix test whether the functions are declared.
11061         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
11062         not <sys/select.h>.
11063
11064 2010-11-27  Bruno Haible  <bruno@clisp.org>
11065
11066         getpass: Make sure to get system declaration on some platforms.
11067         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
11068         gl_USE_SYSTEM_EXTENSIONS.
11069         * modules/getpass (Depends-on): Add extensions.
11070
11071 2010-11-26  Bruno Haible  <bruno@clisp.org>
11072
11073         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
11074         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
11075         'iconv' module is present.
11076         (ICONV_CONST): New macro.
11077         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
11078         ICONV_CONST.
11079         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
11080         set ICONV_CONST.
11081         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
11082         here.
11083         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
11084         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
11085         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
11086         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
11087         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
11088         present.
11089
11090 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11091
11092         ftoastr: comment fix
11093         * lib/ftoastr.c: "little" -> "little or no" in comment
11094
11095 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
11096
11097         stdint: port to GCC 4.3 + OSX + Octave
11098         On this platform, stdint.h is buggy and defines int64_t to long
11099         long int.  The replacement defined it to long int, causing
11100         problems with C++ style name mangling.  Instead, trust the system
11101         definition if INT64_MAX is defined, and likewise for the unsigned
11102         variant.   Problem reported by Jarno Rajahalme in
11103         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
11104         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
11105         and don't mess with int64_t and INT64_MAX in this case.
11106         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
11107
11108 2010-11-24  Bruno Haible  <bruno@clisp.org>
11109
11110         doc: Corrections regarding MacOS X 10.4 and 10.5.
11111         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
11112         MacOS X.
11113         Reported by Simon Josefsson.
11114
11115 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
11116
11117         Uninstall ".bin" files installed by relocwrapper.
11118         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
11119         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
11120         unless it is already there.
11121
11122 2010-11-21  Bruno Haible  <bruno@clisp.org>
11123
11124         Update for NetBSD 5.0.
11125         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
11126         NetBSD; the test fails on NetBSD 5.0.
11127         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
11128         about NetBSD.
11129
11130 2010-11-21  Bruno Haible  <bruno@clisp.org>
11131
11132         Update for HP-UX 11.23 and HP-UX 11.31.
11133         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
11134         HP-UX.
11135
11136 2010-11-21  Bruno Haible  <bruno@clisp.org>
11137
11138         Update for MacOS X 10.5.
11139         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
11140         MacOS X; the test fails on MacOS X 10.5.8.
11141         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
11142         about MacOS X.
11143
11144 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
11145
11146         bootstrap: add bootstrap_sync option.
11147         See discussion at
11148         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
11149         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
11150         * build-aux/bootstrap: Accept --bootstrap-sync to update
11151         bootstrap if it is not identical to the local gnulib's
11152         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
11153         enable this by default.  Accept --no-bootstrap-sync to disable
11154         it.
11155
11156 2010-11-20  Bruno Haible  <bruno@clisp.org>
11157
11158         Ensure that <features.h> is included before __GLIBC__ is tested.
11159         * lib/printf-parse.h: Include <features.h>.
11160         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
11161         Reported by Mike Frysinger <vapier@gentoo.org>.
11162
11163         Ensure that <features.h> is included before __GLIBC__ is tested.
11164         * lib/wchar.in.h: Include <features.h>.
11165         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
11166         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
11167         Reported by Mike Frysinger <vapier@gentoo.org>.
11168
11169         Ensure that <features.h> is included before __GLIBC__ is tested.
11170         * lib/arpa_inet.in.h: Include <features.h>.
11171         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
11172         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
11173         Reported by Mike Frysinger <vapier@gentoo.org>.
11174
11175         Ensure that <features.h> is included before __GLIBC__ is tested.
11176         * build-aux/link-warning.h: Include <features.h>.
11177         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
11178         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
11179         Reported by Mike Frysinger <vapier@gentoo.org>.
11180
11181         Ensure that <features.h> is included before __GLIBC__ is tested.
11182         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
11183         Reported by Mike Frysinger <vapier@gentoo.org>.
11184
11185 2010-11-20  Bruno Haible  <bruno@clisp.org>
11186
11187         memmem: Fix autoconf test.
11188         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
11189
11190 2010-11-20  Bruno Haible  <bruno@clisp.org>
11191
11192         Port to uClibc.
11193         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
11194         * lib/fcntl.in.h: Likewise.
11195         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
11196         * lib/mbrtowc.c (mbrtowc): Likewise.
11197         * lib/relocatable.c (find_shared_library_fullname): Likewise.
11198         * lib/strerror_r.c: Likewise.
11199         * lib/unistr/u8-strnlen.c: Likewise.
11200         * lib/vasnprintf.c (decimal_point_char): Likewise.
11201         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
11202         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11203         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
11204         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
11205         * tests/test-sigaction.c (handler, main): Likewise.
11206         * lib/freading.h: Treat uClibc like a non-glibc platform.
11207         * lib/freading.c: Likewise.
11208         * lib/gettext.h: Likewise.
11209         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
11210         Likewise.
11211         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
11212         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
11213         * lib/propername.c (proper_name_utf8): Likewise.
11214         * lib/spawn.in.h: Likewise.
11215         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
11216         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
11217         mem_cd_iconveh_internal): Likewise.
11218         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
11219         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
11220         strstr, strcasestr): Likewise.
11221         * lib/unicodeio.c (unicode_to_mb): Likewise.
11222         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
11223         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
11224         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
11225         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
11226         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
11227         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
11228         * lib/unistr/u8-stpncpy.c: Likewise.
11229         * lib/vasnprintf.c (VASNPRINTF): Likewise.
11230         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
11231         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
11232         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11233         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
11234         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
11235         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
11236         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
11237         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11238         Likewise.
11239         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11240         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
11241         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
11242         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11243         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
11244         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11245         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11246         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
11247         * tests/test-getopt.h (OPTIND_MIN): Likewise.
11248         * tests/test-striconveha.c (main): Likewise.
11249         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11250         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
11251         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
11252         * doc/posix-functions/getline.texi: Likewise.
11253         Reported by Mike Frysinger <vapier@gentoo.org>.
11254
11255 2010-11-20  Bruno Haible  <bruno@clisp.org>
11256
11257         nproc: Fix condition.
11258         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
11259         HAVE_PTHREAD_AFFINITY_NP.
11260
11261 2010-11-20  Bruno Haible  <bruno@clisp.org>
11262
11263         Fix a comment.
11264         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
11265
11266 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11267
11268         ftoastr: don't assume snprintf
11269         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
11270         Implement a subset of snprintf here, by using sprintf safely.
11271         * modules/ftoastr (Depends-on): Remove snprintf.
11272
11273 2010-11-19  Jim Meyering  <meyering@redhat.com>
11274
11275         test-rename.h: fix compilation failure
11276         * tests/test-rename.h (test_rename): Add omitted "}".
11277
11278 2010-11-17  Jim Meyering  <meyering@redhat.com>
11279
11280         maint.mk: add a URL discussing the no-@acronym policy
11281         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
11282
11283 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11284
11285         ftoastr: depend on snprintf, improve comments
11286         * lib/ftoastr.c: Also mention Loitsch's draft.
11287         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
11288         needed in the current implementation, but it might simplify
11289         speeding up the code later.
11290         * modules/ftoastr: Depend on snprintf; this improves portability.
11291         Suggested by Bruno Haible in the same email.
11292
11293         ftoastr: port to hosts lacking strtof and strtold
11294         Problem reported by Bruno Haible in
11295         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
11296         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
11297         environment and strtold (and presumably strtof) are not available.
11298         * modules/ftoastr (Files): Add m4/c-strtod.m4.
11299         (configure.ac): Require gl_C99_STRTOLD.
11300
11301 2010-11-18  Bruno Haible  <bruno@clisp.org>
11302
11303         c-strtold: Avoid link error on AIX 7.
11304         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
11305         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
11306         (gl_C_STRTOLD): Test whether strtold_l exists.
11307         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11308
11309 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11310
11311         intprops: new macro INT_BITS_STRLEN_BOUND
11312         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
11313         ftoastr.h.  This exposes an internal of intprops.h that was formerly
11314         not exposed.  Also, it uses a slightly tighter bound than before;
11315         though this makes no practical difference, we might as well be as
11316         tight as we easily can.
11317
11318         ftoastr: new module, for lossless conversion of floats to short strings
11319         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
11320         * modules/ftoastr: New files.
11321
11322 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11323
11324         bootstrap: port to Solaris sed
11325         * build-aux/bootstrap (get_version): Port to Solaris sed.
11326         See Ralf Wildenhues's note in
11327         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
11328
11329 2010-11-14  Jim Meyering  <meyering@redhat.com>
11330
11331         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
11332         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
11333         and move definition closer to sole use.
11334
11335 2010-11-13  Jim Meyering  <meyering@redhat.com>
11336
11337         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
11338         Now we require at least autoconf-2.59, which means the work-around
11339         is no longer needed.
11340         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
11341         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11342         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
11343         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
11344         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11345
11346 2010-11-13  Bruno Haible  <bruno@clisp.org>
11347
11348         rename, renameat: Avoid test failures at NFS mounted locations.
11349         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
11350         functions.
11351         (test_rename): Use assert_nonexistent.
11352         * tests/test-rename.c: Include <dirent.h>.
11353         * tests/test-renameat.c: Likewise.
11354         Reported by Gary V. Vaughan <gary@gnu.org>.
11355
11356         rename, renameat: Document Linux bug with NFS
11357         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
11358         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
11359         * doc/posix-functions/renameat.texi: Likewise.
11360         Suggested by Eric Blake.
11361
11362 2010-11-13  Bruno Haible  <bruno@clisp.org>
11363
11364         rename test: Add comments.
11365         * tests/test-rename.h (test_rename): Add structure and comments.
11366
11367 2010-11-13  Eric Blake  <eblake@redhat.com>
11368
11369         maintainer-makefile: cover a few more files
11370         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
11371         scripts generated within C files, for libvirt.
11372
11373 2010-11-13  Bruno Haible  <bruno@clisp.org>
11374
11375         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
11376         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
11377         character, return the number of bytes that belong together, not always
11378         1.
11379         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
11380         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
11381         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
11382         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
11383         number of bytes of an invalid character.
11384         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
11385         (main): Invoke it.
11386         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
11387         results.
11388         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
11389         malformed byte sequences.
11390         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
11391         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
11392         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
11393         Reported by Ben Pfaff and Paolo Bonzini.
11394
11395 2010-11-13  Bruno Haible  <bruno@clisp.org>
11396
11397         openat: Work around glibc bug with fchownat() and empty file names.
11398         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
11399         (gl_FUNC_FCHOWNAT): Invoke it.
11400         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
11401         * doc/posix-functions/fchownat.texi: Document the glibc bug.
11402         Reported by Gary V. Vaughan <gary@gnu.org>.
11403
11404 2010-11-13  Bruno Haible  <bruno@clisp.org>
11405
11406         openat: Ensure autoconf macro ordering.
11407         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
11408         gl_USE_SYSTEM_EXTENSIONS.
11409         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
11410
11411 2010-11-13  Bruno Haible  <bruno@clisp.org>
11412
11413         Update comments.
11414         * lib/unistr/u8-check.c: Update file name in comments.
11415         * lib/unistr/u8-mblen.c: Likewise.
11416         * lib/unistr/u8-prev.c: Likewise.
11417         * lib/unistr/u8-strmblen.c: Likewise.
11418         * lib/unistr/u8-strmbtouc.c: Likewise.
11419
11420 2010-11-13  Jim Meyering  <meyering@redhat.com>
11421
11422         tests: avoid test failure on Solaris 10 due to lack of PATH export
11423         * tests/test-update-copyright.sh: Don't forget to export PATH.
11424
11425         init.sh: ensure that IFS is defined, just in case...
11426         * tests/init.sh (setup_): Ensure that IFS is defined,
11427         so that saving and restoring it works as expected.  This
11428         appears to be useful at least for an old version of dash
11429         from a long time ago (RH 6).  See here for details:
11430         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
11431
11432         maint.mk: tighten "test a == b" check
11433         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
11434         test to files that contain something like #!/bin/sh.
11435         Without this, coreutils would get two false positives in
11436         the comments of C source files.
11437
11438 2010-11-12  Eric Blake  <eblake@redhat.com>
11439
11440         bootstrap: fix typo in previous attempt
11441         * build-aux/bootstrap (buildreq): Correct the grouping.
11442         Reported by Paul Eggert.
11443
11444         maintainer-makefile: prohibit test x == x
11445         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
11446         Based on a report by Matthias Bolte.
11447
11448         bootstrap: allow FreeBSD gzip
11449         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
11450         which has no '.' and goes to stderr.
11451         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
11452         Reported by Matthias Bolte.
11453
11454         maintainer-makefile: check for i18n setup
11455         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
11456         will likely work.
11457
11458 2010-11-12  Bruno Haible  <bruno@clisp.org>
11459
11460         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
11461         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
11462         * lib/nanosleep.c (nanosleep): Likewise.
11463
11464 2010-11-11  Bruno Haible  <bruno@clisp.org>
11465
11466         fcntl-h: Fix for use of C++ on glibc systems.
11467         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
11468         also on glibc systems in C++ mode.
11469         Reported by Gary V. Vaughan <gary@gnu.org>.
11470
11471 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11472
11473         mknod: avoid false failure with dash
11474         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
11475
11476 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11477
11478         unlink: Fix "is it should" typo in diagnostic.
11479         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
11480         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
11481
11482 2010-11-11  Bruno Haible  <bruno@clisp.org>
11483
11484         Tests for module 'strerror_r-posix'.
11485         * modules/strerror_r-posix-tests: New file.
11486         * tests/test-strerror_r.c: New file.
11487         * tests/test-string-c++.cc: Check the signature of strerror_r.
11488
11489         New module 'strerror_r-posix'.
11490         * lib/string.in.h (strerror_r): New declaration.
11491         * lib/strerror_r.c: New file.
11492         * m4/strerror_r.m4: New file.
11493         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
11494         of strerror_r.
11495         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
11496         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
11497         * modules/strerror_r-posix: New file.
11498         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
11499         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
11500         * doc/posix-functions/strerror_r.texi: Mention the new module and the
11501         portability problems.
11502
11503 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
11504
11505         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
11506         line is also considered for output. Quoted function name in shell
11507         command, so temporary files for functions like MyClass::operator()
11508         are removed correctly without errors.
11509
11510 2010-11-09  Bruno Haible  <bruno@clisp.org>
11511
11512         * doc/posix-functions/strerror.texi: List more failing platforms.
11513
11514         * doc/posix-functions/strerror.texi: Add a comment.
11515
11516 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11517
11518         fdopendir: fix bug on MacOS X when low on file descriptors
11519
11520         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
11521         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
11522         All callers changed.
11523         (fdopendir): Invoke save_cwd at the top level, not after using
11524         multiple dup() calls to use up file descriptors.  Then retry
11525         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
11526         less than the maximum number of open file descriptors, because
11527         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
11528         on Mac OS X 10.6.4 for tar 1.24
11529         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
11530         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
11531         and for tar 1.25
11532         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
11533
11534 2010-11-07  Bruno Haible  <bruno@clisp.org>
11535
11536         vasnprintf: Support I flag on glibc systems.
11537         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
11538         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
11539         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
11540         snprintf function.
11541         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
11542         glibc systems.
11543         * tests/test-vasnprintf-posix3.c: New file.
11544         * modules/vasnprintf-posix-tests (Files): Add it.
11545         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
11546
11547 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11548
11549         [html] Fix copy/paste bug: Use unique name for compiler warnings.
11550         * MODULES.html.sh: For compiler warnings, use name
11551         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
11552
11553 2010-11-05  Eric Blake  <eblake@redhat.com>
11554
11555         ceil, floor: avoid spurious failure with icc
11556         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
11557         [denormals-as-zero] when optimizing without -mieee-fp option.
11558         * tests/test-floorf2.c (floorf_reference): Likewise.
11559         * tests/test-ceilf1.c (dummy): New function.
11560         (main): Use it to outsmart icc's optimization.
11561         * tests/test-floorf1.c (dummy, main): Likewise.
11562
11563         tests: require working signbit
11564         * modules/ceilf-tests (Depends-on): Add signbit.
11565         * modules/ceill-tests (Depends-on): Likewise.
11566         * modules/floorf-tests (Depends-on): Likewise.
11567         * modules/floorl-tests (Depends-on): Likewise.
11568         * modules/round-tests (Depends-on): Likewise.
11569         * modules/roundf-tests (Depends-on): Likewise.
11570         * modules/roundl-tests (Depends-on): Likewise.
11571         * modules/trunc-tests (Depends-on): Likewise.
11572         * modules/truncf-tests (Depends-on): Likewise.
11573         * modules/truncl-tests (Depends-on): Likewise.
11574
11575         strtod: work around icc bug
11576         * lib/strtod.c (minus_zero): Define to working value.
11577         (strtod): Use it to avoid icc bug.
11578
11579         copysign: enhance tests
11580         * modules/copysign-tests (Files): Add minus-zero.h.
11581         * tests/test-copysign.c (main): Also test zeros.
11582
11583 2010-11-04  Eric Blake  <eblake@redhat.com>
11584
11585         ceil, floor, round, trunc: enhance tests of -0
11586         * tests/test-ceilf1.c (main): Ensure correct sign of result.
11587         * tests/test-ceill.c (main): Likewise.
11588         * tests/test-floorf1.c (main): Likewise.
11589         * tests/test-floorl.c (main): Likewise.
11590         * tests/test-round1.c (main): Likewise.
11591         * tests/test-roundf1.c (main): Likewise.
11592         * tests/test-roundl.c (main): Likewise.
11593         * tests/test-trunc1.c (main): Likewise.
11594         * tests/test-truncf1.c (main): Likewise.
11595         * tests/test-truncl.c (main): Likewise.
11596
11597 2010-11-04  Eric Blake  <eblake@redhat.com>
11598
11599         frexp, tests: work around ICC bug with -zero
11600         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
11601         works with more compilers.
11602         * tests/minus-zero.h: New file.
11603         * modules/ceilf-tests (Files): Include it.
11604         * modules/ceill-tests (Files): Likewise.
11605         * modules/floorf-tests (Files): Likewise.
11606         * modules/floorl-tests (Files): Likewise.
11607         * modules/frexp-nolibm-tests (Files): Likewise.
11608         * modules/frexp-tests (Files): Likewise.
11609         * modules/frexpl-nolibm-tests (Files): Likewise.
11610         * modules/frexpl-tests (Files): Likewise.
11611         * modules/isnan-tests (Files): Likewise.
11612         * modules/isnand-nolibm-tests (Files): Likewise.
11613         * modules/isnand-tests (Files): Likewise.
11614         * modules/isnanf-nolibm-tests (Files): Likewise.
11615         * modules/isnanf-tests (Files): Likewise.
11616         * modules/isnanl-nolibm-tests (Files): Likewise.
11617         * modules/isnanl-tests (Files): Likewise.
11618         * modules/round-tests (Files): Likewise.
11619         * modules/roundf-tests (Files): Likewise.
11620         * modules/roundl-tests (Files): Likewise.
11621         * modules/ldexpl-tests (Files): Likewise.
11622         * modules/signbit-tests (Files): Likewise.
11623         * modules/snprintf-posix-tests (Files): Likewise.
11624         * modules/sprintf-posix-tests (Files): Likewise.
11625         * modules/strtod-tests (Files): Likewise.
11626         * modules/trunc-tests (Files): Likewise.
11627         * modules/truncf-tests (Files): Likewise.
11628         * modules/truncl-tests (Files): Likewise.
11629         * modules/vsnprintf-posix-tests (Files): Likewise.
11630         * modules/vsprintf-posix-tests (Files): Likewise.
11631         * modules/vasnprintf-posix-tests (Files): Likewise.
11632         * modules/vasprintf-posix-tests (Files): Likewise.
11633         * tests/test-ceilf1.c (main): Use it.
11634         * tests/test-ceill.c (main): Likewise.
11635         * tests/test-floorf1.c (main): Likewise.
11636         * tests/test-floorl.c (main): Likewise.
11637         * tests/test-frexp.c (main): Likewise.
11638         * tests/test-frexpl.c (main): Likewise.
11639         * tests/test-isnan.c (main): Likewise.
11640         * tests/test-isnand.h (main): Likewise.
11641         * tests/test-isnanf.h (main): Likewise.
11642         * tests/test-isnanl.h (main): Likewise.
11643         * tests/test-ldexpl.c (main): Likewise.
11644         * tests/test-round.c (main): Likewise.
11645         * tests/test-roundf.c (main): Likewise.
11646         * tests/test-roundl.c (main): Likewise.
11647         * tests/test-signbit.c (test_signbitf, test_signbitd)
11648         (test_signbitl): Likewise.
11649         * tests/test-snprintf-posix.h (test_function): Likewise.
11650         * tests/test-sprintf-posix.h (test_function): Likewise.
11651         * tests/test-strtod.c (main): Likewise.
11652         * tests/test-trunc1.c (main): Likewise.
11653         * tests/test-truncf1.c (main): Likewise.
11654         * tests/test-truncl.c (main): Likewise.
11655
11656         isnanl: work around icc bug
11657         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
11658
11659 2010-11-03  Eric Blake  <eblake@redhat.com>
11660
11661         tests: fix compiler warnings
11662         * tests/test-getopt.h (test_getopt): Fix condition.
11663         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11664         * tests/test-pipe2.c (main): Likewise.
11665         * tests/test-quotearg-simple.c (main): Avoid icc warning.
11666
11667         utimens: fix broken m4 test
11668         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
11669
11670 2010-10-28  Bruno Haible  <bruno@clisp.org>
11671
11672         posix_spawn*, getdtablesize: Relax license.
11673         * modules/posix_spawn (License): Change to LGPLv2+.
11674         * modules/posix_spawnp (License): Likewise.
11675         * modules/posix_spawn-internal (License): Likewise.
11676         * modules/posix_spawnattr_init (License): Likewise.
11677         * modules/posix_spawnattr_getflags (License): Likewise.
11678         * modules/posix_spawnattr_setflags (License): Likewise.
11679         * modules/posix_spawnattr_getpgroup (License): Likewise.
11680         * modules/posix_spawnattr_setpgroup (License): Likewise.
11681         * modules/posix_spawnattr_getschedparam (License): Likewise.
11682         * modules/posix_spawnattr_setschedparam (License): Likewise.
11683         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
11684         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
11685         * modules/posix_spawnattr_getsigdefault (License): Likewise.
11686         * modules/posix_spawnattr_setsigdefault (License): Likewise.
11687         * modules/posix_spawnattr_getsigmask (License): Likewise.
11688         * modules/posix_spawnattr_setsigmask (License): Likewise.
11689         * modules/posix_spawnattr_destroy (License): Likewise.
11690         * modules/posix_spawn_file_actions_init (License): Likewise.
11691         * modules/posix_spawn_file_actions_addclose (License): Likewise.
11692         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
11693         * modules/posix_spawn_file_actions_addopen (License): Likewise.
11694         * modules/posix_spawn_file_actions_destroy (License): Likewise.
11695         * modules/getdtablesize (License): Likewise.
11696         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
11697
11698 2010-10-26  Bruno Haible  <bruno@clisp.org>
11699
11700         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
11701         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
11702         Cygwin and mingw.
11703         Suggested by Eric Blake.
11704
11705 2010-10-26  Bruno Haible  <bruno@clisp.org>
11706
11707         stdio: Work around compilation error due to renameat() on Solaris 10.
11708         * lib/stdio.in.h: Include <unistd.h> on Solaris.
11709         * lib/renameat.c: Don't include <unistd.h> here.
11710         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
11711         Reported by Paul Eggert and Eric Blake.
11712
11713 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11714
11715         renameat: port to Solaris 10, which declares renameat in unistd.h
11716
11717         * lib/renameat.c: Include unistd.h before stdio.h, because
11718         Solaris 10 declares renameat in unistd.h.  Problem encountered
11719         when building GNU tar 1.24 on Solaris 10.
11720
11721 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11722
11723         fdopendir: fix C89 compilation
11724         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
11725         compilers.
11726
11727 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11728
11729         inttostr: simplify by removing unnecessary redundancy
11730         * lib/anytostr.c: Don't include verify.h.
11731         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
11732         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
11733         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
11734         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
11735         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
11736         Likewise.
11737         * modules/inttostr (Depends-on): Remove 'verify'.
11738
11739 2010-10-23  Bruno Haible  <bruno@clisp.org>
11740
11741         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
11742         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
11743         Reported by Eric Blake.
11744
11745 2010-10-23  Bruno Haible  <bruno@clisp.org>
11746
11747         Tests: Fix LOCALE_JA on MirBSD 10.
11748         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
11749         to an UTF-8 locale.
11750         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
11751         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
11752         Reported by Eric Blake.
11753
11754 2010-10-21  Bruno Haible  <bruno@clisp.org>
11755
11756         nl_langinfo test: Avoid test failure on NetBSD 5.
11757         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
11758         Reported by Eric Blake.
11759
11760 2010-10-21  Eric Blake  <eblake@redhat.com>
11761
11762         c-stack: work around libsigsegv 2.8 bug
11763         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
11764         overflow on at least PowerPC64.
11765
11766 2010-10-17  Bruno Haible  <bruno@clisp.org>
11767
11768         userspec: Drop redundant file.
11769         * modules/userspec (Files): Remove lib/inttostr.h.
11770
11771 2010-10-17  Bruno Haible  <bruno@clisp.org>
11772
11773         nl_langinfo tests: Silence some warnings.
11774         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
11775         Reported by Jim Meyering.
11776
11777 2010-10-17  Bruno Haible  <bruno@clisp.org>
11778
11779         Make use of GCC's attribute __alloc_size__.
11780         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
11781         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
11782         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
11783         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
11784         __alloc_size__.
11785         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
11786         Suggested by Jim Meyering.
11787
11788 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
11789
11790         bootstrap: anchor .gitignore entries.
11791         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
11792         with...
11793         (insert_vc_ignore): ... this new function, which prepends `/' to
11794         all .gitignore entries before passing them to
11795         insert_sorted_if_absent.
11796
11797 2010-10-16  Bruno Haible  <bruno@clisp.org>
11798
11799         nextafter: Fix configure check.
11800         * modules/nextafter (configure.ac): Correct expected prototype.
11801
11802 2010-10-16  Bruno Haible  <bruno@clisp.org>
11803
11804         termios: Update documentation.
11805         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
11806
11807 2010-10-16  Bruno Haible  <bruno@clisp.org>
11808
11809         tests: Make them compile with TinyCC.
11810         * tests/test-strstr.c (main): Remove parentheses around array
11811         initializer.
11812
11813 2010-10-15  Eric Blake  <eblake@redhat.com>
11814
11815         ignore-value: make header idempotent
11816         * lib/ignore-value.h: Add double-inclusion guards.
11817         Reported by Stefan Berger.
11818
11819 2010-10-15  Jim Meyering  <meyering@redhat.com>
11820
11821         GNUmakefile: handle "stable" target, not "major"
11822         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
11823         lists in maint.mk and announce-gen.  Without this, "make stable"
11824         would fail to ensure that $(VERSION) is up to date.
11825
11826 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
11827
11828         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
11829         & co.
11830
11831 2010-10-14  Bruno Haible  <bruno@clisp.org>
11832
11833         vasnprintf: Don't set errno to 0.
11834         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
11835         block that sets it to 0.
11836         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
11837
11838 2010-10-14  Bruno Haible  <bruno@clisp.org>
11839
11840         socketlib: Fix.
11841         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
11842         gl_PREREQ_SYS_H_WINSOCK2.
11843         Reported by Ian Beckwith <ianb@erislabs.net>.
11844
11845 2010-10-13  Jim Meyering  <meyering@redhat.com>
11846
11847         test-select-stdin.c: avoid warn_unused_result warnings
11848         * tests/test-select-stdin.c: Include "macros.h".
11849         ASSERT that read and fflush succeed.
11850
11851 2010-10-13  Jim Meyering  <meyering@redhat.com>
11852
11853         git-version-gen: do require git-VC'd files in cwd
11854         * build-aux/git-version-gen: Reject a git version string
11855         if there are no commits associated with the current directory.
11856         This avoids an unlikely false-positive (unrelated dir whose parent
11857         repository also contains a tag matching v*), as pointed out
11858         by Giuseppe Scrivano in
11859         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
11860
11861 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11862
11863         argv-iter: omit nonconforming declaration
11864         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
11865         enum arg_iter_err declaration, which doesn't conform to C99.
11866         Solaris 10 cc warns about this.
11867
11868 2010-10-13  Eric Blake  <eblake@redhat.com>
11869
11870         termios: fix compilation on mingw
11871         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
11872         (gl_TERMIOS_H): Adjust it on mingw.
11873         * modules/termios (Makefile.am): Substitute new key.
11874         * lib/termios.in.h (includes): Make include_next conditional.
11875         * doc/posix-headers/termios.texi (termios.h): Update
11876         documentation.
11877         Reported by Daniel P. Berrange.
11878
11879 2010-10-13  Jim Meyering  <meyering@redhat.com>
11880
11881         git-version-gen: don't require that .git/ be in the current dir
11882         * build-aux/git-version-gen: Adjust this script so that it works
11883         when run from any working directory beneath the top-level .git/-
11884         containing directory.  Inspired by a patch from Giuseppe Scrivano,
11885         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
11886
11887         test-select: avoid warn_unused_result warnings
11888         * tests/test-select.c: Include "macros.h".
11889         ASSERT that each call to read, write, and pipe succeeds.
11890         While not technically required, also check each "close".
11891         * modules/select-tests (Files): Add tests/macros.h.
11892
11893         test-symlinkat: remove declaration of unused local
11894         * tests/test-symlinkat.c (main): Remove unused local, "buf".
11895
11896         test-inttostr: avoid shadowing warnings
11897         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
11898         and use malloc rather than the stack for the same reason as
11899         mentioned in the comment justifying the other allocation.
11900
11901 2010-10-11  Bruno Haible  <bruno@clisp.org>
11902
11903         stdlib: Allow multiple gnulib generated replacements to coexist.
11904         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
11905         Reported by Sam Steingold <sds@gnu.org>.
11906
11907 2010-10-11  Jim Meyering  <meyering@redhat.com>
11908
11909         fix a documentation typo
11910         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
11911
11912 2010-10-11  Eric Blake  <eblake@redhat.com>
11913
11914         futimens: work around Solaris 11 bug
11915         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
11916         * tests/test-futimens.h (test_futimens): Enhance, rather than
11917         weaken test.
11918         * doc/posix-functions/futimens.texi (futimens): Document the bug.
11919
11920 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
11921
11922         Indentation.
11923         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
11924         higher-level operators more to the left.
11925
11926 2010-10-11  Jim Meyering  <meyering@redhat.com>
11927
11928         test-futimens: avoid unwarranted test failure on Solaris 5.11
11929         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
11930         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
11931         because it tries to dereference the NULL name argument.
11932
11933 2010-10-11  Bruno Haible  <bruno@clisp.org>
11934
11935         Indentation.
11936         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
11937         indentation.
11938
11939 2010-10-11  Jim Meyering  <meyering@redhat.com>
11940
11941         spawn.in.h: make indentation consistent with parentheses
11942         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
11943         Make indentation consistent with parentheses.
11944
11945 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
11946
11947         Fix mismatched parens in previous commit
11948         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
11949         parens.
11950
11951 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11952
11953         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
11954
11955         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
11956         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
11957         * lib/malloca.c: Include "verify.h".
11958         (verify1): Remove, replacing with a verify call.
11959         * lib/relocwrapper.c (verify1): Likewise.
11960         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
11961         Likewise.
11962         * modules/malloca (Depends-on): Add 'verify'.
11963         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
11964         * modules/vasnprintf (Depends-on): Add 'verify'.
11965         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
11966         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
11967         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
11968         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
11969         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
11970         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
11971         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
11972
11973         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
11974
11975         Formerly the style was sometimes 2*X - 1, because the C standard
11976         was wrongly thought to disallow ?: in integral constant expressions.
11977         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
11978         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
11979         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
11980         * lib/stdint.in.h (_verify_intmax_size): Likewise.
11981         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
11982         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
11983         verify that time_t cannot be floating.
11984
11985 2010-10-08  Eric Blake  <eblake@redhat.com>
11986
11987         time: enforce recent POSIX ruling that time_t is integral
11988         * lib/time.in.h (__time_t_must_be_integral): Detect any
11989         problematic systems, allowing the rest of gnulib to assume POSIX.
11990
11991 2010-10-08  Jim Meyering  <meyering@redhat.com>
11992
11993         fdopendir: fix a bug on systems lacking openat and /proc support
11994         OpenBSD 4.7 is one such system.  The most noticeable effect was
11995         failure of any application making nontrivial use of fts: rm, du,
11996         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
11997           ./rm: traversal failed: `a': Bad file descriptor
11998         Debugging that, you see that even though FD 6 was closed just
11999         prior to the opendir call in fd_clone_opendir, its resulting
12000         dir->dd_fd was 8, rather than the expected value of 6:
12001
12002         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
12003         93                close (fd);
12004         (gdb) n
12005         94                dir = fd_clone_opendir (dupfd);
12006         (gdb) n
12007         95                saved_errno = errno;
12008         (gdb) p dir->dd_fd
12009         $11 = 8
12010
12011         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
12012         The problem is that on OpenBSD, fd_clone_opendir has to resort
12013         to using the old-style save/restore CWD mechanism, due to its
12014         lack of openat/proc support, and *that* would steal the FD (6)
12015         that opendir was supposed to use.
12016
12017         The fix is to squirrel away the desired FD so that save_cwd uses a
12018         different one, and then free the dest FD right before calling opendir.
12019         That guarantees opendir will use the required file descriptor.
12020
12021         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
12022
12023 2010-10-08  Bruno Haible  <bruno@clisp.org>
12024
12025         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
12026         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
12027
12028 2010-10-08  Bruno Haible  <bruno@clisp.org>
12029
12030         nanosleep: Make replacement POSIX compliant.
12031         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
12032         is out of range.
12033         Reported by Jim Meyering.
12034
12035 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12036
12037         bootstrap: add hook for altering gnulib.mk, for Bison
12038         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
12039         the Bison bootstrapping process can rewrite file names and variables
12040         in this file before later parts of 'bootstrap' use the file.
12041         Bison wants to include lib/gnulib.mk from the top-level makefile,
12042         so it needs the file names in this file to be relative to the top
12043         level, not relative to lib; plus it needs variable names to be
12044         rewritten.
12045         (slurp): Use the new function.
12046
12047         bootstrap: reformat for readability
12048         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
12049
12050 2010-10-08  Eric Blake  <eblake@redhat.com>
12051
12052         docs: update cygwin progress
12053         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
12054         1.7.7.
12055         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
12056         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
12057         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
12058         * doc/posix-functions/carg.texi (carg): Likewise.
12059         * doc/posix-functions/cargf.texi (cargf): Likewise.
12060         * doc/posix-functions/casin.texi (casin): Likewise.
12061         * doc/posix-functions/casinf.texi (casinf): Likewise.
12062         * doc/posix-functions/casinh.texi (casinh): Likewise.
12063         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
12064         * doc/posix-functions/catan.texi (catan): Likewise.
12065         * doc/posix-functions/catanf.texi (catanf): Likewise.
12066         * doc/posix-functions/catanh.texi (catanh): Likewise.
12067         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
12068         * doc/posix-functions/ccos.texi (ccos): Likewise.
12069         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
12070         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
12071         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
12072         * doc/posix-functions/cexp.texi (cexp): Likewise.
12073         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
12074         * doc/posix-functions/cimag.texi (cimag): Likewise.
12075         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
12076         * doc/posix-functions/clog.texi (clog): Likewise.
12077         * doc/posix-functions/clogf.texi (clogf): Likewise.
12078         * doc/posix-functions/conj.texi (conj): Likewise.
12079         * doc/posix-functions/conjf.texi (conjf): Likewise.
12080         * doc/posix-functions/cpow.texi (cpow): Likewise.
12081         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
12082         * doc/posix-functions/cproj.texi (cproj): Likewise.
12083         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
12084         * doc/posix-functions/creal.texi (creal): Likewise.
12085         * doc/posix-functions/crealf.texi (crealf): Likewise.
12086         * doc/posix-functions/csin.texi (csin): Likewise.
12087         * doc/posix-functions/csinf.texi (csinf): Likewise.
12088         * doc/posix-functions/csinh.texi (csinh): Likewise.
12089         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
12090         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
12091         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
12092         * doc/posix-functions/ctan.texi (ctan): Likewise.
12093         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
12094         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
12095         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
12096         * doc/posix-headers/complex.texi (complex.h): Likewise.
12097
12098 2010-10-07  Jim Meyering  <meyering@redhat.com>
12099
12100         parse-datetime: avoid compilation failure on OpenBSD 4.7
12101         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
12102         This works around a compilation failure on OpenBSD 4.7:
12103         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
12104
12105 2010-10-07  Eric Blake  <eblake@redhat.com>
12106
12107         docs: update cygwin progress
12108         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
12109         1.7.6.
12110         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12111         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
12112         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
12113         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
12114         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
12115         Likewise.
12116         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
12117         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
12118         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
12119         Likewise.
12120         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
12121         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
12122         Likewise.
12123         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
12124         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
12125         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
12126         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
12127         Likewise.
12128         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
12129         Likewise.
12130         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
12131
12132         docs: update parse-datetime history
12133         * doc/parse-datetime.texi (Authors of parse_datetime): Better
12134         documentation of this function's history and alternatives.
12135
12136         cygwin: use more robust version check
12137         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
12138         exclude an eventual cygwin 1.9.1.
12139         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12140         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
12141         (gl_FUNC_STRCASESTR): Likewise.
12142         Reported by Bruno Haible.
12143
12144 2010-10-06  Bruno Haible  <bruno@clisp.org>
12145
12146         string, sys_select: Avoid #including large headers unless necessary.
12147         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
12148         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
12149         OSF/1, BeOS, Haiku.
12150         Reported by Jim Meyering.
12151
12152 2010-10-05  Eric Blake  <eblake@redhat.com>
12153
12154         memmem, strstr, strcasestr: fix bug with long periodic needle
12155         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
12156         periodic needle having false positive.
12157         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
12158         and cygwin 1.7.7.
12159         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
12160         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
12161         (gl_FUNC_STRCASESTR): Likewise.
12162         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12163         * tests/test-memmem.c (main): Expose the bug.
12164         * tests/test-strcasestr.c (main): Likewise.
12165         * tests/test-strstr.c (main): Likewise.
12166         * tests/test-c-strcasestr.c (main): Likewise.
12167         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
12168         * doc/posix-functions/strstr.texi (strstr): Likewise.
12169         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
12170         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
12171
12172 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12173
12174         parse-datetime: do some more renaming
12175         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
12176         parse_datetime, not get_date.  Mention the renaming.
12177         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
12178         in comments.
12179         * m4/bison.m4: Likewise.
12180
12181 2010-10-05  Eric Blake  <eblake@redhat.com>
12182
12183         parse-datetime: better name than get_date
12184         * NEWS: Reword the deprecation notice.
12185         * modules/get_date: Rename to modules/parse-datetime.
12186         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
12187         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
12188         * lib/get_date.y: Rename to lib/parse-datetime.y.
12189         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
12190         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
12191         * doc/getdate.texi: Provide fallback wrapper.
12192         * lib/getdate.h: Move guts, and wrap...
12193         * lib/parse-datetime.h: ...new file.
12194         * lib/parse-datetime.y (get_date): Rename...
12195         (parse_datetime): ...to this.
12196         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
12197         (gl_PARSE_DATETIME): ...to this.
12198         * doc/posix-functions/getdate.texi (get_date): Provide fallback
12199         documentation.
12200         * modules/getdate (Files): Provide fallback docs and header.
12201         (Notice, Depends-on): Update references.
12202         * tests/test-parse-datetime.c: Likewise.
12203         * DEPENDENCIES: Likewise.
12204         * MODULES.html.sh (Date and time <time.h>): Likewise.
12205         * doc/parse-datetime.texi (Date input formats)
12206         (Authors of parse_datetime): Likewise.
12207         * modules/parse-datetime (Files, configure.ac, Makefile.am)
12208         (Include): Likewise.
12209         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
12210         * gnulib-tool: Likewise.
12211         * m4/bison.m4 (gl_BISON): Likewise.
12212         Suggested by Bruno Haible.
12213
12214 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12215
12216         more ports to Solaris tr, which needs [] around ranges
12217         * gnulib-tool: Solaris tr needs [] around ranges.
12218         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
12219         * tests/test-pipe-filter-gi1.c (main): Likewise.
12220         * tests/test-pipe-filter-ii1.c (main): Likewise.
12221
12222 2010-10-05  Eric Blake  <eblake@redhat.com>
12223
12224         bootstrap: fix Solaris regression
12225         * build-aux/bootstrap (check_versions): Solaris tr still needs []
12226         around ranges.
12227         Reported by Pádraig Brady.
12228
12229         bootstrap: work with pkg-config
12230         * build-aux/bootstrap (check_versions): Also transliterate - in
12231         prerequisite name.
12232         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
12233         prerequisites that were already found, to avoid confusion.
12234         Reported by Justin Clift.
12235
12236         faccessat: remove unused wrappers
12237         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
12238         presence of these wrappers dragged in -lgen on Solaris.
12239         Reported by Clemens Brogi; fix suggested by Paul Eggert.
12240
12241 2010-10-05  Jim Meyering  <meyering@redhat.com>
12242
12243         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
12244         * Makefile (sc_pragma_columns): New syntax-check rule.
12245
12246 2010-10-04  Bruno Haible  <bruno@clisp.org>
12247
12248         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
12249         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
12250         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
12251         Reported by Bruce Korb and Eric Blake.
12252
12253 2010-10-04  Bruno Haible  <bruno@clisp.org>
12254
12255         threadlib: Make option --with-libpth-prefix work.
12256         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
12257         use $LIBPTH, not just -lpth.
12258
12259 2010-10-04  Bruno Haible  <bruno@clisp.org>
12260
12261         Avoid line length limitation from HP NonStop system header files.
12262         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
12263         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
12264         * lib/ctype.in.h: Likewise.
12265         * lib/dirent.in.h: Likewise.
12266         * lib/errno.in.h: Likewise.
12267         * lib/fcntl.in.h: Likewise.
12268         * lib/float.in.h: Likewise.
12269         * lib/getopt.in.h: Likewise.
12270         * lib/iconv.in.h: Likewise.
12271         * lib/inttypes.in.h: Likewise.
12272         * lib/langinfo.in.h: Likewise.
12273         * lib/locale.in.h: Likewise.
12274         * lib/math.in.h: Likewise.
12275         * lib/netdb.in.h: Likewise.
12276         * lib/netinet_in.in.h: Likewise.
12277         * lib/poll.in.h: Likewise.
12278         * lib/pthread.in.h: Likewise.
12279         * lib/pty.in.h: Likewise.
12280         * lib/sched.in.h: Likewise.
12281         * lib/se-selinux.in.h: Likewise.
12282         * lib/search.in.h: Likewise.
12283         * lib/signal.in.h: Likewise.
12284         * lib/spawn.in.h: Likewise.
12285         * lib/stdarg.in.h: Likewise.
12286         * lib/stddef.in.h: Likewise.
12287         * lib/stdint.in.h: Likewise.
12288         * lib/stdio.in.h: Likewise.
12289         * lib/stdlib.in.h: Likewise.
12290         * lib/string.in.h: Likewise.
12291         * lib/strings.in.h: Likewise.
12292         * lib/sys_file.in.h: Likewise.
12293         * lib/sys_ioctl.in.h: Likewise.
12294         * lib/sys_select.in.h: Likewise.
12295         * lib/sys_socket.in.h: Likewise.
12296         * lib/sys_stat.in.h: Likewise.
12297         * lib/sys_time.in.h: Likewise.
12298         * lib/sys_times.in.h: Likewise.
12299         * lib/sys_utsname.in.h: Likewise.
12300         * lib/sys_wait.in.h: Likewise.
12301         * lib/sysexits.in.h: Likewise.
12302         * lib/termios.in.h: Likewise.
12303         * lib/time.in.h: Likewise.
12304         * lib/unistd.in.h: Likewise.
12305         * lib/wchar.in.h: Likewise.
12306         * lib/wctype.in.h: Likewise.
12307         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
12308         * modules/ctype (Makefile.am): Likewise.
12309         * modules/dirent (Makefile.am): Likewise.
12310         * modules/errno (Makefile.am): Likewise.
12311         * modules/fcntl-h (Makefile.am): Likewise.
12312         * modules/float (Makefile.am): Likewise.
12313         * modules/getopt-posix (Makefile.am): Likewise.
12314         * modules/iconv-h (Makefile.am): Likewise.
12315         * modules/inttypes (Makefile.am): Likewise.
12316         * modules/langinfo (Makefile.am): Likewise.
12317         * modules/locale (Makefile.am): Likewise.
12318         * modules/math (Makefile.am): Likewise.
12319         * modules/netdb (Makefile.am): Likewise.
12320         * modules/netinet_in (Makefile.am): Likewise.
12321         * modules/poll-h (Makefile.am): Likewise.
12322         * modules/pthread (Makefile.am): Likewise.
12323         * modules/pty (Makefile.am): Likewise.
12324         * modules/sched (Makefile.am): Likewise.
12325         * modules/search (Makefile.am): Likewise.
12326         * modules/selinux-h (Makefile.am): Likewise.
12327         * modules/signal (Makefile.am): Likewise.
12328         * modules/spawn (Makefile.am): Likewise.
12329         * modules/stdarg (Makefile.am): Likewise.
12330         * modules/stddef (Makefile.am): Likewise.
12331         * modules/stdint (Makefile.am): Likewise.
12332         * modules/stdio (Makefile.am): Likewise.
12333         * modules/stdlib (Makefile.am): Likewise.
12334         * modules/string (Makefile.am): Likewise.
12335         * modules/strings (Makefile.am): Likewise.
12336         * modules/sys_file (Makefile.am): Likewise.
12337         * modules/sys_ioctl (Makefile.am): Likewise.
12338         * modules/sys_select (Makefile.am): Likewise.
12339         * modules/sys_socket (Makefile.am): Likewise.
12340         * modules/sys_stat (Makefile.am): Likewise.
12341         * modules/sys_time (Makefile.am): Likewise.
12342         * modules/sys_times (Makefile.am): Likewise.
12343         * modules/sys_utsname (Makefile.am): Likewise.
12344         * modules/sys_wait (Makefile.am): Likewise.
12345         * modules/sysexits (Makefile.am): Likewise.
12346         * modules/termios (Makefile.am): Likewise.
12347         * modules/time (Makefile.am): Likewise.
12348         * modules/unistd (Makefile.am): Likewise.
12349         * modules/wchar (Makefile.am): Likewise.
12350         * modules/wctype (Makefile.am): Likewise.
12351
12352 2010-10-04  Bruno Haible  <bruno@clisp.org>
12353
12354         read-file tests: Avoid a test failure on NonStop Kernel.
12355         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
12356         a regular file.
12357         Reported by Joachim Schmitz <schmitz@hp.com>.
12358
12359 2010-10-03  Bruno Haible  <bruno@clisp.org>
12360
12361         gnulib-tool: Fixes for --create-testdir with --libtool.
12362         * gnulib-tool (func_get_automake_snippet): Don't augment
12363         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
12364         an executable.
12365         (func_create_testdir): Handle module 'alloca' like func_import.
12366         Reported by Bruce Korb <bruce.korb@gmail.com>.
12367
12368 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
12369
12370         Avoid some lines longer than 80 characters.
12371         * lib/stdint.in.h: Break long comment lines.
12372         * lib/math.in.h: Likewise.
12373         (_GL_NUM_UINT_WORDS): New macro, for readability.
12374         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
12375         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
12376         * lib/stdlib.in.h: Likewise.
12377         * lib/spawn.in.h: Likewise.
12378         * lib/sys_socket.in.h: Update an URL.
12379         * lib/sys_stat.in.h: Break long line.
12380
12381 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
12382
12383         Improve pmccabe2html.
12384         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
12385         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
12386         when the sources change. Remove the line in the HTML about "Used
12387         ranges" (which implied that there might be other unused ranges),
12388         rename "Resume" to "Summary" (easier to understand for more users).
12389         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
12390         styles, and some unnecessary blank lines.
12391
12392 2010-10-03  Bruno Haible  <bruno@clisp.org>
12393             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
12394
12395         acl: Add support for ACLs on NonStop Kernel.
12396         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
12397         Check whether the function aclsort() exists.
12398         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
12399         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
12400         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12401         (acl_nontrivial [HAVE_ACLSORT]: New function.
12402         (file_has_acl): Implement for NonStop Kernel.
12403         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12404         (qset_acl): Implement for NonStop Kernel.
12405         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
12406         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12407         (main): Implement for NonStop Kernel.
12408         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
12409         Kernel. Handle this flavor.
12410         * tests/test-set-mode-acl.sh: Likewise.
12411         * tests/test-copy-acl.sh: Likewise.
12412         * tests/test-copy-file.sh: Likewise.
12413
12414 2010-10-03  Bruno Haible  <bruno@clisp.org>
12415
12416         Info about ACLs on NonStop Kernel.
12417         * doc/acl-resources.txt: Add info about NonStop Kernel.
12418         References by Joachim Schmitz <schmitz@hp.com>.
12419
12420 2010-10-02  Bruno Haible  <bruno@clisp.org>
12421
12422         Define missing EDQUOT on NonStop Kernel.
12423         * lib/errno.in.h (EDQUOT): Assign a value if missing.
12424         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
12425         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
12426         missing.
12427         * doc/posix-headers/errno.texi: Mention the NSK bug.
12428         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
12429         Reported by Joachim Schmitz <schmitz@hp.com>.
12430
12431 2010-10-02  Bruno Haible  <bruno@clisp.org>
12432
12433         Update doc for POSIX:2008.
12434         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
12435         Update URL of POSIX specification.
12436
12437 2010-10-02  Bruno Haible  <bruno@clisp.org>
12438
12439         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
12440         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
12441         from gnulib, not from Automake.
12442
12443 2010-10-02  Bruno Haible  <bruno@clisp.org>
12444
12445         New module 'system-posix'.
12446         * modules/system-posix: New file.
12447         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
12448         module is present.
12449         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
12450         GNULIB_SYSTEM_POSIX.
12451         * modules/stdlib (Depends-on): Remove sys_wait.
12452         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
12453         * doc/posix-functions/system.texi: Mention the new module.
12454         * doc/posix-headers/stdlib.texi: Likewise.
12455         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
12456         define test_sys_wait_macros to a no-op.
12457         Reported by Sam Steingold <sds@gnu.org>.
12458
12459 2010-09-30  Bruno Haible  <bruno@clisp.org>
12460
12461         More renaming from 'getdate' to 'get_date'.
12462         * doc/get_date.texi: Renamed from doc/getdate.texi.
12463         * modules/get_date (Files): Update.
12464         * MODULES.html.sh (Date and time <time.h>): Update.
12465         * DEPENDENCIES: Update.
12466         * gnulib-tool: Update comment.
12467         * m4/bison.m4 (gl_BISON): Likewise.
12468         * m4/get_date.m4 (gl_GET_DATE): Likewise.
12469
12470 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
12471
12472         bootstrap: support ACLOCAL_FLAGS during aclocal
12473         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
12474         can add additional -I dir for third-party .m4 files.
12475
12476 2010-09-30  Eric Blake  <eblake@redhat.com>
12477
12478         bootstrap: use glibtoolize on MacOS
12479         * build-aux/bootstrap (check_versions): Convert libtool into
12480         libtoolize.
12481         (tool search): Move libtool check earlier, and look for
12482         glibtoolize for MacOS.
12483         (gnulib_tool_options): Auto-add --libtool when appropriate.
12484         Reported by Justin Clift.
12485
12486         poll: fix typo that broke test on MacOS
12487         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
12488         Reported by Justin Clift.
12489
12490         getdate: rename to get_date
12491         Note: getdate.h is not renamed, to minimize client impact.
12492         * modules/getdate: Mark obsolete.  Move old contents...
12493         * modules/get_date: ...to new module name.
12494         * modules/getdate-tests: Move...
12495         * modules/get_date-tests: ...here.
12496         * m4/getdate.m4: Move...
12497         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
12498         * lib/getdate.y: Move...
12499         * lib/get_date.y: ...here.
12500         * tests/test-getdate.c: Move...
12501         * tests/test-get_date.c: ...here.
12502         * doc/posix-functions/getdate.texi (getdate): Update name.
12503         * NEWS: Mention the change.
12504
12505 2010-09-29  Bruno Haible  <bruno@clisp.org>
12506
12507         Separate the module 'waitpid' from the module 'sys_wait'.
12508         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
12509         present.
12510         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
12511         gl_MODULE_INDICATOR_FOR_TESTS.
12512         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
12513         * modules/sys_wait (Depends-on): Remove waitpid.
12514         (Makefile.am): Substitute GNULIB_WAITPID.
12515         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
12516         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
12517         signature only if the 'waitpid' module is present.
12518         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
12519         * NEWS: Mention the change.
12520         * modules/grantpt (Depends-on): Add waitpid.
12521         * modules/wait-process (Depends-on): Likewise.
12522
12523 2010-09-29  Bruno Haible  <bruno@clisp.org>
12524
12525         More tests for module 'sys_wait'.
12526         * modules/sys_wait-c++-tests: New file.
12527         * tests/test-sys_wait-c++.cc: New file.
12528         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
12529         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12530
12531 2010-09-29  Bruno Haible  <bruno@clisp.org>
12532
12533         New module 'waitpid'.
12534         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
12535         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
12536         Don't include <process.h>.
12537         (waitpid): Declare only, using modern idiom.
12538         * m4/waitpid.m4: New file.
12539         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
12540         * modules/waitpid: New file.
12541         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
12542         (Makefile.am): Update.
12543         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12544
12545 2010-09-28  Bruno Haible  <bruno@clisp.org>
12546
12547         poll: Assume ANSI C.
12548         * lib/poll.c (poll): Use an ANSI C declaration.
12549
12550 2010-09-28  Bruno Haible  <bruno@clisp.org>
12551
12552         poll-h: Create poll.h on all platforms.
12553         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
12554         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
12555         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
12556         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
12557         (gl_REPLACE_POLL_H): Don't set POLL_H.
12558         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
12559         * modules/poll-h (Depends-on): Add include_next.
12560         (Makefile.am): Create poll.h unconditionally. Substitute also
12561         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
12562
12563 2010-09-28  Bruno Haible  <bruno@clisp.org>
12564
12565         Tests for module 'poll-h'.
12566         * modules/poll-h-c++-tests: New file.
12567         * tests/test-poll-h-c++.cc: New file.
12568
12569         Tests for module 'poll-h'.
12570         * modules/poll-h-tests: New file.
12571         * tests/test-poll-h.c: New file.
12572
12573 2010-09-28  Bruno Haible  <bruno@clisp.org>
12574
12575         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
12576         * modules/poll-h (Depends-on): Add 'extensions'.
12577
12578 2010-09-28  Bruno Haible  <bruno@clisp.org>
12579
12580         New module 'poll-h'.
12581         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
12582         (poll): Use modern idiom.
12583         * modules/poll-h: New file.
12584         * modules/poll (Files): Remove lib/poll.in.h.
12585         (Depends-on): Add poll-h.
12586         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
12587         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
12588         * m4/poll_h.m4: New file.
12589         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
12590         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
12591         and invoke gl_REPLACE_POLL_H.
12592         * lib/poll.c: Use common idiom.
12593         * tests/test-poll.c: Likewise.
12594         * doc/posix-headers/poll.texi: Mention the poll-h module.
12595         Suggested by Eric Blake.
12596
12597 2010-09-26  Bruno Haible  <bruno@clisp.org>
12598
12599         sys_wait: Implement WSTOPSIG.
12600         * lib/sys_wait.in.h (WSTOPSIG): New macro.
12601         Reported by Simon Josefsson.
12602
12603 2010-09-26  Simon Josefsson  <simon@josefsson.org>
12604
12605         stdlib, sys_wait: Avoid compilation error on mingw.
12606         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
12607
12608 2010-09-26  Bruno Haible  <bruno@clisp.org>
12609
12610         stdlib tests: Avoid code duplication.
12611         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
12612         * modules/sys_wait-tests (Files): Likewise.
12613         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
12614         * tests/test-stdlib.c: Include test-sys_wait.h.
12615         (main): Invoke test_sys_wait_macros.
12616         * tests/test-sys_wait.c: Include test-sys_wait.h.
12617         (main): Invoke test_sys_wait_macros.
12618
12619 2010-09-25  Simon Josefsson  <simon@josefsson.org>
12620
12621         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
12622         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
12623         sure Windows sockets are working before calling getaddrinfo.
12624         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
12625         * doc/gnulib.texi (Windows sockets): Fix typo.
12626
12627 2010-09-25  Bruno Haible  <bruno@clisp.org>
12628
12629         Tests for module 'regex-quote'.
12630         * modules/regex-quote-tests: New file.
12631         * tests/test-regex-quote.c: New file.
12632
12633         New module 'regex-quote'.
12634         * lib/regex-quote.h: New file.
12635         * lib/regex-quote.c: New file.
12636         * modules/regex-quote: New file.
12637         Suggested by Reuben Thomas <rrt@sc3d.org>.
12638
12639 2010-09-24  Bruno Haible  <bruno@clisp.org>
12640
12641         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
12642         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
12643
12644 2010-09-23  Bruno Haible  <bruno@clisp.org>
12645
12646         setenv: Relax license.
12647         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
12648         Blake.
12649         Requested by Eric Blake.
12650
12651 2010-09-22  Bruno Haible  <bruno@clisp.org>
12652
12653         termios: Relax license.
12654         * modules/termios (License): Change to LGPLv2+.
12655         Requested by Eric Blake.
12656
12657 2010-09-22  Bruno Haible  <bruno@clisp.org>
12658
12659         threadlib: Allow the package to change the default to 'no'.
12660         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
12661         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
12662         Reported by Paul Eggert.
12663
12664 2010-09-22  Pádraig Brady  <P@draigbrady.com>
12665             Bruno Haible  <bruno@clisp.org>
12666
12667         Fix endless loop in mbmemcasecoll.
12668         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
12669         byte.
12670         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
12671
12672 2010-09-22  Bruno Haible  <bruno@clisp.org>
12673
12674         Tests for module 'memcoll'.
12675         * modules/memcoll-tests: New file.
12676         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
12677
12678         memcoll, xmemcoll: Clarify size vs. length.
12679         * modules/memcoll.c (memcoll0): Clarify specification.
12680         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
12681         passed to collate_error.
12682
12683 2010-09-22  Bruno Haible  <bruno@clisp.org>
12684
12685         Tests for module 'memcasecmp'.
12686         * modules/memcasecmp-tests: New file.
12687         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
12688
12689 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12690
12691         * lib/pthread.in.h: Add split double-inclusion guard, and include
12692         system <pthread.h> if there is one.  Use @@-style as in other
12693         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
12694         pthread.h doesn't.
12695         (pthread_mutexattr_destroy, pthread_mutexattr_init):
12696         (pthread_mutexattr_settype, pthread_mutex_trylock):
12697         New static inline functions, if there's no system <pthread.h>.
12698         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
12699         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
12700         Approximate with mutexes if the system lacks spinlocks, as in
12701         MacOS.
12702         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
12703         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
12704         @@-style.  Check for spinlocks separately.
12705         (gl_PTHREAD_DEFAULTS): New macro.
12706         * modules/pthread: Redo to use a more typical style for in.h files.
12707
12708 2010-09-21  Eric Blake  <eblake@redhat.com>
12709
12710         net_if: enhance tests
12711         * tests/test-net_if.c (main): Move signature checks earlier.
12712         Print failures to stderr.
12713         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
12714         Document the bug that we do not yet fix.
12715
12716 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12717
12718         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
12719         about gnulib, not GSS.
12720
12721 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12722
12723         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
12724         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
12725         for Emacs.
12726         * build-aux/pmccabe2html: Make Makefile.am example code more
12727         cut-and-paste friendly.
12728
12729 2010-09-21  Simon Josefsson  <simon@josefsson.org>
12730
12731         * tests/test-net_if.c: New file.
12732         * modules/net_if-tests: New file.
12733
12734 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12735
12736         pthread: add pthread_spin_destroy
12737         * lib/pthread.in.h (pthread_spin_destroy): New function.
12738
12739 2010-09-19  Bruno Haible  <bruno@clisp.org>
12740
12741         gnulib-tool: Fix --help output.
12742         * gnulib-tool (func_usage): Fix help message.
12743         Reported by Reuben Thomas <rrt@sc3d.org>.
12744
12745 2010-09-18  Jim Meyering  <meyering@redhat.com>
12746
12747         maint.mk: avoid unexpanded \n in two diagnostics
12748         * top/maint.mk (sc_prohibit_always_true_header_tests):
12749         Don't use a literal \n in a halt=... assignment.  It would not be
12750         expanded, and the two \n bytes would appear in the diagnostic output
12751         rather than the desired newline.  Use halt=$$(printf ... instead.
12752         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12753
12754 2010-09-18  Bruno Haible  <bruno@clisp.org>
12755
12756         netinet_in: Doc tweak.
12757         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
12758         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12759
12760 2010-09-18  Jim Meyering  <meyering@redhat.com>
12761
12762         init.sh: correct an outdated comment
12763         * tests/init.sh (create_exe_shims_):  s/function/alias/
12764
12765         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
12766         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
12767         a file named "*.exe" is removed between the glob expansion and the
12768         processing of that oddly named file.
12769
12770 2010-09-17  Eric Blake  <eblake@redhat.com>
12771
12772         mirbsd: add some more support
12773         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
12774         in BSD family.
12775         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
12776         devices as OpenBSD.
12777         * m4/host-os.m4 (mirbsd): Add MirBSD.
12778
12779         tests: fix unportable assumption on sys/wait.h
12780         * tests/test-sys_wait.c (main): Relax test.
12781         * tests/test-stdlib.c (main): Likewise.
12782
12783         init.sh: accomodate directory with no .exes
12784         * tests/init.sh: Accomodate directory containing only scripts.
12785
12786         tests: avoid compiler warning
12787         * tests/test-stdlib.c (main): Use the variable.
12788
12789         fdutimens, fdutimensat: update signature, again
12790         * lib/utimens.h (gl_futimens): Delete, and move signature...
12791         (fdutimens): ...here.
12792         (fdutimensat): Rearrange signature.
12793         (lutimensat): Rename variable for clarity.
12794         * lib/fdutimensat.c (fdutimensat): Update signature.
12795         * lib/utimens.c (fdutimens): Likewise.
12796         (gl_futimens): Delete.
12797         (utimens, lutimens): Update callers.
12798         * lib/futimens.c (futimens): Likewise.
12799         * tests/test-fdutimensat.c: Likewise.
12800         * tests/test-utimens.c: Likewise.
12801         * tests/test-futimens.h: Update comment.
12802         * NEWS: Mention this.
12803         Suggested by Paul Eggert.
12804
12805 2010-09-17  Bruno Haible  <bruno@clisp.org>
12806
12807         Take over the maintenance of some older macros from Autoconf.
12808         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
12809         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
12810         GNU Autoconf.
12811         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
12812         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
12813
12814 2010-09-17  Eric Blake  <eblake@redhat.com>
12815
12816         fdutimensat: drop atflag validation
12817         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
12818         with valid fd, to close a race scenario where futimens is
12819         unsupported and FILE was replaced by a symlink.
12820         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
12821         accordingly.
12822         Suggested by Paul Eggert.
12823
12824 2010-09-16  Bruno Haible  <bruno@clisp.org>
12825
12826         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
12827         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
12828
12829 2010-09-16  Bruno Haible  <bruno@clisp.org>
12830
12831         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
12832         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
12833         login_tty exists.
12834         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12835
12836 2010-09-16  Bruno Haible  <bruno@clisp.org>
12837
12838         login_tty: Make the replacement code work on BSD systems.
12839         * lib/login_tty.c: Include <sys/ioctl.h>.
12840         (login_tty): Use ioctl TIOCSCTTY when available.
12841         * modules/login_tty (Depends-on): Add sys_ioctl.
12842         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12843
12844 2010-09-16  Bruno Haible  <bruno@clisp.org>
12845
12846         login_tty: Stricter unit test.
12847         * modules/login_tty-tests (Depends-on): Add tcgetsid.
12848         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
12849         and tcgetsid() after login_tty.
12850         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12851
12852 2010-09-16  Bruno Haible  <bruno@clisp.org>
12853
12854         New module 'tcgetsid'.
12855         * lib/tcgetsid.c: New file.
12856         * m4/tcgetsid.m4: New file.
12857         * modules/tcgetsid: New file.
12858         * modules/termios (Depends-on): Add c++defs, warn-on-use.
12859         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
12860         GNULIB_TCGETSID, HAVE_TCGETSID.
12861         * lib/termios.in.h: Include <sys/types.h>.
12862         (tcgetsid): New declaration.
12863         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
12864         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
12865         * doc/posix-functions/tcgetsid.texi: Mention the new module.
12866         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
12867
12868 2010-09-16  Bruno Haible  <bruno@clisp.org>
12869
12870         Tests for module 'termios'.
12871         * modules/termios-c++-tests: New file.
12872         * modules/termios-tests: New file.
12873         * tests/test-termios-c++.cc: New file.
12874         * tests/test-termios.c: New file.
12875
12876         New module 'termios'.
12877         * modules/termios: New file.
12878         * lib/termios.in.h: New file.
12879         * m4/termios_h.m4: New file.
12880         * doc/posix-headers/termios.texi: Mention the new module.
12881
12882 2010-09-16  Eric Blake  <eblake@redhat.com>
12883
12884         fdutimensat: add an atflag parameter
12885         * lib/fdutimensat.c (fdutimensat): Add new parameter.
12886         * lib/utimens.h (fdutimensat): Update prototype.
12887         * tests/test-fdutimensat.c: Adjust test to match.
12888         * NEWS: Document the change.
12889         Suggested by Paul Eggert.
12890
12891 2010-09-16  Bruno Haible  <bruno@clisp.org>
12892
12893         Fix typos in comments.
12894         * lib/striconveh.h: Fix typo in comment.
12895         * lib/login_tty.c (login_tty): Likewise.
12896
12897 2010-09-15  Bruno Haible  <bruno@clisp.org>
12898
12899         stdlib: clarify MirBSD WEXITSTATUS bug
12900         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
12901         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12902
12903 2010-09-15  Eric Blake  <eblake@redhat.com>
12904
12905         stdlib: work around MirBSD WEXITSTATUS bug
12906         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
12907         * modules/stdlib (Depends-on): Add sys_wait.
12908         * tests/test-sys_wait.c (main): Enhance test.
12909         * tests/test-stdlib.c (main): Likewise.
12910         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
12911
12912         docs: mention MacOS issue with WEXITSTATUS(constant)
12913         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
12914         issue.
12915         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12916
12917         strnlen: add tests
12918         * modules/strnlen-tests: New file.
12919         * tests/test-strnlen.c: Likewise.
12920
12921 2010-09-14  Bruno Haible  <bruno@clisp.org>
12922
12923         unistr/base: Avoid link errors when module 'libunistring' is also used.
12924         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
12925         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
12926         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
12927         Declare also when HAVE_LIBUNISTRING is set.
12928         Reported by Pádraig Brady <P@draigbrady.com>.
12929
12930 2010-09-14  Eric Blake  <eblake@redhat.com>
12931
12932         test-rawmemchr: make more robust
12933         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
12934         (Depends-on, configure.ac): Add needed prerequisites to use it.
12935         * modules/memchr-tests (Files, Depends-on, configure.ac):
12936         Likewise, to avoid implicit reliance on memchr module prereqs.
12937         * tests/test-memchr.c (main): Ensure proper masking.
12938         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
12939         reads.
12940
12941         memchr: detect glibc Alpha bug
12942         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
12943         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
12944         Alpha.
12945         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
12946         * tests/test-memchr.c (main): Enhance test.
12947         Reported by Nelson H. F. Beebe.
12948
12949 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12950
12951         fts, getcwd, glob: audit for dirfd returning -1
12952         * lib/fts.c (opendir): Remove #define; no longer used.
12953         (opendirat): New arg PDIR_FD.  All callers changed.
12954         (fts_build, _opendir2): Use new opendirat to avoid the need for
12955         dirfd, or for checking whether dirfd returns a negative value.
12956         Don't use opendir; always use openat followed by fdopendir.
12957         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
12958         it.
12959         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
12960         returns -1 here.
12961         * modules/fts (Depends-on): Remove dirfd.
12962         * modules/getcwd (Depends-on): Likewise.
12963
12964 2010-09-13  Eric Blake  <eblake@redhat.com>
12965
12966         float: fix broken MirBSD header
12967         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
12968         * doc/posix-headers/float.texi (float.h): Document it.
12969
12970 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12971
12972         fts: use O_NOFOLLOW to avoid race condition when opening a directory
12973         * lib/fts.c (opendirat): New arg extra_flags.
12974         (__opendir2): Use it to avoid following symlinks when opening
12975         a directory, if symlinks are not supposed to be followed.  See
12976         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
12977
12978         fdopendir: preserve argument fd before returning
12979         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
12980         (fdopendir_with_dup, fd_clone_opendir): New static functions.
12981         (fdopendir): Use them, arranging for FD to be open to the same
12982         directory that it was when it started.  (It might be temporarily
12983         closed while fdopendir is running, so this not thread- or
12984         signal-safe.)  Be careful to do the right thing even when file
12985         descriptors are scarce and dup fails with errno == EMFILE.  See
12986         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
12987
12988 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
12989
12990         regex: Pass the system regex if its only problem is 32-bit regoff_t.
12991         * NEWS: Document change.
12992         * m4/regex.m4: Disable test for regoff_t size.
12993
12994 2010-09-13  Jim Meyering  <meyering@redhat.com>
12995
12996         fts: don't operate on an invalid file descriptor after failed dup
12997         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
12998         negative file descriptor.
12999
13000 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13001
13002         savedir: add streamsavedir, deprecate fdsavedir
13003         * NEWS: Mention deprecation of fdsavedir.
13004         * lib/savedir.c (streamsavedir): New extern function, whose name
13005         ends in "savedir" to be consistent with the others.  This differs
13006         from savedirstream in that it doesn't close its argument.  The
13007         next version of GNU tar will use this instead of fdsavedir, to
13008         avoid some race conditions and conserve file descriptors.
13009         (savedirstream): Reimplement as a wrapper around streamsavedir.
13010         (fdsavedir): Add a comment deprecating this function.  As far as
13011         I know, only GNU tar used it, and GNU tar doesn't need it any more.
13012         * lib/savedir.h (streamsavedir): New decl.
13013         (fdsavedir): Add a comment deprecating this.
13014
13015 2010-09-10  Bruno Haible  <bruno@clisp.org>
13016
13017         langinfo: Fix last commit.
13018         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
13019         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
13020         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13021
13022 2010-09-10  Bruno Haible  <bruno@clisp.org>
13023
13024         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
13025         * lib/progreloc.c (O_EXEC): Define fallback.
13026
13027 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13028
13029         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
13030         * NEWS: Document recent changes to fcntl-h.
13031         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
13032         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
13033         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
13034         Similarly for O_SEARCH; this last was already true, but not documented.
13035         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
13036         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
13037         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
13038         Likewise.
13039         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
13040         is zero, not whether it is defined.
13041         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
13042         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
13043         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
13044
13045 2010-09-10  Bruno Haible  <bruno@clisp.org>
13046
13047         langinfo, nl_langinfo: Fix for IRIX 5.3.
13048         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
13049         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
13050         HAVE_LANGINFO_YESEXPR.
13051         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
13052         HAVE_LANGINFO_YESEXPR.
13053         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
13054         HAVE_LANGINFO_T_FMT_AMPM is 0.
13055         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
13056         HAVE_LANGINFO_YESEXPR is 0.
13057         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
13058         NOEXPR.
13059         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
13060         * doc/posix-functions/nl_langinfo.texi: Likewise.
13061         Reported by Eric Blake.
13062
13063 2010-09-10  Bruno Haible  <bruno@clisp.org>
13064
13065         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
13066         * doc/glibc-functions/login_tty.texi: Mention the include file problem
13067         on FreeBSD 8.0 and OpenBSD 4.6.
13068         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
13069         * m4/pty_h.m4 (gl_PTY_H): Likewise.
13070         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
13071         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
13072         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
13073         ac_includes_default.
13074         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13075
13076 2010-09-09  Eric Blake  <eblake@redhat.com>
13077
13078         strsignal: work around NetBSD bug
13079         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
13080         * lib/string.in.h (includes): Likewise.
13081         * doc/posix-functions/strsignal.texi (strsignal): Document the
13082         bug.
13083         Reported by Nelson H. F. Beebe.
13084
13085         gnulib-tool: work with NetBSD /bin/sh
13086         * gnulib-tool (func_cache_var, func_cache_lookup_module)
13087         (func_get_description, func_get_comment, func_get_status)
13088         (func_get_notice, func_get_applicability, func_get_filelist)
13089         (func_get_dependencies, func_get_autoconf_early_snippet)
13090         (func_get_autoconf_snippet, func_get_automake_snippet)
13091         (func_get_include_directive, func_get_link_directive)
13092         (func_get_license, func_get_maintainer, func_import): Avoid
13093         shell syntax errors from parsing syntax extensions.
13094
13095 2010-09-09  Bruno Haible  <bruno@clisp.org>
13096
13097         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
13098         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
13099         a reliable way to determine whether the 'alias' command works.
13100
13101 2010-09-08  Jim Meyering  <meyering@redhat.com>
13102
13103         init.sh: penalize a set-x-impaired shell; don't disqualify it
13104         * tests/init.sh: Too many shells corrupt application stderr when
13105         you set -x, so we can't afford to disqualify them, since at least
13106         on Irix-6.5, that would disqualify all bourne shells.
13107         Instead, use a two-pass approach.
13108         On the first pass, try to find a shell that meets the stricter
13109         condition that set -x does not corrupt stderr.
13110         If no shell meets the stricter condition, retest each candidate
13111         shell, but without that extra condition.  Finally, when
13112         VERBOSE=yes is requested and set -x might cause trouble, simply
13113         issue a warning and refrain from enabling debug output.
13114
13115 2010-09-08  Eric Blake  <eblake@redhat.com>
13116
13117         unsetenv: fix OpenBSD bug
13118         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
13119         * doc/posix-functions/unsetenv.texi (unsetenv): Update
13120         documentation.
13121         Reported by Jim Meyering.
13122
13123         strtod: work around IRIX 6.5 bug
13124         * lib/strtod.c (strtod): Reparse number on shorter string if
13125         exponent parse was invalid.
13126         * tests/test-strtod.c (main): Add check for "0x1p 2".
13127         Reported by Tom G. Christensen.
13128
13129         getopt: optimize previous patch
13130         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
13131         empty variable.  Speed up awk script.
13132         Reported by Paolo Bonzini.
13133
13134 2010-09-08  Jim Meyering  <meyering@redhat.com>
13135
13136         test.sh: disqualify shells for which set -x corrupts stderr
13137         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
13138         and OpenBSD 4.7.  They make it so with "set -x", environment settings
13139         appear in stderr output.  For example, this command:
13140             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
13141         prints "P=1" on those two systems:
13142
13143 2010-09-08  Bruno Haible  <bruno@clisp.org>
13144
13145         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
13146         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
13147         commands, because some shells ignore redirections when there is an
13148         error in the command lookup.
13149         Reported by Eric Blake.
13150
13151 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
13152
13153         * lib/regex.h: Fix a mention of `regex_compile' (should be
13154         `re_compile_pattern').
13155         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
13156         (re_set_registers): Correct name of parameter in comment.
13157
13158         * doc/regex.texi: Add documentation for missing syntax flags.
13159         Remove commented-out documentation of defunct syntax option
13160         RE_NO_EMPTY_ALTS.
13161         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
13162         Add documentation of re_set_registers.
13163         Document trick to re-use a pattern buffer by setting fastmap manually.
13164         Update documentation of struct re_pattern_buffer per public members.
13165         Uncomment documentation of equivalence class operators and
13166         collating symbol operators, since they are now implemented,
13167         Explain leftmost-longest matching in relation to alternatives.
13168         Tidy documentation of substring matching.
13169         Remove POSIX documentation, which is done better in
13170         glibc, and refer the reader there. Keep BSD API documentation, as
13171         that is not readily available elsewhere.
13172
13173 2010-09-07  Eric Blake  <eblake@redhat.com>
13174
13175         getopt: handle POSIXLY_CORRECT set but not exported
13176         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
13177         export state of POSIXLY_CORRECT, due to bash set -o posix.
13178         Reported by Dustin J. Mitchell.
13179
13180 2010-09-05  Bruno Haible  <bruno@clisp.org>
13181
13182         gnulib-tool: Highlight the changed options.
13183         * gnulib-tool (func_usage): Display the --import, --add-import,
13184         --remove-import explanations in bold font.
13185
13186 2010-09-06  Karl Berry  <karl@gnu.org>
13187
13188         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
13189
13190 2010-09-05  Bruno Haible  <bruno@clisp.org>
13191
13192         uniwidth/width: Update comment.
13193         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
13194         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
13195
13196 2010-09-05  Bruno Haible  <bruno@clisp.org>
13197
13198         isinf, isnan: Relax license.
13199         * modules/isinf (License): Change from GPL to LGPL, with consent from
13200         Ben Pfaff.
13201         * modules/isnan (License): Likewise.
13202         Requested by Ludovic Courtès.
13203
13204 2010-09-04  Bruno Haible  <bruno@clisp.org>
13205
13206         gnulib-tool: Help migration from --import to --add-import or --update.
13207         * gnulib-tool: Emit a verbose error message when --import is used
13208         without any module name.
13209
13210 2010-09-04  Bruno Haible  <bruno@clisp.org>
13211
13212         Update doc about gnulib-tool.
13213         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
13214         'gnulib-tool --update' in more detail.
13215         Reported by Eric Blake.
13216
13217 2010-09-04  Bruno Haible  <bruno@clisp.org>
13218
13219         gnulib-tool: Change --import. New options --add/remove-import.
13220         * gnulib-tool: New options --add-import, --remove-import.
13221         (func_usage): Document them.
13222         (have_associative): Define always.
13223         (func_import): In import mode, don't merge the specified settings with
13224         the cached settings. Implement remove-import mode.
13225         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
13226         Explain when to use them versus --import.
13227         (Simple update): Use --add-import instead of --import.
13228         * NEWS: Mention the change.
13229
13230 2010-09-04  Bruno Haible  <bruno@clisp.org>
13231
13232         * doc/gnulib-tool.texi (Initial import): Update paragraph about
13233         separate gnulib.mk.
13234
13235 2010-09-04  Bruno Haible  <bruno@clisp.org>
13236
13237         gnulib-tool: Don't talk about CVS any more.
13238         * gnulib-tool (func_usage, func_import): Write "version control"
13239         instead of CVS.
13240
13241 2010-09-04  Jim Meyering  <meyering@redhat.com>
13242
13243         maint.mk: avoid obscure sc_copyright_check failure in coreutils
13244         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
13245         false positives (whose names may be ill-chosen) when searching
13246         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
13247         would cause a false-positive.
13248
13249         avoid coreutils "make distcheck" failure
13250         Coreutils tests with an absolute build directory name that contains
13251         a space.  Not quoting this directory name caused a failure.
13252         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
13253         * tests/test-vc-list-files-cvs.sh: Likewise.
13254
13255 2010-09-04  Bruno Haible  <bruno@clisp.org>
13256
13257         gnulib-tool: Avoid error when run in a package without Makefile.am.
13258         * gnulib-tool: When collecting the m4dirs in a package that does not
13259         have a Makefile.am, eliminate those directories that contain no
13260         gnulib-cache.m4. Fix expression that counts these directories.
13261
13262 2010-09-04  Bruno Haible  <bruno@clisp.org>
13263
13264         update-copyright test: Improve output when perl is missing or too old.
13265         * tests/test-update-copyright.sh: Move test of Perl version down after
13266         the test whether Perl exists. Provide an explanation relating Perl's
13267         error message to Automake's SKIP: message.
13268
13269 2010-09-04  Bruno Haible  <bruno@clisp.org>
13270
13271         Don't augment PATH in TESTS_ENVIRONMENT.
13272         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
13273         set abs_aux_dir instead of augmenting PATH.
13274         * modules/vc-list-files-tests (Makefile.am): Likewise.
13275         * tests/test-update-copyright.sh: Augment PATH here.
13276         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
13277         path_prepend_.
13278         * tests/test-vc-list-files-git.sh: Likewise.
13279
13280 2010-09-04  Jim Meyering  <meyering@redhat.com>
13281
13282         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
13283         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
13284
13285 2010-09-04  Bruno Haible  <bruno@clisp.org>
13286
13287         strdup: Fix compilation error in C++ mode.
13288         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
13289         the macro.
13290
13291 2010-09-04  Bruno Haible  <bruno@clisp.org>
13292
13293         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
13294         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
13295         macro into a function.
13296         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13297
13298 2010-09-04  Bruno Haible  <bruno@clisp.org>
13299
13300         Set PATH_SEPARATOR the same way autoconf does.
13301         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
13302         the value of PATH_SEPARATOR the same way autoconf-generated configure
13303         scripts do.
13304         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
13305         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
13306
13307 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13308
13309         Set PATH_SEPARATOR the same way autoconf does.
13310         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
13311         the same way autoconf-generated configure scripts do.
13312         * posix-modules: Likewise.
13313
13314 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13315
13316         hash: fix safe_hasher const typo
13317         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
13318         const; otherwise, there is a type error later.
13319
13320 2010-09-02  Jim Meyering  <meyering@redhat.com>
13321
13322         test-update-copyright.sh: require perl 5.8.0
13323         * tests/test-update-copyright.sh: Require 5.8.0,
13324         which Tom G. Christensen has confirmed is adequate,
13325         while 5.6.1 is not.
13326
13327 2010-09-02  Eric Blake  <eblake@redhat.com>
13328
13329         tests: init.sh improvements for re-exec'ing with zsh
13330         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
13331         -vx through shell re-exec.
13332         Reported by Tom G. Christensen.
13333
13334         wctype: fix typo in previous commit
13335         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
13336         Reported by Ludovic Courtès.
13337
13338 2010-09-02  Jim Meyering  <meyering@redhat.com>
13339
13340         test-update-copyright.sh: skip test if Perl is too old
13341         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
13342         Reported by Tom G. Christensen.
13343
13344 2010-09-02  Bruno Haible  <bruno@clisp.org>
13345
13346         wctype: Avoid compilation error on IRIX 6.5.30.
13347         * lib/wctype.in.h (iswblank): Declare with a replacement if
13348         REPLACE_ISWBLANK is set.
13349         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
13350         declared. Set REPLACE_ISWBLANK.
13351         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
13352         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
13353         * doc/posix-headers/wctype.texi: Likewise.
13354         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13355
13356 2010-09-01  Bruno Haible  <bruno@clisp.org>
13357
13358         New module 'socketlib'.
13359         * modules/socketlib: New file.
13360         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
13361         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
13362         * modules/sockets (Depends-on): Add socketlib.
13363         Suggested by Sam Steingold <sds@gnu.org>.
13364
13365 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13366
13367         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
13368
13369         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
13370         when one needs search access to a directory but not read access.
13371         On systems where it is available, it works in some cases where
13372         O_RDONLY does not, namely on directories that are searchable but
13373         not readable, and which need only to be searchable.  If O_SEARCH
13374         is not available, fall back to the traditional method of using
13375         O_RDONLY.
13376
13377         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
13378         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
13379         when opening a directory that needs only to be searchable.
13380         * lib/chdir-safer.c (chdir_no_follow): Likewise.
13381         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
13382         * lib/openat-proc.c (openat_proc_name): Likewise.
13383         * lib/openat.c (openat_needs_fchdir): Likewise.
13384         * lib/save-cwd.c (save_cwd): Likewise.
13385         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
13386
13387 2010-08-28  Bruno Haible  <bruno@clisp.org>
13388
13389         New module 'host-cpu-c-abi'.
13390         * modules/host-cpu-c-abi: New file.
13391         * m4/host-cpu-c-abi.m4: New file, based on part of
13392         clisp/src/m4/general.m4.
13393         Requested by Sam Steingold <sds@gnu.org>.
13394
13395 2010-08-31  Eric Blake  <eblake@redhat.com>
13396         and Jim Meyering  <meyering@redhat.com>
13397
13398         hash: factor, and guard against misbehaving hasher function
13399         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
13400         of table->hasher's return value.  Also protect against a hash value
13401         so large that adding it to table->bucket results in a NULL pointer.
13402         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
13403         Use it in place of open-coded check-and-abort.
13404
13405 2010-08-30  Bruno Haible  <bruno@clisp.org>
13406
13407         hash: silence spurious clang warning
13408         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
13409         Reported by Eric Blake.
13410
13411 2010-08-30  Eric Blake  <eblake@redhat.com>
13412
13413         strstr, memmem, strcasestr: avoid leaked shell message
13414         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
13415         FreeBSD.
13416         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
13418
13419         tests: silence clang warning
13420         * tests/test-malloca.c (do_allocation): Avoid dead store.
13421
13422 2010-08-29  Bruno Haible  <bruno@clisp.org>
13423
13424         gettext: Fix recent mistake.
13425         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
13426
13427 2010-08-29  Bruno Haible  <bruno@clisp.org>
13428
13429         selinux-h: Offer a --without-selinux option.
13430         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
13431         --without-selinux was specified, skip all tests and define
13432         HAVE_SELINUX_SELINUX_H to 0.
13433         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
13434         set LIB_SELINUX to empty.
13435         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
13436         gl_LIBSELINUX. If --without-selinux was specified, replace
13437         selinux/context.h.
13438         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
13439
13440 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13441             Bruno Haible  <bruno@clisp.org>
13442
13443         Make the module 'realloc-gnu' work again on AIX and OSF/1.
13444         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
13445         of HAVE_REALLOC.
13446         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
13447         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
13448         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
13449         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
13450
13451 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13452             Bruno Haible  <bruno@clisp.org>
13453
13454         Make the module 'calloc-gnu' work again on AIX and OSF/1.
13455         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
13456         HAVE_CALLOC.
13457         * lib/xmalloc.c: Update accordingly.
13458         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
13459         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
13460         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
13461
13462 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13463             Bruno Haible  <bruno@clisp.org>
13464
13465         Make the module 'malloc-gnu' work again on AIX and OSF/1.
13466         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
13467         HAVE_MALLOC.
13468         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
13469         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
13470         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
13471
13472 2010-08-29  Bruno Haible  <bruno@clisp.org>
13473
13474         Update modules list.
13475         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
13476         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
13477         (String handling <string.h>): Add astrxfrm.
13478         (File system functions): Add readlinkat.
13479
13480 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13481
13482         Tests for module 'realloc-gnu'.
13483         * modules/realloc-gnu-tests: New file.
13484         * tests/test-realloc-gnu.c: New file.
13485
13486         Tests for module 'calloc-gnu'.
13487         * modules/calloc-gnu-tests: New file.
13488         * tests/test-calloc-gnu.c: New file.
13489
13490         Tests for module 'malloc-gnu'.
13491         * modules/malloc-gnu-tests: New file.
13492         * tests/test-malloc-gnu.c: New file.
13493
13494 2010-08-28  Bruno Haible  <bruno@clisp.org>
13495
13496         Rename module 'realloc' -> 'realloc-gnu'.
13497         * modules/realloc-gnu: New file, copied from modules/realloc.
13498         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
13499         obsolete.
13500         * modules/mgetgroups (Depends-on): Update.
13501         * doc/posix-functions/realloc.texi: Update.
13502         * NEWS: Mention the change.
13503
13504         Rename module 'calloc' -> 'calloc-gnu'.
13505         * modules/calloc-gnu: New file, copied from modules/calloc.
13506         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
13507         obsolete.
13508         * doc/posix-functions/calloc.texi: Update.
13509         * NEWS: Mention the change.
13510
13511         Rename module 'malloc' -> 'malloc-gnu'.
13512         * modules/malloc-gnu: New file, copied from modules/malloc.
13513         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
13514         obsolete.
13515         * modules/argp (Depends-on): Update.
13516         * modules/regex (Depends-on): Update.
13517         * doc/posix-functions/malloc.texi: Update.
13518         * NEWS: Mention the change.
13519
13520 2010-08-28  Eric Blake  <eblake@redhat.com>
13521
13522         pread, pwrite: add missing dependency
13523         * modules/pread (Depends-on): Add extensions.
13524         * modules/pwrite (Depends-on): Likewise.
13525
13526 2010-08-28  Bruno Haible  <bruno@clisp.org>
13527
13528         unistr/u*-strchr: Fix tests dependencies.
13529         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
13530         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
13531         Reported by Ian Beckwith <ianb@erislabs.net>.
13532
13533 2010-08-28  Bruno Haible  <bruno@clisp.org>
13534
13535         read-file: Don't occupy too much unused memory.
13536         * lib/read-file.c (fread_file): Shrink the buffer at the end.
13537
13538 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
13539             Eric Blake  <eblake@redhat.com>
13540             Bruno Haible  <bruno@clisp.org>
13541
13542         read-file: Avoid memory reallocations with regular files.
13543         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
13544         (fread_file): With regular files, use the remaining length as the
13545         initial buffer size.  Check against overflow.
13546         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
13547         sys_stat.
13548
13549 2010-08-28  Bruno Haible  <bruno@clisp.org>
13550
13551         ftello: Relax license.
13552         * modules/ftello (License): Relax to LGPLv2+.
13553         Reported by Eric Blake.
13554
13555 2010-08-28  Bruno Haible  <bruno@clisp.org>
13556
13557         Avoid relocwrapper link errors due to gnulib replacement functions.
13558         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
13559         function.
13560         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13561
13562 2010-08-28  Bruno Haible  <bruno@clisp.org>
13563
13564         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
13565         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
13566         defined.
13567         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
13568         Suggested by Eric Blake.
13569
13570 2010-08-28  Bruno Haible  <bruno@clisp.org>
13571
13572         sys_socket, netdb: Ensure socklen_t gets defined.
13573         * modules/sys_socket (Depends-on): Add socklen.
13574         * modules/netdb (Depends-on): Likewise.
13575         * modules/getaddrinfo (Depends-on): Remove socklen.
13576         * modules/getsockopt (Depends-on): Likewise.
13577         * modules/setsockopt (Depends-on): Likewise.
13578         * tests/test-sys_socket.c: Check that socklen_t is defined.
13579         * tests/test-netdb.c: Likewise.
13580         * m4/socklen.m4: Update comments.
13581         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13582
13583 2010-08-27  Eric Blake  <eblake@redhat.com>
13584
13585         login_tty: add missing dependency
13586         * modules/login_tty (Depends-on): Add pty.
13587
13588 2010-08-26  Eric Blake  <eblake@redhat.com>
13589
13590         lib-symbol-versions: fix m4 quoting
13591         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
13592         format for AC_LINK_IFELSE.
13593
13594         glob: fix compile test
13595         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
13596
13597         btowc: fix missing file
13598         * modules/btowc (Files): Also ship locale-fr.m4.
13599
13600         lseek: fix link test
13601         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
13602         AC_LINK_IFELSE.
13603
13604         include_next: silence autoconf 2.68 warning
13605         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
13606         AC_COMPILE_IFELSE as special.
13607         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
13608         autoconf < 2.68.
13609
13610         acl: fix compilation test
13611         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
13612         AC_COMPILE_IFELSE.
13613
13614 2010-08-26  Bruno Haible  <bruno@clisp.org>
13615
13616         Modernize AC_TRY_RUN invocations.
13617         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
13618         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13619         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
13620         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
13621         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
13622         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
13623         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13624         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
13625         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13626         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13627         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
13628         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13629         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13630         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13631         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13632         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
13633         gl_MBRLEN_NUL_RETVAL): Likewise.
13634         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
13635         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
13636         Likewise.
13637         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13638         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13639         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13640         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13641         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
13642         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
13643         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
13644         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13645         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
13646         Likewise.
13647         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
13648         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
13649         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13650         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13651         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13652         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
13653         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13654         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
13655         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13656         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13657
13658 2010-08-26  Bruno Haible  <bruno@clisp.org>
13659
13660         Modernize AC_TRY_LINK invocations.
13661         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
13662         AC_TRY_LINK.
13663         * m4/argp.m4 (gl_ARGP): Likewise.
13664         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13665         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13666         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
13667         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13668         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13669         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
13670         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13671         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13672         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13673         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13674         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13675         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
13676         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
13677         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13678         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
13679         * m4/hostent.m4 (gl_HOSTENT): Likewise.
13680         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13681         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
13682         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
13683         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
13684         Likewise.
13685         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
13686         Likewise.
13687         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
13688         Likewise.
13689         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
13690         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
13691         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
13692         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13693         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13694         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
13695         * m4/servent.m4 (gl_SERVENT): Likewise.
13696         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13697         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13698         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13699         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13700         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13701         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13702         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13703         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13704         * modules/tsearch-tests (configure.ac): Likewise.
13705
13706 2010-08-26  Bruno Haible  <bruno@clisp.org>
13707
13708         Modernize AC_TRY_COMPILE invocations.
13709         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
13710         AC_TRY_COMPILE.
13711         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
13712         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
13713         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
13714         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
13715         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
13716         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
13717         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
13718         * m4/lock.m4 (gl_LOCK): Likewise.
13719         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
13720         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
13721         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
13722         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
13723         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
13724         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
13725         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13726         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
13727         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
13728         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
13729         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
13730         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
13731         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
13732         extraneous semicolon.
13733
13734 2010-08-26  Jim Meyering  <meyering@redhat.com>
13735
13736         stat-time: relax license LGPL
13737         * modules/stat-time (License): Change from GPL to LGPL,
13738         with consent from all contributors, for use in libguile.
13739         Requested by Ludovic Courtès.
13740
13741 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
13742
13743         poll: return immediately on POLLHUP.
13744         * lib/poll.c (poll): Always set timeout before wait_timeout is
13745         computed.
13746
13747 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13748
13749         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
13750         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
13751         rmdir ("dir/.//"), unlinkat.
13752
13753 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13754
13755         stdbool: avoid spurious failure with modern xlc
13756         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13757
13758 2010-08-24  Bruno Haible  <bruno@clisp.org>
13759
13760         getloadavg: simplify code
13761         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
13762         gl_have_func. Update comments.
13763
13764 2010-08-24  Eric Blake  <eblake@redhat.com>
13765
13766         getloadavg: don't define SVR4 on cygwin
13767         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
13768         only define SVR4 when -lkvm is required.
13769         Reported by Yaakov Selkowitz.
13770
13771 2010-08-24  Bruno Haible  <bruno@clisp.org>
13772
13773         priv-set: fix comment
13774         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
13775
13776 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13777
13778         priv-set: fix comments
13779         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
13780         to match code, as suggested by David Bartley in:
13781         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
13782
13783 2010-08-23  Eric Blake  <eblake@redhat.com>
13784
13785         stdbool: avoid rejecting clang
13786         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13787         * tests/test-stdbool.c: Enable more tests if using the system
13788         <stdbool.h> instead of the gnulib replacement.
13789         (main): Move xlc bug test to a runtime test for all compilers.
13790         Reported by Anders Kaseorg.
13791
13792         argz: fix shell quoting issue
13793         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
13794         Reported by Charles Wilson.
13795
13796 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
13797             Erik Faye-Lund <kusmabite@gmail.com>
13798
13799         poll, select: handle ERROR_BROKEN_PIPE.
13800         * lib/poll.c (win32_compute_revents): Return POLLHUP when
13801         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13802         * lib/select.c (win32_compute_revents): Do not mark a pipe
13803         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13804
13805 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
13806
13807         fts: allow compilation with C++
13808         * lib/fts_.h: Specify extern "C" linkage with C++.
13809
13810 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13811
13812         Fix gnulib-tool sed script de-commentation for AIX sed.
13813         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
13814         sed.
13815
13816 2010-08-17  Eric Blake  <eblake@redhat.com>
13817
13818         test-stddef: test for (some) offsetof bugs
13819         * tests/test-stddef.c: Enhance test to ensure correct type of
13820         offsetof.
13821         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
13822         that we are not fixing at this time.
13823
13824 2010-08-15  Bruno Haible  <bruno@clisp.org>
13825
13826         stpncpy: Allow stpncpy to be defined as a macro.
13827         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
13828         if it's already correctly declared.
13829         * lib/string.in.h (stpncpy): Undefine before redefining.
13830         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
13831
13832 2010-08-14  Bruno Haible  <bruno@clisp.org>
13833
13834         Rename module 'memxfrm' to 'amemxfrm'.
13835         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
13836         (amemxfrm): Renamed from memxfrm.
13837         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
13838         (amemxfrm): Renamed from memxfrm.
13839         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
13840         * NEWS: Mention the change.
13841         * MODULES.html.sh (String handling <string.h>): Update.
13842         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
13843         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
13844         * lib/unicase/u16-casexfrm.c: Likewise.
13845         * lib/unicase/u32-casexfrm.c: Likewise.
13846         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
13847         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
13848         * lib/uninorm/u16-normxfrm.c: Likewise.
13849         * lib/uninorm/u32-normxfrm.c: Likewise.
13850         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
13851         memxfrm.
13852         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
13853         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
13854         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
13855         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
13856         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
13857         Suggested by Paul Eggert.
13858
13859 2010-08-14  Bruno Haible  <bruno@clisp.org>
13860
13861         Tests for module 'astrxfrm'.
13862         * modules/astrxfrm-tests: New file.
13863         * tests/test-astrxfrm.c: New file.
13864
13865         New module 'astrxfrm'.
13866         * lib/astrxfrm.h: New file.
13867         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
13868         * modules/astrxfrm: New file.
13869
13870 2010-08-14  Reuben Thomas <rrt@sc3d.org>
13871
13872         regex: Tweak doc.
13873         * doc/regex.texi (Overview): Don't mention regex.c.
13874         (GNU Regular Expression Compiling): Likewise.
13875         (Match-end-of-line Operator): Mention 'not_eol'.
13876
13877 2010-08-14  Brian Gough  <bjg@gnu.org>
13878             Bruno Haible  <bruno@clisp.org>
13879
13880         git-merge-changelog: add doc relating to use with bzr and hg.
13881         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
13882
13883 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
13884
13885         pthread: fix pthread.h creation for srcdir != builddir
13886         * modules/pthread (Makefile.am): Fix the rule to work also in a
13887         non-srcdir build.
13888
13889 2010-08-13  Karl Berry  <karl@gnu.org>
13890
13891         * doc/regex.texi (Predefined Syntaxes): @smallexample.
13892         * doc/posix-*/*: force line break before @url of POSIX
13893         specifications.
13894         Suggested by Werner Lemberg.
13895
13896 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13897
13898         strtod: fix const diagnostic
13899         * lib/strtod.c (strtod): Don't assign const char * to char *,
13900         as this elicits a warning from GCC when warnings are enabled.
13901
13902 2010-08-10  Pádraig Brady <P@draigbrady.com>
13903         and Eric Blake  <eblake@redhat.com>
13904
13905         copy-acl: ignore ENOTSUP on HP-UX
13906         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
13907         so that it is available for HP-UX.
13908         * lib/copy-acl.c (qcopy_acl): Use it.
13909         Reported by Patrick M. Callahan.
13910
13911 2010-08-10  Eric Blake  <eblake@redhat.com>
13912
13913         open, chown: relax license
13914         * modules/open (License): Change to LGPLv2+, with consent by all
13915         authors, for use in augeas.
13916         * modules/chown (License): Likewise.
13917         * modules/lchown (Likewise): Likewise.
13918         Requested by Adam Stokes.
13919
13920 2010-08-09  Karl Berry  <karl@gnu.org>
13921
13922         * build-aux/ar-lib: new file, import from Automake.
13923         * config/srclist.txt: autocheck for updates.
13924
13925 2010-08-09  Eric Blake  <eblake@redhat.com>
13926
13927         readlinkat: adjust client modules
13928         * modules/areadlinkat (Depends-on): Use readlinkat, not
13929         symlinkat.
13930         * modules/areadlinkat-with-size (Depends-on): Likewise.
13931
13932         mknod: be more vocal about danger of running tests as root
13933         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
13934         root, since that is just asking for problems.
13935         Suggested by Bruno Haible, based on a report by Rainer Tammer.
13936
13937         readlinkat: split into its own module
13938         * modules/symlinkat: Split readlinkat...
13939         * modules/readlinkat: ...into separate module.
13940         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
13941         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
13942         * lib/symlinkat.c (readlinkat): Move...
13943         * lib/readlinkat.c: ...into new file.
13944         * modules/symlinkat-tests: Split readlinkat test...
13945         * modules/readlinkat-tests: ...into separate module.
13946         * tests/test-symlinkat.c: Split...
13947         * tests/test-readlinkat.c: ...into new file.
13948         * NEWS: Document the split.
13949         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13950         * lib/unistd.in.h (readlinkat): Likewise.
13951         Suggested by Bruno Haible.
13952
13953 2010-08-08  Bruno Haible  <bruno@clisp.org>
13954
13955         memxfrm: Speed up.
13956         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
13957         that usually only one call to strxfrm is necessary for each string
13958         part.
13959         Reported by Paul Eggert <eggert@cs.ucla.edu>.
13960
13961 2010-08-07  Karl Berry  <karl@gnu.org>
13962
13963         * doc/posix-headers/limits.texi,
13964         * doc/posix-functions/malloc.texi,
13965         * doc/posix-functions/strsignal.texi: missing @item.
13966         * doc/ld-version-script.texi: spurious leading i.
13967         * doc/regex.texi (Interval Operators): no commas inside @var.
13968
13969 2010-08-01  Bruno Haible  <bruno@clisp.org>
13970
13971         Integrate the regex documentation.
13972         * doc/gnulib.texi: Define 'cn' index.
13973         (Regular expressions): New a chapter that includes regex.texi and
13974         regexprops-generic.texi.
13975         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
13976         syntax.
13977
13978         Whitespace cleanup.
13979         * doc/regex.texi: Remove trailing spaces.
13980
13981         Add regex documentation.
13982         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
13983         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
13984         Written by Kathy A. Hargreaves and Karl Berry.
13985
13986 2010-08-01  Bruno Haible  <bruno@clisp.org>
13987
13988         link: Update documentation.
13989         * doc/posix-functions/link.texi: Update regarding Solaris.
13990
13991 2010-07-31  Bruno Haible  <bruno@clisp.org>
13992
13993         Update modules list.
13994         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
13995         (String handling <string.h>): Add memcmp2, memxfrm.
13996         (Container data structures): Add xlist, xsublist, xoset.
13997         (Core language properties): Add alignof, unused-parameter.
13998         (Process control, Numeric conversion functions <stdlib.h>): Renamed
13999         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
14000         (Unibyte characters <ctype.h>): New section.
14001         (String handling <string.h>): New section.
14002         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
14003         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
14004         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
14005         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
14006         tan, tanh, tanl, y0, y1, yn.
14007         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
14008         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
14009         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
14010         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
14011         unlockpt, vdprintf, vdprintf-posix.
14012         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
14013         (File system functions): Add concat-filename, sys_file, sys_ioctl,
14014         xconcat-filename.
14015         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
14016         getdtablesize, pipe2, pipe2-safer.
14017         (Security): New section.
14018         (Networking functions): Add accept4.
14019         (Signal handling): Add sigpipe.
14020         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
14021         mbmemcasecoll.
14022         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
14023         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
14024         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
14025         pipe-filter-ii.
14026         (Misc): Add argp-version-etc, login_tty, parse-duration.
14027
14028 2010-07-31  Bruno Haible  <bruno@clisp.org>
14029
14030         Improve doc in MODULES.html.
14031         * modules/linkat (Description): Add the word "function".
14032         * modules/mkfifo (Description): Likewise.
14033         * modules/mknod (Description): Likewise.
14034         * modules/remove (Description): Likewise.
14035         * modules/renameat (Description): Likewise.
14036         * modules/stat (Description): Likewise.
14037         * modules/symlink (Description): Likewise.
14038         * modules/unlink (Description): Likewise.
14039
14040 2010-07-31  Bruno Haible  <bruno@clisp.org>
14041
14042         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
14043         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
14044         option --enable/disable-c++ instead of --enable/disable-cxx.
14045         * NEWS: Mention the change.
14046
14047 2010-07-31  Bruno Haible  <bruno@clisp.org>
14048
14049         readlink, areadlink: Relax test a bit.
14050         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
14051         alternative to ENOTDIR.
14052         * tests/test-areadlink.h (test_areadlink): Likewise.
14053         Reported by Rainer Tammer.
14054
14055 2010-07-31  Bruno Haible  <bruno@clisp.org>
14056
14057         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
14058         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
14059         character, perform the search using U_STRCHR.
14060         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
14061         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
14062         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
14063         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
14064         Suggested by Paolo Bonzini.
14065
14066 2010-07-31  Bruno Haible  <bruno@clisp.org>
14067
14068         unistr/u*-strstr: Fix dependencies.
14069         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
14070         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
14071         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
14072
14073 2010-07-31  Bruno Haible  <bruno@clisp.org>
14074
14075         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
14076         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
14077         the beginning of the loop.
14078         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
14079         cases in 'switch' statement.
14080
14081         unistr/u8-strchr: Fix several bugs.
14082         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
14083         the string. When not found, return NULL, not a pointer near the end.
14084
14085         More tests for unistr/u8-strchr.
14086         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
14087         that the function does not read past the first occurrence of the byte
14088         being searched.
14089         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
14090         * tests/unistr/test-u16-strchr.c (main): New function.
14091         * tests/unistr/test-u32-strchr.c (main): New function.
14092
14093 2010-07-31  Bruno Haible  <bruno@clisp.org>
14094
14095         posix-modules: Ignore backup files of documentation files.
14096         * posix-modules: grep only through files named *.texi.
14097
14098 2010-07-31  Bruno Haible  <bruno@clisp.org>
14099
14100         symlinkat: Fix documentation.
14101         * doc/posix-functions/readlinkat.texi: Fix module name.
14102
14103 2010-07-31  Bruno Haible  <bruno@clisp.org>
14104
14105         fchownat: Replace also when chown has the trailing slash bug.
14106         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
14107         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
14108         introduced on 2010-04-10.
14109         Reported by Rainer Tammer.
14110
14111 2010-07-31  Bruno Haible  <bruno@clisp.org>
14112
14113         linkat: Work around AIX 7.1 bug.
14114         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
14115         whether linkat handles trailing slash correctly. If not, replace linkat
14116         and define LINKAT_TRAILING_SLASH_BUG.
14117         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
14118         check whether (fd1,file1) points to a directory if file1 or file2 ends
14119         in a slash. Code taken from lib/link.c.
14120         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
14121         Reported by Rainer Tammer.
14122
14123 2010-07-31  Bruno Haible  <bruno@clisp.org>
14124
14125         Correctly determine whether pow is available in libc on AIX 7 with xlc.
14126         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
14127         This disables an xlc optimization that was causing wrong test results.
14128         Reported by Rainer Tammer.
14129
14130 2010-07-31  Bruno Haible  <bruno@clisp.org>
14131
14132         iconv: Work around AIX 6.1..7.1 bug.
14133         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
14134         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
14135         cross-compiling, guess no on all versions of AIX.
14136         Reported by Rainer Tammer.
14137
14138 2010-07-31  Bruno Haible  <bruno@clisp.org>
14139
14140         readlink: Relax test a bit.
14141         * tests/test-readlink.h (test_readlink): Allow different errno value
14142         when readlink is called with a file name that ends in / and refers to
14143         a file.
14144         Suggested by Eric Blake.
14145         Reported by Rainer Tammer.
14146
14147 2010-07-31  Bruno Haible  <bruno@clisp.org>
14148
14149         copysign: Does not require -lm on glibc systems.
14150         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
14151         gl_COMMON_DOUBLE_MATHFUNC.
14152         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
14153
14154 2010-07-31  Bruno Haible  <bruno@clisp.org>
14155
14156         duplocale: Work around AIX 7.1 bug.
14157         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
14158         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
14159         * lib/duplocale.c (rpl_duplocale): Update comment.
14160         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
14161         Reported by Rainer Tammer.
14162
14163 2010-07-30  Bruno Haible  <bruno@clisp.org>
14164
14165         dirfd: Avoid link error on AIX 7.1.
14166         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
14167         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
14168         exist, set REPLACE_DIRFD.
14169         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
14170         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
14171         * doc/posix-functions/dirfd.texi: Update.
14172         Reported by Rainer Tammer.
14173
14174 2010-07-30  Eric Blake  <eblake@redhat.com>
14175
14176         strtod: next round of AIX fixes
14177         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
14178         exponent.
14179         * tests/test-strtod.c (main): Enhance tests.
14180         * doc/posix-functions/strtod.texi (strtod): Document next bug.
14181         Reported by Rainer Tammer.
14182
14183         futimens: fix configure check
14184         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
14185         Reported by Bruno Haible.
14186
14187 2010-07-30  Bruno Haible  <bruno@clisp.org>
14188
14189         getline: Update regarding AIX.
14190         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
14191         Reported by Rainer Tammer.
14192
14193 2010-07-30  Bruno Haible  <bruno@clisp.org>
14194
14195         wcwidth: Drop replacement on AIX 7.
14196         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
14197         AIX 7.
14198         Reported by Rainer Tammer.
14199
14200 2010-07-30  Bruno Haible  <bruno@clisp.org>
14201
14202         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
14203         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
14204         a 'char *'.
14205         Reported by Rainer Tammer.
14206
14207 2010-07-30  Bruno Haible  <bruno@clisp.org>
14208
14209         unlink: Update regarding AIX.
14210         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
14211         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
14212         Reported by Rainer Tammer.
14213
14214 2010-07-30  Bruno Haible  <bruno@clisp.org>
14215
14216         symlink: Update regarding AIX.
14217         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
14218         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
14219         Reported by Rainer Tammer.
14220
14221 2010-07-30  Bruno Haible  <bruno@clisp.org>
14222
14223         strndup: Update regarding AIX.
14224         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
14225         AIX 7.
14226         Reported by Rainer Tammer.
14227
14228 2010-07-30  Bruno Haible  <bruno@clisp.org>
14229
14230         stat: Update regarding AIX.
14231         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
14232         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
14233         Reported by Rainer Tammer.
14234
14235 2010-07-30  Bruno Haible  <bruno@clisp.org>
14236
14237         truncl: Fix autoconf test.
14238         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
14239         whether truncl works.
14240         Reported by Rainer Tammer.
14241
14242 2010-07-30  Bruno Haible  <bruno@clisp.org>
14243
14244         round: Update regarding AIX.
14245         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
14246         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
14247         Reported by Rainer Tammer.
14248
14249 2010-07-30  Bruno Haible  <bruno@clisp.org>
14250
14251         rename: Update regarding AIX.
14252         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
14253         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
14254         Reported by Rainer Tammer.
14255
14256 2010-07-30  Bruno Haible  <bruno@clisp.org>
14257
14258         printf.m4: Update regarding AIX.
14259         * m4/printf.m4: Update comments regarding AIX.
14260         Reported by Rainer Tammer.
14261
14262 2010-07-30  Bruno Haible  <bruno@clisp.org>
14263
14264         iconv: Update regarding AIX.
14265         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
14266         AIX 7.
14267         Reported by Rainer Tammer.
14268
14269 2010-07-30  Bruno Haible  <bruno@clisp.org>
14270
14271         getopt: Update regarding AIX.
14272         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
14273         no on AIX.
14274         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
14275         Reported by Rainer Tammer.
14276
14277 2010-07-30  Bruno Haible  <bruno@clisp.org>
14278
14279         ldexpl; Update regarding AIX.
14280         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
14281         on AIX 7.
14282         Reported by Rainer Tammer.
14283
14284 2010-07-30  Bruno Haible  <bruno@clisp.org>
14285
14286         frexpl: Update regarding AIX.
14287         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
14288         on AIX 7.
14289         Reported by Rainer Tammer.
14290
14291 2010-07-30  Bruno Haible  <bruno@clisp.org>
14292
14293         open, fopen: Update regarding AIX.
14294         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
14295         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
14296         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
14297         * doc/posix-functions/fopen.texi: Likewise.
14298         Reported by Rainer Tammer.
14299
14300 2010-07-30  Bruno Haible  <bruno@clisp.org>
14301
14302         chown: Update doc regarding AIX.
14303         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
14304         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
14305         Reported by Rainer Tammer.
14306
14307 2010-07-30  Eric Blake  <eblake@redhat.com>
14308
14309         strtod: fix bug in replacement function on AIX
14310         * lib/strtod.c (strtod): Special case broken "0x" parse in
14311         underlying strtod.
14312         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
14313         * doc/posix-functions/strtod.texi (strtod): Likewise.
14314         Reported by Rainer Tammer.
14315
14316 2010-07-30  Bruno Haible  <bruno@clisp.org>
14317
14318         mbrlen: Fix cross-compilation guess for AIX.
14319         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
14320         guess. Leftover from 2008-12-22.
14321
14322 2010-07-30  Bruno Haible  <bruno@clisp.org>
14323
14324         mbrtowc: Fix cross-compilation guess for AIX.
14325         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
14326         guess. Leftover from 2008-12-21.
14327
14328 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
14329
14330         init.sh: work around trap limitation of some shells
14331         * tests/init.sh (setup_): Move exit trap outside of shell function.
14332
14333 2010-07-29  Eric Blake  <eblake@redhat.com>
14334
14335         strtod: aid debugging
14336         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
14337         understanding why strtod is rejected.
14338
14339 2010-07-28  Bruno Haible  <bruno@clisp.org>
14340
14341         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
14342         * lib/unistr/u8-chr.c: Include <string.h>.
14343         * tests/unistr/test-u8-chr.c: Likewise.
14344         * tests/unistr/test-u16-chr.c: Likewise.
14345         * tests/unistr/test-u32-chr.c: Likewise.
14346         * tests/unistr/test-u8-strchr.c: Likewise.
14347         * tests/unistr/test-u16-strchr.c: Likewise.
14348         * tests/unistr/test-u32-strchr.c: Likewise.
14349         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
14350         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
14351         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
14352         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
14353
14354 2010-07-28  Bruno Haible  <bruno@clisp.org>
14355
14356         Use spaces for indentation, not tabs.
14357         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
14358
14359 2010-07-27  Bruno Haible  <bruno@clisp.org>
14360
14361         mbspcasecmp: Fix function specification.
14362         * lib/string.in.h (mbspcasecmp): Fix specification comment.
14363         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
14364         Reported by Eric Blake <eblake@redhat.com>.
14365
14366 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
14367
14368         timespec: use cast and not conditional, as truncation isn't possible
14369         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
14370         instead of a conditional.  Comment about the situation in more detail.
14371         This undoes most of the 2009-10-29 patch.
14372
14373 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
14374
14375         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
14376         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
14377         * lib/unistr/u8-strchr.c: Likewise.
14378         * modules/unistr/u8-chr: Depend on memchr.
14379
14380         unistr/u*-strchr: add tests
14381         * modules/unistr/u8-strchr-tests: New file.
14382         * modules/unistr/u16-strchr-tests: New file.
14383         * modules/unistr/u32-strchr-tests: New file.
14384         * tests/unistr/test-strchr.h: New file.
14385         * tests/unistr/test-u8-strchr.c: New file.
14386         * tests/unistr/test-u16-strchr.c: New file.
14387         * tests/unistr/test-u32-strchr.c: New file.
14388
14389         unistr/u*-chr: test multibyte sequences more
14390         * tests/unistr/test-chr.h: Do complete testing of the characters in the
14391         test vector.
14392         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
14393         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
14394         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
14395
14396         unistr/u*-chr: test multibyte sequences
14397         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
14398
14399         unistr/u*-chr: prepare for multibyte tests
14400         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
14401         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
14402         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
14403         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
14404         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
14405         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
14406
14407 2010-07-18  Bruno Haible  <bruno@clisp.org>
14408
14409         unistr/u8-strchr: Optimize non-ASCII argument case.
14410         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
14411         because the first byte often matches anyway.
14412         Reported by Pádraig Brady <P@draigbrady.com>.
14413
14414 2010-07-15  Karl Berry  <karl@gnu.org>
14415
14416         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
14417
14418 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
14419
14420         getcwd: on Solaris, work better if ancestors are inaccessible
14421         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
14422         buffer and size, try again with a large buffer.  This works better
14423         on Solaris, since its getcwd succeeds even if the path to the root
14424         is inaccessible, and this is helpful in common cases such as .zfs
14425         hidden directories.  Problem reported by J Chapman Flack in
14426         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
14427         Use system getcwd if it's declared, not merely if it's partly
14428         working; use the partly-working test only to avoid needless effort
14429         if the system getcwd fails.
14430         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
14431         comment that was already obsolete and is now even more obsolete.
14432         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
14433         now might call strdup.
14434
14435 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
14436
14437         pthread: Add enough so that coreutils/src/sort.c compiles.
14438         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
14439         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
14440         gnulib. Include <sched.h> and <time.h>, as per POSIX.
14441         Include <sys/types.h>, in case it defines pthread_t.
14442         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
14443         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
14444         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
14445         (pthread_rwlockattr_t, pthread_spinlock_t):
14446         New typedefs, if HAVE_PTHREAD_T is not defined.
14447         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
14448         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
14449         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
14450         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
14451         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
14452         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
14453         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
14454         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
14455         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
14456         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
14457         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
14458         New macros.
14459         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
14460         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
14461         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
14462         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
14463         (pthread_spin_unlock): New dummy functions.
14464         (pthread_create): Return EAGAIN; don't set errno.
14465         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
14466         require AC_C_INLINE.
14467         * modules/pthread (Depends-on): Add sched, time.
14468         (pthread.h): Use AM_V_GEN.
14469
14470 2010-07-13  Bruno Haible  <bruno@clisp.org>
14471
14472         striconveh: Don't malloc memory if the result buffer is sufficient.
14473         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
14474         buffer if its size is sufficient.
14475         Reported by Ludovic Courtès <ludo@gnu.org>.
14476
14477 2010-07-13  Bruno Haible  <bruno@clisp.org>
14478
14479         strtod: Add safety check.
14480         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
14481
14482 2010-07-12  Bruno Haible  <bruno@clisp.org>
14483
14484         Unify tests that set gl_cv_func_ldexpl_no_libm.
14485         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
14486         gl_FUNC_LDEXPL.
14487         (gl_FUNC_LDEXPL): Invoke it.
14488         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14489
14490 2010-07-12  Bruno Haible  <bruno@clisp.org>
14491
14492         Unify tests that set gl_cv_func_ldexp_no_libm.
14493         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
14494         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
14495         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
14496         (configure.ac): Simply invoke gl_FUNC_LDEXP.
14497         * modules/strtod (Files): Add m4/ldexp.m4.
14498
14499 2010-07-12  Bruno Haible  <bruno@clisp.org>
14500
14501         Unify tests that set gl_cv_func_frexpl_no_libm.
14502         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
14503         gl_FUNC_FREXPL_NO_LIBM.
14504         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
14505         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14506
14507 2010-07-12  Bruno Haible  <bruno@clisp.org>
14508
14509         Unify tests that set gl_cv_func_frexp_no_libm.
14510         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
14511         gl_FUNC_FREXP_NO_LIBM.
14512         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
14513         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
14514
14515 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14516
14517         memcoll: clarify sizes versus lengths, document better, and tweak perf
14518         * lib/memcoll.c (strcoll_loop, memcoll0):
14519         Improve quality of descriptive comments.  Name variables
14520         consistently as to whether they are lengths (which do not include
14521         terminating null) versus sizes (which do).
14522         * lib/xmemcoll.c (xmemcoll0): Likewise.
14523         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
14524         returned when s1size == 0; this is easier to compile and saves
14525         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
14526
14527 2010-07-12  Bruno Haible  <bruno@clisp.org>
14528
14529         Tests for module '_Exit'.
14530         * modules/_Exit-tests: New file.
14531         * tests/test-_Exit.sh: New file.
14532         * tests/test-_Exit.c: New file.
14533
14534         New module '_Exit'.
14535         * lib/stdlib.in.h (__attribute__): New macro.
14536         (_Exit): New declaration.
14537         * lib/_Exit.c: New file.
14538         * m4/_Exit.m4: New file.
14539         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
14540         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
14541         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
14542         * modules/_Exit: New file.
14543         * tests/test-stdlib-c++.cc (_Exit): Check signature.
14544         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
14545
14546 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14547
14548         strtod: make it more-accurate typically, and don't require libm
14549         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
14550         Include limits.h.  Don't include string.h.
14551         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
14552         (locale_isspace): New function, so that no casts are needed to
14553         check whether *s is a space.
14554         (ldexp): Provide an unused dummy if not available.
14555         (scale_radix_exp, parse_number, underlying_strtod): New functions.
14556         (strtod): Use them.  This implementation prefers to use the
14557         underlying strtod if available, falling back on our own code
14558         only to fix known bugs.  This is more likely to produce an
14559         accurate result.  Also, it avoids the use of libm functions.
14560         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
14561         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
14562         was absent, but it caused a test failure with coreutils.
14563         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
14564         with libm.
14565         * modules/strtod (Makefile.am, Link): libm is no longer needed.
14566         * modules/strtod-tests (Makefile.am): Likewise.
14567
14568 2010-07-11  Pádraig Brady  <P@draigBrady.com>
14569             Bruno Haible  <bruno@clisp.org>
14570
14571         unistr/u8-strchr: Optimize ASCII argument case.
14572         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
14573
14574 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14575
14576         (x)memcoll: minor tweaks
14577         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
14578         is after the type that it qualifies.
14579         (memcoll0): Likewise.
14580         * lib/memcoll.h (memcoll0): Likewise.
14581         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
14582         * lib/xmemcoll.h (xmemcoll0): Likewise.
14583         * lib/memcoll.c (memcoll0): Correct the comment.  This function
14584         differs from memcoll in that the NUL byte is part of the argument.
14585         Omit the abort-checks, as performance is a real issue here.  Plus,
14586         the checks were wrong anyway (an off-by-one error).  Omit local
14587         variable 'diff', as it's a bit clearer that way.
14588         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
14589         no longer needed.
14590
14591 2010-07-08  Chen Guo <chenguo4@yahoo.com>
14592
14593         (x)memcoll: speedup when input is known to be NUL delimited
14594         * lib/memcoll.c: Include stdlib.
14595         (memcoll0): New function.
14596         (strcoll_loop): New function, refactored for use in both memcoll
14597         and memcoll0.
14598         * lib/memcoll.h (memcoll0): Add prototype.
14599         * lib/xmemcoll.c (xmemcoll0): New function.
14600         (collate_error): New function, refactored for use in both xmemcoll
14601         and xmemcoll0.
14602         * lib/xmemcoll.h (xmemcoll0): Add prototype.
14603         * m4/memcoll.m4: add inline invocation.
14604
14605 2010-07-06  Pádraig Brady  <P@draigBrady.com>
14606
14607         * build-aux/bootstrap: Remove any local translations
14608         from the translation project synchronization directory,
14609         so that local only translations are not distributed.
14610
14611 2010-07-04  Bruno Haible  <bruno@clisp.org>
14612
14613         fsusage: Clarify which code applies to which platforms.
14614         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
14615         platform.
14616         * lib/fsusage.c (get_fs_usage): Likewise.
14617
14618 2010-07-04  Bruno Haible  <bruno@clisp.org>
14619
14620         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
14621         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
14622         Reported by Martin Lambers <marlam@marlam.de>.
14623
14624 2010-07-04  Jim Meyering  <meyering@redhat.com>
14625
14626         hash: once again explicitly disallow insertion of NULL
14627         * lib/hash.c (hash_insert0): Reinstate just-removed test:
14628         inserting a NULL pointer cannot work with these functions.
14629         Add a comment with details.
14630         This reverts part of the 2010-07-01 commit, 5bef1a35
14631         "hash: extend module to deal with non-pointer keys".
14632
14633 2010-07-01  Bruno Haible  <bruno@clisp.org>
14634
14635         stdbool: Update doc.
14636         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
14637         Info from Christian Weisgerber <naddy@mips.inka.de>.
14638
14639 2010-07-01  Jim Meyering  <meyering@redhat.com>
14640
14641         hash: extend module to deal with non-pointer keys
14642         * lib/hash.c (hash_insert0): New interface, much like hash_insert
14643         but that allows insertion of non-pointer entries.
14644         Do not disallow an ENTRY value of NULL.
14645         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
14646         * lib/hash.h (hash_insert0): Declare.
14647
14648 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14649
14650         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
14651         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
14652         not present (i.e. with autoconf 2.59 and when using gettextize, not
14653         gnulib), require AC_GNU_SOURCE instead.
14654
14655 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
14656
14657         idpriv-drop: Fix tests.
14658         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
14659         not to the test-idpriv-droptemp program.
14660
14661 2010-06-29  Bruno Haible  <bruno@clisp.org>
14662
14663         string: Fix syntax error with g++ 2.96.
14664         * lib/string.in.h (__pure__): Remove definition.
14665         (_GL_ATTRIBUTE_PURE): New macro.
14666         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
14667         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
14668         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14669
14670 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
14671
14672         unitypes: Fix bug introduced on 2010-05-18.
14673         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
14674
14675 2010-06-22  Eric Blake  <eblake@redhat.com>
14676
14677         memmem: slight optimization
14678         * lib/str-two-way.h (critical_factorization): Update comments.
14679         Reduce work during factorization phase.
14680         Reported by Carlos Bueno <carlos@bueno.org>.
14681
14682 2010-06-21  Bruno Haible  <bruno@clisp.org>
14683
14684         Fix HAVE_CALLOC_POSIX misnomer.
14685         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
14686         !HAVE_CALLOC_POSIX.
14687         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
14688         HAVE_CALLOC_POSIX.
14689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
14690         instead of HAVE_CALLOC_POSIX.
14691         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
14692         HAVE_CALLOC_POSIX.
14693
14694         Use modern idiom for calloc() replacement.
14695         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
14696         AC_FUNC_CALLOC.
14697         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
14698         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
14699         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14700         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
14701         (gl_REPLACE_CALLOC): New macro.
14702
14703 2010-06-21  Bruno Haible  <bruno@clisp.org>
14704
14705         Fix HAVE_REALLOC_POSIX misnomer.
14706         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
14707         !HAVE_REALLOC_POSIX.
14708         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
14709         HAVE_REALLOC_POSIX.
14710         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
14711         instead of HAVE_REALLOC_POSIX.
14712         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
14713         HAVE_REALLOC_POSIX.
14714
14715         Use modern idiom for realloc() replacement.
14716         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
14717         AC_FUNC_REALLOC.
14718         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
14719         Autoconf's AC_FUNC_REALLOC.
14720         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14721         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
14722         (gl_REPLACE_REALLOC): New macro.
14723         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14724
14725 2010-06-21  Bruno Haible  <bruno@clisp.org>
14726
14727         Fix HAVE_MALLOC_POSIX misnomer.
14728         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
14729         !HAVE_MALLOC_POSIX.
14730         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
14731         HAVE_MALLOC_POSIX.
14732         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
14733         instead of HAVE_MALLOC_POSIX.
14734         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
14735         HAVE_MALLOC_POSIX.
14736
14737         Use modern idiom for malloc() replacement.
14738         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
14739         AC_FUNC_MALLOC.
14740         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
14741         Autoconf's AC_FUNC_MALLOC.
14742         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14743         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
14744         (gl_REPLACE_MALLOC): New macro.
14745         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14746
14747 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
14748
14749         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
14750         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
14751         This macro takes 3 arguments, not 4.
14752
14753 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
14754
14755         ipv6: fix detection under mingw
14756         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
14757         in6_addr.
14758
14759 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
14760
14761         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
14762         that strtod() works when cross-compiling to a glibc version known
14763         to work.
14764
14765 2010-06-15  Bruno Haible  <bruno@clisp.org>
14766
14767         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
14768
14769 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
14770
14771         select: Correct timeout.
14772         * lib/select.c (rpl_select): Compute wait_timeout correctly.
14773
14774 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14775
14776         git-version-gen: init shell var to avoid env var influence
14777         * build-aux/git-version-gen (v): Init shell var to empty.
14778
14779 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
14780
14781         priv-set: Don't assume that priv.h exists merely because getppriv does.
14782         See Jan Andersen's bug report about AIX 5L in
14783         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
14784         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
14785         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
14786         * lib/priv-set.h: Likewise.
14787         * tests/test-priv-set.c: Likewise.
14788
14789 2010-06-13  Bruno Haible  <bruno@clisp.org>
14790
14791         relocatable: Make it easier to test whether to install wrappers.
14792         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
14793         RELOCATABLE_VIA_WRAPPER.
14794
14795 2010-06-13  Bruno Haible  <bruno@clisp.org>
14796
14797         gnulib-tool: Display specified modules and dependencies differently.
14798         * gnulib-tool (func_show_module_list): New function.
14799         (func_import, func_create_testdir): Invoke it.
14800         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
14801
14802 2010-06-13  Bruno Haible  <bruno@clisp.org>
14803
14804         gnulib-tool: Align code of func_import and func_create_testdir.
14805         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
14806         specified_modules.
14807
14808 2010-06-12  Jim Meyering  <meyering@redhat.com>
14809
14810         test-inttostr: avoid spurious failure on Solaris 9
14811         * tests/test-inttostr.c (main): Skip the test when snprintf fails
14812         to accept "%ju".  Reported by Bruno Haible.
14813
14814 2010-06-11  Jim Meyering  <meyering@redhat.com>
14815
14816         test-sys_socket: mark variables as used more readably
14817         * tests/test-sys_socket.c (main): Mark otherwise unused variables
14818         as "used" explicitly via (void) statement casts.  This is more
14819         readable than using them in an artificial return expression.
14820         Suggestion from Bruno Haible.
14821
14822 2010-06-11  Bruno Haible  <bruno@clisp.org>
14823
14824         Avoid some more warnings from "gcc -Wwrite-strings".
14825         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
14826         to 'const char *'.
14827         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
14828         * tests/test-c-strcasestr.c (main): Likewise.
14829         * tests/test-mbscasestr1.c (main): Likewise.
14830         * tests/test-mbscasestr2.c (main): Likewise.
14831         * tests/test-memmem.c (main): Likewise.
14832         * tests/test-strstr.c (main): Likewise.
14833         * tests/test-strcasestr.c (main): Likewise.
14834
14835 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14836
14837         init.sh: change framework_failure_ to fail with status 99, not 1
14838         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
14839         automake's parallel-tests rule that this is an unexpected failure,
14840         even if the test is listed in XFAIL_TESTS.
14841
14842 2010-06-11  Jim Meyering  <meyering@redhat.com>
14843
14844         test-inttostr: avoid warnings about 4-6KB literal strings
14845         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
14846         Include "macros.h", for its definition of ASSERT.
14847         (CK): s/assert/ASSERT/
14848         * modules/inttostr-tests (Files): Add macros.h.
14849
14850         init.sh: don't use $ME_ or skip_ before they are defined
14851         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
14852         their first uses.  Also hoist their companions: warn_, fail_,
14853         framework_failure_, $stderr_fileno.  Prompted by a patch from
14854         Stefano Lattarini.
14855
14856         test-sys_socket: avoid set-but-not-used warnings from gcc
14857         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
14858         avoid warning about set-but-not-used variables.
14859
14860         test-xvasprintf: avoid 'const' discard warnings
14861         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
14862         "const" when assigning from literal strings.
14863         (test_xasprintf): Add "void" in function argument list to placate
14864         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
14865
14866         tests: avoid compilation warnings in argmatch and exclude tests...
14867         in packages that define ARGMATCH_DIE_DECL, like coreutils.
14868         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
14869         Since it always exits, declare with the "noreturn" attribute.
14870         * tests/test-argmatch.c: Likewise.
14871
14872         tests: avoid 'const' discard warnings in mbsstr tests
14873         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
14874         * tests/test-mbsstr2.c (main): Likewise.
14875
14876         test-verify: avoid warning from gcc's -Wmissing-declarations
14877         * tests/test-verify.c (function): Declare to be static.
14878
14879         test-inttostr.c: include <string.h> for use of strcmp
14880         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
14881
14882         test-linkat: avoid failed assertion on "other" architectures
14883         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
14884         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
14885         sparc: https://bugs.launchpad.net/bugs/591968
14886
14887 2010-06-11  Jim Meyering  <meyering@redhat.com>
14888
14889         printf.m4: avoid autoconf's "Expanded Before Required" warning
14890         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
14891         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
14892         autoconf warning.
14893
14894 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
14895
14896         Replacement header templates are now named with ".in", not "_".
14897         * doc/gnulib-intro.texi: Correct.
14898
14899 2010-06-10  Jim Meyering  <meyering@redhat.com>
14900
14901         inttostr-tests: depend on snprintf, not snprintf-posix
14902         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
14903         snprintf-posix, to avoid this aclocal failure:
14904           missing file gnulib-tests/vasnprintf.c
14905           configure.ac:45: error: expected source file, required through \
14906           AC_LIBSOURCES, not found
14907
14908 2010-06-10  Jim Meyering  <meyering@redhat.com>
14909
14910         inttostr: add a new function, inttostr, and tests
14911         The namesake function was not available.  The existence of the
14912         template file, inttostr.c makes its addition nontrivial.
14913         * lib/anytostr.c: Rename from inttostr.c.
14914         (anytostr): Rename from inttostr.
14915         * lib/inttostr.c: New file.
14916         * modules/inttostr (Files): Add anytostr.c.
14917         (Makefile.am): Set lib_SOURCES instead of ...
14918         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
14919         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
14920         * lib/offtostr.c: Likewise.
14921         * lib/uinttostr.c: Likewise.
14922         * lib/umaxtostr.c: Likewise.
14923         * modules/inttostr-tests: New file.
14924         * tests/test-inttostr.c: New file.  Test these functions.
14925
14926 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
14927             Bruno Haible  <bruno@clisp.org>
14928
14929         Add "Extending Gnulib" chapter to manual.
14930         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
14931         chapter.
14932         (Extending Gnulib): New chapter.
14933         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
14934         chapter.
14935
14936 2010-06-09  Bruno Haible  <bruno@clisp.org>
14937
14938         Avoid relocwrapper link errors due to gnulib replacement functions.
14939         * lib/areadlink.c: Use the system's malloc, realloc functions.
14940         (areadlink): Set errno to ENOMEM explicitly.
14941         * modules/areadlink (Depends-on): Remove malloc-posix.
14942         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14943
14944 2010-06-09  Bruno Haible  <bruno@clisp.org>
14945
14946         Avoid relocwrapper link errors due to gnulib replacement functions.
14947         * lib/canonicalize-lgpl.c: Use the system's malloc function.
14948         * lib/malloca.c: Likewise.
14949         * lib/relocatable.c: Likewise.
14950         * lib/progreloc.c: Use the system's malloc, sprintf functions.
14951         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
14952         * lib/setenv.c: Use the system's malloc, realloc functions.
14953         * lib/strerror.c: Use the system's sprintf function.
14954         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14955
14956 2010-06-04  Bruno Haible  <bruno@clisp.org>
14957
14958         Prefer documented low-level autoconf macro names.
14959         * m4/lib-link.m4: Use m4_translit instead of translit.
14960         * m4/environ.m4: Likewise.
14961         * m4/mathfunc.m4: Likewise.
14962         * m4/onceonly.m4: Likewise.
14963         * m4/stdint.m4: Likewise.
14964         Suggested by Eric Blake.
14965
14966 2010-06-04  Martin Lambers  <marlam@marlam.de>
14967             Bruno Haible  <bruno@clisp.org>
14968
14969         havelib: Allow library names with '+' characters.
14970         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
14971         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
14972
14973 2010-06-09  Bruno Haible  <bruno@clisp.org>
14974
14975         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
14976         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
14977         realloc failed.
14978
14979 2010-06-08  Peter Simons  <simons@cryp.to>
14980
14981         maint.mk: make the news-check rule more configurable
14982         * top/maint.mk (news-check-lines-spec): New variable.
14983         (news-check): Use "sed -n 1,10p" in place of "head".
14984
14985 2010-06-07  Jim Meyering  <meyering@redhat.com>
14986
14987         do-release-commit-and-tag: fix typo in --help
14988         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
14989
14990         regex: avoid new dead-code warning with gcc-4.6.0
14991         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
14992         if-block containing a while-loop.  It's been unused for at least
14993         5 years.
14994
14995 2010-06-05  Bruno Haible  <bruno@clisp.org>
14996
14997         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
14998         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
14999
15000 2010-06-04  Bruno Haible  <bruno@clisp.org>
15001
15002         Update to GNU gettext 0.18.1.
15003         * modules/gettext (configure.ac): Require gettext infrastructure from
15004         version 0.18.1.
15005
15006 2010-06-03  Bruno Haible  <bruno@clisp.org>
15007
15008         Don't use AC_LIBOBJ with file names in subdirectories.
15009         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
15010         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
15011         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
15012         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
15013         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
15014         gl_LIBUNISTRING_LIBSOURCE.
15015         (Makefile.am): Augment lib_SOURCES here, conditionally.
15016         * NEWS: Drop requirement for Automake option 'subdir-objects'.
15017
15018 2010-06-03  Bruno Haible  <bruno@clisp.org>
15019
15020         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
15021         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
15022         expansion does not end with a newline.
15023         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
15024         unnecessary newline.
15025
15026 2010-06-03  Bruno Haible  <bruno@clisp.org>
15027
15028         Reduce dependencies.
15029         * tests/test-quotearg.h: New file, extracted from
15030         tests/test-quotearg.c.
15031         * tests/test-quotearg-simple.c: New file, extracted from
15032         tests/test-quotearg.c.
15033         * tests/test-quotearg.c: Don't include <ctype.h>.
15034         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
15035         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
15036         use_quote_double_quotes, use_quotearg_colon): Moved to
15037         tests/test-quotearg.h.
15038         (results_g, flag_results, custom_quotes, custom_results): Moved
15039         to tests/test-quotearg-simple.c.
15040         (main): Moved the part that does not depend on gettext to
15041         tests/test-quotearg-simple.c. Return 77 if the test cannot be
15042         performed.
15043         * modules/quotearg-simple: New file.
15044         * modules/quotearg-simple-tests: New file.
15045         * modules/quotearg (Depends-on): Add quotearg-simple.
15046         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
15047         (Files): Add tests/test-quotearg.h.
15048         Reported by Paolo Bonzini.
15049
15050 2010-06-03  Bruno Haible  <bruno@clisp.org>
15051
15052         Reduce dependencies.
15053         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
15054
15055 2010-06-03  Bruno Haible  <bruno@clisp.org>
15056
15057         time: Undefine more broken macros.
15058         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
15059         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
15060         Reported by Eric Blake.
15061
15062 2010-06-03  Bruno Haible  <bruno@clisp.org>
15063
15064         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
15065         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
15066         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
15067         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
15068         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
15069         Reported by Ludovic Courtès <ludo@gnu.org>.
15070
15071 2010-06-02  Eric Blake  <eblake@redhat.com>
15072
15073         time: work with mingw + pthreads-win32 library
15074         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
15075         if timespec is defined only in pthread.h.
15076         * modules/time (Makefile.am): Substitute it.
15077         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
15078         <pthread.h>, when needed.
15079         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
15080         from the library.
15081
15082 2010-05-31  Bruno Haible  <bruno@clisp.org>
15083
15084         Avoid expanding two macros in the wrong order.
15085         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
15086         gl_LIBUNISTRING if it is defined.
15087         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
15088         autoconf >= 2.64.
15089         Reported by Ludovic Courtès <ludo@gnu.org>.
15090
15091 2010-05-27  Jim Meyering  <meyering@redhat.com>
15092
15093         maint.mk: also prohibit "#undef" of always-defined symbols
15094         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
15095         Allow more than one space before the symbol name.
15096         (sc_prohibit_always-defined_macros): Use grep's -E, now that
15097         the regexp uses alternation.
15098
15099 2010-05-26  Eric Blake  <eblake@redhat.com>
15100
15101         maint.mk: avoid echo -e
15102         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
15103         Convert all uses of echo -* to printf.
15104         Reported by Matthias Bolte.
15105
15106 2010-05-25  Bruno Haible  <bruno@clisp.org>
15107
15108         Update to GNU gettext 0.18, part 2.
15109         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
15110         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
15111
15112 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15113
15114         Add missing include in test-pwrite.c.
15115         * tests/test-pwrite.c: Include string.h, for strcmp.
15116
15117 2010-05-24  Bruno Haible  <bruno@clisp.org>
15118
15119         * NEWS: Mention requirement for Automake option 'subdir-objects'.
15120
15121 2010-05-24  Bruno Haible  <bruno@clisp.org>
15122
15123         Don't use conversion with transliteration in u{8,16,32}_strcoll.
15124         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
15125         iconveh_error argument.
15126         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
15127         U_STRCONV_TO_LOCALE.
15128         * lib/unistr/u16-strcoll.c: Likewise.
15129         * lib/unistr/u32-strcoll.c: Likewise.
15130         * modules/unistr/u8-strcoll (Depends-on): Add
15131         uniconv/u8-strconv-to-enc, localcharset. Remove
15132         uniconv/u8-strconv-to-locale.
15133         (configure.ac): Bump version number.
15134         * modules/unistr/u16-strcoll (Depends-on): Add
15135         uniconv/u16-strconv-to-enc, localcharset. Remove
15136         uniconv/u16-strconv-to-locale.
15137         (configure.ac): Bump version number.
15138         * modules/unistr/u32-strcoll (Depends-on): Add
15139         uniconv/u32-strconv-to-enc, localcharset. Remove
15140         uniconv/u32-strconv-to-locale.
15141         (configure.ac): Bump version number.
15142
15143 2010-05-24  Bruno Haible  <bruno@clisp.org>
15144
15145         Avoid a test failure on NetBSD 5.0.
15146         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
15147         an iconv() bug.
15148
15149 2010-05-24  Bruno Haible  <bruno@clisp.org>
15150
15151         Adjust #include directive style.
15152         * modules/regex (Includes): Recommend to write <regex.h>.
15153
15154 2010-05-24  Bruno Haible  <bruno@clisp.org>
15155
15156         regex: Don't require alloca.
15157         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
15158         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
15159         only inside if (0).
15160
15161 2010-05-23  Jim Meyering  <meyering@redhat.com>
15162
15163         test-renameat.c: include <sys/stat.h>
15164         * tests/test-renameat.c: Include <sys/stat.h>; required for
15165         definition of S_IS* macros.
15166
15167 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
15168
15169         Update maintainer documentation for 'relocatable-prog' module.
15170         * doc/relocatable-maint.texi: Update.
15171         Comments by Bruno Haible.
15172
15173 2010-05-23  Bruno Haible  <bruno@clisp.org>
15174
15175         git-merge-changelog: Enable --split-merged-entry by default.
15176         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
15177         (usage): Don't mention this option any more.
15178         Reported by Ralf Wildenhues.
15179
15180 2010-05-23  Jim Meyering  <meyering@redhat.com>
15181
15182         test-pwrite: do not leave behind a test file named "out"
15183         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
15184         The trivial-looking use of init.sh is really necessary.
15185         It ensures that the temporary file, "out", is created in
15186         a temporary directory, and removed upon termination.
15187         * tests/test-pwrite.sh: Re-add file.
15188         * modules/pwrite-tests: Reference it.
15189
15190 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15191
15192         Fix output redirection buglet in init.sh.
15193         * tests/init.sh: Fix redirection of stderr.
15194
15195 2010-05-20  Simon Josefsson  <simon@josefsson.org>
15196
15197         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
15198
15199 2010-05-17  Simon Josefsson  <simon@josefsson.org>
15200
15201         * modules/valgrind-tests: New file.
15202         * m4/valgrind-tests.m4: New file.
15203         * doc/valgrind-tests.texi: New file.
15204         * doc/gnulib.texi (Running self-tests under valgrind): New
15205         section.
15206
15207 2010-05-19  Bruno Haible  <bruno@clisp.org>
15208
15209         Clean up dead code in recent commit.
15210         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
15211         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
15212         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
15213         Suggested by Paolo Bonzini.
15214
15215 2010-05-19  Bruno Haible  <bruno@clisp.org>
15216
15217         Avoid valgrind error reports from libunistring.
15218         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
15219         * modules/libunistring (Files): Add it.
15220         * modules/libunistring-optional (Files): Likewise.
15221
15222 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
15223             Bruno Haible  <bruno@clisp.org>
15224
15225         New module 'libunistring-optional'.
15226         * modules/libunistring-optional: New file.
15227         * m4/libunistring-base.m4: New file.
15228         * m4/libunistring-optional.m4: New file.
15229         * lib/unicase.in.h: Renamed from lib/unicase.h.
15230         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
15231         * lib/unictype.in.h: Renamed from lib/unictype.h.
15232         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
15233         * lib/uniname.in.h: Renamed from lib/uniname.h.
15234         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
15235         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
15236         * lib/unistr.in.h: Renamed from lib/unistr.h.
15237         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
15238         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
15239         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
15240         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
15241         gl_LIBUNISTRING. If the library was found, determine the installed
15242         version and set LIBUNISTRING_VERSION.
15243         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
15244         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
15245         handle a configuration option --with-included-libunistring.
15246         * modules/libunistring (Files): Add m4/absolute-header.m4.
15247         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
15248         Add m4/libunistring-base.m4.
15249         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15250         (Makefile.am): Build unicase.h from unicase.in.h.
15251         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
15252         Add m4/libunistring-base.m4.
15253         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15254         (Makefile.am): Build uniconv.h from uniconv.in.h.
15255         * modules/unictype/base (Files): Use unictype.in.h instead of
15256         unictype.h. Add m4/libunistring-base.m4.
15257         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15258         (Makefile.am): Build unictype.h from unictype.in.h.
15259         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
15260         Add m4/libunistring-base.m4.
15261         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15262         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
15263         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
15264         Add m4/libunistring-base.m4.
15265         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15266         (Makefile.am): Build uniname.h from uniname.in.h.
15267         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
15268         Add m4/libunistring-base.m4.
15269         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15270         (Makefile.am): Build uninorm.h from uninorm.in.h.
15271         * modules/unistdio/base (Files): Use unistdio.in.h instead of
15272         unistdio.h. Add m4/libunistring-base.m4.
15273         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15274         (Makefile.am): Build unistdio.h from unistdio.in.h.
15275         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
15276         Add m4/libunistring-base.m4.
15277         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15278         (Makefile.am): Build unistr.h from unistr.in.h.
15279         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
15280         Add m4/libunistring-base.m4.
15281         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15282         (Makefile.am): Build unitypes.h from unitypes.in.h.
15283         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
15284         Add m4/libunistring-base.m4.
15285         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15286         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
15287         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
15288         uniwidth.h. Add m4/libunistring-base.m4.
15289         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15290         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
15291         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
15292         instead of augmenting lib_SOURCES.
15293         * modules/unicase/empty-suffix-context: Likewise.
15294         * modules/unicase/locale-language: Likewise.
15295         * modules/unicase/tolower: Likewise.
15296         * modules/unicase/totitle: Likewise.
15297         * modules/unicase/toupper: Likewise.
15298         * modules/unicase/u8-casecmp: Likewise.
15299         * modules/unicase/u8-casecoll: Likewise.
15300         * modules/unicase/u8-casefold: Likewise.
15301         * modules/unicase/u8-casexfrm: Likewise.
15302         * modules/unicase/u8-ct-casefold: Likewise.
15303         * modules/unicase/u8-ct-tolower: Likewise.
15304         * modules/unicase/u8-ct-totitle: Likewise.
15305         * modules/unicase/u8-ct-toupper: Likewise.
15306         * modules/unicase/u8-is-cased: Likewise.
15307         * modules/unicase/u8-is-casefolded: Likewise.
15308         * modules/unicase/u8-is-lowercase: Likewise.
15309         * modules/unicase/u8-is-titlecase: Likewise.
15310         * modules/unicase/u8-is-uppercase: Likewise.
15311         * modules/unicase/u8-prefix-context: Likewise.
15312         * modules/unicase/u8-suffix-context: Likewise.
15313         * modules/unicase/u8-tolower: Likewise.
15314         * modules/unicase/u8-totitle: Likewise.
15315         * modules/unicase/u8-toupper: Likewise.
15316         * modules/unicase/u16-casecmp: Likewise.
15317         * modules/unicase/u16-casecoll: Likewise.
15318         * modules/unicase/u16-casefold: Likewise.
15319         * modules/unicase/u16-casexfrm: Likewise.
15320         * modules/unicase/u16-ct-casefold: Likewise.
15321         * modules/unicase/u16-ct-tolower: Likewise.
15322         * modules/unicase/u16-ct-totitle: Likewise.
15323         * modules/unicase/u16-ct-toupper: Likewise.
15324         * modules/unicase/u16-is-cased: Likewise.
15325         * modules/unicase/u16-is-casefolded: Likewise.
15326         * modules/unicase/u16-is-lowercase: Likewise.
15327         * modules/unicase/u16-is-titlecase: Likewise.
15328         * modules/unicase/u16-is-uppercase: Likewise.
15329         * modules/unicase/u16-prefix-context: Likewise.
15330         * modules/unicase/u16-suffix-context: Likewise.
15331         * modules/unicase/u16-tolower: Likewise.
15332         * modules/unicase/u16-totitle: Likewise.
15333         * modules/unicase/u16-toupper: Likewise.
15334         * modules/unicase/u32-casecmp: Likewise.
15335         * modules/unicase/u32-casecoll: Likewise.
15336         * modules/unicase/u32-casefold: Likewise.
15337         * modules/unicase/u32-casexfrm: Likewise.
15338         * modules/unicase/u32-ct-casefold: Likewise.
15339         * modules/unicase/u32-ct-tolower: Likewise.
15340         * modules/unicase/u32-ct-totitle: Likewise.
15341         * modules/unicase/u32-ct-toupper: Likewise.
15342         * modules/unicase/u32-is-cased: Likewise.
15343         * modules/unicase/u32-is-casefolded: Likewise.
15344         * modules/unicase/u32-is-lowercase: Likewise.
15345         * modules/unicase/u32-is-titlecase: Likewise.
15346         * modules/unicase/u32-is-uppercase: Likewise.
15347         * modules/unicase/u32-prefix-context: Likewise.
15348         * modules/unicase/u32-suffix-context: Likewise.
15349         * modules/unicase/u32-tolower: Likewise.
15350         * modules/unicase/u32-totitle: Likewise.
15351         * modules/unicase/u32-toupper: Likewise.
15352         * modules/unicase/ulc-casecmp: Likewise.
15353         * modules/unicase/ulc-casecoll: Likewise.
15354         * modules/unicase/ulc-casexfrm: Likewise.
15355         * modules/uniconv/u8-conv-from-enc: Likewise.
15356         * modules/uniconv/u8-conv-to-enc: Likewise.
15357         * modules/uniconv/u8-strconv-from-enc: Likewise.
15358         * modules/uniconv/u8-strconv-from-locale: Likewise.
15359         * modules/uniconv/u8-strconv-to-enc: Likewise.
15360         * modules/uniconv/u8-strconv-to-locale: Likewise.
15361         * modules/uniconv/u16-conv-from-enc: Likewise.
15362         * modules/uniconv/u16-conv-to-enc: Likewise.
15363         * modules/uniconv/u16-strconv-from-enc: Likewise.
15364         * modules/uniconv/u16-strconv-from-locale: Likewise.
15365         * modules/uniconv/u16-strconv-to-enc: Likewise.
15366         * modules/uniconv/u16-strconv-to-locale: Likewise.
15367         * modules/uniconv/u32-conv-from-enc: Likewise.
15368         * modules/uniconv/u32-conv-to-enc: Likewise.
15369         * modules/uniconv/u32-strconv-from-enc: Likewise.
15370         * modules/uniconv/u32-strconv-from-locale: Likewise.
15371         * modules/uniconv/u32-strconv-to-enc: Likewise.
15372         * modules/uniconv/u32-strconv-to-locale: Likewise.
15373         * modules/unictype/bidicategory-byname: Likewise.
15374         * modules/unictype/bidicategory-name: Likewise.
15375         * modules/unictype/bidicategory-of: Likewise.
15376         * modules/unictype/bidicategory-test: Likewise.
15377         * modules/unictype/block-list: Likewise.
15378         * modules/unictype/block-test: Likewise.
15379         * modules/unictype/category-C: Likewise.
15380         * modules/unictype/category-Cc: Likewise.
15381         * modules/unictype/category-Cf: Likewise.
15382         * modules/unictype/category-Cn: Likewise.
15383         * modules/unictype/category-Co: Likewise.
15384         * modules/unictype/category-Cs: Likewise.
15385         * modules/unictype/category-L: Likewise.
15386         * modules/unictype/category-Ll: Likewise.
15387         * modules/unictype/category-Lm: Likewise.
15388         * modules/unictype/category-Lo: Likewise.
15389         * modules/unictype/category-Lt: Likewise.
15390         * modules/unictype/category-Lu: Likewise.
15391         * modules/unictype/category-M: Likewise.
15392         * modules/unictype/category-Mc: Likewise.
15393         * modules/unictype/category-Me: Likewise.
15394         * modules/unictype/category-Mn: Likewise.
15395         * modules/unictype/category-N: Likewise.
15396         * modules/unictype/category-Nd: Likewise.
15397         * modules/unictype/category-Nl: Likewise.
15398         * modules/unictype/category-No: Likewise.
15399         * modules/unictype/category-P: Likewise.
15400         * modules/unictype/category-Pc: Likewise.
15401         * modules/unictype/category-Pd: Likewise.
15402         * modules/unictype/category-Pe: Likewise.
15403         * modules/unictype/category-Pf: Likewise.
15404         * modules/unictype/category-Pi: Likewise.
15405         * modules/unictype/category-Po: Likewise.
15406         * modules/unictype/category-Ps: Likewise.
15407         * modules/unictype/category-S: Likewise.
15408         * modules/unictype/category-Sc: Likewise.
15409         * modules/unictype/category-Sk: Likewise.
15410         * modules/unictype/category-Sm: Likewise.
15411         * modules/unictype/category-So: Likewise.
15412         * modules/unictype/category-Z: Likewise.
15413         * modules/unictype/category-Zl: Likewise.
15414         * modules/unictype/category-Zp: Likewise.
15415         * modules/unictype/category-Zs: Likewise.
15416         * modules/unictype/category-and: Likewise.
15417         * modules/unictype/category-and-not: Likewise.
15418         * modules/unictype/category-byname: Likewise.
15419         * modules/unictype/category-name: Likewise.
15420         * modules/unictype/category-none: Likewise.
15421         * modules/unictype/category-of: Likewise.
15422         * modules/unictype/category-or: Likewise.
15423         * modules/unictype/category-test: Likewise.
15424         * modules/unictype/combining-class: Likewise.
15425         * modules/unictype/ctype-alnum: Likewise.
15426         * modules/unictype/ctype-alpha: Likewise.
15427         * modules/unictype/ctype-blank: Likewise.
15428         * modules/unictype/ctype-cntrl: Likewise.
15429         * modules/unictype/ctype-digit: Likewise.
15430         * modules/unictype/ctype-graph: Likewise.
15431         * modules/unictype/ctype-lower: Likewise.
15432         * modules/unictype/ctype-print: Likewise.
15433         * modules/unictype/ctype-punct: Likewise.
15434         * modules/unictype/ctype-space: Likewise.
15435         * modules/unictype/ctype-upper: Likewise.
15436         * modules/unictype/ctype-xdigit: Likewise.
15437         * modules/unictype/decimal-digit: Likewise.
15438         * modules/unictype/digit: Likewise.
15439         * modules/unictype/mirror: Likewise.
15440         * modules/unictype/numeric: Likewise.
15441         * modules/unictype/property-alphabetic: Likewise.
15442         * modules/unictype/property-ascii-hex-digit: Likewise.
15443         * modules/unictype/property-bidi-arabic-digit: Likewise.
15444         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
15445         * modules/unictype/property-bidi-block-separator: Likewise.
15446         * modules/unictype/property-bidi-boundary-neutral: Likewise.
15447         * modules/unictype/property-bidi-common-separator: Likewise.
15448         * modules/unictype/property-bidi-control: Likewise.
15449         * modules/unictype/property-bidi-embedding-or-override: Likewise.
15450         * modules/unictype/property-bidi-eur-num-separator: Likewise.
15451         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
15452         * modules/unictype/property-bidi-european-digit: Likewise.
15453         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
15454         * modules/unictype/property-bidi-left-to-right: Likewise.
15455         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
15456         * modules/unictype/property-bidi-other-neutral: Likewise.
15457         * modules/unictype/property-bidi-pdf: Likewise.
15458         * modules/unictype/property-bidi-segment-separator: Likewise.
15459         * modules/unictype/property-bidi-whitespace: Likewise.
15460         * modules/unictype/property-byname: Likewise.
15461         * modules/unictype/property-combining: Likewise.
15462         * modules/unictype/property-composite: Likewise.
15463         * modules/unictype/property-currency-symbol: Likewise.
15464         * modules/unictype/property-dash: Likewise.
15465         * modules/unictype/property-decimal-digit: Likewise.
15466         * modules/unictype/property-default-ignorable-code-point: Likewise.
15467         * modules/unictype/property-deprecated: Likewise.
15468         * modules/unictype/property-diacritic: Likewise.
15469         * modules/unictype/property-extender: Likewise.
15470         * modules/unictype/property-format-control: Likewise.
15471         * modules/unictype/property-grapheme-base: Likewise.
15472         * modules/unictype/property-grapheme-extend: Likewise.
15473         * modules/unictype/property-grapheme-link: Likewise.
15474         * modules/unictype/property-hex-digit: Likewise.
15475         * modules/unictype/property-hyphen: Likewise.
15476         * modules/unictype/property-id-continue: Likewise.
15477         * modules/unictype/property-id-start: Likewise.
15478         * modules/unictype/property-ideographic: Likewise.
15479         * modules/unictype/property-ids-binary-operator: Likewise.
15480         * modules/unictype/property-ids-trinary-operator: Likewise.
15481         * modules/unictype/property-ignorable-control: Likewise.
15482         * modules/unictype/property-iso-control: Likewise.
15483         * modules/unictype/property-join-control: Likewise.
15484         * modules/unictype/property-left-of-pair: Likewise.
15485         * modules/unictype/property-line-separator: Likewise.
15486         * modules/unictype/property-logical-order-exception: Likewise.
15487         * modules/unictype/property-lowercase: Likewise.
15488         * modules/unictype/property-math: Likewise.
15489         * modules/unictype/property-non-break: Likewise.
15490         * modules/unictype/property-not-a-character: Likewise.
15491         * modules/unictype/property-numeric: Likewise.
15492         * modules/unictype/property-other-alphabetic: Likewise.
15493         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
15494         * modules/unictype/property-other-grapheme-extend: Likewise.
15495         * modules/unictype/property-other-id-continue: Likewise.
15496         * modules/unictype/property-other-id-start: Likewise.
15497         * modules/unictype/property-other-lowercase: Likewise.
15498         * modules/unictype/property-other-math: Likewise.
15499         * modules/unictype/property-other-uppercase: Likewise.
15500         * modules/unictype/property-paired-punctuation: Likewise.
15501         * modules/unictype/property-paragraph-separator: Likewise.
15502         * modules/unictype/property-pattern-syntax: Likewise.
15503         * modules/unictype/property-pattern-white-space: Likewise.
15504         * modules/unictype/property-private-use: Likewise.
15505         * modules/unictype/property-punctuation: Likewise.
15506         * modules/unictype/property-quotation-mark: Likewise.
15507         * modules/unictype/property-radical: Likewise.
15508         * modules/unictype/property-sentence-terminal: Likewise.
15509         * modules/unictype/property-soft-dotted: Likewise.
15510         * modules/unictype/property-space: Likewise.
15511         * modules/unictype/property-terminal-punctuation: Likewise.
15512         * modules/unictype/property-test: Likewise.
15513         * modules/unictype/property-titlecase: Likewise.
15514         * modules/unictype/property-unassigned-code-value: Likewise.
15515         * modules/unictype/property-unified-ideograph: Likewise.
15516         * modules/unictype/property-uppercase: Likewise.
15517         * modules/unictype/property-variation-selector: Likewise.
15518         * modules/unictype/property-white-space: Likewise.
15519         * modules/unictype/property-xid-continue: Likewise.
15520         * modules/unictype/property-xid-start: Likewise.
15521         * modules/unictype/property-zero-width: Likewise.
15522         * modules/unictype/scripts: Likewise.
15523         * modules/unictype/syntax-c-ident: Likewise.
15524         * modules/unictype/syntax-c-whitespace: Likewise.
15525         * modules/unictype/syntax-java-ident: Likewise.
15526         * modules/unictype/syntax-java-whitespace: Likewise.
15527         * modules/unilbrk/u8-possible-linebreaks: Likewise.
15528         * modules/unilbrk/u8-width-linebreaks: Likewise.
15529         * modules/unilbrk/u16-possible-linebreaks: Likewise.
15530         * modules/unilbrk/u16-width-linebreaks: Likewise.
15531         * modules/unilbrk/u32-possible-linebreaks: Likewise.
15532         * modules/unilbrk/u32-width-linebreaks: Likewise.
15533         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
15534         * modules/unilbrk/ulc-width-linebreaks: Likewise.
15535         * modules/uniname/uniname: Likewise.
15536         * modules/uninorm/canonical-decomposition: Likewise.
15537         * modules/uninorm/composition: Likewise.
15538         * modules/uninorm/decomposing-form: Likewise.
15539         * modules/uninorm/decomposition: Likewise.
15540         * modules/uninorm/filter: Likewise.
15541         * modules/uninorm/nfc: Likewise.
15542         * modules/uninorm/nfd: Likewise.
15543         * modules/uninorm/nfkc: Likewise.
15544         * modules/uninorm/nfkd: Likewise.
15545         * modules/uninorm/u8-normalize: Likewise.
15546         * modules/uninorm/u8-normcmp: Likewise.
15547         * modules/uninorm/u8-normcoll: Likewise.
15548         * modules/uninorm/u8-normxfrm: Likewise.
15549         * modules/uninorm/u16-normalize: Likewise.
15550         * modules/uninorm/u16-normcmp: Likewise.
15551         * modules/uninorm/u16-normcoll: Likewise.
15552         * modules/uninorm/u16-normxfrm: Likewise.
15553         * modules/uninorm/u32-normalize: Likewise.
15554         * modules/uninorm/u32-normcmp: Likewise.
15555         * modules/uninorm/u32-normcoll: Likewise.
15556         * modules/uninorm/u32-normxfrm: Likewise.
15557         * modules/unistdio/u8-asnprintf: Likewise.
15558         * modules/unistdio/u8-asprintf: Likewise.
15559         * modules/unistdio/u8-snprintf: Likewise.
15560         * modules/unistdio/u8-sprintf: Likewise.
15561         * modules/unistdio/u8-u8-asnprintf: Likewise.
15562         * modules/unistdio/u8-u8-asprintf: Likewise.
15563         * modules/unistdio/u8-u8-snprintf: Likewise.
15564         * modules/unistdio/u8-u8-sprintf: Likewise.
15565         * modules/unistdio/u8-u8-vasnprintf: Likewise.
15566         * modules/unistdio/u8-u8-vasprintf: Likewise.
15567         * modules/unistdio/u8-u8-vsnprintf: Likewise.
15568         * modules/unistdio/u8-u8-vsprintf: Likewise.
15569         * modules/unistdio/u8-vasnprintf: Likewise.
15570         * modules/unistdio/u8-vasprintf: Likewise.
15571         * modules/unistdio/u8-vsnprintf: Likewise.
15572         * modules/unistdio/u8-vsprintf: Likewise.
15573         * modules/unistdio/u16-asnprintf: Likewise.
15574         * modules/unistdio/u16-asprintf: Likewise.
15575         * modules/unistdio/u16-snprintf: Likewise.
15576         * modules/unistdio/u16-sprintf: Likewise.
15577         * modules/unistdio/u16-u16-asnprintf: Likewise.
15578         * modules/unistdio/u16-u16-asprintf: Likewise.
15579         * modules/unistdio/u16-u16-snprintf: Likewise.
15580         * modules/unistdio/u16-u16-sprintf: Likewise.
15581         * modules/unistdio/u16-u16-vasnprintf: Likewise.
15582         * modules/unistdio/u16-u16-vasprintf: Likewise.
15583         * modules/unistdio/u16-u16-vsnprintf: Likewise.
15584         * modules/unistdio/u16-u16-vsprintf: Likewise.
15585         * modules/unistdio/u16-vasnprintf: Likewise.
15586         * modules/unistdio/u16-vasprintf: Likewise.
15587         * modules/unistdio/u16-vsnprintf: Likewise.
15588         * modules/unistdio/u16-vsprintf: Likewise.
15589         * modules/unistdio/u32-asnprintf: Likewise.
15590         * modules/unistdio/u32-asprintf: Likewise.
15591         * modules/unistdio/u32-snprintf: Likewise.
15592         * modules/unistdio/u32-sprintf: Likewise.
15593         * modules/unistdio/u32-u32-asnprintf: Likewise.
15594         * modules/unistdio/u32-u32-asprintf: Likewise.
15595         * modules/unistdio/u32-u32-snprintf: Likewise.
15596         * modules/unistdio/u32-u32-sprintf: Likewise.
15597         * modules/unistdio/u32-u32-vasnprintf: Likewise.
15598         * modules/unistdio/u32-u32-vasprintf: Likewise.
15599         * modules/unistdio/u32-u32-vsnprintf: Likewise.
15600         * modules/unistdio/u32-u32-vsprintf: Likewise.
15601         * modules/unistdio/u32-vasnprintf: Likewise.
15602         * modules/unistdio/u32-vasprintf: Likewise.
15603         * modules/unistdio/u32-vsnprintf: Likewise.
15604         * modules/unistdio/u32-vsprintf: Likewise.
15605         * modules/unistdio/ulc-asnprintf: Likewise.
15606         * modules/unistdio/ulc-asprintf: Likewise.
15607         * modules/unistdio/ulc-fprintf: Likewise.
15608         * modules/unistdio/ulc-snprintf: Likewise.
15609         * modules/unistdio/ulc-sprintf: Likewise.
15610         * modules/unistdio/ulc-vasnprintf: Likewise.
15611         * modules/unistdio/ulc-vasprintf: Likewise.
15612         * modules/unistdio/ulc-vfprintf: Likewise.
15613         * modules/unistdio/ulc-vsnprintf: Likewise.
15614         * modules/unistdio/ulc-vsprintf: Likewise.
15615         * modules/unistr/u8-check: Likewise.
15616         * modules/unistr/u8-chr: Likewise.
15617         * modules/unistr/u8-cmp: Likewise.
15618         * modules/unistr/u8-cmp2: Likewise.
15619         * modules/unistr/u8-cpy: Likewise.
15620         * modules/unistr/u8-cpy-alloc: Likewise.
15621         * modules/unistr/u8-endswith: Likewise.
15622         * modules/unistr/u8-mblen: Likewise.
15623         * modules/unistr/u8-mbsnlen: Likewise.
15624         * modules/unistr/u8-mbtouc: Likewise.
15625         * modules/unistr/u8-mbtouc-unsafe: Likewise.
15626         * modules/unistr/u8-mbtoucr: Likewise.
15627         * modules/unistr/u8-move: Likewise.
15628         * modules/unistr/u8-next: Likewise.
15629         * modules/unistr/u8-prev: Likewise.
15630         * modules/unistr/u8-set: Likewise.
15631         * modules/unistr/u8-startswith: Likewise.
15632         * modules/unistr/u8-stpcpy: Likewise.
15633         * modules/unistr/u8-stpncpy: Likewise.
15634         * modules/unistr/u8-strcat: Likewise.
15635         * modules/unistr/u8-strchr: Likewise.
15636         * modules/unistr/u8-strcmp: Likewise.
15637         * modules/unistr/u8-strcoll: Likewise.
15638         * modules/unistr/u8-strcpy: Likewise.
15639         * modules/unistr/u8-strcspn: Likewise.
15640         * modules/unistr/u8-strdup: Likewise.
15641         * modules/unistr/u8-strlen: Likewise.
15642         * modules/unistr/u8-strmblen: Likewise.
15643         * modules/unistr/u8-strmbtouc: Likewise.
15644         * modules/unistr/u8-strncat: Likewise.
15645         * modules/unistr/u8-strncmp: Likewise.
15646         * modules/unistr/u8-strncpy: Likewise.
15647         * modules/unistr/u8-strnlen: Likewise.
15648         * modules/unistr/u8-strpbrk: Likewise.
15649         * modules/unistr/u8-strrchr: Likewise.
15650         * modules/unistr/u8-strspn: Likewise.
15651         * modules/unistr/u8-strstr: Likewise.
15652         * modules/unistr/u8-strtok: Likewise.
15653         * modules/unistr/u8-to-u16: Likewise.
15654         * modules/unistr/u8-to-u32: Likewise.
15655         * modules/unistr/u8-uctomb: Likewise.
15656         * modules/unistr/u16-check: Likewise.
15657         * modules/unistr/u16-chr: Likewise.
15658         * modules/unistr/u16-cmp: Likewise.
15659         * modules/unistr/u16-cmp2: Likewise.
15660         * modules/unistr/u16-cpy: Likewise.
15661         * modules/unistr/u16-cpy-alloc: Likewise.
15662         * modules/unistr/u16-endswith: Likewise.
15663         * modules/unistr/u16-mblen: Likewise.
15664         * modules/unistr/u16-mbsnlen: Likewise.
15665         * modules/unistr/u16-mbtouc: Likewise.
15666         * modules/unistr/u16-mbtouc-unsafe: Likewise.
15667         * modules/unistr/u16-mbtoucr: Likewise.
15668         * modules/unistr/u16-move: Likewise.
15669         * modules/unistr/u16-next: Likewise.
15670         * modules/unistr/u16-prev: Likewise.
15671         * modules/unistr/u16-set: Likewise.
15672         * modules/unistr/u16-startswith: Likewise.
15673         * modules/unistr/u16-stpcpy: Likewise.
15674         * modules/unistr/u16-stpncpy: Likewise.
15675         * modules/unistr/u16-strcat: Likewise.
15676         * modules/unistr/u16-strchr: Likewise.
15677         * modules/unistr/u16-strcmp: Likewise.
15678         * modules/unistr/u16-strcoll: Likewise.
15679         * modules/unistr/u16-strcpy: Likewise.
15680         * modules/unistr/u16-strcspn: Likewise.
15681         * modules/unistr/u16-strdup: Likewise.
15682         * modules/unistr/u16-strlen: Likewise.
15683         * modules/unistr/u16-strmblen: Likewise.
15684         * modules/unistr/u16-strmbtouc: Likewise.
15685         * modules/unistr/u16-strncat: Likewise.
15686         * modules/unistr/u16-strncmp: Likewise.
15687         * modules/unistr/u16-strncpy: Likewise.
15688         * modules/unistr/u16-strnlen: Likewise.
15689         * modules/unistr/u16-strpbrk: Likewise.
15690         * modules/unistr/u16-strrchr: Likewise.
15691         * modules/unistr/u16-strspn: Likewise.
15692         * modules/unistr/u16-strstr: Likewise.
15693         * modules/unistr/u16-strtok: Likewise.
15694         * modules/unistr/u16-to-u32: Likewise.
15695         * modules/unistr/u16-to-u8: Likewise.
15696         * modules/unistr/u16-uctomb: Likewise.
15697         * modules/unistr/u32-check: Likewise.
15698         * modules/unistr/u32-chr: Likewise.
15699         * modules/unistr/u32-cmp: Likewise.
15700         * modules/unistr/u32-cmp2: Likewise.
15701         * modules/unistr/u32-cpy: Likewise.
15702         * modules/unistr/u32-cpy-alloc: Likewise.
15703         * modules/unistr/u32-endswith: Likewise.
15704         * modules/unistr/u32-mblen: Likewise.
15705         * modules/unistr/u32-mbsnlen: Likewise.
15706         * modules/unistr/u32-mbtouc: Likewise.
15707         * modules/unistr/u32-mbtouc-unsafe: Likewise.
15708         * modules/unistr/u32-mbtoucr: Likewise.
15709         * modules/unistr/u32-move: Likewise.
15710         * modules/unistr/u32-next: Likewise.
15711         * modules/unistr/u32-prev: Likewise.
15712         * modules/unistr/u32-set: Likewise.
15713         * modules/unistr/u32-startswith: Likewise.
15714         * modules/unistr/u32-stpcpy: Likewise.
15715         * modules/unistr/u32-stpncpy: Likewise.
15716         * modules/unistr/u32-strcat: Likewise.
15717         * modules/unistr/u32-strchr: Likewise.
15718         * modules/unistr/u32-strcmp: Likewise.
15719         * modules/unistr/u32-strcoll: Likewise.
15720         * modules/unistr/u32-strcpy: Likewise.
15721         * modules/unistr/u32-strcspn: Likewise.
15722         * modules/unistr/u32-strdup: Likewise.
15723         * modules/unistr/u32-strlen: Likewise.
15724         * modules/unistr/u32-strmblen: Likewise.
15725         * modules/unistr/u32-strmbtouc: Likewise.
15726         * modules/unistr/u32-strncat: Likewise.
15727         * modules/unistr/u32-strncmp: Likewise.
15728         * modules/unistr/u32-strncpy: Likewise.
15729         * modules/unistr/u32-strnlen: Likewise.
15730         * modules/unistr/u32-strpbrk: Likewise.
15731         * modules/unistr/u32-strrchr: Likewise.
15732         * modules/unistr/u32-strspn: Likewise.
15733         * modules/unistr/u32-strstr: Likewise.
15734         * modules/unistr/u32-strtok: Likewise.
15735         * modules/unistr/u32-to-u16: Likewise.
15736         * modules/unistr/u32-to-u8: Likewise.
15737         * modules/unistr/u32-uctomb: Likewise.
15738         * modules/uniwbrk/u8-wordbreaks: Likewise.
15739         * modules/uniwbrk/u16-wordbreaks: Likewise.
15740         * modules/uniwbrk/u32-wordbreaks: Likewise.
15741         * modules/uniwbrk/ulc-wordbreaks: Likewise.
15742         * modules/uniwbrk/wordbreak-property: Likewise.
15743         * modules/uniwidth/u8-strwidth: Likewise.
15744         * modules/uniwidth/u8-width: Likewise.
15745         * modules/uniwidth/u16-strwidth: Likewise.
15746         * modules/uniwidth/u16-width: Likewise.
15747         * modules/uniwidth/u32-strwidth: Likewise.
15748         * modules/uniwidth/u32-width: Likewise.
15749         * modules/uniwidth/width: Likewise.
15750         * modules/unicase/cased-tests (Makefile.am): Link all test programs
15751         with $(LIBUNISTRING).
15752         * modules/unicase/ignorable-tests: Likewise.
15753         * modules/unicase/locale-language-tests: Likewise.
15754         * modules/unicase/tolower-tests: Likewise.
15755         * modules/unicase/totitle-tests: Likewise.
15756         * modules/unicase/toupper-tests: Likewise.
15757         * modules/unicase/u8-casecmp-tests: Likewise.
15758         * modules/unicase/u8-casecoll-tests: Likewise.
15759         * modules/unicase/u8-casefold-tests: Likewise.
15760         * modules/unicase/u8-is-cased-tests: Likewise.
15761         * modules/unicase/u8-is-casefolded-tests: Likewise.
15762         * modules/unicase/u8-is-lowercase-tests: Likewise.
15763         * modules/unicase/u8-is-titlecase-tests: Likewise.
15764         * modules/unicase/u8-is-uppercase-tests: Likewise.
15765         * modules/unicase/u8-tolower-tests: Likewise.
15766         * modules/unicase/u8-totitle-tests: Likewise.
15767         * modules/unicase/u8-toupper-tests: Likewise.
15768         * modules/unicase/u16-casecmp-tests: Likewise.
15769         * modules/unicase/u16-casecoll-tests: Likewise.
15770         * modules/unicase/u16-casefold-tests: Likewise.
15771         * modules/unicase/u16-is-cased-tests: Likewise.
15772         * modules/unicase/u16-is-casefolded-tests: Likewise.
15773         * modules/unicase/u16-is-lowercase-tests: Likewise.
15774         * modules/unicase/u16-is-titlecase-tests: Likewise.
15775         * modules/unicase/u16-is-uppercase-tests: Likewise.
15776         * modules/unicase/u16-tolower-tests: Likewise.
15777         * modules/unicase/u16-totitle-tests: Likewise.
15778         * modules/unicase/u16-toupper-tests: Likewise.
15779         * modules/unicase/u32-casecmp-tests: Likewise.
15780         * modules/unicase/u32-casecoll-tests: Likewise.
15781         * modules/unicase/u32-casefold-tests: Likewise.
15782         * modules/unicase/u32-is-cased-tests: Likewise.
15783         * modules/unicase/u32-is-casefolded-tests: Likewise.
15784         * modules/unicase/u32-is-lowercase-tests: Likewise.
15785         * modules/unicase/u32-is-titlecase-tests: Likewise.
15786         * modules/unicase/u32-is-uppercase-tests: Likewise.
15787         * modules/unicase/u32-tolower-tests: Likewise.
15788         * modules/unicase/u32-totitle-tests: Likewise.
15789         * modules/unicase/u32-toupper-tests: Likewise.
15790         * modules/unicase/ulc-casecmp-tests: Likewise.
15791         * modules/unicase/ulc-casecoll-tests: Likewise.
15792         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
15793         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
15794         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
15795         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
15796         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
15797         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
15798         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
15799         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
15800         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
15801         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
15802         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
15803         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
15804         * modules/unictype/bidicategory-byname-tests: Likewise.
15805         * modules/unictype/bidicategory-name-tests: Likewise.
15806         * modules/unictype/bidicategory-of-tests: Likewise.
15807         * modules/unictype/bidicategory-test-tests: Likewise.
15808         * modules/unictype/block-list-tests: Likewise.
15809         * modules/unictype/block-of-tests: Likewise.
15810         * modules/unictype/block-test-tests: Likewise.
15811         * modules/unictype/category-C-tests: Likewise.
15812         * modules/unictype/category-Cc-tests: Likewise.
15813         * modules/unictype/category-Cf-tests: Likewise.
15814         * modules/unictype/category-Cn-tests: Likewise.
15815         * modules/unictype/category-Co-tests: Likewise.
15816         * modules/unictype/category-Cs-tests: Likewise.
15817         * modules/unictype/category-L-tests: Likewise.
15818         * modules/unictype/category-Ll-tests: Likewise.
15819         * modules/unictype/category-Lm-tests: Likewise.
15820         * modules/unictype/category-Lo-tests: Likewise.
15821         * modules/unictype/category-Lt-tests: Likewise.
15822         * modules/unictype/category-Lu-tests: Likewise.
15823         * modules/unictype/category-M-tests: Likewise.
15824         * modules/unictype/category-Mc-tests: Likewise.
15825         * modules/unictype/category-Me-tests: Likewise.
15826         * modules/unictype/category-Mn-tests: Likewise.
15827         * modules/unictype/category-N-tests: Likewise.
15828         * modules/unictype/category-Nd-tests: Likewise.
15829         * modules/unictype/category-Nl-tests: Likewise.
15830         * modules/unictype/category-No-tests: Likewise.
15831         * modules/unictype/category-P-tests: Likewise.
15832         * modules/unictype/category-Pc-tests: Likewise.
15833         * modules/unictype/category-Pd-tests: Likewise.
15834         * modules/unictype/category-Pe-tests: Likewise.
15835         * modules/unictype/category-Pf-tests: Likewise.
15836         * modules/unictype/category-Pi-tests: Likewise.
15837         * modules/unictype/category-Po-tests: Likewise.
15838         * modules/unictype/category-Ps-tests: Likewise.
15839         * modules/unictype/category-S-tests: Likewise.
15840         * modules/unictype/category-Sc-tests: Likewise.
15841         * modules/unictype/category-Sk-tests: Likewise.
15842         * modules/unictype/category-Sm-tests: Likewise.
15843         * modules/unictype/category-So-tests: Likewise.
15844         * modules/unictype/category-Z-tests: Likewise.
15845         * modules/unictype/category-Zl-tests: Likewise.
15846         * modules/unictype/category-Zp-tests: Likewise.
15847         * modules/unictype/category-Zs-tests: Likewise.
15848         * modules/unictype/category-and-not-tests: Likewise.
15849         * modules/unictype/category-and-tests: Likewise.
15850         * modules/unictype/category-byname-tests: Likewise.
15851         * modules/unictype/category-name-tests: Likewise.
15852         * modules/unictype/category-none-tests: Likewise.
15853         * modules/unictype/category-of-tests: Likewise.
15854         * modules/unictype/category-or-tests: Likewise.
15855         * modules/unictype/category-test-withtable-tests: Likewise.
15856         * modules/unictype/combining-class-tests: Likewise.
15857         * modules/unictype/ctype-alnum-tests: Likewise.
15858         * modules/unictype/ctype-alpha-tests: Likewise.
15859         * modules/unictype/ctype-blank-tests: Likewise.
15860         * modules/unictype/ctype-cntrl-tests: Likewise.
15861         * modules/unictype/ctype-digit-tests: Likewise.
15862         * modules/unictype/ctype-graph-tests: Likewise.
15863         * modules/unictype/ctype-lower-tests: Likewise.
15864         * modules/unictype/ctype-print-tests: Likewise.
15865         * modules/unictype/ctype-punct-tests: Likewise.
15866         * modules/unictype/ctype-space-tests: Likewise.
15867         * modules/unictype/ctype-upper-tests: Likewise.
15868         * modules/unictype/ctype-xdigit-tests: Likewise.
15869         * modules/unictype/decimal-digit-tests: Likewise.
15870         * modules/unictype/digit-tests: Likewise.
15871         * modules/unictype/mirror-tests: Likewise.
15872         * modules/unictype/numeric-tests: Likewise.
15873         * modules/unictype/property-alphabetic-tests: Likewise.
15874         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
15875         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
15876         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
15877         * modules/unictype/property-bidi-block-separator-tests: Likewise.
15878         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
15879         * modules/unictype/property-bidi-common-separator-tests: Likewise.
15880         * modules/unictype/property-bidi-control-tests: Likewise.
15881         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
15882         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
15883         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
15884         * modules/unictype/property-bidi-european-digit-tests: Likewise.
15885         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
15886         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
15887         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
15888         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
15889         * modules/unictype/property-bidi-pdf-tests: Likewise.
15890         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
15891         * modules/unictype/property-bidi-whitespace-tests: Likewise.
15892         * modules/unictype/property-byname-tests: Likewise.
15893         * modules/unictype/property-combining-tests: Likewise.
15894         * modules/unictype/property-composite-tests: Likewise.
15895         * modules/unictype/property-currency-symbol-tests: Likewise.
15896         * modules/unictype/property-dash-tests: Likewise.
15897         * modules/unictype/property-decimal-digit-tests: Likewise.
15898         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
15899         * modules/unictype/property-deprecated-tests: Likewise.
15900         * modules/unictype/property-diacritic-tests: Likewise.
15901         * modules/unictype/property-extender-tests: Likewise.
15902         * modules/unictype/property-format-control-tests: Likewise.
15903         * modules/unictype/property-grapheme-base-tests: Likewise.
15904         * modules/unictype/property-grapheme-extend-tests: Likewise.
15905         * modules/unictype/property-grapheme-link-tests: Likewise.
15906         * modules/unictype/property-hex-digit-tests: Likewise.
15907         * modules/unictype/property-hyphen-tests: Likewise.
15908         * modules/unictype/property-id-continue-tests: Likewise.
15909         * modules/unictype/property-id-start-tests: Likewise.
15910         * modules/unictype/property-ideographic-tests: Likewise.
15911         * modules/unictype/property-ids-binary-operator-tests: Likewise.
15912         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
15913         * modules/unictype/property-ignorable-control-tests: Likewise.
15914         * modules/unictype/property-iso-control-tests: Likewise.
15915         * modules/unictype/property-join-control-tests: Likewise.
15916         * modules/unictype/property-left-of-pair-tests: Likewise.
15917         * modules/unictype/property-line-separator-tests: Likewise.
15918         * modules/unictype/property-logical-order-exception-tests: Likewise.
15919         * modules/unictype/property-lowercase-tests: Likewise.
15920         * modules/unictype/property-math-tests: Likewise.
15921         * modules/unictype/property-non-break-tests: Likewise.
15922         * modules/unictype/property-not-a-character-tests: Likewise.
15923         * modules/unictype/property-numeric-tests: Likewise.
15924         * modules/unictype/property-other-alphabetic-tests: Likewise.
15925         * modules/unictype/property-other-default-ignorable-code-point-tests:
15926         Likewise.
15927         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
15928         * modules/unictype/property-other-id-continue-tests: Likewise.
15929         * modules/unictype/property-other-id-start-tests: Likewise.
15930         * modules/unictype/property-other-lowercase-tests: Likewise.
15931         * modules/unictype/property-other-math-tests: Likewise.
15932         * modules/unictype/property-other-uppercase-tests: Likewise.
15933         * modules/unictype/property-paired-punctuation-tests: Likewise.
15934         * modules/unictype/property-paragraph-separator-tests: Likewise.
15935         * modules/unictype/property-pattern-syntax-tests: Likewise.
15936         * modules/unictype/property-pattern-white-space-tests: Likewise.
15937         * modules/unictype/property-private-use-tests: Likewise.
15938         * modules/unictype/property-punctuation-tests: Likewise.
15939         * modules/unictype/property-quotation-mark-tests: Likewise.
15940         * modules/unictype/property-radical-tests: Likewise.
15941         * modules/unictype/property-sentence-terminal-tests: Likewise.
15942         * modules/unictype/property-soft-dotted-tests: Likewise.
15943         * modules/unictype/property-space-tests: Likewise.
15944         * modules/unictype/property-terminal-punctuation-tests: Likewise.
15945         * modules/unictype/property-test-tests: Likewise.
15946         * modules/unictype/property-titlecase-tests: Likewise.
15947         * modules/unictype/property-unassigned-code-value-tests: Likewise.
15948         * modules/unictype/property-unified-ideograph-tests: Likewise.
15949         * modules/unictype/property-uppercase-tests: Likewise.
15950         * modules/unictype/property-variation-selector-tests: Likewise.
15951         * modules/unictype/property-white-space-tests: Likewise.
15952         * modules/unictype/property-xid-continue-tests: Likewise.
15953         * modules/unictype/property-xid-start-tests: Likewise.
15954         * modules/unictype/property-zero-width-tests: Likewise.
15955         * modules/unictype/scripts-tests: Likewise.
15956         * modules/unictype/syntax-c-ident-tests: Likewise.
15957         * modules/unictype/syntax-c-whitespace-tests: Likewise.
15958         * modules/unictype/syntax-java-ident-tests: Likewise.
15959         * modules/unictype/syntax-java-whitespace-tests: Likewise.
15960         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
15961         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
15962         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
15963         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
15964         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
15965         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
15966         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
15967         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
15968         * modules/uniname/uniname-tests: Likewise.
15969         * modules/uninorm/canonical-decomposition-tests: Likewise.
15970         * modules/uninorm/compat-decomposition-tests: Likewise.
15971         * modules/uninorm/composition-tests: Likewise.
15972         * modules/uninorm/decomposing-form-tests: Likewise.
15973         * modules/uninorm/decomposition-tests: Likewise.
15974         * modules/uninorm/filter-tests: Likewise.
15975         * modules/uninorm/nfc-tests: Likewise.
15976         * modules/uninorm/nfd-tests: Likewise.
15977         * modules/uninorm/nfkc-tests: Likewise.
15978         * modules/uninorm/nfkd-tests: Likewise.
15979         * modules/uninorm/u8-normcmp-tests: Likewise.
15980         * modules/uninorm/u8-normcoll-tests: Likewise.
15981         * modules/uninorm/u16-normcmp-tests: Likewise.
15982         * modules/uninorm/u16-normcoll-tests: Likewise.
15983         * modules/uninorm/u32-normcmp-tests: Likewise.
15984         * modules/uninorm/u32-normcoll-tests: Likewise.
15985         * modules/unistdio/u8-asnprintf-tests: Likewise.
15986         * modules/unistdio/u8-vasnprintf-tests: Likewise.
15987         * modules/unistdio/u8-vasprintf-tests: Likewise.
15988         * modules/unistdio/u8-vsnprintf-tests: Likewise.
15989         * modules/unistdio/u8-vsprintf-tests: Likewise.
15990         * modules/unistdio/u16-asnprintf-tests: Likewise.
15991         * modules/unistdio/u16-vasnprintf-tests: Likewise.
15992         * modules/unistdio/u16-vasprintf-tests: Likewise.
15993         * modules/unistdio/u16-vsnprintf-tests: Likewise.
15994         * modules/unistdio/u16-vsprintf-tests: Likewise.
15995         * modules/unistdio/u32-asnprintf-tests: Likewise.
15996         * modules/unistdio/u32-vasnprintf-tests: Likewise.
15997         * modules/unistdio/u32-vasprintf-tests: Likewise.
15998         * modules/unistdio/u32-vsnprintf-tests: Likewise.
15999         * modules/unistdio/u32-vsprintf-tests: Likewise.
16000         * modules/unistdio/ulc-asnprintf-tests: Likewise.
16001         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
16002         * modules/unistdio/ulc-vasprintf-tests: Likewise.
16003         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
16004         * modules/unistdio/ulc-vsprintf-tests: Likewise.
16005         * modules/unistr/u8-check-tests: Likewise.
16006         * modules/unistr/u8-chr-tests: Likewise.
16007         * modules/unistr/u8-cmp-tests: Likewise.
16008         * modules/unistr/u8-cmp2-tests: Likewise.
16009         * modules/unistr/u8-cpy-alloc-tests: Likewise.
16010         * modules/unistr/u8-cpy-tests: Likewise.
16011         * modules/unistr/u8-mblen-tests: Likewise.
16012         * modules/unistr/u8-mbsnlen-tests: Likewise.
16013         * modules/unistr/u8-mbtouc-tests: Likewise.
16014         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
16015         * modules/unistr/u8-mbtoucr-tests: Likewise.
16016         * modules/unistr/u8-move-tests: Likewise.
16017         * modules/unistr/u8-next-tests: Likewise.
16018         * modules/unistr/u8-prev-tests: Likewise.
16019         * modules/unistr/u8-set-tests: Likewise.
16020         * modules/unistr/u8-stpcpy-tests: Likewise.
16021         * modules/unistr/u8-stpncpy-tests: Likewise.
16022         * modules/unistr/u8-strcat-tests: Likewise.
16023         * modules/unistr/u8-strcmp-tests: Likewise.
16024         * modules/unistr/u8-strcoll-tests: Likewise.
16025         * modules/unistr/u8-strcpy-tests: Likewise.
16026         * modules/unistr/u8-strdup-tests: Likewise.
16027         * modules/unistr/u8-strlen-tests: Likewise.
16028         * modules/unistr/u8-strmblen-tests: Likewise.
16029         * modules/unistr/u8-strmbtouc-tests: Likewise.
16030         * modules/unistr/u8-strncat-tests: Likewise.
16031         * modules/unistr/u8-strncmp-tests: Likewise.
16032         * modules/unistr/u8-strncpy-tests: Likewise.
16033         * modules/unistr/u8-strnlen-tests: Likewise.
16034         * modules/unistr/u8-to-u16-tests: Likewise.
16035         * modules/unistr/u8-to-u32-tests: Likewise.
16036         * modules/unistr/u8-uctomb-tests: Likewise.
16037         * modules/unistr/u16-check-tests: Likewise.
16038         * modules/unistr/u16-chr-tests: Likewise.
16039         * modules/unistr/u16-cmp-tests: Likewise.
16040         * modules/unistr/u16-cmp2-tests: Likewise.
16041         * modules/unistr/u16-cpy-alloc-tests: Likewise.
16042         * modules/unistr/u16-cpy-tests: Likewise.
16043         * modules/unistr/u16-mblen-tests: Likewise.
16044         * modules/unistr/u16-mbsnlen-tests: Likewise.
16045         * modules/unistr/u16-mbtouc-tests: Likewise.
16046         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
16047         * modules/unistr/u16-mbtoucr-tests: Likewise.
16048         * modules/unistr/u16-move-tests: Likewise.
16049         * modules/unistr/u16-next-tests: Likewise.
16050         * modules/unistr/u16-prev-tests: Likewise.
16051         * modules/unistr/u16-set-tests: Likewise.
16052         * modules/unistr/u16-stpcpy-tests: Likewise.
16053         * modules/unistr/u16-stpncpy-tests: Likewise.
16054         * modules/unistr/u16-strcat-tests: Likewise.
16055         * modules/unistr/u16-strcmp-tests: Likewise.
16056         * modules/unistr/u16-strcoll-tests: Likewise.
16057         * modules/unistr/u16-strcpy-tests: Likewise.
16058         * modules/unistr/u16-strdup-tests: Likewise.
16059         * modules/unistr/u16-strlen-tests: Likewise.
16060         * modules/unistr/u16-strmblen-tests: Likewise.
16061         * modules/unistr/u16-strmbtouc-tests: Likewise.
16062         * modules/unistr/u16-strncat-tests: Likewise.
16063         * modules/unistr/u16-strncmp-tests: Likewise.
16064         * modules/unistr/u16-strncpy-tests: Likewise.
16065         * modules/unistr/u16-strnlen-tests: Likewise.
16066         * modules/unistr/u16-to-u32-tests: Likewise.
16067         * modules/unistr/u16-to-u8-tests: Likewise.
16068         * modules/unistr/u16-uctomb-tests: Likewise.
16069         * modules/unistr/u32-check-tests: Likewise.
16070         * modules/unistr/u32-chr-tests: Likewise.
16071         * modules/unistr/u32-cmp-tests: Likewise.
16072         * modules/unistr/u32-cmp2-tests: Likewise.
16073         * modules/unistr/u32-cpy-alloc-tests: Likewise.
16074         * modules/unistr/u32-cpy-tests: Likewise.
16075         * modules/unistr/u32-mblen-tests: Likewise.
16076         * modules/unistr/u32-mbsnlen-tests: Likewise.
16077         * modules/unistr/u32-mbtouc-tests: Likewise.
16078         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
16079         * modules/unistr/u32-mbtoucr-tests: Likewise.
16080         * modules/unistr/u32-move-tests: Likewise.
16081         * modules/unistr/u32-next-tests: Likewise.
16082         * modules/unistr/u32-prev-tests: Likewise.
16083         * modules/unistr/u32-set-tests: Likewise.
16084         * modules/unistr/u32-stpcpy-tests: Likewise.
16085         * modules/unistr/u32-stpncpy-tests: Likewise.
16086         * modules/unistr/u32-strcat-tests: Likewise.
16087         * modules/unistr/u32-strcmp-tests: Likewise.
16088         * modules/unistr/u32-strcoll-tests: Likewise.
16089         * modules/unistr/u32-strcpy-tests: Likewise.
16090         * modules/unistr/u32-strdup-tests: Likewise.
16091         * modules/unistr/u32-strlen-tests: Likewise.
16092         * modules/unistr/u32-strmblen-tests: Likewise.
16093         * modules/unistr/u32-strmbtouc-tests: Likewise.
16094         * modules/unistr/u32-strncat-tests: Likewise.
16095         * modules/unistr/u32-strncmp-tests: Likewise.
16096         * modules/unistr/u32-strncpy-tests: Likewise.
16097         * modules/unistr/u32-strnlen-tests: Likewise.
16098         * modules/unistr/u32-to-u16-tests: Likewise.
16099         * modules/unistr/u32-to-u8-tests: Likewise.
16100         * modules/unistr/u32-uctomb-tests: Likewise.
16101         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
16102         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
16103         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
16104         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
16105         * modules/uniwidth/u8-strwidth-tests: Likewise.
16106         * modules/uniwidth/u8-width-tests: Likewise.
16107         * modules/uniwidth/u16-strwidth-tests: Likewise.
16108         * modules/uniwidth/u16-width-tests: Likewise.
16109         * modules/uniwidth/u32-strwidth-tests: Likewise.
16110         * modules/uniwidth/u32-width-tests: Likewise.
16111         * modules/uniwidth/width-tests: Likewise.
16112
16113 2010-05-18  Richard Jones  <rjones@redhat.com>
16114
16115         doc: users.txt: list hivex
16116         * users.txt: Add hivex.
16117
16118 2010-05-18  Richard Jones  <rjones@redhat.com>
16119
16120         doc: users.txt: list febootstrap
16121         * users.txt: Add febootstrap.
16122
16123 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
16124
16125         bootstrap: fix an error when gnulib is not used as a git submodule
16126         * build-aux/bootstrap (gnulib_path): If its length is zero then
16127         assign "gnulib" to it.
16128         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
16129
16130 2010-05-16  Bruno Haible  <bruno@clisp.org>
16131
16132         Avoid autoconf warnings about AM_ICONV.
16133         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
16134         2.64.
16135
16136 2010-05-16  Bruno Haible  <bruno@clisp.org>
16137
16138         absolute-header: Make the macro usable in more situations.
16139         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
16140         from gl_ABSOLUTE_HEADER.
16141         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
16142
16143 2010-05-16  James Youngman  <jay@gnu.org>
16144
16145         doc: update users.txt
16146         * users.txt: Add CSSC.
16147
16148 2010-05-16  Jim Meyering  <meyering@redhat.com>
16149
16150         init.sh: fix an error in the previous change; add more comments
16151         * tests/init.sh: Compare exit code in loop against 9, not 2.
16152         Patch by Bruno Haible.
16153         Make the two tests more similar by adding an empty "then" clause.
16154         Add comments.
16155
16156         init.sh: avoid unnecessary shell re-exec
16157         * tests/init.sh: Improve the re-exec-required check to first test the
16158         current shell.  If it passes the test, do not search for a shell that
16159         does pass, and do not re-exec.  This test is particularly contorted to
16160         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
16161         of $(...) evokes a syntax error and causes immediate shell exit with
16162         status 2.  Bruno Haible reported that the re-exec made it impossible
16163         to single-step through any init.sh-using script.
16164
16165 2010-05-16  Bruno Haible  <bruno@clisp.org>
16166
16167         Fix collision between gnulib's and libintl's printf replacements.
16168         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
16169         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
16170         (printf): When using GNU C, map the __printf__ function to rpl_printf
16171         via __asm__. When not using GNU C, define rpl_printf instead of
16172         __printf__.
16173         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
16174         commit.
16175         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
16176         commit.
16177         * m4/asm-underscore.m4: New file.
16178         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
16179         * modules/stdio (Files): Add m4/asm-underscore.m4.
16180         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
16181         Reported by Ben Pfaff.
16182
16183 2010-05-16  Bruno Haible  <bruno@clisp.org>
16184
16185         verify: Avoid skipping the test on openSUSE 11.0.
16186         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
16187
16188 2010-05-13  Bruno Haible  <bruno@clisp.org>
16189
16190         Avoid useless warnings from G++.
16191         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
16192         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
16193         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16194
16195 2010-05-11  Jim Meyering  <meyering@redhat.com>
16196
16197         maint.mk: tweak preceding change
16198         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
16199         regexps tighter by anchoring at EOL, and make the new group "shy"
16200         for slightly decreased overhead.
16201
16202 2010-05-11  Eric Blake  <eblake@redhat.com>
16203
16204         maint.mk: gnulib doesn't guarantee NSIG
16205         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
16206
16207 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16208
16209         test-pwrite.c: Remove unused variable declaration.
16210         * tests/test-pwrite.c (main): Remove read_buf declaration.
16211
16212         Remove useless test-pwrite.sh file.
16213         * tests/test-pwrite.sh: Delete file.
16214         * modules/pwrite-tests: Remove references.
16215         Reported by Bruno Haible.
16216
16217 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16218
16219         init.sh: fix a typo
16220         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
16221
16222 2010-05-10  Jim Meyering  <meyering@redhat.com>
16223
16224         maint.mk: avoid using a temporary file in the always-defined-macros check
16225         * top/maint.mk (.re-defmac): Remove rule.
16226         (gl_trap_): Remove definition.
16227         (sc_prohibit_always-defined_macros): Rewrite not to create and
16228         depend on a temporary file.  Instead, depend on GNU grep's ability
16229         to read a list of regular expressions from stdin when given "-f -".
16230
16231 2010-05-09  Bruno Haible  <bruno@clisp.org>
16232
16233         Update to GNU gettext 0.18, part 1.
16234         * m4/gettext.m4: Update to GNU gettext 0.18.
16235         * m4/intl.m4: Likewise.
16236         * m4/po.m4: Likewise.
16237         * modules/gettext (Files): Add m4/fcntl-o.m4.
16238         (configure.ac): Require gettext infrastructure from version 0.18.
16239
16240 2010-05-09  Jim Meyering  <meyering@redhat.com>
16241
16242         init.sh: enable MALLOC_PERTURB_
16243         * tests/init.sh: Enable glibc's malloc-perturbing option.
16244
16245         maint.mk: improve sc_cross_check_PATH_usage_in_tests
16246         With my recent change in init.sh from the two-line form:
16247             -#   : ${srcdir=.}
16248             -#   . "$srcdir/init.sh"; path_prepend_ .
16249             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
16250         I noticed that using the one-line form would cause this test
16251         to fail with a false-positive, or to stop working altogether,
16252         depending on whether help-version changed or all the tests did.
16253         * top/maint.mk (_hv_regex): Remove this definition.
16254         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
16255         (_hv_regex_strong): Use a stronger regex to check for conformance.
16256         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
16257         Give a separate diagnostic for lack of conforming use.
16258
16259         maint.mk: prohibit definition of symbols defined by gnulib
16260         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
16261         definition of symbols defined by gnulib.
16262
16263 2010-05-09  Bruno Haible  <bruno@clisp.org>
16264
16265         acl: Avoid test failure on Cygwin-hosted mingw.
16266         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
16267
16268 2010-05-09  Bruno Haible  <bruno@clisp.org>
16269
16270         error: Use system's fcntl function.
16271         * lib/error.c (fcntl): Undefine.
16272
16273 2010-05-09  Jim Meyering  <meyering@redhat.com>
16274
16275         verify: adjust formatting to be more consistent
16276         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
16277         argument-list '('s, and after one comma.
16278
16279 2010-05-09  Bruno Haible  <bruno@clisp.org>
16280
16281         error: More reliable output on mingw.
16282         * lib/error.c: Include <windows.h>.
16283         (is_open): New function.
16284         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
16285         defined.
16286
16287 2010-05-09  Bruno Haible  <bruno@clisp.org>
16288
16289         vasnprintf: Fix syntax errors in libintl build on mingw.
16290         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
16291         pad_ourselves and prec_ourselves after use.
16292
16293 2010-05-08  Bruno Haible  <bruno@clisp.org>
16294
16295         * lib/config.charset: Update comments for Cygwin 1.7.
16296         * lib/localcharset.c: Likewise.
16297
16298 2010-05-07  Jim Meyering  <meyering@redhat.com>
16299
16300         init.sh: improve comments
16301         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
16302         . "${srcdir=.}/init.sh"; path_prepend_ .
16303         Add a note about path_prepend_ and the alternative of using
16304         TESTS_ENVIRONMENT.
16305
16306 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
16307
16308         exclude: Unescape hashed patterns in wildcard mode.
16309         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
16310         to the hash list.
16311         * tests/test-exclude8.sh: New test case.
16312         * modules/exclude-tests: Add new test.
16313
16314 2010-05-05  Eric Blake  <eblake@redhat.com>
16315
16316         verify: automate tests
16317         * modules/verify-tests: New module.
16318         * tests/test-verify.sh: New file.
16319         * tests/test-verify.c: Guard each negative test with a unique id.
16320         Also avoid warning about unused left hand of comma expressions.
16321
16322 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16323
16324         Further improvements to verify.h, suggested by Eric Blake.
16325         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
16326         the GL_* versions, to avoid collision with OpenGL.
16327         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
16328         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
16329         than testing merely whether it's defined.
16330
16331         Modify verify.h to pacify gcc -Wredundant_decls.
16332         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
16333         These use the prefix "GL_" since they're likely to be useful elsewhere.
16334         We may need to break them out into a different .h file.
16335         (__COUNTER__): Define to 0 if the compiler doesn't support it.
16336         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
16337         of verify_function__.
16338
16339 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
16340
16341         Tests for module pwrite.
16342         * modules/pwrite-tests: New file.
16343         * tests/test-pwrite.sh: New file.
16344         * tests/test-pwrite.c: New file.
16345
16346         New module pwrite.
16347         * lib/unistd.in.h (pwrite): New declaration.
16348         * lib/pwrite.c: New file, from glibc with modifications.
16349         * m4/pwrite.m4: New file.
16350         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
16351         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
16352         REPLACE_PWRITE.
16353         * modules/pwrite: New file.
16354         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
16355         REPLACE_PWRITE.
16356         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
16357         * doc/posix-functions/pwrite.texi: Mention the new module.
16358
16359 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
16360
16361         pread: Update documentation.
16362         * doc/posix-functions/pread.texi: Mention the 'pread' module.
16363
16364 2010-05-04  Eric Blake  <eblake@redhat.com>
16365
16366         docs: update cygwin progress
16367         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
16368         this bug.
16369         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
16370         Added in cygwin 1.7.2.
16371         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
16372         Likewise.
16373         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
16374         Likewise.
16375         * doc/glibc-functions/dup3.texi (dup3): Likewise.
16376         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16377         * doc/glibc-functions/accept4.texi (accept4): Likewise.
16378         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
16379         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
16380         Mention nproc module.
16381         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
16382         bug in cygwin 1.7.5 addition.
16383         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
16384         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
16385         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
16386         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
16387         1.7.5.
16388         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
16389         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
16390         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
16391         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
16392         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
16393         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
16394         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
16395         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
16396         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
16397         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
16398         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
16399         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
16400         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
16401         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
16402         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
16403         Likewise.
16404         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
16405         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
16406         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
16407         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
16408         Likewise.
16409         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
16410         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
16411         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
16412         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
16413         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
16414         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
16415         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
16416         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
16417         Likewise.
16418         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
16419         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
16420         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
16421         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
16422         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
16423         Likewise.
16424         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
16425         Likewise.
16426         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
16427         Likewise.
16428         * doc/glibc-functions/xdrrec_endofrecord.texi
16429         (xdrrec_endofrecord): Likewise.
16430         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
16431         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
16432         Likewise.
16433         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
16434         Likewise.
16435
16436 2010-05-04  Jim Meyering  <meyering@redhat.com>
16437
16438         gendocs.sh: make its "-s FILE" option more useful
16439         * build-aux/gendocs.sh: When honoring the -s FILE option, update
16440         $PACKAGE to reflect the probably-different basename of "FILE".
16441
16442 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
16443
16444         bootstrap: don't ignore download_po_files failure
16445         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
16446         failure.
16447
16448 2010-05-03  Jim Meyering  <meyering@redhat.com>
16449
16450         maint.mk: allow to pass options to gendocs.sh
16451         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
16452         (gendocs_options_): New overridable variable.
16453
16454         gnu-web-doc-update: don't ignore configure or build failure
16455         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
16456
16457         announce-gen: backslash-escape '@'s in --help output
16458         * build-aux/announce-gen: Fix syntax errors.
16459
16460         maint.mk, announce-gen: allow project-specific announcement mail headers
16461         * top/maint.mk (translation_project_): Define default.
16462         (announcement_Cc_, announcement_mail_headers_): Likewise.
16463         (announcement): Invoke announce-gen with new --mail-headers option.
16464         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
16465
16466         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
16467         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
16468         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
16469         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
16470         line in the "err2" output file when running "make check" in verbose
16471         mode (i.e., with set -x enabled).
16472
16473 2010-05-03  Bruno Haible  <bruno@clisp.org>
16474
16475         wctob: Fix for weird platforms.
16476         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
16477         argument value.
16478
16479 2010-05-03  Jim Meyering  <meyering@redhat.com>
16480
16481         maint.mk: prohibit unwarranted use of <strings.h>
16482         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
16483         strings.h in a file that does not also use strcasecmp, strncasecmp,
16484         ffs or ffsll.
16485
16486         maint.mk: remove obsolete comments
16487         * top/maint.mk: Remove stale, commented-out rules.
16488
16489 2010-05-02  Bruno Haible  <bruno@clisp.org>
16490
16491         wcwidth: Declare also when it's aliased.
16492         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
16493         macro.
16494
16495 2010-05-02  Bruno Haible  <bruno@clisp.org>
16496
16497         Fix regression from 2010-04-25.
16498         * gnulib-tool (func_modules_transitive_closure): Check the status of
16499         all modules, not only of the tests that are of the form foo-tests where
16500         foo is a module.
16501
16502 2010-05-02  Bruno Haible  <bruno@clisp.org>
16503
16504         wctob: Work around nasty Cygwin 1.7.2 bug.
16505         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
16506         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
16507
16508 2010-05-01  Bruno Haible  <bruno@clisp.org>
16509
16510         fpurge: Sharper test.
16511         * tests/test-fpurge.c (main): Add one more ftell check.
16512         * modules/fpurge-tests (Depends-on): Add ftell.
16513         Suggested by Eric Blake.
16514
16515 2010-05-01  Bruno Haible  <bruno@clisp.org>
16516
16517         ftello: Another test.
16518         * tests/test-ftello3.c: New file.
16519         * modules/ftello-tests (Files): Add it.
16520         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16521         MOSTLYCLEANFILES.
16522
16523         ftell: Another test.
16524         * tests/test-ftell3.c: New file.
16525         * modules/ftell-tests (Files): Add it.
16526         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16527         MOSTLYCLEANFILES.
16528
16529 2010-05-01  Bruno Haible  <bruno@clisp.org>
16530
16531         ftell, ftello: Work around Solaris bug.
16532         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
16533         * lib/ftello.c: Include stdio-impl.h.
16534         (ftello): On Solaris, when _IOWRT is set, compute the result without
16535         looking at _IOREAD.
16536         * modules/ftello (Files): Add lib/stdio-impl.h.
16537         * doc/posix-functions/ftell.texi: Mention Solaris bug.
16538         * doc/posix-functions/ftello.texi: Likewise.
16539         Reported by Eric Blake.
16540
16541 2010-05-01  Bruno Haible  <bruno@clisp.org>
16542
16543         freading: Adapt to special meaning of _IOREAD flag on Solaris.
16544         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
16545         the _IOWRT flag is also set.
16546
16547 2010-05-01  Bruno Haible  <bruno@clisp.org>
16548
16549         Fix doc about a HP-UX stdio bug.
16550         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
16551         * doc/posix-functions/ftello.texi: Likewise.
16552
16553 2010-05-01  Bruno Haible  <bruno@clisp.org>
16554
16555         lseek test: Fix failure on Solaris.
16556         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
16557         output.
16558
16559 2010-04-30  Jim Meyering  <meyering@redhat.com>
16560
16561         bootstrap: don't ignore failure to generate po*/Makevars
16562         * build-aux/bootstrap (with_gettext): Don't ignore failure
16563         to create po/Makevars or runtime-po/Makevars.
16564
16565 2010-04-29  Eric Blake  <eblake@redhat.com>
16566
16567         headers: relax license to LGPLv2+
16568         * modules/fcntl-h (License): Relax license.
16569         * modules/getopt-posix (License): Likewise.
16570         * modules/locale (License): Likewise.
16571         * modules/math (License): Likewise.
16572         * modules/pty (License): Likewise.
16573         * modules/sched (License): Likewise.
16574         * modules/search (License): Likewise.
16575         * modules/spawn (License): Likewise.
16576         * modules/stdarg (License): Likewise.
16577         * modules/sysexits (License): Likewise.
16578
16579 2010-04-29  Jim Meyering  <meyering@redhat.com>
16580
16581         inttypes: relax license to LGPLv2+
16582         * modules/inttypes (License): Relax license.
16583
16584 2010-04-29  Simon Josefsson  <simon@josefsson.org>
16585
16586         * top/maint.mk (indent): Run twice to produce idempotent results.
16587
16588 2010-04-28  Bruno Haible  <bruno@clisp.org>
16589
16590         getdate: Generate getdate.c in the source directory.
16591         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
16592         MOSTLYCLEANFILES.
16593         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
16594
16595 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
16596
16597         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
16598         is not declared as a const *; avoid warnings in that case.
16599
16600 2010-04-28  Eric Blake  <eblake@redhat.com>
16601
16602         canonicalize-lgpl: avoid compiler warning
16603         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
16604         declaration' / 'extraneous semicolon' warning with some compilers.
16605         Reported by Andreas Gruenbacher.
16606
16607 2010-04-28  Jim Meyering  <meyering@redhat.com>
16608
16609         init.sh: ensure a more reliable exit status when exiting via trap
16610         * tests/init.sh (setup_): Don't rely on $? in signal handler.
16611         Inspired by patches from Dmitry V. Levin.
16612         Also trap on signal 3 (SIGQUIT).
16613
16614 2010-04-27  Bruno Haible  <bruno@clisp.org>
16615
16616         Update doc about utimes().
16617         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
16618         'utimens' module.
16619         Reported by Andreas Gruenbacher <agruen@suse.de>.
16620
16621 2010-04-27  Eric Blake  <eblake@redhat.com>
16622
16623         full-read, full-write: relax license
16624         * modules/full-read (License): Drop to LGPLv2+.
16625         * modules/full-write (License): Likewise.
16626         * modules/safe-read (License): Likewise.
16627         * modules/safe-write (License): Likewise.
16628
16629         pthread: mention library for linking
16630         * modules/pthread (Link): Mention $(LIB_PTHREAD).
16631
16632 2010-04-27  Jim Meyering  <meyering@redhat.com>
16633
16634         maint.mk: fix a bug introduced in last change
16635         * top/maint.mk (gl_assured_headers_): Now that all names are on
16636         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
16637         is not anchored to end of word, it should be adequate.
16638
16639         maint.mk: avoid side-effect in latest syntax-check
16640         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
16641         to run commands via $(shell...), and hence to incur cost only when
16642         the new rule is actually run.
16643
16644         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
16645         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
16646         and use that to create a regexp used to detect all #if HAVE_..._H uses.
16647         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
16648         (gl_assured_headers_, az_, AZ_): Define.
16649         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
16650
16651 2010-04-26  Jim Meyering  <jim@meyering.net>
16652             Bruno Haible  <bruno@clisp.org>
16653
16654         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
16655         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
16656         Prompted by an exchange with Gilles Espinasse.
16657
16658 2010-04-26  Jim Meyering  <meyering@redhat.com>
16659
16660         git-version-gen: aesthetic tweak
16661         * build-aux/git-version-gen: Use "$nl" rather than a literal,
16662         so that the command remains on a single line.
16663
16664 2010-04-26  Eric Blake  <eblake@redhat.com>
16665
16666         git-version-gen: allow use on EBCDIC hosts
16667         * build-aux/git-version-gen (dirty): Use literal rather than tying
16668         ourselves to ascii.
16669         Reported by Steve Goetze.
16670
16671 2010-04-25  Bruno Haible  <bruno@clisp.org>
16672
16673         netdb: Add support for GNULIB_POSIXCHECK.
16674         * lib/netdb.in.h: Include warn-on-use.h.
16675         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
16676         functions are used when GNULIB_POSIXCHECK is defined and the
16677         getaddrinfo module is not in use.
16678         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
16679         freeaddrinfo, gai_strerror, getnameinfo are declared.
16680         * modules/netdb (Depends-on): Add warn-on-use.
16681         (Makefile.am): Include warn-on-use.h in netdb.h.
16682
16683 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
16684
16685         build: avoid "make check" failure without .git/ directory
16686         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
16687         there is no .git/ directory.
16688
16689 2010-04-25  Bruno Haible  <bruno@clisp.org>
16690
16691         ptsname: Fix misuse of ttyname_r.
16692         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
16693         of errno.
16694
16695 2010-04-25  Bruno Haible  <bruno@clisp.org>
16696
16697         ttyname_r: Make it work on Solaris 10.
16698         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
16699         if the system function has the POSIX declaration. Test whether the
16700         function fails if the buffer is less than 128 bytes large.
16701         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
16702         system's ttyname_r function. Provide a reasonably large buffer.
16703         * modules/ttyname_r (Depends-on): Add extensions.
16704         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
16705
16706 2010-04-25  Bruno Haible  <bruno@clisp.org>
16707
16708         Use the 'extensions' module for some more functions on Solaris.
16709         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
16710         module.
16711         * doc/posix-functions/ctime_r.texi: Likewise.
16712         * doc/posix-functions/getgrgid_r.texi: Likewise.
16713         * doc/posix-functions/getgrnam_r.texi: Likewise.
16714         * doc/posix-functions/getpwnam_r.texi: Likewise.
16715         * doc/posix-functions/getpwuid_r.texi: Likewise.
16716         * doc/posix-functions/readdir_r.texi: Likewise.
16717         * doc/posix-functions/sigwait.texi: Likewise.
16718         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
16719         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
16720
16721 2010-04-25  Bruno Haible  <bruno@clisp.org>
16722
16723         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
16724         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
16725         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
16726         * lib/ttyname_r.c: Include <limits.h>.
16727         (ttyname_r): Define using the system's ttyname_r function, if it exists
16728         and not on Solaris.
16729         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
16730         set.
16731         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
16732         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
16733         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
16734         Reported by Simon Josefsson.
16735
16736 2010-04-25  Bruno Haible  <bruno@clisp.org>
16737
16738         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
16739         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
16740         * doc/posix-functions/ctime_r.texi: Likewise.
16741         * doc/posix-functions/getgrgid_r.texi: Likewise.
16742         * doc/posix-functions/getgrnam_r.texi: Likewise.
16743         * doc/posix-functions/getlogin_r.texi: Likewise.
16744         * doc/posix-functions/getpwnam_r.texi: Likewise.
16745         * doc/posix-functions/getpwuid_r.texi: Likewise.
16746         * doc/posix-functions/readdir_r.texi: Likewise.
16747         * doc/posix-functions/sigwait.texi: Likewise.
16748         * doc/posix-functions/ttyname_r.texi: Likewise.
16749         Reported by Simon Josefsson.
16750
16751 2010-04-25  Bruno Haible  <bruno@clisp.org>
16752
16753         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
16754         * gnulib-tool (func_usage): Document that --with-*-tests options apply
16755         also to --create-testdir.
16756         (func_acceptable): Don't consider the status of *-tests modules here.
16757         (func_modules_transitive_closure): Consider it here, before including a
16758         test module.
16759         (func_import, func_create_testdir): Set inc_all_direct_tests,
16760         inc_all_indirect_tests.
16761         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
16762         --create-testdir and --create-megatestdir.
16763
16764 2010-04-25  Bruno Haible  <bruno@clisp.org>
16765
16766         gnulib-tool: Add --without-*-tests options.
16767         * gnulib-tool (func_usage): Document the --without-*-tests options.
16768         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
16769         excl_unportable_tests): New variables.
16770         Fail if they are specified with --import or --update.
16771         (func_acceptable): Respect the excl_*_tests variables.
16772         (func_import): Set the excl_*_tests variables to empty.
16773
16774 2010-04-25  Simon Josefsson  <simon@josefsson.org>
16775             Bruno Haible  <bruno@clisp.org>
16776
16777         Work around a MacOS X 10.4 bug with openpty.
16778         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
16779         * tests/test-openpty.c (main): Close the master side explicitly.
16780
16781 2010-04-25  Bruno Haible  <bruno@clisp.org>
16782
16783         strnlen: Fix a C++ test error on MacOS X and Solaris.
16784         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
16785         the function is not declared.
16786         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
16787         Simon Josefsson.
16788
16789 2010-04-24  Bruno Haible  <bruno@clisp.org>
16790
16791         Avoid a gcc warning.
16792         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
16793         of correct type for %08lx directive.
16794         Reported by Eric Blake.
16795
16796 2010-04-24  Bruno Haible  <bruno@clisp.org>
16797
16798         vasnprintf: Correct errno value in case of out-of-memory.
16799         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
16800         or sprintf. Use the errno value from SNPRINTF or sprintf.
16801         Reported by Ian Beckwith <ianb@erislabs.net>.
16802
16803 2010-04-24  Bruno Haible  <bruno@clisp.org>
16804
16805         ansi-c++-opt: Find correct compiler when cross-compiling.
16806         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
16807         AC_CHECK_PROGS.
16808         Reported by Simon Josefsson.
16809
16810 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
16811
16812         vc-list-files: Add support for subversion
16813         * build-aux/vc-list-files: Use "svn list" to generate the list of
16814         files controlled by subversion.
16815
16816 2010-04-23  Jim Meyering  <meyering@redhat.com>
16817
16818         vc-list-files tests: convert to use init.sh
16819         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
16820         path_prepend_.
16821         Use Exit, not exit.
16822         Use skip_ rather than open coding it.
16823         Remove trap set-up and compare definitions.
16824         * tests/test-vc-list-files-git.sh: Likewise.
16825         * modules/vc-list-files-tests (Files): Add tests/init.sh.
16826
16827 2010-04-22  Simon Josefsson  <simon@josefsson.org>
16828
16829         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
16830         backup files.
16831
16832 2010-04-21  Simon Josefsson  <simon@josefsson.org>
16833
16834         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
16835
16836 2010-04-20  Eric Blake  <eblake@redhat.com>
16837
16838         tests: be robust to ignored SIGPIPE
16839         * tests/test-select-in.sh: Consume all output.
16840         * tests/test-lseek.sh: Check correct exit status, while avoiding
16841         EPIPE.
16842
16843 2010-04-20  Simon Josefsson  <simon@josefsson.org>
16844             Bruno Haible  <bruno@clisp.org>
16845
16846         visibility: Don't use -fvisibility if it leads to a warning.
16847         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
16848         yes, don't pretend that visibility works if it leads to a warning.
16849         Reported by Mike Gran <spk121@yahoo.com>.
16850
16851 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
16852
16853         * build-aux/bootstrap: Use "git -h" for testing for supported options
16854         instead of "git --help".  The short-form option only shows a summary,
16855         and doesn't layout the full man page.  Grep for the full option name
16856         in the summary, too.
16857
16858 2010-04-19  Bruno Haible  <bruno@clisp.org>
16859
16860         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
16861         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
16862         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
16863         mention of RELOCATABLE_STRIP.
16864         Reported by Sylvain Beucler <beuc@beuc.net>.
16865
16866 2010-04-19  Bruno Haible  <bruno@clisp.org>
16867
16868         * lib/diffseq.h: Fix typo in comment.
16869         Reported by Eric Blake.
16870
16871 2010-04-19  Bruno Haible  <bruno@clisp.org>
16872
16873         ioctl: Move autoconf macro to a .m4 file.
16874         * m4/ioctl.m4: New file, extracted from modules/ioctl.
16875         * modules/ioctl (Files): Add it.
16876         (configure.ac): Simply invoke gl_FUNC_IOCTL.
16877         Reported by Ian Beckwith <ianb@erislabs.net>.
16878
16879 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
16880             Bruno Haible  <bruno@clisp.org>
16881
16882         diffseq: Accommodate use-case with abstract arrays.
16883         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
16884         is not defined.
16885         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
16886         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
16887
16888 2010-04-18  Bruno Haible  <bruno@clisp.org>
16889
16890         * doc/posix-headers/stdbool.texi: More precise wording.
16891
16892 2010-04-17  Jim Meyering  <meyering@redhat.com>
16893
16894         maint.mk: use gnu-style indentation in an embedded perl script
16895         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
16896         Rename variable: s/two/last_two_bytes/
16897
16898 2010-04-16  Eric Blake  <eblake@redhat.com>
16899
16900         test-stdbool: skip test that fails with Solaris CC
16901         * tests/test-stdbool.c (f): Skip test that causes compilation
16902         error under buggy C++ compiler.
16903         * lib/stdbool.in.h: Document the limitation.
16904         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
16905
16906         setenv: allow compilation with C++
16907         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
16908         register keyword.
16909
16910         stdint: allow test to pass with C++
16911         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
16912
16913         getopt: allow compilation with C++
16914         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
16915         struct.
16916         * lib/getopt.c (_getopt_internal_r): Use correct type.
16917         Reported by Dagobert Michelson, via Joel E. Denny.
16918
16919 2010-04-16  Bruno Haible  <bruno@clisp.org>
16920
16921         Override netdb.h always.
16922         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
16923         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
16924         Reported by Ludovic Courtès <ludo@gnu.org>.
16925
16926 2010-04-15  Bruno Haible  <bruno@clisp.org>
16927
16928         openpty: Fix mistake from 2010-03-21.
16929         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
16930         Reported by Simon Josefsson.
16931
16932 2010-04-15  Eric Blake  <eblake@redhat.com>
16933
16934         test-forkpty: fix expected signature
16935         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
16936         Reported by Simon Josefsson.
16937
16938 2010-04-15  Jim Meyering  <meyering@redhat.com>
16939
16940         maint.mk: texinfo_suffix_re_: correct the default regexp
16941         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
16942
16943         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
16944         make it configurable via texinfo_suffix_re_.
16945
16946 2010-04-14  Eric Blake  <eblake@redhat.com>
16947
16948         strtok_r: relax license to LGPLv2+
16949         * modules/strtok_r (License): Relax license.
16950         Reported by Matthias Bolte.
16951
16952 2010-04-14  Simon Josefsson  <simon@josefsson.org>
16953
16954         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
16955         version 1.4.4 by default instead of requiring the libgcrypt
16956         version used during build.  This makes it possible to use the
16957         application with older but still binary compatible libgcrypt
16958         versions.
16959
16960 2010-04-13  Eric Blake  <eblake@redhat.com>
16961
16962         getopt-gnu: match recent glibc fixes and posix ruling
16963         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
16964         '+' handling, when requesting extensions.
16965         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
16966         'W;' handling.
16967         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
16968         * doc/posix-functions/getopt.texi (getopt): Document this.
16969         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16970         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16971         Likewise.
16972
16973         getopt: merge bug fixes from glibc
16974         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
16975         diagnostics.  Honor '+:' correctly.  Reject ';'.
16976
16977         getopt-posix: detect MacOS bug
16978         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
16979         optind when missing a required argument.
16980         * doc/posix-functions/getopt.texi (getopt): Document the bug.
16981         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16982         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16983         Likewise.
16984
16985         getopt-posix: avoid spurious failure on Solaris
16986         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
16987         an indicator that setting optind=1 is sufficient for reset.
16988
16989         getopt-posix: avoid spurious failure on FreeBSD
16990         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
16991         in POSIX mode, since the m4 test uses it.
16992
16993         gnulib-tool: silence warning on BSD sh
16994         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
16995
16996 2010-04-13  Jim Meyering  <meyering@redhat.com>
16997
16998         doc: users.txt: GNU patch now uses gnulib
16999         * users.txt: Add patch.
17000
17001 2010-04-12  Jim Meyering  <meyering@redhat.com>
17002
17003         maint.mk: generate more concise timing data for syntax-check rules
17004         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
17005         " done" from each line that reports a syntax-check test duration.
17006
17007 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
17008
17009         git-version-gen: use "git update-index..." rather than "git status"
17010         * build-aux/git-version-gen: Use git update-index --refresh, not
17011         "git status".  With some versions of git, "git status" would fail
17012         to update the index and result in an unwarranted "-dirty" suffix.
17013
17014 2010-04-11  Jim Meyering  <meyering@redhat.com>
17015
17016         openat: correct formatting (no semantic change)
17017         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
17018         Suggested by Bruno Haible.
17019
17020 2010-04-11  Bruno Haible  <bruno@clisp.org>
17021
17022         Stricter declaration checking in testdirs.
17023         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17024         If for_tests is true, augment AM_CPPFLAGS to define
17025         GNULIB_STRICT_CHECKING.
17026         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
17027         GNULIB_STRICT_CHECKING is defined, verify that the function is
17028         declared.
17029
17030 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
17031             Bruno Haible  <bruno@clisp.org>
17032
17033         libunistring: Improve configure output.
17034         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
17035         Don't say "consider installing GNU libunistring" when checking again
17036         with libiconv.
17037
17038 2010-04-11  Bruno Haible  <bruno@clisp.org>
17039
17040         libunistring: Correct value of $LTLIBUNISTRING.
17041         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
17042         correct the value of $LTLIBUNISTRING.
17043
17044 2010-04-11  Bruno Haible  <bruno@clisp.org>
17045
17046         havelib: Add static libraries to LIBS in the right order.
17047         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
17048         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
17049
17050 2010-04-11  Bruno Haible  <bruno@clisp.org>
17051
17052         libunistring: Detect libunistring also when it depends on libiconv.
17053         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
17054         the second AC_LIB_HAVE_LINKFLAGS invocation.
17055
17056 2010-04-11  James Youngman  <jay@gnu.org>
17057
17058         close-stream: declare local scalars to be "const"
17059         * lib/close-stream.c (close_stream): Make boolean variables const
17060         to document the fact that we set but do not change them.
17061
17062 2010-04-11  Bruno Haible  <bruno@clisp.org>
17063
17064         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
17065
17066 2010-04-11  Jim Meyering  <meyering@redhat.com>
17067
17068         maint.mk: don't include dist-check.mk
17069         * top/maint.mk: Remove bogus include directive.
17070
17071         maint.mk: improve empty-line-at-EOF check
17072         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
17073         solution, rather than tail+Perl-based one.  The latter would read
17074         a few kilobytes from the end of each file, and did not handle empty
17075         files properly.
17076
17077         maint.mk: print the elapsed time for each syntax-check rule
17078         * top/maint.mk (sc_m_rules_): Save start time in a file.
17079         (sc_z_rules_): New rules: remove temp file and print elapsed time.
17080         (local-check): Interpose the .z rules
17081
17082 2010-04-11  Jim Meyering  <meyering@redhat.com>
17083
17084         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
17085         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
17086         empty file with one that ends in an empty line.
17087
17088 2010-04-10  Bruno Haible  <bruno@clisp.org>
17089
17090         mkdir: Make it work on mingw64.
17091         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
17092         * lib/mkdir.c: Update comment.
17093         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
17094
17095 2010-04-10  Bruno Haible  <bruno@clisp.org>
17096
17097         Don't override improved macro from newer autoconf.
17098         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
17099         autoconf >= 2.62.
17100         Reported by Joel E. Denny <jdenny@clemson.edu>.
17101
17102 2010-04-10  Jim Meyering  <meyering@redhat.com>
17103
17104         maint.mk: new syntax-check rule: prohibit empty lines at end of file
17105         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
17106
17107         maint.mk: correct a diagnostic
17108         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
17109         in diagnostic; now use $prohibit.
17110
17111 2010-04-10  Bruno Haible  <address@hidden>
17112
17113         fchownat: Fix a C++ test error on Solaris 8.
17114         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
17115         the function does not exist.
17116
17117 2010-04-10  Bruno Haible  <bruno@clisp.org>
17118
17119         vasnprintf: Add more tests.
17120         * tests/test-vasnprintf-posix.c: Include <errno.h>.
17121         (test_function): Test converting an invalid wide string.
17122
17123         vasnprintf: Correct handling of unconvertible wide string arguments.
17124         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
17125         VASNPRINTF.
17126         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
17127         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
17128         smaller than the expected maximum need for the directive. Set errno to
17129         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
17130         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
17131         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
17132         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
17133         * modules/vasnprintf (Files): Add m4/printf.m4.
17134         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17135
17136 2010-04-10  Bruno Haible  <bruno@clisp.org>
17137
17138         vasnprintf: Fix crash in %ls directive.
17139         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
17140         string is passed as argument to %ls, with no precision and no width.
17141         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17142
17143 2010-04-10  Bruno Haible  <bruno@clisp.org>
17144
17145         vasnprintf: Fix multiple test failures on mingw.
17146         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
17147         _snprintf, or snwprintf, not _snwprintf.
17148
17149 2010-04-10  Bruno Haible  <bruno@clisp.org>
17150
17151         write: Fix a C++ test error on mingw.
17152         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
17153
17154 2010-04-10  Bruno Haible  <bruno@clisp.org>
17155
17156         vasnprintf test: Reduce code duplication.
17157         * tests/test-vasnprintf.c (test_function): New function, extracted from
17158         test_vasnprintf.
17159         (test_vasnprintf, test_asnprintf): Invoke it.
17160
17161 2010-04-10  Bruno Haible  <bruno@clisp.org>
17162
17163         strnlen: Fix warning in C++ mode on MacOS X.
17164         * lib/string.in.h (strnlen): Use the modern idiom.
17165         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
17166         defining strnlen as a macro already in <config.h>.
17167         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17168         REPLACE_STRNLEN.
17169         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
17170         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17171
17172 2010-04-08  James Youngman  <jay@gnu.org>
17173
17174         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
17175         the example.
17176
17177 2010-04-09  Jim Meyering  <meyering@redhat.com>
17178
17179         maint.mk: print better diagnostic when there is no $(_hv_file)
17180         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
17181         announce that when $(_hv_file) (aka help-version) does not exist.
17182
17183         init.sh: run tr in the "C" locale to avoid multibyte interpretation
17184         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
17185         not try to interpret its random input bytes.  Jarno Rajahalme reported
17186         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
17187         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
17188         (mktempd_): Likewise, just in case.
17189
17190         ftruncate: add two years to projected module removal date: 2012
17191         * m4/ftruncate.m4: Adjust comments.
17192
17193         ftruncate: mark module as obsolete; even MinGW provides it, now
17194         * modules/ftruncate (Status): Obsolete.
17195         (Notice): Say that.
17196         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
17197         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
17198
17199 2010-04-08  Bruno Haible  <bruno@clisp.org>
17200
17201         Fix side effects from tests-related modules.
17202         * modules/dprintf-posix (Comment): New section.
17203         * modules/fprintf-posix (Comment): Likewise.
17204         * modules/obstack-printf-posix (Comment): Likewise.
17205         * modules/printf-posix (Comment): Likewise.
17206         * modules/snprintf-posix (Comment): Likewise.
17207         * modules/sprintf-posix (Comment): Likewise.
17208         * modules/vasnprintf-posix (Comment): Likewise.
17209         * modules/vasprintf-posix (Comment): Likewise.
17210         * modules/vdprintf-posix (Comment): Likewise.
17211         * modules/vfprintf-posix (Comment): Likewise.
17212         * modules/vprintf-posix (Comment): Likewise.
17213         * modules/vsnprintf-posix (Comment): Likewise.
17214         * modules/vsprintf-posix (Comment): Likewise.
17215         * modules/xprintf-posix (Comment): Likewise.
17216         * modules/xvasprintf-posix (Comment): Likewise.
17217         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
17218         * modules/floorf-tests (Depends-on): Likewise.
17219         * modules/round-tests (Depends-on): Likewise.
17220         * modules/roundf-tests (Depends-on): Likewise.
17221         * modules/trunc-tests (Depends-on): Likewise.
17222         * modules/truncf-tests (Depends-on): Likewise.
17223         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
17224         'fprintf-posix' module is not present.
17225         * tests/test-floorf2.c (check): Likewise.
17226         * tests/test-trunc2.c (check): Likewise.
17227         * tests/test-truncf2.c (check): Likewise.
17228         * tests/test-round2.c (equal): Likewise.
17229         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17230
17231 2010-04-07  Karl Berry  <karl@gnu.org>
17232
17233         * config/srclist.txt,
17234         * config/srclistvars.sh,
17235         * config/srclist-update: doc fixes.
17236
17237 2010-04-07  Jim Meyering  <meyering@redhat.com>
17238
17239         maint.mk: add a PATH crosschecking syntax-check rule
17240         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
17241         Useful if you use a test like the one in help-version (coreutils,
17242         diffutils, grep, gzip) that ensures $(VERSION) matches what is
17243         printed by prog --version.
17244
17245 2010-04-06  Bruno Haible  <bruno@clisp.org>
17246
17247         Fix link error on mingw.
17248         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
17249         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
17250
17251 2010-04-06  Bruno Haible  <bruno@clisp.org>
17252
17253         Assume rmdir exists.
17254         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
17255
17256 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
17257
17258         doc: update users.txt
17259         * users.txt: Add gcal.
17260
17261 2010-04-06  Jim Meyering  <meyering@redhat.com>
17262
17263         init.sh: simply unset TMPDIR rather than risking env -i
17264         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
17265         although it probably works fine on all Unix-based systems, some
17266         systems (Cygwin?) cannot tolerate a totally cleared environment.
17267         Suggestion from Eric Blake.
17268
17269 2010-04-06  Jim Meyering  <meyering@redhat.com>
17270
17271         init.sh: portability fix: use env's POSIX-specified -i option not -u
17272         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
17273         than unportable env -u.  Solaris 5.11's env lacks support for -u.
17274
17275 2010-04-05  Bruno Haible  <bruno@clisp.org>
17276
17277         btowc: Work around Cygwin 1.7.2 bug.
17278         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
17279         does not map NUL to 0.
17280         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
17281
17282 2010-04-05  Bruno Haible  <bruno@clisp.org>
17283
17284         Make the multithread modules work on Cygwin 1.7.2.
17285         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
17286         imported symbols can be declared weak, so that it returns "no" on
17287         Cygwin 1.7.2.
17288
17289 2010-04-05  Bruno Haible  <bruno@clisp.org>
17290
17291         Use the module 'strncat'.
17292         * modules/unistr/u8-strncat (Depends-on): Add strncat.
17293
17294         Tests for module 'strncat'.
17295         * modules/strncat-tests: New file.
17296         * tests/test-strncat.c: New file.
17297
17298         New module 'strncat'.
17299         * lib/string.in.h (strncat): New declaration.
17300         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
17301         * m4/strncat.m4: New file, based on m4/memchr.m4.
17302         * modules/strncat: New file.
17303         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
17304         is declared.
17305         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
17306         REPLACE_STRNCAT.
17307         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
17308         REPLACE_STRNCAT.
17309         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
17310         module.
17311         * tests/test-string-c++.cc: Check signature of strncat.
17312
17313 2010-04-05  Jim Meyering  <meyering@redhat.com>
17314
17315         xstrtoumax-tests: convert to use init.sh
17316         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
17317         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17318         Use Exit, not exit.
17319         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17320
17321         xstrtoimax-tests: convert to use init.sh
17322         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
17323         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17324         Use Exit, not exit.
17325         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17326
17327 2010-04-05  Bruno Haible  <bruno@clisp.org>
17328
17329         sys_socket: Avoid #define replacements in C++ mode.
17330         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
17331         warning to the function if possible, rather than #defining the symbol
17332         to a dysfunctional alias.
17333
17334 2010-04-05  Bruno Haible  <bruno@clisp.org>
17335
17336         fseeko: Fix C++ test error on mingw.
17337         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
17338         gl_FUNC_FSEEKO.
17339         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
17340         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
17341         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
17342         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
17343
17344 2010-04-05  Bruno Haible  <bruno@clisp.org>
17345
17346         duplocale: Improve test output.
17347         * tests/test-duplocale.c (main): Print reason for skipped test.
17348
17349 2010-04-05  Bruno Haible  <bruno@clisp.org>
17350
17351         Assume rmdir exists.
17352         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
17353         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
17354
17355 2010-04-05  Bruno Haible  <bruno@clisp.org>
17356
17357         Fix link error on Solaris 8 with cc.
17358         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
17359
17360 2010-04-05  Bruno Haible  <bruno@clisp.org>
17361
17362         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
17363         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
17364
17365 2010-04-05  Bruno Haible  <bruno@clisp.org>
17366
17367         vasprintf: Update documentation.
17368         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
17369
17370 2010-04-05  Bruno Haible  <bruno@clisp.org>
17371
17372         ptsname: Improve test.
17373         * tests/test-ptsname.c (main): Also try the various master names of BSD
17374         systems.
17375
17376 2010-04-05  Bruno Haible  <bruno@clisp.org>
17377
17378         memchr: Avoid a possible C++ test error.
17379         * lib/string.in.h (memchr): Provide declaration if function is missing.
17380         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
17381         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
17382         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
17383         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
17384
17385 2010-04-05  Bruno Haible  <bruno@clisp.org>
17386
17387         strtok_r: Improve idiom.
17388         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
17389         AC_LIBOBJ is used.
17390
17391 2010-04-05  Bruno Haible  <bruno@clisp.org>
17392
17393         strdup: Improve idiom.
17394         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
17395         AC_LIBOBJ is used.
17396         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
17397         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
17398         when AC_LIBOBJ is used.
17399
17400 2010-04-05  Bruno Haible  <bruno@clisp.org>
17401
17402         mbsinit, mbrtowc, wcrtomb: Improve idioms.
17403         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
17404         don't set REPLACE_MBSINIT to 1.
17405         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
17406         don't set REPLACE_MBRTOWC to 1.
17407         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
17408         exist, don't set REPLACE_MBSRTOWCS to 1.
17409         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
17410         exist, don't set REPLACE_MBSNRTOWCS to 1.
17411         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
17412         don't set REPLACE_WCRTOMB to 1.
17413         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
17414         exist, don't set REPLACE_WCSRTOMBS to 1.
17415         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
17416         exist, don't set REPLACE_WCSNRTOMBS to 1.
17417
17418 2010-04-05  Bruno Haible  <bruno@clisp.org>
17419
17420         ldexpl: Improve idiom.
17421         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
17422         make sure to set HAVE_DECL_LDEXPL to 0.
17423
17424 2010-04-05  Jim Meyering  <meyering@redhat.com>
17425
17426         xstrtol-tests: convert to use init.sh
17427         * modules/xstrtol-tests (Files): Add tests/init.sh.
17428         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17429         Use Exit, not exit.
17430         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17431
17432         atexit-tests: convert to use init.sh
17433         * modules/atexit-tests (Files): Add tests/init.sh.
17434         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17435         Use Exit, not exit.
17436         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17437
17438         init.sh: fix typo
17439         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
17440
17441         init.sh: make it easier for a test script to write to the tty, ...
17442         when using automake's parallel-tests mode.
17443         * tests/init.sh (stderr_fileno_): Define overridable variable.
17444         (warn_): New function, to use it.
17445         (fail_, skip_, framework_failure_): Use warn_.
17446
17447 2010-04-04  Bruno Haible  <bruno@clisp.org>
17448
17449         btowc: Avoid warning.
17450         * lib/btowc.c: Include <stdlib.h>.
17451         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
17452
17453 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
17454             Bruno Haible  <bruno@clisp.org>
17455
17456         wchar: Port to NetBSD 1.5.
17457         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
17458         * lib/wctype.in.h (WEOF): Likewise.
17459
17460 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
17461             Bruno Haible  <bruno@clisp.org>
17462
17463         Port extended stdio to NetBSD 1.5.
17464         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
17465         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
17466         older.
17467
17468 2010-04-04  Bruno Haible  <bruno@clisp.org>
17469
17470         string: Remove unused substitution.
17471         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
17472         HAVE_DECL_STRERROR.
17473         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
17474
17475 2010-04-04  Bruno Haible  <bruno@clisp.org>
17476
17477         strtod: Avoid a possible C++ test error.
17478         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
17479         set REPLACE_STRTOD.
17480
17481 2010-04-04  Bruno Haible  <bruno@clisp.org>
17482
17483         strerror: Update documentation.
17484         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
17485
17486 2010-04-04  Bruno Haible  <bruno@clisp.org>
17487
17488         stdio: Fix some C++ test errors on Solaris 8 with GCC.
17489         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
17490         _GL_CXXALIAS_SYS_CAST.
17491
17492 2010-04-04  Bruno Haible  <bruno@clisp.org>
17493
17494         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
17495         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
17496         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
17497         REPLACE_FREXPL to 1.
17498         * doc/posix-functions/frexpl.texi: Update documentation.
17499
17500 2010-04-04  Bruno Haible  <bruno@clisp.org>
17501
17502         math: Fix some C++ test errors on Solaris 8 and Cygwin.
17503         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
17504
17505 2010-04-04  Bruno Haible  <bruno@clisp.org>
17506
17507         Implement nanosleep for native Windows.
17508         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
17509
17510 2010-04-04  Bruno Haible  <bruno@clisp.org>
17511
17512         math: Fix some C++ test errors on Solaris 8.
17513         * lib/math.in.h (truncf, trunc): Use simpler idiom.
17514
17515 2010-04-04  Bruno Haible  <bruno@clisp.org>
17516
17517         math: Fix some C++ test errors on Cygwin.
17518         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
17519         truncl): Provide declaration if the system does not have it.
17520         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
17521         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
17522         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
17523         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
17524         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
17525         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
17526         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
17527         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
17528         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
17529         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
17530         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
17531         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
17532         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
17533         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
17534         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
17535         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
17536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
17537         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17538         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17539         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
17540         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17541         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17542
17543 2010-04-04  Bruno Haible  <bruno@clisp.org>
17544
17545         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
17546         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17547         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
17548         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
17549         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
17550         * m4/isinf.m4 (gl_ISINF): Likewise.
17551         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17552
17553 2010-04-04  Bruno Haible  <bruno@clisp.org>
17554
17555         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
17556         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17557
17558 2010-04-04  Bruno Haible  <bruno@clisp.org>
17559
17560         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
17561         * modules/tmpfile (configure.ac): Update.
17562
17563         tmpfile: Fix C++ test error on mingw.
17564         * lib/stdio.in.h (tmpfile): New declaration.
17565         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
17566         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
17567         * modules/tmpfile (Depends-on): Add stdio.
17568         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
17569         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
17570         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
17571         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
17572         REPLACE_TMPFILE.
17573         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
17574
17575 2010-04-04  Bruno Haible  <bruno@clisp.org>
17576
17577         ioctl: Fix C++ test error on mingw.
17578         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
17579         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
17580         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
17581
17582 2010-04-03  Bruno Haible  <bruno@clisp.org>
17583
17584         wcwidth: Fix C++ test error on mingw.
17585         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
17586         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
17587         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
17588
17589 2010-04-03  Bruno Haible  <bruno@clisp.org>
17590
17591         nanosleep: Fix C++ test error on mingw.
17592         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
17593         * lib/time.in.h (nanosleep): Use modern idiom.
17594         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
17595         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
17596         REPLACE_NANOSLEEP to 1.
17597         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
17598         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
17599
17600 2010-04-03  Bruno Haible  <bruno@clisp.org>
17601
17602         strptime: Fix C++ test error on mingw.
17603         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
17604         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
17605         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
17606         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
17607         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
17608         not REPLACE_STRPTIME.
17609         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
17610         REPLACE_STRPTIME.
17611
17612 2010-04-03  Bruno Haible  <bruno@clisp.org>
17613
17614         timegm: Fix C++ test error on mingw.
17615         * lib/time.in.h (timegm): Use modern idiom.
17616         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
17617         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
17618         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
17619         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
17620
17621 2010-04-03  Bruno Haible  <bruno@clisp.org>
17622
17623         timegm: Assume declaration if function exists.
17624         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
17625         if it exists. Don't clobber ac_cv_func_timegm.
17626
17627 2010-04-03  Bruno Haible  <bruno@clisp.org>
17628
17629         time_r: Fix C++ test error on mingw.
17630         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
17631         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
17632         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
17633         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
17634         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
17635
17636 2010-04-03  Bruno Haible  <bruno@clisp.org>
17637
17638         time_r: Minor updates.
17639         * modules/time_r (Description): Mention the provided functions.
17640         * lib/time_r.c: Don't include <string.h>.
17641         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
17642         * doc/posix-functions/localtime_r.texi: Likewise.
17643
17644 2010-04-03  Bruno Haible  <bruno@clisp.org>
17645
17646         time: Fix regression introduced on 2010-03-08.
17647         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
17648         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
17649
17650 2010-04-03  Jim Meyering  <meyering@redhat.com>
17651
17652         maint.mk: don't silently disable project-specific syntax-check rules
17653         * top/maint.mk (_prohibit_regexp): Define, to help people realize
17654         that they need to convert their project-specific syntax-check rules
17655         to use the new _sc_search_regexp.
17656
17657 2010-04-03  Bruno Haible  <bruno@clisp.org>
17658
17659         fchdir: Fix regression introduced on 2010-03-08.
17660         * lib/unistd.in.h (fchdir): Fix declaration.
17661         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
17662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
17663         REPLACE_FCHDIR.
17664         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
17665         REPLACE_FCHDIR.
17666
17667 2010-04-03  Bruno Haible  <bruno@clisp.org>
17668
17669         getpagesize: Fix C++ test error on mingw.
17670         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
17671         system does not declare the function.
17672         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
17673         declared.
17674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17675         HAVE_DECL_GETPAGESIZE.
17676         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
17677
17678 2010-04-03  Bruno Haible  <bruno@clisp.org>
17679
17680         stdio: Make C++ tests work on mingw.
17681         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
17682         does not declare the function.
17683
17684 2010-04-03  Bruno Haible  <bruno@clisp.org>
17685
17686         ftello: Fix C++ test error on mingw.
17687         * lib/stdio.in.h (ftello): Use modern idiom.
17688         * lib/ftello.c (ftello): Renamed from rpl_ftello.
17689         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
17690         is missing and that it needs to be replaced.
17691         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
17692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
17693         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
17694
17695 2010-04-03  Bruno Haible  <bruno@clisp.org>
17696
17697         fseeko: Fix C++ test error on mingw.
17698         * lib/stdio.in.h (fseeko): Use modern idiom.
17699         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
17700         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
17701         is missing and that it needs to be replaced.
17702         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
17703         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
17704         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
17705
17706 2010-04-03  Bruno Haible  <bruno@clisp.org>
17707
17708         mkstemp: Fix C++ test error on mingw.
17709         * lib/stdlib.in.h (mkstemp): Use modern idiom.
17710         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
17711         function is missing and that it needs to be replaced.
17712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
17713         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
17714
17715 2010-04-03  Bruno Haible  <bruno@clisp.org>
17716
17717         stpncpy: Fix C++ test error on mingw.
17718         * lib/string.in.h (stpncpy): Use modern idiom.
17719         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
17720         function is missing and that it needs to be replaced.
17721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17722         REPLACE_STPNCPY.
17723         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
17724
17725 2010-04-03  Bruno Haible  <bruno@clisp.org>
17726
17727         sys_stat: Fix C++ test error on mingw.
17728         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
17729         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
17730
17731 2010-04-03  Bruno Haible  <bruno@clisp.org>
17732
17733         pty: Update doc.
17734         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
17735
17736 2010-04-03  Bruno Haible  <bruno@clisp.org>
17737
17738         unistd: Fix C++ test error on mingw.
17739         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
17740
17741 2010-04-03  Bruno Haible  <bruno@clisp.org>
17742
17743         Update doc regarding mingw.
17744         * doc/glibc-functions/openpty.texi: Update regarding mingw.
17745         * doc/glibc-functions/login_tty.texi: Likewise.
17746         * doc/glibc-functions/forkpty.texi: Likewise.
17747
17748 2010-04-03  Bruno Haible  <bruno@clisp.org>
17749
17750         stdlib: Avoid compilation failure of c-strtold on mingw.
17751         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
17752
17753 2010-04-03  Bruno Haible  <bruno@clisp.org>
17754
17755         locale: Make C++ tests work on Cygwin and mingw.
17756         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
17757         cannot provide the function.
17758         Reported by Simon Josefsson.
17759
17760 2010-04-03  Bruno Haible  <bruno@clisp.org>
17761
17762         localename: Port to MacOS X 10.6.
17763         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
17764         memory layout of the locales in MacOS X 10.6 as well.
17765         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
17766
17767 2010-04-02  Bruno Haible  <bruno@clisp.org>
17768
17769         gnulib-tool: Ensure that long-running tests are executed last.
17770         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
17771         running tests after the one for the other tests.
17772
17773 2010-04-02  Bruno Haible  <bruno@clisp.org>
17774
17775         gnulib-tool: Ensure the tests in the main directory are executed first.
17776         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
17777         start with the current directory.
17778
17779 2010-04-02  Bruno Haible  <bruno@clisp.org>
17780
17781         Tests for module 'havelib', moved here from GNU gettext.
17782         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
17783         modifications.
17784         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
17785         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
17786         with modifications.
17787         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
17788         modifications.
17789         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
17790         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
17791         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
17792         with modifications.
17793         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
17794         with modifications.
17795         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
17796         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
17797         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
17798         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
17799         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
17800         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
17801         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
17802         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
17803         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
17804         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
17805         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
17806         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
17807         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
17808         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
17809         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
17810         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
17811         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
17812         with modifications.
17813         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
17814         with modifications.
17815         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
17816         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
17817         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
17818         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
17819         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
17820         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
17821         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
17822         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
17823         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
17824         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
17825         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
17826         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
17827         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
17828         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
17829         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
17830         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
17831         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
17832         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
17833         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
17834         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
17835         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
17836         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
17837         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
17838         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
17839         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
17840         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
17841         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
17842         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
17843         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
17844         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
17845         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
17846         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
17847         * tests/havelib/rpathx/rpathx.c: New file, from
17848         gettext/autoconf-lib-link.
17849         * tests/havelib/rpathx/Makefile.am: New file, from
17850         gettext/autoconf-lib-link.
17851         * tests/havelib/rpathx/configure.ac: New file, from
17852         gettext/autoconf-lib-link with modifications.
17853         * tests/havelib/rpathy/rpathy.c: New file, from
17854         gettext/autoconf-lib-link.
17855         * tests/havelib/rpathy/Makefile.am: New file, from
17856         gettext/autoconf-lib-link.
17857         * tests/havelib/rpathy/configure.ac: New file, from
17858         gettext/autoconf-lib-link with modifications.
17859         * tests/havelib/rpathz/rpathz.c: New file, from
17860         gettext/autoconf-lib-link.
17861         * tests/havelib/rpathz/Makefile.am: New file, from
17862         gettext/autoconf-lib-link.
17863         * tests/havelib/rpathz/configure.ac: New file, from
17864         gettext/autoconf-lib-link with modifications.
17865         * tests/havelib/rpathlx/usex.c: New file, from
17866         gettext/autoconf-lib-link.
17867         * tests/havelib/rpathlx/Makefile.am: New file, from
17868         gettext/autoconf-lib-link.
17869         * tests/havelib/rpathlx/configure.ac: New file, from
17870         gettext/autoconf-lib-link with modifications.
17871         * tests/havelib/rpathly/usey.c: New file, from
17872         gettext/autoconf-lib-link.
17873         * tests/havelib/rpathly/Makefile.am: New file, from
17874         gettext/autoconf-lib-link.
17875         * tests/havelib/rpathly/configure.ac: New file, from
17876         gettext/autoconf-lib-link with modifications.
17877         * tests/havelib/rpathlz/usez.c: New file, from
17878         gettext/autoconf-lib-link.
17879         * tests/havelib/rpathlz/Makefile.am: New file, from
17880         gettext/autoconf-lib-link.
17881         * tests/havelib/rpathlz/configure.ac: New file, from
17882         gettext/autoconf-lib-link with modifications.
17883         * tests/havelib/rpathlyx/usey.c: New file, from
17884         gettext/autoconf-lib-link.
17885         * tests/havelib/rpathlyx/Makefile.am: New file, from
17886         gettext/autoconf-lib-link.
17887         * tests/havelib/rpathlyx/configure.ac: New file, from
17888         gettext/autoconf-lib-link with modifications.
17889         * tests/havelib/rpathlzyx/usez.c: New file, from
17890         gettext/autoconf-lib-link.
17891         * tests/havelib/rpathlzyx/Makefile.am: New file, from
17892         gettext/autoconf-lib-link.
17893         * tests/havelib/rpathlzyx/configure.ac: New file, from
17894         gettext/autoconf-lib-link with modifications.
17895         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
17896         with modifications.
17897
17898 2010-04-02  Bruno Haible  <bruno@clisp.org>
17899
17900         gnulib-tool: Create distributed built sources also for the tests.
17901         * gnulib-tool (func_create_testdir): Also generate distributed built
17902         sources in the tests directory.
17903
17904 2010-04-02  Bruno Haible  <bruno@clisp.org>
17905
17906         gnulib-tool: Obey user's environment variables.
17907         * gnulib-tool (func_create_testdir): When creating built sources,
17908         respect the environment variables for autoconf, automake, etc. given by
17909         the user.
17910
17911 2010-04-02  Bruno Haible  <bruno@clisp.org>
17912
17913         gnulib-tool: Provide the value of --m4-base to modules.
17914         * gnulib-tool (func_import, func_create_testdir): Emit a definition
17915         of gl_m4_base.
17916
17917 2010-04-02  Eric Blake  <eblake@redhat.com>
17918
17919         maint.mk: fix some fallout
17920         * NEWS: Document the incompatible change, and its effect on cfg.mk.
17921         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
17922
17923 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
17924
17925         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
17926         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
17927         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
17928         (sc_cast_of_x_alloc_return_value): Likewise.
17929         (sc_cast_of_alloca_return_value): Likewise.
17930         (sc_space_tab): Likewise.
17931         (sc_prohibit_atoi_atof): Likewise.
17932         (sc_prohibit_magic_number_exit): Likewise.
17933         (sc_error_exit_success): Likewise.
17934         (sc_file_system): Likewise.
17935         (sc_prohibit_have_config_h): Likewise.
17936         (sc_require_config_h): Likewise.
17937         (sc_prohibit_HAVE_MBRTOWC): Likewise.
17938         (sc_obsolete_symbols): Likewise.
17939         (sc_changelog): Likewise.
17940         (sc_program_name): Likewise.
17941         (sc_the_the): Likewise.
17942         (sc_trailing_blank): Likewise.
17943         (sc_two_space_separator_in_usage): Likewise.
17944         (sc_useless_cpp_parens): Likewise.
17945         (sc_GPL_version): Likewise.
17946         (sc_GFDL_version): Likewise.
17947         (sc_texinfo_acronym): Likewise.
17948         (sc_prohibit_cvs_keyword): Likewise.
17949         (sc_prohibit_stat_st_blocks): Likewise.
17950         (sc_prohibit_S_IS_definition): Likewise.
17951         (sc_redundant_const): Likewise.
17952         (sc_makefile_TAB_only_indentation): Likewise.
17953         (sc_m4_quote_check): Likewise.
17954         (sc_makefile_path_separator_check): Likewise.
17955         (sc_copyright_check): Likewise.
17956         (sc_Wundef_boolean): Likewise.
17957         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
17958
17959         maint.mk: match 0 or more whitespace-before-function-call '('
17960         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
17961         that have zero or two-and-more spaces between the function name
17962         and the open parenthesis.
17963         (sc_error_message_warn_fatal): Likewise.
17964         (sc_error_message_uppercase): Likewise.
17965         (sc_error_message_period): Likewise.
17966
17967 2010-03-31  Eric Blake  <eblake@redhat.com>
17968
17969         maint.mk: check for [ as well as test
17970         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
17971         Based on a libvirt report by Matthias Bolte.
17972
17973         gnumakefile: don't squelch _version output
17974         * top/GNUmakefile (_version): Create one-shot dependency rather
17975         than using $(shell) when version must be regenerated.
17976         (_autoreconf): Run verbosely, by default.
17977
17978         sys_time: avoid compiler warnings
17979         * lib/sys_time.in.h (includes): Ensure gcc pragma is
17980         unconditional, fixing regression from 2010-03-29.
17981         Reported by Simon Josefsson.
17982
17983 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
17984
17985         maint.mk: s/_header_without_use/_sc_header_without_use/
17986         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
17987         (sc_prohibit_assert_without_use): Use the new name.
17988         (sc_prohibit_close_stream_without_use): Likewise.
17989         (sc_prohibit_getopt_without_use): Likewise.
17990         (sc_prohibit_quotearg_without_use): Likewise.
17991         (sc_prohibit_quote_without_use): Likewise.
17992         (sc_prohibit_long_options_without_use): Likewise.
17993         (sc_prohibit_inttostr_without_use): Likewise.
17994         (sc_prohibit_ignore_value_without_use): Likewise.
17995         (sc_prohibit_error_without_use): Likewise.
17996         (sc_prohibit_xalloc_without_use): Likewise.
17997         (sc_prohibit_hash_without_use): Likewise.
17998         (sc_prohibit_hash_pjw_without_use): Likewise.
17999         (sc_prohibit_safe_read_without_use): Likewise.
18000         (sc_prohibit_argmatch_without_use): Likewise.
18001         (sc_prohibit_canonicalize_without_use): Likewise.
18002         (sc_prohibit_root_dev_ino_without_use): Likewise.
18003         (sc_prohibit_openat_without_use): Likewise.
18004         (sc_prohibit_c_ctype_without_use): Likewise.
18005         (sc_prohibit_signal_without_use): Likewise.
18006         (sc_prohibit_intprops_without_use): Likewise.
18007
18008 2010-03-30  Eric Blake  <eblake@redhat.com>
18009
18010         maint: improve module indicators
18011         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
18012         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
18013         columns, and avoid extra macro expansion.
18014
18015         fdopendir: work around FreeBSD bug
18016         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
18017         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
18018         * modules/dirent (Makefile.am): Substitute it.
18019         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
18020         declaration.
18021         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
18022         fix.
18023         Reported by Christian Weisgerber <naddy@mips.inka.de>.
18024
18025 2010-03-29  Bruno Haible  <bruno@clisp.org>
18026
18027         Emit #pragma system_header after the inclusion guard, not before.
18028         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
18029         guard that spans the entire file, not before. This enables an
18030         optimization in GCC's preprocessor.
18031         * lib/ctype.in.h: Likewise.
18032         * lib/dirent.in.h: Likewise.
18033         * lib/errno.in.h: Likewise.
18034         * lib/float.in.h: Likewise.
18035         * lib/getopt.in.h: Likewise.
18036         * lib/iconv.in.h: Likewise.
18037         * lib/langinfo.in.h: Likewise.
18038         * lib/locale.in.h: Likewise.
18039         * lib/math.in.h: Likewise.
18040         * lib/netdb.in.h: Likewise.
18041         * lib/netinet_in.in.h: Likewise.
18042         * lib/pty.in.h: Likewise.
18043         * lib/sched.in.h: Likewise.
18044         * lib/se-selinux.in.h: Likewise.
18045         * lib/search.in.h: Likewise.
18046         * lib/spawn.in.h: Likewise.
18047         * lib/stdarg.in.h: Likewise.
18048         * lib/stdint.in.h: Likewise.
18049         * lib/string.in.h: Likewise.
18050         * lib/strings.in.h: Likewise.
18051         * lib/sys_file.in.h: Likewise.
18052         * lib/sys_ioctl.in.h: Likewise.
18053         * lib/sys_time.in.h: Likewise.
18054         * lib/sys_times.in.h: Likewise.
18055         * lib/sys_utsname.in.h: Likewise.
18056         * lib/sys_wait.in.h: Likewise.
18057         * lib/sysexits.in.h: Likewise.
18058         * lib/wctype.in.h: Likewise.
18059
18060 2010-03-28  James Youngman  <jay@gnu.org>
18061
18062         save-cwd: don't leak a file descriptor when the caller execs.
18063         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
18064         saved file descriptor.
18065         * modules/save-cwd (Depends-on): Depend on cloexec.
18066
18067 2010-03-29  Bruno Haible  <bruno@clisp.org>
18068
18069         Remove vestiges of fts-lgpl module.
18070         * lib/fts_.h: Assume GNULIB_FTS is 1.
18071         * lib/fts.c: Likewise.
18072         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
18073
18074 2010-03-28  Bruno Haible  <bruno@clisp.org>
18075
18076         Fix definition of tests witness macro.
18077         * gnulib-tool (func_import): Fix definition of witness macro.
18078
18079 2010-03-28  Bruno Haible  <bruno@clisp.org>
18080
18081         Fix ioctl's protoype on glibc systems.
18082         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
18083         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
18084         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
18085         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
18086         signature. If not, arrange to replace the ioctl function.
18087         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
18088         REPLACE_IOCTL.
18089         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
18090         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
18091         Reported by Ludovic Courtès <ludo@gnu.org>.
18092
18093 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
18094
18095         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
18096         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
18097         made it so grep -r --include=GLOB* ... did not work.
18098
18099 2010-03-26  Jim Meyering  <meyering@redhat.com>
18100             Eric Blake  <eblake@redhat.com>
18101
18102         maint.mk: prohibit use of test's -o and -a operators
18103         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
18104
18105 2010-03-28  Bruno Haible  <bruno@clisp.org>
18106
18107         Remove unused GNULIB_XYZ macro definitions.
18108         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
18109         invocation.
18110
18111 2010-03-28  Bruno Haible  <bruno@clisp.org>
18112
18113         Mark privileged tests modules.
18114         * modules/idpriv-drop-tests (Status): New section.
18115         * modules/idpriv-droptemp-tests (Status): New section.
18116
18117 2010-03-28  Bruno Haible  <bruno@clisp.org>
18118
18119         Split C++ tests into separate tests modules.
18120         * modules/dirent-c++-tests: New file, extracted from
18121         modules/dirent-tests.
18122         * modules/dirent-tests: Depend on it.
18123         * modules/fcntl-h-c++-tests: New file, extracted from
18124         modules/fcntl-h-tests.
18125         * modules/fcntl-h-tests: Depend on it.
18126         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
18127         * modules/glob-tests: Depend on it.
18128         * modules/iconv-h-c++-tests: New file, extracted from
18129         modules/iconv-h-tests.
18130         * modules/iconv-h-tests: Depend on it.
18131         * modules/langinfo-c++-tests: New file, extracted from
18132         modules/langinfo-tests.
18133         * modules/langinfo-tests: Depend on it.
18134         * modules/locale-c++-tests: New file, extracted from
18135         modules/locale-tests.
18136         * modules/locale-tests: Depend on it.
18137         * modules/math-c++-tests: New file, extracted from modules/math-tests.
18138         * modules/math-tests: Depend on it.
18139         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
18140         * modules/pty-tests: Depend on it.
18141         * modules/search-c++-tests: New file, extracted from
18142         modules/search-tests.
18143         * modules/search-tests: Depend on it.
18144         * modules/signal-c++-tests: New file, extracted from
18145         modules/signal-tests.
18146         * modules/signal-tests: Depend on it.
18147         * modules/spawn-c++-tests: New file, extracted from
18148         modules/spawn-tests.
18149         * modules/spawn-tests: Depend on it.
18150         * modules/stdio-c++-tests: New file, extracted from
18151         modules/stdio-tests.
18152         * modules/stdio-tests: Depend on it.
18153         * modules/stdlib-c++-tests: New file, extracted from
18154         modules/stdlib-tests.
18155         * modules/stdlib-tests: Depend on it.
18156         * modules/string-c++-tests: New file, extracted from
18157         modules/string-tests.
18158         * modules/string-tests: Depend on it.
18159         * modules/sys_ioctl-c++-tests: New file, extracted from
18160         modules/sys_ioctl-tests.
18161         * modules/sys_ioctl-tests: Depend on it.
18162         * modules/sys_select-c++-tests: New file, extracted from
18163         modules/sys_select-tests.
18164         * modules/sys_select-tests: Depend on it.
18165         * modules/sys_socket-c++-tests: New file, extracted from
18166         modules/sys_socket-tests.
18167         * modules/sys_socket-tests: Depend on it.
18168         * modules/sys_stat-c++-tests: New file, extracted from
18169         modules/sys_stat-tests.
18170         * modules/sys_stat-tests: Depend on it.
18171         * modules/sys_time-c++-tests: New file, extracted from
18172         modules/sys_time-tests.
18173         * modules/sys_time-tests: Depend on it.
18174         * modules/time-c++-tests: New file, extracted from modules/time-tests.
18175         * modules/time-tests: Depend on it.
18176         * modules/unistd-c++-tests: New file, extracted from
18177         modules/unistd-tests.
18178         * modules/unistd-tests: Depend on it.
18179         * modules/wchar-c++-tests: New file, extracted from
18180         modules/wchar-tests.
18181         * modules/wchar-tests: Depend on it.
18182         * modules/wctype-c++-tests: New file, extracted from
18183         modules/wctype-tests.
18184         * modules/wctype-tests: Depend on it.
18185         Reported by Simon Josefsson.
18186
18187 2010-03-28  Bruno Haible  <bruno@clisp.org>
18188
18189         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
18190         * gnulib-tool (func_exists_module): New function, extracted from
18191         func_verify_module.
18192         (func_verify_module): Use it.
18193         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
18194         'foo' only if 'foo' exists.
18195         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
18196         module.
18197
18198 2010-03-28  Bruno Haible  <bruno@clisp.org>
18199
18200         gnulib-tool: Add support for special categories of tests.
18201         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
18202         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
18203         (func_usage): Document them.
18204         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
18205         inc_unportable_tests, inc_all_tests): New variables.
18206         (func_acceptable): Consider these variables.
18207         (func_modules_transitive_closure): Make it work when the 'Status' field
18208         consists of multiple words.
18209         (func_import): Store and restore the values of inc_cxx_tests,
18210         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
18211         inc_all_tests in gnulib-comp.m4.
18212         (func_create_testdir): Set inc_all_tests to true.
18213         * doc/gnulib.texi (Extra tests modules): New section.
18214         Suggested by Jim Meyering.
18215
18216 2010-03-28  Bruno Haible  <bruno@clisp.org>
18217
18218         ansi-c++-opt: Allow turning off the C++ build by default.
18219         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
18220         gl_CXX_CHOICE_DEFAULT_NO is defined.
18221         Requested by Eric Blake.
18222
18223 2010-03-28  Bruno Haible  <bruno@clisp.org>
18224
18225         unistd: Avoid #define replacements in C++ mode.
18226         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
18227         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
18228         setsockopt, shutdown, select): In C++, attach a warning to the function
18229         if possible, rather than #defining the symbol to a dysfunctional alias.
18230         Reported by John W. Eaton <jwe@gnu.org>.
18231
18232 2010-03-28  Bruno Haible  <bruno@clisp.org>
18233
18234         Fix link errors on mingw.
18235         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
18236         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
18237         $(LIBSOCKET).
18238         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
18239         $(LIBSOCKET).
18240
18241 2010-03-28  Bruno Haible  <bruno@clisp.org>
18242             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18243
18244         lib-ignore: Determine different options for different compilers.
18245         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
18246         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
18247         Add comments.
18248         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
18249         * NEWS: Mention the change.
18250
18251 2010-03-27  Bruno Haible  <bruno@clisp.org>
18252
18253         Remove unused GNULIB_XYZ macro definitions.
18254         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
18255         * modules/fseek (configure.ac): Likewise.
18256         * modules/ioctl (configure.ac): Likewise.
18257         * modules/open (configure.ac): Likewise.
18258         * modules/stdlib-safer (configure.ac): Likewise.
18259
18260 2010-03-27  Bruno Haible  <bruno@clisp.org>
18261
18262         Add a remark about certain modules.
18263         * modules/malloc (Comment): New section.
18264         * modules/realloc (Comment): Likewise.
18265         * modules/sigpipe (Comment): Likewise.
18266
18267 2010-03-27  Bruno Haible  <bruno@clisp.org>
18268
18269         Resolve conflict between the two kinds of module indicators.
18270         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
18271         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
18272         * modules/canonicalize (configure.ac): Invoke
18273         gl_MODULE_INDICATOR_FOR_TESTS.
18274         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
18275         GNULIB_XYZ.
18276         * tests/test-dirent-c++.cc: Likewise.
18277         * tests/test-dirent-safer.c: Likewise.
18278         * tests/test-dup2.c: Likewise.
18279         * tests/test-fchdir.c: Likewise.
18280         * tests/test-fcntl-h-c++.cc: Likewise.
18281         * tests/test-getopt.c: Likewise.
18282         * tests/test-getopt.h: Likewise.
18283         * tests/test-langinfo-c++.cc: Likewise.
18284         * tests/test-locale-c++.cc: Likewise.
18285         * tests/test-math-c++.cc: Likewise.
18286         * tests/test-pty-c++.cc: Likewise.
18287         * tests/test-search-c++.cc: Likewise.
18288         * tests/test-signal-c++.cc: Likewise.
18289         * tests/test-spawn-c++.cc: Likewise.
18290         * tests/test-stdio-c++.cc: Likewise.
18291         * tests/test-stdlib-c++.cc: Likewise.
18292         * tests/test-string-c++.cc: Likewise.
18293         * tests/test-sys_ioctl-c++.cc: Likewise.
18294         * tests/test-sys_select-c++.cc: Likewise.
18295         * tests/test-sys_socket-c++.cc: Likewise.
18296         * tests/test-sys_stat-c++.cc: Likewise.
18297         * tests/test-sys_time-c++.cc: Likewise.
18298         * tests/test-time-c++.cc: Likewise.
18299         * tests/test-unistd-c++.cc: Likewise.
18300         * tests/test-wchar-c++.cc: Likewise.
18301         * tests/uninorm/test-u8-nfc.c: Likewise.
18302         * tests/uninorm/test-u8-nfd.c: Likewise.
18303         * tests/uninorm/test-u8-nfkc.c: Likewise.
18304         * tests/uninorm/test-u8-nfkd.c: Likewise.
18305         * tests/uninorm/test-u16-nfc.c: Likewise.
18306         * tests/uninorm/test-u16-nfd.c: Likewise.
18307         * tests/uninorm/test-u16-nfkc.c: Likewise.
18308         * tests/uninorm/test-u16-nfkd.c: Likewise.
18309         * tests/uninorm/test-u32-nfc.c: Likewise.
18310         * tests/uninorm/test-u32-nfc-big.c: Likewise.
18311         * tests/uninorm/test-u32-nfd.c: Likewise.
18312         * tests/uninorm/test-u32-nfd-big.c: Likewise.
18313         * tests/uninorm/test-u32-nfkc.c: Likewise.
18314         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
18315         * tests/uninorm/test-u32-nfkd.c: Likewise.
18316         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
18317         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18318
18319 2010-03-27  Bruno Haible  <bruno@clisp.org>
18320
18321         Distinguish two kinds of module indicators.
18322         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
18323         gl_MODULE_INDICATOR.
18324         (gl_MODULE_INDICATOR): New macro.
18325         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
18326         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
18327         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
18328         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
18329         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
18330         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
18331         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
18332         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
18333         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
18334         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
18335         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
18336         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
18337         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
18338         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
18339         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
18340         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
18341         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
18342         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
18343         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
18344         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
18345         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
18346         * modules/cloexec (configure.ac): Likewise.
18347         * modules/getopt-gnu (configure.ac): Likewise.
18348         * modules/uninorm/u8-normalize (configure.ac): Likewise.
18349         * modules/uninorm/u16-normalize (configure.ac): Likewise.
18350         * modules/uninorm/u32-normalize (configure.ac): Likewise.
18351         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
18352
18353 2010-03-27  Bruno Haible  <bruno@clisp.org>
18354
18355         New module description field 'Comment'.
18356         * gnulib-tool: New option --extract-comment.
18357         (func_usage): Document it.
18358         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
18359         (func_get_comment): New function.
18360         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
18361
18362 2010-03-27  Bruno Haible  <bruno@clisp.org>
18363
18364         Addendum to 2010-02-07 commit.
18365         * gnulib-tool (func_usage): Document --extract-applicability option.
18366
18367 2010-03-27  Bruno Haible  <bruno@clisp.org>
18368
18369         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
18370         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
18371         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
18372         rather than link errors.
18373
18374 2010-03-27  Bruno Haible  <bruno@clisp.org>
18375
18376         Avoid side effects from tests-related modules on the compilation of lib.
18377         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
18378         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
18379         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
18380         parameter. Emit into AM_CPPFLAGS a definition of the designated C
18381         macro.
18382         (func_import): Define a witness macro. Assign it a value that depends
18383         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
18384         tests-related modules.
18385         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
18386         Reported by Jim Meyering.
18387
18388 2010-03-27  Bruno Haible  <bruno@clisp.org>
18389
18390         Factorize common .m4 code.
18391         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
18392         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
18393         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
18394         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
18395         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
18396         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
18397         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
18398         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
18399         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
18400         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
18401         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
18402         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
18403         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
18404         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
18405         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
18406         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
18407         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
18408         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
18409         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
18410         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
18411         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
18412         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
18413         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
18414         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
18415         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
18416         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
18417         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
18418         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
18419         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
18420         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
18421         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
18422         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
18423
18424 2010-03-27  Bruno Haible  <bruno@clisp.org>
18425
18426         Fix a compilation error on Cygwin with g++ >= 4.3.
18427         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
18428         if it is undefined or if we alias it to chmod.
18429         (lstat): Don't warn about the use of this function if it is undefined
18430         or if we alias it to stat.
18431         Reported by Simon Josefsson.
18432
18433 2010-03-27  Bruno Haible  <bruno@clisp.org>
18434
18435         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
18436         * modules/getlogin (configure.ac): Update.
18437
18438         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
18439         * modules/getlogin_r (configure.ac): Update.
18440
18441         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
18442         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
18443         * modules/inet_ntop (configure.ac): Update.
18444
18445         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
18446         * modules/inet_pton (configure.ac): Update.
18447
18448         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
18449         * modules/mbslen (configure.ac): Update.
18450
18451         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
18452         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
18453         * modules/forkpty (configure.ac): Update.
18454         * modules/openpty (configure.ac): Update.
18455
18456 2010-03-26  Simon Josefsson  <simon@josefsson.org>
18457
18458         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
18459         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
18460
18461 2010-03-25  Eric Blake  <eblake@redhat.com>
18462
18463         maint: use pragma consistently across replacement headers
18464         * lib/ctype.in.h (system_header): Hoist for consistent placement.
18465         * lib/dirent.in.h (system_header): Likewise.
18466         * lib/errno.in.h (system_header): Likewise.
18467         * lib/float.in.h (system_header): Likewise.
18468         * lib/getopt.in.h (system_header): Likewise.
18469         * lib/iconv.in.h (system_header): Likewise.
18470         * lib/inttypes.in.h (system_header): Likewise.
18471         * lib/langinfo.in.h (system_header): Likewise.
18472         * lib/locale.in.h (system_header): Likewise.
18473         * lib/math.in.h (system_header): Likewise.
18474         * lib/netdb.in.h (system_header): Likewise.
18475         * lib/netinet_in.in.h (system_header): Likewise.
18476         * lib/pty.in.h (system_header): Likewise.
18477         * lib/sched.in.h (system_header): Likewise.
18478         * lib/se-selinux.in.h (system_header): Likewise.
18479         * lib/search.in.h (system_header): Likewise.
18480         * lib/spawn.in.h (system_header): Likewise.
18481         * lib/stdarg.in.h (system_header): Likewise.
18482         * lib/stdint.in.h (system_header): Likewise.
18483         * lib/string.in.h (system_header): Likewise.
18484         * lib/strings.in.h (system_header): Likewise.
18485         * lib/sys_file.in.h (system_header): Likewise.
18486         * lib/sys_ioctl.in.h (system_header): Likewise.
18487         * lib/sys_socket.in.h (system_header): Likewise.
18488         * lib/sys_times.in.h (system_header): Likewise.
18489         * lib/sys_utsname.in.h (system_header): Likewise.
18490         * lib/sys_wait.in.h (system_header): Likewise.
18491         * lib/sysexits.in.h (system_header): Likewise.
18492         * lib/unistd.in.h (system_header): Likewise.
18493         * lib/wctype.in.h (system_header): Likewise.
18494
18495         arpa/inet: fix mingw compilation warning
18496         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
18497         Reported by Matthew Bolte.
18498
18499 2010-03-25  Bruno Haible  <bruno@clisp.org>
18500
18501         Avoid collision between gnulib wrapper and libintl wrapper.
18502         * lib/printf.c (printf): Don't define if a printf wrapper is already
18503         defined in intl/printf.c.
18504         Reported by Michel Boaventura <michel@michelboaventura.com>.
18505
18506 2010-03-25  Bruno Haible  <bruno@clisp.org>
18507
18508         Use ANSI C.
18509         * lib/readutmp.h (getutent): Provide ANSI C prototype.
18510
18511 2010-03-25  Bruno Haible  <bruno@clisp.org>
18512
18513         Minor formatting changes.
18514         * lib/acosl.c: Insert space before function argument list.
18515         * lib/argz.c: Likewise.
18516         * lib/asinl.c: Likewise.
18517         * lib/expl.c: Likewise.
18518         * lib/gen-uni-tables.c: Likewise.
18519         * lib/gettext.h: Likewise.
18520         * lib/glthread/lock.h: Likewise.
18521         * lib/tanl.c: Likewise.
18522         * lib/uniname/uniname.c: Likewise.
18523         * tests/test-idpriv-drop.c: Likewise.
18524         * tests/test-idpriv-droptemp.c: Likewise.
18525         * tests/test-lock.c: Likewise.
18526         * tests/test-tls.c: Likewise.
18527         * lib/argp-help.c: Insert space before function-like macro argument
18528         list.
18529         * lib/memcmp.c: Likewise.
18530         * tests/test-base64.c: Likewise.
18531         * lib/localename.c: Insert space before sizeof's argument list.
18532         * lib/safe-alloc.h: Likewise.
18533         * lib/file-set.h: Insert space before macro argument list.
18534         * tests/test-argp.c: Likewise.
18535         * lib/argp-namefrob.h: Insert space before function parameter list.
18536         * lib/getaddrinfo.c: Likewise.
18537         * lib/netdb.in.h: Likewise.
18538         * lib/parse-duration.h: Likewise.
18539         * lib/parse-duration.c: Likewise.
18540         * lib/poll.c: Likewise.
18541         * lib/select.c: Likewise.
18542         * lib/trim.h: Likewise.
18543         * tests/test-usleep.c: Likewise.
18544         * lib/ldexpl.c: Insert space before function parameter list and before
18545         function argument list.
18546         * lib/logl.c: Likewise.
18547         * lib/sqrtl.c: Likewise.
18548         * lib/trim.c: Likewise.
18549         * lib/cosl.c: Use GNU style indentation. Insert space before function
18550         argument list.
18551         * lib/sinl.c: Likewise.
18552         * lib/tsearch.c: Insert space after 'for'.
18553         Reported by Jim Meyering.
18554
18555 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
18556
18557         * maint.mk (sc_Wundef_boolean): Check for the presence of the
18558         config header before grepping, as it's not present before
18559         autoreconf/configure are run.  Reported by Simon Josefsson.
18560
18561 2010-03-23  Bruno Haible  <bruno@clisp.org>
18562
18563         pt_chown: Make it work with automake < 1.11.
18564         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
18565         Reported by Simon Josefsson.
18566
18567 2010-03-23  Bruno Haible  <bruno@clisp.org>
18568
18569         pt_chown: Don't depend on GPLed modules.
18570         * lib/pt_chown.c: Don't include idpriv.h.
18571         (main): Don't drop privileges.
18572         * modules/pt_chown (Depends-on): Remove idpriv-drop.
18573         Reported by Simon Josefsson.
18574
18575 2010-03-24  Simon Josefsson  <simon@josefsson.org>
18576
18577         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
18578         suggestions from karl@freefriends.org (Karl Berry).
18579
18580 2010-03-22  Eric Blake  <eblake@redhat.com>
18581
18582         gethostname: further tweaks
18583         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
18584         are overriding gethostname.
18585         Suggested by Bruno Haible.
18586
18587 2010-03-21  Bruno Haible  <bruno@clisp.org>
18588
18589         Fix comments.
18590         * lib/forkpty.c (rpl_forkpty): Fix comment.
18591         * lib/openpty.c (rpl_openpty): Likewise.
18592         Reported by Eric Blake.
18593
18594 2010-03-22  Eric Blake  <eblake@redhat.com>
18595
18596         gethostname: fix build on mingw
18597         * lib/unistd.in.h (includes): Work around fact that mingw
18598         <winsock2.h> re-includes <unistd.h>, by avoiding any
18599         redeclarations if we are being included by <winsock2.h>.
18600         Reported by Matthias Bolte.
18601
18602 2010-03-21  Bruno Haible  <bruno@clisp.org>
18603
18604         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18605         * lib/forkpty.c (forkpty): New replacement function, from glibc with
18606         modifications.
18607         * lib/pty.in.h (forkpty): Update declaration. Add comments.
18608         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
18609         provide the replacement.
18610         * modules/forkpty (Depends-on): Add openpty, login_tty.
18611         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
18612         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
18613         * doc/glibc-functions/forkpty.texi: More supported platforms.
18614         * config/srclist.txt: Add forkpty.c (commented).
18615
18616 2010-03-21  Bruno Haible  <bruno@clisp.org>
18617
18618         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
18619         (Makefile.am): Verify that PTY_LIB is defined.
18620
18621         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
18622
18623 2010-03-21  Bruno Haible  <bruno@clisp.org>
18624
18625         Tests for module 'login_tty'.
18626         * modules/login_tty-tests: New file.
18627         * tests/test-login_tty.c: New file.
18628
18629         New module 'login_tty'.
18630         * lib/login_tty.c: New file.
18631         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
18632         * modules/login_tty: New file.
18633         * doc/glibc-functions/login_tty.texi: Mention the new module.
18634
18635 2010-03-21  Bruno Haible  <bruno@clisp.org>
18636
18637         login_tty: Documentation.
18638         * doc/glibc-functions/login_tty.texi: New file.
18639         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
18640
18641 2010-03-21  Bruno Haible  <bruno@clisp.org>
18642
18643         pty: Consistent macro naming.
18644         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
18645         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
18646         * modules/pty (configure.ac): Update.
18647
18648 2010-03-21  Bruno Haible  <bruno@clisp.org>
18649
18650         Tests for openpty: Make stricter.
18651         * tests/test-openpty.c (main): Add test of canonical processing and
18652         erase.
18653         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
18654
18655         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18656         * lib/openpty.c (openpty): New replacement function.
18657         * lib/pty.in.h: Include <termios.h>.
18658         (openpty): Update declaration. Add comments.
18659         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
18660         is not declared, arrange to provide the replacement. Check for _getpty
18661         and posix_openpt.
18662         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
18663         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
18664         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
18665         * modules/pty-tests (test_pty_c___LDADD): New variable.
18666         * doc/glibc-functions/openpty.texi: More supported platforms.
18667
18668 2010-03-21  Bruno Haible  <bruno@clisp.org>
18669
18670         setenv: Tweaks.
18671         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
18672         the test program.
18673         * doc/posix-functions/setenv.texi: Update platforms list.
18674
18675 2010-03-21  Bruno Haible  <bruno@clisp.org>
18676
18677         New module 'unlockpt'.
18678         * lib/unlockpt.c: New file, from glibc with modifications.
18679         * m4/unlockpt.m4: New file.
18680         * modules/unlockpt: New file.
18681         * lib/stdlib.in.h (unlockpt): New declaration.
18682         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
18683         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
18684         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
18685         HAVE_UNLOCKPT.
18686         * doc/posix-functions/unlockpt.texi: Mention the new module.
18687         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
18688         * config/srclist.txt: Add unlockpt.c (commented).
18689
18690 2010-03-21  Jim Meyering  <meyering@redhat.com>
18691
18692         maint.mk: prohibit inclusion of "intprops.h" without use
18693         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
18694
18695 2010-03-21  Bruno Haible  <bruno@clisp.org>
18696
18697         New module 'grantpt'.
18698         * lib/grantpt.c: New file, from glibc with modifications.
18699         * m4/grantpt.m4: New file.
18700         * modules/grantpt: New file.
18701         * lib/stdlib.in.h (grantpt): New declaration.
18702         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
18703         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
18704         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
18705         HAVE_GRANTPT.
18706         * doc/posix-functions/grantpt.texi: Mention the new module.
18707         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
18708         * config/srclist.txt: Add grantpt.c (commented).
18709
18710 2010-03-21  Bruno Haible  <bruno@clisp.org>
18711
18712         New module 'pt_chown'.
18713         * lib/pt_chown.c: New file, from glibc with modifications.
18714         * lib/pty-private.h: New file, from glibc with modifications.
18715         * modules/pt_chown: New file.
18716         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
18717
18718 2010-03-21  Bruno Haible  <bruno@clisp.org>
18719
18720         Tests for module 'ptsname'.
18721         * modules/ptsname-tests: New file.
18722         * tests/test-ptsname.c: New file.
18723
18724         New module 'ptsname'.
18725         * lib/ptsname.c: New file, from glibc with modifications.
18726         * m4/ptsname.m4: New file.
18727         * modules/ptsname: New file.
18728         * lib/stdlib.in.h (ptsname): New declaration.
18729         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
18730         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
18731         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
18732         HAVE_PTSNAME.
18733         * doc/posix-functions/ptsname.texi: Mention the new module.
18734         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
18735         * config/srclist.txt: Add ptsname.c (commented).
18736
18737 2010-03-21  Bruno Haible  <bruno@clisp.org>
18738
18739         Tests for module 'ttyname_r'.
18740         * modules/ttyname_r-tests: New file.
18741         * tests/test-ttyname_r.c: New file.
18742
18743         New module 'ttyname_r'.
18744         * lib/ttyname_r.c: New file.
18745         * m4/ttyname_r.m4: New file.
18746         * modules/ttyname_r: New file.
18747         * lib/unistd.in.h (ttyname_r): New declaration.
18748         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
18749         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
18750         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
18751         HAVE_TTYNAME_R.
18752         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
18753         * doc/posix-functions/ttyname_r.texi: Mention the new module.
18754
18755 2010-03-20  Bruno Haible  <bruno@clisp.org>
18756
18757         signal: Undefine macro definitions in C++ mode.
18758         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
18759         sigfillset): Undefine macro definitions from the system header in C++
18760         mode.
18761         Reported by John W. Eaton <jwe@gnu.org>.
18762
18763 2010-03-20  Bruno Haible  <bruno@clisp.org>
18764
18765         Ensure no #include statements inside extern "C" { ... }.
18766         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
18767         contain #include statements.
18768         * lib/time.in.h: Likewise.
18769
18770 2010-03-20  Bruno Haible  <bruno@clisp.org>
18771
18772         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
18773         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
18774         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
18775         Reported by John W. Eaton <jwe@gnu.org>.
18776
18777 2010-03-20  Bruno Haible  <bruno@clisp.org>
18778
18779         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
18780         Reported by Jim Meyering.
18781
18782 2010-03-20  Bruno Haible  <bruno@clisp.org>
18783
18784         pipe: Set errno upon failure.
18785         * lib/pipe.h: Specify that when -1 is returned, errno is set.
18786         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
18787         errno value in error message.
18788
18789 2010-03-20  Bruno Haible  <bruno@clisp.org>
18790             Jim Meyering  <meyering@redhat.com>
18791
18792         lchown: Avoid "unused variable" warning.
18793         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
18794
18795 2010-03-20  Bruno Haible  <bruno@clisp.org>
18796
18797         Work around unlink() bug on MacOS X 10.5.6.
18798         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
18799         attempting to unlink a parent directory.
18800         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
18801         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
18802         activate for the replacement function.
18803         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
18804
18805 2010-03-20  Bruno Haible  <bruno@clisp.org>
18806
18807         Fix link errors on Solaris 8.
18808         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
18809         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
18810
18811 2010-03-19  Jim Meyering  <meyering@redhat.com>
18812
18813         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
18814         The _LIBC implementation of build_range_exp correctly honors the
18815         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
18816         However, the non-_LIBC implementation would ignore that syntax-bit
18817         flag and return REG_ERANGE unconditionally.
18818         This change makes it honor that flag.
18819         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
18820         Make two pointer parameters "const".
18821         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
18822         (parse_bracket_exp): Update caller.
18823
18824         regex.m4: correct the reversed range endpoint ([b-a]) test
18825         * m4/regex.m4: When requiring that [b-a] evoke failure,
18826         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
18827         test pass once again for x86-based systems.
18828
18829 2010-03-19  Bruno Haible  <bruno@clisp.org>
18830
18831         scandir: Fix link error on Solaris 8.
18832         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
18833         macros.
18834
18835 2010-03-19  Bruno Haible  <bruno@clisp.org>
18836
18837         getusershell: Fix documentation.
18838         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
18839         module.
18840         * doc/glibc-functions/setusershell.texi: Likewise.
18841
18842         getusershell: Provide declaration, missing on Solaris 9.
18843         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
18844         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
18845         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
18846         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
18847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18848         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
18849         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
18850         HAVE_GETUSERSHELL.
18851         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
18852
18853 2010-03-19  Bruno Haible  <bruno@clisp.org>
18854
18855         wctype: Provide iswblank function.
18856         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
18857         exists and is fine.
18858         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
18859         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
18860         * tests/test-wctype.c (main): Re-enable the iswblank tests.
18861         * doc/posix-functions/iswblank.texi: Update.
18862
18863 2010-03-19  Bruno Haible  <bruno@clisp.org>
18864
18865         Tests of module 'pty' in C++ mode.
18866         * modules/pty-tests: New file.
18867         * tests/test-pty-c++.cc: New file.
18868         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18869
18870 2010-03-19  Eric Blake  <eblake@redhat.com>
18871
18872         logb: fix documentation
18873         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
18874         1.5 declaration bug.
18875
18876         forkpty, openpty: prefer glibc's const-safe prototype
18877         * lib/forkpty.c (rpl_forkpty): New file.
18878         * lib/openpty.c (rpl_openpty): Likewise.
18879         * modules/forkpty (Files): Distribute it.
18880         * modules/openpty (Files): Likewise.
18881         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
18882         check...
18883         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
18884         replacement for for non-const BSD signature.
18885         * modules/pty (Makefile.am): Substitute witnesses.
18886         * lib/pty.in.h (forkpty, openpty): Declare replacements.
18887         * tests/test-forkpty.c: Update signature check.
18888         * tests/test-openpty.c: Likewise.
18889         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
18890         * doc/glibc-functions/openpty.texi (openpty): Likewise.
18891
18892         forkpty, openpty: split functions into new modules
18893         * modules/pty (Makefile.am): Substitute new witnesses.
18894         (Libraries): Move library detection...
18895         * modules/forkpty: ...into new module.
18896         * modules/openpty: Another new module.
18897         * modules/pty-tests: Rename and split...
18898         * modules/forkpty-tests: ...to this...
18899         * modules/openpty-tests: ...and this.
18900         * tests/test-pty.c: Rename and split...
18901         * tests/test-forkpty.c: ...to this...
18902         * tests/test-openpty.c: ...and this.
18903         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
18904         (gl_PTY): Split library searching...
18905         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
18906         (gl_FORKPTY, gl_OPENPTY): New macros.
18907         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
18908         * NEWS: Mention the split.
18909         * MODULES.html.sh (Misc): Document the modules.
18910         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
18911         * doc/glibc-functions/openpty.texi (openpty): Likewise.
18912
18913         pty: improve replacement header
18914         * lib/pty.in.h: New file.
18915         * modules/pty (Files): Ship it.
18916         (Makefile.am): Always build replacement.
18917         * m4/pty.m4: Rename...
18918         * m4/pty_h.m4: ...to this.
18919         (gl_PTY): Modernize setting of witness macros; update check of
18920         forkpty to take proper advantage of cache.
18921         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
18922
18923         getopt: avoid compiler warning
18924         * lib/getopt.c (attribute_hidden): Remove unused macro.
18925
18926 2010-03-18  Bruno Haible  <bruno@clisp.org>
18927
18928         Fix link errors on Solaris 8.
18929         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
18930         * modules/search-tests (test_search_c___LDADD): Likewise.
18931         * modules/signal-tests (test_signal_c___LDADD): Likewise.
18932         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
18933         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
18934         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
18935         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
18936         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
18937         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
18938
18939 2010-03-18  Bruno Haible  <bruno@clisp.org>
18940
18941         Fix bug introduced on 2010-03-14.
18942         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
18943         (gl_SPAWN_H): Require it.
18944         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
18945         Reported by Simon Josefsson.
18946
18947 2010-03-18  Bruno Haible  <bruno@clisp.org>
18948
18949         Fix typo introduced on 2009-12-31.
18950         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
18951         posix_spawn_file_actions_adddup2.
18952
18953 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
18954         and Eric Blake  <eblake@redhat.com>
18955
18956         test-vc-list-files-git: make more robust
18957         * tests/test-vc-list-files-git.sh: Unset problematic environment
18958         variables.  Chain commands together.
18959
18960 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
18961
18962         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
18963         `AC_CHECK_DECL' invocation.
18964
18965 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
18966
18967         * lib/inttostr.c (inttostr): Make sure the invocation of verify
18968         appears before executable statements. Suggested by Petr Sumbera
18969         <Petr.Sumbera@Sun.COM>.
18970
18971 2010-03-14  Bruno Haible  <bruno@clisp.org>
18972
18973         * tests/test-flock.c (test_exclusive): Comment out a test that causes
18974         portability problems. Instead use a simpler test.
18975         (main): Check that invalid arguments are rejected only on Linux.
18976
18977 2010-03-14  Bruno Haible  <bruno@clisp.org>
18978
18979         Fix bug introduced on 2009-12-31.
18980         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18981         gl_PREREQ_SYS_H_WINSOCK2 always.
18982         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
18983         SYS_SOCKET_H variable.
18984         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
18985         Update comments.
18986         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
18987         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18988         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18989         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18990         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
18991
18992 2010-03-14  Bruno Haible  <bruno@clisp.org>
18993
18994         Fix values returned by sinl, cosl.
18995         * lib/trigl.h: Add specification comments.
18996         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
18997         that combines the values from the precomputed table with the values of
18998         the Chebyshev polynomials.
18999
19000 2010-03-14  Bruno Haible  <bruno@clisp.org>
19001
19002         Fix compilation error when modules 'posix_spawn[p]' are not used.
19003         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
19004         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
19005
19006 2010-03-14  Bruno Haible  <bruno@clisp.org>
19007
19008         Fix compilation error on mingw when module 'time_r' is not used.
19009         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
19010         is 1.
19011         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
19012         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
19013         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
19014         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
19015
19016 2010-03-14  Bruno Haible  <bruno@clisp.org>
19017
19018         Fix compilation error with Sun C.
19019         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
19020         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
19021         instead of GCC specific ULONG_LONG_MAX.
19022         * lib/xstrtoll.c: Likewise.
19023         * lib/xstrtoull.c: Likewise.
19024
19025 2010-03-13  Bruno Haible  <bruno@clisp.org>
19026
19027         Allow the user to disable C++ code and tests.
19028         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
19029         (gl_PROG_ANSI_CXX): Require it.
19030
19031 2010-03-13  Bruno Haible  <bruno@clisp.org>
19032
19033         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
19034         cases.
19035
19036 2010-03-13  Bruno Haible  <bruno@clisp.org>
19037
19038         Test that gnulib does not break the standard C++ headers.
19039         * tests/test-locale-c++2.cc: New file.
19040         * modules/locale-tests (Files): Add it.
19041         (Makefile.am): Compile it for test-locale-c++.
19042         * tests/test-math-c++2.cc: New file.
19043         * modules/math-tests (Files): Add it.
19044         (Makefile.am): Compile it for test-math-c++.
19045         * tests/test-signal-c++2.cc: New file.
19046         * modules/signal-tests (Files): Add it.
19047         (Makefile.am): Compile it for test-signal-c++.
19048         * tests/test-stdio-c++2.cc: New file.
19049         * modules/stdio-tests (Files): Add it.
19050         (Makefile.am): Compile it for test-stdio-c++.
19051         * tests/test-stdlib-c++2.cc: New file.
19052         * modules/stdlib-tests (Files): Add it.
19053         (Makefile.am): Compile it for test-stdlib-c++.
19054         * tests/test-string-c++2.cc: New file.
19055         * modules/string-tests (Files): Add it.
19056         (Makefile.am): Compile it for test-string-c++.
19057         * tests/test-time-c++2.cc: New file.
19058         * modules/time-tests (Files): Add it.
19059         (Makefile.am): Compile it for test-time-c++.
19060         Reported by John W. Eaton <jwe@gnu.org>.
19061
19062 2010-03-13  Bruno Haible  <bruno@clisp.org>
19063
19064         * gnulib-tool (func_usage): Clarify which options are available for
19065         --create-testdir and --create-megatestdir.
19066
19067 2010-03-13  Bruno Haible  <bruno@clisp.org>
19068
19069         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
19070         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
19071         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
19072         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
19073         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
19074         when appropriate.
19075         Reported by Jim Meyering.
19076
19077 2010-03-12  Simon Josefsson  <simon@josefsson.org>
19078
19079         * gnulib-tool (func_import): Explain origin of code.
19080
19081 2010-03-12  Bruno Haible  <bruno@clisp.org>
19082
19083         Fix problem with automake's definition of CXXLINK.
19084         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
19085         Reported by Simon Josefsson and Ludovic Courtès.
19086
19087 2010-03-12  Bruno Haible  <bruno@clisp.org>
19088
19089         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
19090         stable releases.
19091
19092 2010-03-11  Bruno Haible  <bruno@clisp.org>
19093
19094         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
19095         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
19096         whether the system provides one variant or multiple variants of the
19097         function.
19098         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
19099         C++ compilers.
19100         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
19101         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
19102         Reported by Jim Meyering.
19103
19104 2010-03-09  Simon Josefsson  <simon@josefsson.org>
19105
19106         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
19107
19108 2010-03-08  Bruno Haible  <bruno@clisp.org>
19109
19110         gnulib-tool: Add support for --libtool in --create-testdir.
19111         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
19112         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
19113
19114 2010-03-08  Eric Blake  <eblake@redhat.com>
19115
19116         gnulib-tool.texi: mention possibility of git submodule
19117         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
19118         submodules.
19119         * doc/.gitignore: Ignore another generated file.
19120
19121 2010-03-08  Karl Berry  <karl@gnu.org>
19122
19123         * doc/gnulib-tool.texi (VCS Issues): Mention third option
19124         of committing gnulib files while skipping others.
19125
19126 2010-03-07  Bruno Haible  <bruno@clisp.org>
19127
19128         Tests of module 'wctype' in C++ mode.
19129         * tests/test-wctype-c++.cc: New file.
19130         * modules/wctype-tests (Files): Add it and tests/signature.h.
19131         (Depends-on): Add ansi-c++-opt.
19132         (Makefile.am): Arrange to compile and run test-wctype-c++.
19133
19134         Tests of module 'wchar' in C++ mode.
19135         * tests/test-wchar-c++.cc: New file.
19136         * modules/wchar-tests (Files): Add it and tests/signature.h.
19137         (Depends-on): Add ansi-c++-opt.
19138         (Makefile.am): Arrange to compile and run test-wchar-c++.
19139         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
19140         gl_MODULE_INDICATOR.
19141
19142         Tests of module 'unistd' in C++ mode.
19143         * tests/test-unistd-c++.cc: New file.
19144         * modules/unistd-tests (Files): Add it and tests/signature.h.
19145         (Depends-on): Add ansi-c++-opt.
19146         (Makefile.am): Arrange to compile and run test-unistd-c++.
19147         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
19148         gl_MODULE_INDICATOR.
19149
19150         Tests of module 'time' in C++ mode.
19151         * tests/test-time-c++.cc: New file.
19152         * modules/time-tests (Files): Add it and tests/signature.h.
19153         (Depends-on): Add ansi-c++-opt.
19154         (Makefile.am): Arrange to compile and run test-time-c++.
19155         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19156
19157         Tests of module 'sys_time' in C++ mode.
19158         * tests/test-sys_time-c++.cc: New file.
19159         * modules/sys_time-tests (Files): Add it and tests/signature.h.
19160         (Depends-on): Add ansi-c++-opt.
19161         (Makefile.am): Arrange to compile and run test-sys_time-c++.
19162         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
19163         gl_MODULE_INDICATOR.
19164
19165         Tests of module 'sys_stat' in C++ mode.
19166         * tests/test-sys_stat-c++.cc: New file.
19167         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
19168         (Depends-on): Add ansi-c++-opt.
19169         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
19170         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
19171         gl_MODULE_INDICATOR.
19172
19173         Tests of module 'sys_socket' in C++ mode.
19174         * tests/test-sys_socket-c++.cc: New file.
19175         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
19176         (Depends-on): Add ansi-c++-opt.
19177         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
19178         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
19179         gl_MODULE_INDICATOR.
19180
19181         Tests of module 'sys_select' in C++ mode.
19182         * tests/test-sys_select-c++.cc: New file.
19183         * modules/sys_select-tests (Files): Add it and tests/signature.h.
19184         (Depends-on): Add ansi-c++-opt.
19185         (Makefile.am): Arrange to compile and run test-sys_select-c++.
19186         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
19187         gl_MODULE_INDICATOR.
19188
19189         Tests of module 'sys_ioctl' in C++ mode.
19190         * tests/test-sys_ioctl-c++.cc: New file.
19191         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
19192         (Depends-on): Add ansi-c++-opt.
19193         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
19194         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
19195         gl_MODULE_INDICATOR.
19196
19197         Tests of module 'string' in C++ mode.
19198         * tests/test-string-c++.cc: New file.
19199         * modules/string-tests (Files): Add it and tests/signature.h.
19200         (Depends-on): Add ansi-c++-opt.
19201         (Makefile.am): Arrange to compile and run test-string-c++.
19202         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
19203         gl_MODULE_INDICATOR.
19204
19205         Tests of module 'stdlib' in C++ mode.
19206         * tests/test-stdlib-c++.cc: New file.
19207         * modules/stdlib-tests (Files): Add it and tests/signature.h.
19208         (Depends-on): Add ansi-c++-opt.
19209         (Makefile.am): Arrange to compile and run test-stdlib-c++.
19210         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
19211         gl_MODULE_INDICATOR.
19212
19213         Tests of module 'stdio' in C++ mode.
19214         * tests/test-stdio-c++.cc: New file.
19215         * modules/stdio-tests (Files): Add it and tests/signature.h.
19216         (Depends-on): Add ansi-c++-opt.
19217         (Makefile.am): Arrange to compile and run test-stdio-c++.
19218         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
19219         gl_MODULE_INDICATOR.
19220
19221         Tests of module 'spawn' in C++ mode.
19222         * tests/test-spawn-c++.cc: New file.
19223         * modules/spawn-tests (Files): Add it and tests/signature.h.
19224         (Depends-on): Add ansi-c++-opt.
19225         (Makefile.am): Arrange to compile and run test-spawn-c++.
19226         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
19227         gl_MODULE_INDICATOR.
19228
19229         Tests of module 'signal' in C++ mode.
19230         * tests/test-signal-c++.cc: New file.
19231         * modules/signal-tests (Files): Add it and tests/signature.h.
19232         (Depends-on): Add ansi-c++-opt.
19233         (Makefile.am): Arrange to compile and run test-signal-c++.
19234         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
19235         gl_MODULE_INDICATOR.
19236
19237         Tests of module 'search' in C++ mode.
19238         * tests/test-search-c++.cc: New file.
19239         * modules/search-tests (Files): Add it and tests/signature.h.
19240         (Depends-on): Add ansi-c++-opt.
19241         (Makefile.am): Arrange to compile and run test-search-c++.
19242         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
19243         gl_MODULE_INDICATOR.
19244
19245         Tests of module 'math' in C++ mode.
19246         * tests/test-math-c++.cc: New file.
19247         * modules/math-tests (Files): Add it and tests/signature.h.
19248         (Depends-on): Add ansi-c++-opt.
19249         (Makefile.am): Arrange to compile and run test-math-c++.
19250         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19251
19252         Tests of module 'locale' in C++ mode.
19253         * tests/test-locale-c++.cc: New file.
19254         * modules/locale-tests (Files): Add it and tests/signature.h.
19255         (Depends-on): Add ansi-c++-opt.
19256         (Makefile.am): Arrange to compile and run test-locale-c++.
19257         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
19258         gl_MODULE_INDICATOR.
19259
19260         Tests of module 'langinfo' in C++ mode.
19261         * tests/test-langinfo-c++.cc: New file.
19262         * modules/langinfo-tests (Files): Add it and tests/signature.h.
19263         (Depends-on): Add ansi-c++-opt.
19264         (Makefile.am): Arrange to compile and run test-langinfo-c++.
19265         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
19266         gl_MODULE_INDICATOR.
19267
19268         Tests of module 'iconv-h' in C++ mode.
19269         * tests/test-iconv-h-c++.cc: New file.
19270         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
19271         (Depends-on): Add ansi-c++-opt.
19272         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
19273
19274         Tests of module 'glob' in C++ mode.
19275         * tests/test-glob-c++.cc: New file.
19276         * modules/glob-tests (Files): Add it.
19277         (Depends-on): Add ansi-c++-opt.
19278         (Makefile.am): Arrange to compile and run test-glob-c++.
19279
19280         Tests of module 'fcntl-h' in C++ mode.
19281         * tests/test-fcntl-h-c++.cc: New file.
19282         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
19283         (Depends-on): Add ansi-c++-opt.
19284         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
19285         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
19286         gl_MODULE_INDICATOR.
19287
19288         Tests of module 'dirent' in C++ mode.
19289         * tests/test-dirent-c++.cc: New file.
19290         * modules/dirent-tests (Files): Add it and tests/signature.h.
19291         (Depends-on): Add ansi-c++-opt.
19292         (Makefile.am): Arrange to compile and run test-dirent-c++.
19293         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
19294         gl_MODULE_INDICATOR.
19295
19296         New module 'ansi-c++-opt'.
19297         * modules/ansi-c++-opt: New file.
19298         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
19299
19300         Document C++ namespace mode.
19301         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
19302
19303         wctype: Avoid #define replacements in C++ mode.
19304         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
19305         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
19306         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
19307         In C++, define a namespaced alias symbol.
19308         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
19309         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
19310         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
19311         rule.
19312
19313         wchar: Avoid #define replacements in C++ mode.
19314         * lib/wchar.in.h: Include c++defs.h.
19315         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
19316         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
19317         symbol.
19318         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
19319         * modules/wchar (Depends-on): Add c++defs.
19320         (Makefile.am): Update wchar.h rule.
19321
19322         unistd: Avoid #define replacements in C++ mode.
19323         * lib/unistd.in.h: Include c++defs.h.
19324         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
19325         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
19326         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
19327         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
19328         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
19329         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
19330         symbol.
19331         (environ): Update.
19332         * modules/unistd (Depends-on): Add c++defs.
19333         (Makefile.am): Update unistd.h rule.
19334
19335         time: Avoid #define replacements in C++ mode.
19336         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
19337         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
19338         define a namespaced alias symbol.
19339         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
19340         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
19341         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
19342         * modules/time (Depends-on): Add c++defs, warn-on-use.
19343         (Makefile.am): Update time.h rule.
19344         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
19345         * modules/nanosleep (configure.ac): Likewise.
19346         * modules/strptime (configure.ac): Likewise.
19347         * modules/timegm (configure.ac): Likewise.
19348
19349         sys_time: Avoid #define replacements in C++ mode.
19350         * lib/sys_time.in.h: Include c++defs.h.
19351         (gettimeofday): In C++, define a namespaced alias symbol.
19352         * modules/sys_time (Depends-on): Add c++defs.
19353         (Makefile.am): Update sys/time.h rule.
19354
19355         sys_stat: Avoid #define replacements in C++ mode.
19356         * lib/sys_stat.in.h: Include c++defs.h.
19357         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
19358         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
19359         namespaced alias symbol.
19360         In C++, define a namespaced alias symbol.
19361         * modules/sys_stat (Depends-on): Add c++defs.
19362         (Makefile.am): Update sys/stat.h rule.
19363
19364         sys_socket: Avoid #define replacements in C++ mode.
19365         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
19366         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
19367         definitions also when the system has a <sys/socket.h>.
19368         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
19369         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
19370         In C++, define a namespaced alias symbol.
19371         * modules/sys_socket (Depends-on): Add c++defs.
19372         (Makefile.am): Update sys/socket.h rule.
19373
19374         sys_select: Avoid #define replacements in C++ mode.
19375         * lib/sys_select.in.h: Include c++defs.h. Enable the function
19376         definitions also when the system has a <sys/select.h>.
19377         (select): In C++, define a namespaced alias symbol.
19378         * modules/sys_select (Depends-on): Add c++defs.
19379         (Makefile.am): Update sys/select.h rule.
19380
19381         sys_ioctl: Avoid #define replacements in C++ mode.
19382         * lib/sys_ioctl.in.h: Include c++defs.h.
19383         (ioctl): In C++, define a namespaced alias symbol.
19384         * modules/sys_ioctl (Depends-on): Add c++defs.
19385         (Makefile.am): Update sys/ioctl.h rule.
19386
19387         string: Avoid #define replacements in C++ mode.
19388         * lib/string.in.h: Include c++defs.h.
19389         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
19390         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19391         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19392         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
19393         strsignal, strverscmp): In C++, define a namespaced alias symbol.
19394         * modules/string (Depends-on): Add c++defs.
19395         (Makefile.am): Update string.h rule.
19396
19397         stdlib: Avoid #define replacements in C++ mode.
19398         * lib/stdlib.in.h: Include c++defs.h.
19399         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
19400         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
19401         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
19402         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
19403         symbol.
19404         * modules/stdlib (Depends-on): Add c++defs.
19405         (Makefile.am): Update stdlib.h rule.
19406
19407         stdio: Avoid #define replacements in C++ mode.
19408         * lib/stdio.in.h: Include c++defs.h.
19409         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
19410         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
19411         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
19412         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
19413         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
19414         namespaced alias symbol.
19415         * modules/stdio (Depends-on): Add c++defs.
19416         (Makefile.am): Update stdio.h rule.
19417
19418         spawn: Avoid #define replacements in C++ mode.
19419         * lib/spawn.in.h: Include c++defs.h.
19420         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19421         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19422         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19423         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19424         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19425         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19426         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19427         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19428         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19429         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19430         In C++, define a namespaced alias symbol.
19431         * modules/spawn (Depends-on): Add c++defs.
19432         (Makefile.am): Update spawn.h rule.
19433
19434         signal: Avoid #define replacements in C++ mode.
19435         * lib/signal.in.h: Include c++defs.h.
19436         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19437         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
19438         namespaced alias symbol.
19439         * modules/signal (Depends-on): Add c++defs.
19440         (Makefile.am): Update signal.h rule.
19441
19442         search: Avoid #define replacements in C++ mode.
19443         * lib/search.in.h: Include c++defs.h.
19444         (_gl_search_compar_fn, _gl_search_action_fn): New types.
19445         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
19446         symbol.
19447         * modules/search (Depends-on): Add c++defs.
19448         (Makefile.am): Update search.h rule.
19449
19450         math: Avoid #define replacements in C++ mode.
19451         * lib/math.in.h: Include c++defs.h.
19452         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
19453         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
19454         trunc, truncl): In C++, define a namespaced alias symbol.
19455         * modules/math (Depends-on): Add c++defs.
19456         (Makefile.am): Update math.h rule.
19457
19458         locale: Avoid #define replacements in C++ mode.
19459         * lib/locale.in.h: Include c++defs.h.
19460         (duplocale): In C++, define a namespaced alias symbol.
19461         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
19462         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
19463         * modules/locale (Depends-on): Add c++defs.
19464         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
19465
19466         langinfo: Avoid #define replacements in C++ mode.
19467         * lib/langinfo.in.h: Include c++defs.h.
19468         (nl_langinfo): In C++, define a namespaced alias symbol.
19469         * modules/langinfo (Depends-on): Add c++defs.
19470         (Makefile.am): Update langinfo.h rule.
19471
19472         iconv-h: Avoid #define replacements in C++ mode.
19473         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
19474         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
19475         symbol.
19476         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
19477         whenever iconv is present.
19478         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
19479         (Makefile.am): Update iconv.h rule.
19480
19481         glob: Avoid #define replacements in C++ mode.
19482         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
19483         (_gl_glob_errfunc_fn): New type.
19484         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
19485         symbol.
19486         * modules/glob (Depends-on): Add c++defs, warn-on-use.
19487         (Makefile.am): Update glob.h rule.
19488
19489         fcntl-h: Avoid #define replacements in C++ mode.
19490         * lib/fcntl.in.h: Include c++defs.h.
19491         (fcntl, open, openat): In C++, define a namespaced alias symbol.
19492         * modules/fcntl-h (Depends-on): Add c++defs.
19493         (Makefile.am): Update fcntl.h rule.
19494
19495         dirent: Avoid #define replacements in C++ mode.
19496         * lib/dirent.in.h: Include c++defs.h.
19497         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
19498         namespaced alias symbol.
19499         (dirfd): Update declaration.
19500         * modules/dirent (Depends-on): Add c++defs.
19501         (Makefile.am): Update dirent.h rule.
19502
19503         ctype: Make it usable in C++ code.
19504         * lib/ctype.in.h: Include c++defs.h.
19505         (isblank): Declare as extern "C".
19506         * modules/ctype (Depends-on): Add c++defs.
19507         (Makefile.am): Update ctype.h rule.
19508
19509         New module 'c++defs'.
19510         * modules/c++defs: New file.
19511         * build-aux/c++defs.h: New file.
19512         Reported by John W. Eaton <jwe@gnu.org>.
19513
19514 2010-03-07  Bruno Haible  <bruno@clisp.org>
19515
19516         logb: Provide missing declaration for Cygwin.
19517         * lib/math.in.h (logb): New declaration.
19518         * m4/logb.m4: New file.
19519         * modules/logb (Files): Add m4/logb.m4.
19520         (Depends-on): Add math.
19521         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
19522         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
19523         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
19524         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
19525         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
19526
19527 2010-03-07  Bruno Haible  <bruno@clisp.org>
19528
19529         Fix test-cond link error.
19530         * tests/test-cond.c: Include <stdio.h>.
19531
19532 2010-03-07  Bruno Haible  <bruno@clisp.org>
19533
19534         Fix test-dirent-safer link error.
19535         * modules/dirent-safer-tests (Makefile.am): Define
19536         test_dirent_safer_LDADD.
19537
19538 2010-03-07  Bruno Haible  <bruno@clisp.org>
19539
19540         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
19541         among default module list.
19542
19543 2010-03-07  Bruno Haible  <bruno@clisp.org>
19544
19545         Fix link error on platforms with GNU libiconv.
19546         * modules/unistr/u8-strcoll-tests (Makefile): Define
19547         test_u8_strcoll_LDADD.
19548         * modules/unistr/u16-strcoll-tests (Makefile): Define
19549         test_u16_strcoll_LDADD.
19550         * modules/unistr/u32-strcoll-tests (Makefile): Define
19551         test_u32_strcoll_LDADD.
19552
19553 2010-03-07  Bruno Haible  <bruno@clisp.org>
19554
19555         Use POSIX declarations for socket functions.
19556         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
19557         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
19558         rpl_sendto): Change declaration to match POSIX.
19559         * lib/connect.c (rpl_connect): Likewise.
19560         * lib/accept.c (rpl_accept): Likewise.
19561         * lib/bind.c (rpl_bind): Likewise.
19562         * lib/getpeername.c (rpl_getpeername): Likewise.
19563         * lib/getsockname.c (rpl_getsockname): Likewise.
19564         * lib/recv.c (rpl_recv): Likewise.
19565         * lib/send.c (rpl_send): Likewise.
19566         * lib/recvfrom.c (rpl_recvfrom): Likewise.
19567         * lib/sendto.c (rpl_sendto): Likewise.
19568
19569 2010-03-06  Bruno Haible  <bruno@clisp.org>
19570
19571         Clarify access, euidaccess, faccessat.
19572         * doc/posix-functions/faccessat.texi: Mention security problem under
19573         "Other problems", not "Portability problems".
19574         * doc/posix-functions/access.texi: Likewise. Mention a related security
19575         problem.
19576         * doc/glibc-functions/euidaccess.texi: Mention security problems.
19577         * lib/euidaccess.c: Add comments about platforms.
19578         * lib/unistd.in.h (access, euidaccess): Add warnings.
19579
19580 2010-03-07  Bruno Haible  <bruno@clisp.org>
19581
19582         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
19583         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
19584         (POSIX_SPAWN_SETSCHEDULER): Likewise.
19585         (POSIX_SPAWN_USEVFORK): Define in a way that works when
19586         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19587         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
19588         declare when POSIX_SPAWN_SETSCHEDULER is zero.
19589         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
19590         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
19591         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
19592         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
19593         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
19594         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
19595         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
19596         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
19597         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
19598         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
19599         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
19600         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
19601         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
19602         Likewise.
19603         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
19604         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
19605         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
19606         Likewise.
19607         * tests/test-spawn.c (main): Make it work when
19608         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19609
19610 2010-03-07  Bruno Haible  <bruno@clisp.org>
19611
19612         Fix incorrect Makefile.am generation in German locale.
19613         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19614         Execute sed command with character range in C locale.
19615
19616 2010-03-06  Bruno Haible  <bruno@clisp.org>
19617
19618         Tests for module 'iconv-h'.
19619         * modules/iconv-h-tests: New file.
19620         * tests/test-iconv-h.c: New file.
19621
19622         New module 'iconv-h'.
19623         * modules/iconv-h: New file.
19624         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
19625         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
19626         (configure.ac): Remove gl_ICONV_H.
19627         (Makefile.am): Remove rule for iconv.h.
19628
19629 2010-03-06  Bruno Haible  <bruno@clisp.org>
19630
19631         More consistent naming of *.m4 files.
19632         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
19633         * modules/wctype (Files): Update.
19634
19635         More consistent naming of *.m4 files.
19636         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
19637         * modules/wchar (Files): Update.
19638
19639 2010-03-06  Jim Meyering  <meyering@redhat.com>
19640
19641         euidaccess: relax license to LGPLv2+
19642         * modules/euidaccess (License): Relax to LGPLv2+.
19643
19644 2010-03-06  Bruno Haible  <bruno@clisp.org>
19645
19646         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
19647         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
19648         (Makefile.am): Augment lib_SOURCES instead.
19649
19650 2010-03-04  Jim Meyering  <meyering@redhat.com>
19651
19652         utime: remove obsolete module
19653         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
19654         unnecessary for years, and has been marked as obsolete for 10 months.
19655         * modules/utime: Remove file.
19656         * lib/utime.c: Remove file.
19657         * m4/utime.m4: Remove file.
19658         * m4/utimes-null.m4: Remove file.
19659         * doc/posix-functions/utime.texi (utime): Remove reference to
19660         the module.  Move the sole "fixed by gnulib" item into the
19661         "problems not fixed by Gnulib" list.
19662         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
19663
19664 2010-03-05  Simon Josefsson  <simon@josefsson.org>
19665
19666         * modules/exit (License): Relax license to LGPLv2+.
19667         (Status): Mark as obsolete.
19668         * NEWS: Mention deprecated 'exit' module.
19669         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
19670         of now obsolete 'exit'.
19671
19672 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19673
19674         fts-lgpl: remove unused module
19675         * modules/fts-lgpl: Remove.
19676         * MODULES.html.sh (func_all_modules): Adjust.
19677         * check-module (find_included_lib_files): Adjust.
19678         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
19679
19680 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
19681
19682         copy-acl: enhance Solaris ACL error handling
19683         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
19684         * lib/set-mode-acl.c (qset_acl): Likewise.
19685
19686 2010-03-02  Bruno Haible  <bruno@clisp.org>
19687
19688         spawn: Don't override the system defined values on FreeBSD 8.
19689         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
19690         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
19691         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
19692         if HAVE_POSIX_SPAWN is 1.
19693         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
19694
19695 2010-03-01  Bruno Haible  <bruno@clisp.org>
19696
19697         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
19698         regarding Automake.
19699
19700 2010-02-25  Bruno Haible  <bruno@clisp.org>
19701
19702         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
19703         * gnulib-tool: Define 'echo' as a function only before the ksh alias
19704         setting, not afterwards.
19705         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
19706
19707 2010-02-24  Eric Blake  <eblake@redhat.com>
19708
19709         bootstrap, git-version-gen: use timestamp
19710         * build-aux/git-version-gen (scriptversion): Force UTC.
19711         * build-aux/bootstrap (scriptversion): New variable.
19712
19713         bootstrap: allow older git
19714         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
19715         older than 1.6.4.  Requested by the libvirt project.
19716
19717 2010-02-23  Eric Blake  <eblake@redhat.com>
19718
19719         warn-on-use: work with old autoconf
19720         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
19721         AS_VAR semantics of autoconf 2.60.
19722         Reported by Bruno Haible.
19723
19724         bootstrap: improve some comments
19725         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
19726         clarification comments.
19727
19728         gettimeofday: provide correct function
19729         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
19730         when replacement is declared, otherwise provide gettimeofday.
19731         Reported by Michael Goffioul.
19732
19733 2010-02-23  Jim Meyering  <meyering@redhat.com>
19734
19735         lib-ignore: relax license to "unlimited", not LGPLv2+
19736         * modules/lib-ignore (License): Relax to "unlimited".
19737
19738 2010-02-23  Jim Meyering  <meyering@redhat.com>
19739
19740         lib-ignore: relax license to LGPLv2+
19741         * modules/lib-ignore (License): Relax to LGPLv2+.
19742
19743 2010-02-22  Eric Blake  <eblake@redhat.com>
19744
19745         lseek: avoid bash 3.2 broken pipe bug
19746         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
19747         warning from bash 3.2.
19748         Reported by Ben Pfaff, with analysis from Bruno Haible.
19749
19750         bootstrap: support non-FSF copyright holder
19751         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
19752         bootstrap.conf override of COPYRIGHT_HOLDER.
19753         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
19754
19755         bootstrap: interoperate with gettext 0.14.1
19756         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
19757
19758         bootstrap: allow for alternate submodule location
19759         * build-aux/bootstrap (gnulib_path): New variable; use instead of
19760         hardcoding submodule location.
19761         (gnulib_mk): Allow direct use of Makefile.am.
19762
19763         bootstrap: use GNULIB_SRCDIR to reduce disk usage
19764         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
19765         rather than reconfiguring where the submodule points.
19766
19767         gettimeofday: restore support for platforms that lack function
19768         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
19769         replacement if function is missing.
19770         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
19771         * modules/sys_time (Makefile.am): Substitute it.
19772         * lib/sys_time.in.h (gettimeofday): Check it.
19773         Reported by Michael Goffioul.
19774
19775 2010-02-21  Bruno Haible  <bruno@clisp.org>
19776
19777         * lib/stdio.in.h (obstack_printf): Fix typo.
19778
19779 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
19780
19781         vc-list-files: use bzr ls's -R option
19782         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
19783         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
19784
19785 2010-02-21  Jim Meyering  <meyering@redhat.com>
19786
19787         init.sh: fix EXEEXT shims to work also for names like test-prog
19788         * tests/init.sh: Re-exec a better shell, when needed.
19789         If the current shell lacks support for posix $(...), an init.sh-using
19790         test will now try to find a shell that supports that.  If EXEEXT is
19791         nonempty, we also require support for hyphen-in-alias-name and shell
19792         substitutions like ${var#glob}.  Failure to find such a shell results
19793         in a skipped test.
19794
19795 2010-02-21  Bruno Haible  <bruno@clisp.org>
19796
19797         Really work around around "broken pipe" error message from bash 3.2.
19798         * gnulib-tool (func_reset_sigpipe): Remove function.
19799         (echo): In bash 3.2, define to a function that uses printf.
19800         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
19801
19802 2010-02-20  Bruno Haible  <bruno@clisp.org>
19803
19804         Restore support for automake 1.9.6 with autoconf 2.61.
19805         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
19806         Reported by James Youngman <jay@gnu.org>.
19807
19808 2010-02-20  Bruno Haible  <bruno@clisp.org>
19809
19810         Improve *printf warning condition.
19811         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
19812         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
19813         and the function is overridden due to SIGPIPE emulation.
19814
19815 2010-02-20  Bruno Haible  <bruno@clisp.org>
19816
19817         * lib/stdio.in.h: Tweak comments.
19818
19819 2010-02-19  Bruno Haible  <bruno@clisp.org>
19820
19821         Make it easier to find modules. New gnulib-tool option '--find'.
19822         * gnulib-tool: New option --find.
19823         (func_usage): Document it.
19824         (func_sanitize_modulelist): New function, extracted from
19825         func_all_modules.
19826         (func_all_modules): Invoke it.
19827         * doc/gnulib-tool.texi (Which modules?): New node.
19828
19829 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
19830
19831         * lib/sys_select.in.h: Provide select replacement even if
19832         sys/select.h exists on a system, for Interix.
19833
19834 2010-02-18  Jim Meyering  <meyering@redhat.com>
19835
19836         init.sh: don't use $(...) just yet
19837         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
19838         to accommodate e.g., Solaris' /bin/sh.
19839
19840 2010-02-17  Bruno Haible  <bruno@clisp.org>
19841
19842         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
19843         Reported by Ludovic Courtès <ludo@gnu.org>.
19844
19845 2010-02-16  Simon Josefsson  <simon@josefsson.org>
19846
19847         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
19848         linking with -lintl.
19849
19850 2010-02-17  Simon Josefsson  <simon@josefsson.org>
19851
19852         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
19853         if not provided by the system's netdb.h.  Reported by
19854         ludo@gnu.org (Ludovic Courtès).
19855
19856 2010-02-15  Jim Meyering  <meyering@redhat.com>
19857
19858         init.sh: improve portability and efficiency
19859         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
19860         "dummy" in a for loop.
19861         Use '!', not '^' to select the complement of a character set used
19862         in a "case" statement.
19863         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
19864         Suggestions from Eric Blake.
19865
19866         init.sh: automatically accommodate programs with the .exe suffix
19867         Automatically arrange for an invocation of "prog" to execute the
19868         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
19869         may use the simpler "prog", yet still work when built on a system
19870         that requires specifying the added suffix.
19871         Do this by constructing a function named "prog" that invokes
19872         "prog.exe" for each .exe file in selected directories.
19873         * tests/init.sh (find_exe_basenames_): New function.
19874         (create_exe_shim_functions_): New function.
19875         (path_prepend_): Use it.
19876
19877         maint.mk: mark syntax-check sc_*.m rules as .PHONY
19878         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
19879         "make -t syntax-check" doesn't create a ton of sc_*.m files.
19880
19881 2010-02-14  Jim Meyering  <meyering@redhat.com>
19882
19883         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
19884         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
19885         (sc_prohibit_hash_pjw_without_use): New rule.
19886
19887         maint.mk: allow the default upload destination dir to be overridden
19888         * top/maint.mk (upload_dest_dir_): Define with a default that
19889         preserves the status quo.
19890         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
19891         Reported by Peter Simons.
19892
19893         maint.mk: prohibit inclusion of "hash.h" without_use
19894         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
19895
19896 2010-02-10  Jim Meyering  <meyering@redhat.com>
19897
19898         maint.mk: prohibit inclusion of "ignore-value.h" without_use
19899         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
19900
19901 2010-02-09  Eric Blake  <ebb9@byu.net>
19902         and Bruno Haible  <bruno@clisp.org>
19903
19904         obstack-printf-posix: ensure declaration
19905         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
19906         extracted from gl_FUNC_OBSTACK_PRINTF.
19907         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
19908         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
19909         Likewise.
19910         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
19911         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
19912         0.
19913
19914 2010-02-08  Bruno Haible  <bruno@clisp.org>
19915
19916         gnulib-tool: Fix typo in 2010-02-07 commit.
19917         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
19918         Reported by Eric Blake.
19919
19920 2010-02-07  Bruno Haible  <bruno@clisp.org>
19921
19922         gnulib-tool: Fix up caching patches.
19923         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
19924         option --no-cache. Use associative arrays when supported by the shell.
19925         (sed_comments): New variable.
19926         (modcache): Renamed from do_cache.
19927         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
19928         abbreviate unnecessarily.
19929         (have_associative): New variable.
19930         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
19931         way also for ksh and zsh.
19932         (func_init_sed_convert_to_cache_statements): New function, extracted
19933         from func_cache_lookup_module. Add support for associative arrays.
19934         Don't set the c_MODULE_cached variable here. Ignore all lines before
19935         the first field header. Remove only the final newline, not all trailing
19936         newlines. Support empty fields correctly. Limit the use of 'eval' to
19937         assignments.
19938         (func_get_description, func_get_status, func_get_notice,
19939         func_get_applicability, func_get_filelist, func_get_dependencies,
19940         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
19941         func_get_automake_snippet, func_get_include_directive,
19942         func_get_link_directive, func_get_license, func_get_maintainer):
19943         Update documentation. List the unoptimized code first. Add support for
19944         associative arrays. Limit the use of 'eval' to assignments.
19945         (func_get_applicability): Undo stylistic pessimisations.
19946         (func_get_automake_snippet, func_get_include_directive): Reduce code
19947         duplication.
19948         (func_modules_transitive_closure, func_modules_add_dummy,
19949         func_modules_notice, func_modules_to_filelist, func_add_file,
19950         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
19951         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
19952         func_create_testdir, func_create_megatestdir): Update documentation.
19953
19954 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19955
19956         * gnulib-tool (func_cache_lookup_module): Store the module name
19957         belonging to the cache variable; error out if two different
19958         module names map to the same cache variable name.
19959
19960 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19961
19962         gnulib-tool: Make caching optional.
19963         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
19964         Update matching short versions of --no-changelog.
19965         (func_usage): Update.
19966         (sed_extract_cache_prog): Renamed from ...
19967         (sed_extract_prog): ... this; revert to old extraction script.
19968         (func_get_description, func_get_status)
19969         (func_get_notice, func_get_applicability, func_get_filelist)
19970         (func_get_dependencies, func_get_autoconf_early_snippet)
19971         (func_get_autoconf_snippet, func_get_automake_snippet)
19972         (func_get_include_directive, func_get_link_directive)
19973         (func_get_license, func_get_maintainer): If $do_cache is false,
19974         use old, non-caching extraction scripts.
19975         Suggestion by Bruno Haible.
19976
19977 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19978
19979         gnulib-tool: cache module metainformation.
19980         * gnulib-tool (sed_extract_prog): Match newline before each
19981         header, and rewrite header to a shell variable suffix.
19982         (func_cache_var, func_cache_lookup_module): New functions,
19983         to turn a module name into a cache variable prefix, and to
19984         look up and cache module metainformation.
19985         (func_get_description, func_get_status)
19986         (func_get_notice, func_get_applicability, func_get_filelist)
19987         (func_get_dependencies, func_get_autoconf_early_snippet)
19988         (func_get_autoconf_snippet, func_get_automake_snippet)
19989         (func_get_include_directive, func_get_link_directive)
19990         (func_get_license, func_get_maintainer): Use
19991         func_cache_lookup_module.
19992
19993 2010-02-07  Bruno Haible  <bruno@clisp.org>
19994
19995         fnctl: Fix missing dependency.
19996         * modules/fcntl (Depends-on): Add getdtablesize.
19997         Reported by John W. Eaton <jwe@gnu.org>.
19998
19999 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20000
20001         Argp: fix recognition of short alias options.
20002
20003         * lib/argp-parse.c (convert_options): Fix improper use of
20004         `|' between character values.
20005         * tests/test-argp.c (group1_option): New alias option
20006         --read (-r).
20007         (group1_parser): Special handling for 'r'.
20008         (test15): New test case.
20009         (test_fun): Add test15.
20010         * tests/test-argp-2.sh: Update expected --help and --usage
20011         outputs.
20012
20013 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20014
20015         * tests/test-argp.c: Fix indentation.
20016
20017 2010-02-04  Eric Blake  <ebb9@byu.net>
20018
20019         gettimeofday: expose type of second argument
20020         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
20021         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
20022         * tests/test-gettimeofday.c: Use it to silence warning.
20023         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
20024         the issue.
20025
20026 2010-02-03  Jim Meyering  <meyering@redhat.com>
20027
20028         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
20029         * lib/regcomp.c (TYPE_SIGNED): Define.
20030         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
20031
20032         regcomp.c: avoid a new -Wshadow warning
20033         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
20034
20035 2010-02-01  Jim Meyering  <meyering@redhat.com>
20036
20037         removing useless parentheses in cpp #define directives
20038         For motivation, see commit c0221df4, "define STREQ(a,b)
20039         consistently, removing useless parentheses"
20040         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
20041         * lib/mountlist.c (MNT_IGNORE): Likewise.
20042         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
20043
20044 2010-02-01  Eric Blake  <ebb9@byu.net>
20045
20046         sys_time: use link-warning
20047         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
20048         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
20049         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
20050         * modules/sys_time (Depends-on): Add warn-on-use.
20051         (Makefile.am): Always build replacement.
20052         (configure.ac): Update substitutions.
20053         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
20054         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
20055         bother with SYS_TIME_H.
20056         * modules/gettimeofday (configure.ac): Declare indicator.
20057         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
20058         in use.
20059
20060         closein-tests: silence compiler warning
20061         * tests/test-closein.c (main): Ignore fread result.
20062         * modules/closein-tests (Depends-on): Add ignore-value.
20063
20064         tests: silence warning about system return
20065         * tests/test-areadlink-with-size.c (main): Ignore system result.
20066         * tests/test-areadlink.c (main): Likewise.
20067         * tests/test-areadlinkat-with-size.c (main): Likewise.
20068         * tests/test-areadlinkat.c (main): Likewise.
20069         * tests/test-canonicalize-lgpl.c (main): Likewise.
20070         * tests/test-canonicalize.c (main): Likewise.
20071         * tests/test-chown.c (main): Likewise.
20072         * tests/test-fchownat.c (main): Likewise.
20073         * tests/test-fdutimensat.c (main): Likewise.
20074         * tests/test-fstatat.c (main): Likewise.
20075         * tests/test-futimens.c (main): Likewise.
20076         * tests/test-lchown.c (main): Likewise.
20077         * tests/test-link.c (main): Likewise.
20078         * tests/test-linkat.c (main): Likewise.
20079         * tests/test-lstat.c (main): Likewise.
20080         * tests/test-mkdir.c (main): Likewise.
20081         * tests/test-mkdirat.c (main): Likewise.
20082         * tests/test-mkfifo.c (main): Likewise.
20083         * tests/test-mkfifoat.c (main): Likewise.
20084         * tests/test-mknod.c (main): Likewise.
20085         * tests/test-readlink.c (main): Likewise.
20086         * tests/test-remove.c (main): Likewise.
20087         * tests/test-rename.c (main): Likewise.
20088         * tests/test-renameat.c (main): Likewise.
20089         * tests/test-rmdir.c (main): Likewise.
20090         * tests/test-symlink.c (main): Likewise.
20091         * tests/test-symlinkat.c (main): Likewise.
20092         * tests/test-unlink.c (main): Likewise.
20093         * tests/test-unlinkat.c (main): Likewise.
20094         * tests/test-utimens.c (main): Likewise.
20095         * tests/test-utimensat.c (main): Likewise.
20096         * modules/areadlink-tests (Depends-on): Add ignore-value.
20097         * modules/areadlink-with-size-tests (Depends-on): Likewise.
20098         * modules/areadlinkat-tests (Depends-on): Likewise.
20099         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
20100         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
20101         * modules/canonicalize-tests (Depends-on): Likewise.
20102         * modules/chown-tests (Depends-on): Likewise.
20103         * modules/fdutimensat-tests (Depends-on): Likewise.
20104         * modules/futimens-tests (Depends-on): Likewise.
20105         * modules/lchown-tests (Depends-on): Likewise.
20106         * modules/link-tests (Depends-on): Likewise.
20107         * modules/linkat-tests (Depends-on): Likewise.
20108         * modules/lstat-tests (Depends-on): Likewise.
20109         * modules/mkdir-tests (Depends-on): Likewise.
20110         * modules/mkfifo-tests (Depends-on): Likewise.
20111         * modules/mkfifoat-tests (Depends-on): Likewise.
20112         * modules/mknod-tests (Depends-on): Likewise.
20113         * modules/openat-tests (Depends-on): Likewise.
20114         * modules/readlink-tests (Depends-on): Likewise.
20115         * modules/remove-tests (Depends-on): Likewise.
20116         * modules/rename-tests (Depends-on): Likewise.
20117         * modules/renameat-tests (Depends-on): Likewise.
20118         * modules/rmdir-tests (Depends-on): Likewise.
20119         * modules/symlink-tests (Depends-on): Likewise.
20120         * modules/symlinkat-tests (Depends-on): Likewise.
20121         * modules/unlink-tests (Depends-on): Likewise.
20122         * modules/utimens-tests (Depends-on): Likewise.
20123         * modules/utimensat-tests (Depends-on): Likewise.
20124
20125 2010-01-31  Bruno Haible  <bruno@clisp.org>
20126
20127         Perform the same test for many <math.h> functions.
20128         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
20129         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
20130         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
20131         of gl_MATHFUNC.
20132         * modules/acos (configure.ac): Likewise.
20133         * modules/asin (configure.ac): Likewise.
20134         * modules/atan (configure.ac): Likewise.
20135         * modules/atan2 (configure.ac): Likewise.
20136         * modules/cbrt (configure.ac): Likewise.
20137         * modules/copysign (configure.ac): Likewise.
20138         * modules/cos (configure.ac): Likewise.
20139         * modules/cosh (configure.ac): Likewise.
20140         * modules/erf (configure.ac): Likewise.
20141         * modules/erfc (configure.ac): Likewise.
20142         * modules/exp (configure.ac): Likewise.
20143         * modules/fmod (configure.ac): Likewise.
20144         * modules/hypot (configure.ac): Likewise.
20145         * modules/j0 (configure.ac): Likewise.
20146         * modules/j1 (configure.ac): Likewise.
20147         * modules/jn (configure.ac): Likewise.
20148         * modules/lgamma (configure.ac): Likewise.
20149         * modules/log (configure.ac): Likewise.
20150         * modules/log10 (configure.ac): Likewise.
20151         * modules/log1p (configure.ac): Likewise.
20152         * modules/pow (configure.ac): Likewise.
20153         * modules/remainder (configure.ac): Likewise.
20154         * modules/sin (configure.ac): Likewise.
20155         * modules/sinh (configure.ac): Likewise.
20156         * modules/tan (configure.ac): Likewise.
20157         * modules/tanh (configure.ac): Likewise.
20158         * modules/y0 (configure.ac): Likewise.
20159         * modules/y1 (configure.ac): Likewise.
20160         * modules/yn (configure.ac): Likewise.
20161         Suggested by Paolo Bonzini.
20162
20163 2010-01-31  Bruno Haible  <bruno@clisp.org>
20164
20165         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
20166
20167 2010-01-31  Bruno Haible  <bruno@clisp.org>
20168
20169         Work around getdelim() bug on FreeBSD 8.0.
20170         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
20171         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
20172         not work.
20173         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
20174         is 1.
20175         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
20176         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
20177         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
20178         a non-zero size.
20179         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
20180
20181 2010-01-31  Bruno Haible  <bruno@clisp.org>
20182
20183         Work around getline() bug on FreeBSD 8.0.
20184         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
20185         and a non-zero size.
20186         * tests/test-getline.c (main): Likewise.
20187         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
20188         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
20189
20190 2010-01-28  Eric Blake  <ebb9@byu.net>
20191
20192         regex: fix build failure
20193         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
20194         platforms.
20195
20196 2010-01-28  Jim Meyering  <meyering@redhat.com>
20197
20198         regex: do not ignore memory allocation failure
20199         * lib/regex_internal.c (create_cd_newstate): Detect
20200         re_node_set_init_copy failure.   Extracted from glibc commit
20201         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20202
20203         regex: sync more white-space changes from libc
20204         * lib/regex_internal.c: White-space only changes.
20205         * lib/regexec.c: Likewise.
20206
20207         regex: add many uses of __attribute_warn_unused_result__
20208         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
20209         * lib/regexec.c: Likewise.
20210         Extracted from a messy glibc commit.
20211
20212         regcomp.c: spelling and merge-artifact from glibc
20213         * lib/regcomp.c: Merge remainder of glibc's
20214         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20215
20216         regcomp.c: sync white-space changes from glibc
20217         * lib/regcomp.c: Merge to accommodate white space
20218         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20219
20220         regcomp.c: do not ignore internal return values
20221         * lib/regcomp.c: Do not ignore internal return values.
20222         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
20223         but without its white-space changes and spelling fixes.
20224
20225         regex_internal.h: define __attribute_warn_unused_result__
20226         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
20227
20228         maint: add a syntax-check rule to check for vulnerable Makefile.in
20229         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
20230
20231 2010-01-27  Jim Meyering  <meyering@redhat.com>
20232
20233         ncftpput-ftp: clean up spaces
20234         * build-aux/ncftpput-ftp: Make Copyright line consistent.
20235         Remove trailing blanks.
20236
20237 2010-01-27  Simon Josefsson  <simon@josefsson.org>
20238
20239         * build-aux/git-version-gen: Fix copyright statement.
20240         * build-aux/gnupload: Likewise.
20241         * tests/test-arcfour.c: Likewise.
20242         * tests/test-arctwo.c: Likewise.
20243         * tests/test-count-one-bits.c: Likewise.
20244         * tests/test-crc.c: Likewise.
20245         * tests/test-des.c: Likewise.
20246         * tests/test-gc-arcfour.c: Likewise.
20247         * tests/test-gc-arctwo.c: Likewise.
20248         * tests/test-gc-des.c: Likewise.
20249         * tests/test-gc-hmac-md5.c: Likewise.
20250         * tests/test-gc-hmac-sha1.c: Likewise.
20251         * tests/test-gc-md2.c: Likewise.
20252         * tests/test-gc-md4.c: Likewise.
20253         * tests/test-gc-md5.c: Likewise.
20254         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20255         * tests/test-gc-rijndael.c: Likewise.
20256         * tests/test-gc-sha1.c: Likewise.
20257         * tests/test-gc.c: Likewise.
20258         * tests/test-gethostname.c: Likewise.
20259         * tests/test-gettimeofday.c: Likewise.
20260         * tests/test-hash.c: Likewise.
20261         * tests/test-hmac-md5.c: Likewise.
20262         * tests/test-hmac-sha1.c: Likewise.
20263         * tests/test-md2.c: Likewise.
20264         * tests/test-md4.c: Likewise.
20265         * tests/test-md5.c: Likewise.
20266         * tests/test-memchr.c: Likewise.
20267         * tests/test-memchr2.c: Likewise.
20268         * tests/test-memcmp.c: Likewise.
20269         * tests/test-memmem.c: Likewise.
20270         * tests/test-memrchr.c: Likewise.
20271         * tests/test-rawmemchr.c: Likewise.
20272         * tests/test-read-file.c: Likewise.
20273         * tests/test-rijndael.c: Likewise.
20274         * tests/test-sockets.c: Likewise.
20275         * tests/test-strchrnul.c: Likewise.
20276         * tests/test-strstr.c: Likewise.
20277         * tests/test-strtod.c: Likewise.
20278         * build-aux/ncftpput-ftp: Likewise.
20279
20280 2010-01-26  Eric Blake  <ebb9@byu.net>
20281
20282         ignore-value: update recommended header name
20283         * modules/ignore-value (Include): Only use <> for headers that
20284         exist in glibc.
20285
20286 2010-01-26  Jim Meyering  <meyering@redhat.com>
20287
20288         test-userspec.c: avoid compiler warnings
20289         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
20290         and "initialization discards qualifiers..." warnings.
20291         Put the first "uid" in its own scope, and make char* members "const".
20292
20293 2010-01-25  Bruno Haible  <bruno@clisp.org>
20294
20295         gnulib-tool: Make warning diagnostics consistent.
20296         * gnulib-tool (func_warning): New function.
20297         Use it everywhere where gnulib-tool produces output to stderr and it is
20298         not a fatal error.
20299
20300 2010-01-25  Bruno Haible  <bruno@clisp.org>
20301
20302         Fix test dependencies.
20303         * modules/xstrtol-tests (Depends-on): Add inttypes.
20304         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
20305
20306 2010-01-25 Pádraig Brady <P@draigBrady.com>
20307
20308         syntax-check: detect incorrect boolean macro values in config.h
20309         * modules/maintainer-makefile (configure.ac): Parameterize the location
20310         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
20311         The logic is from Eric Blake and the location indicated by Jim Meyering.
20312         Note the more natural CONFIG_HEADER name is prohibited by automake
20313         for backwards compatibility reasons.
20314         * top/maint.mk (sc_Wundef_boolean): New rule.
20315
20316 2010-01-25  Jim Meyering  <meyering@redhat.com>
20317
20318         bootstrap: detect MacOS 10.6's shasum, too
20319         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
20320         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
20321
20322 2010-01-23  Jim Meyering  <meyering@redhat.com>
20323
20324         xstrtoll: new module
20325         * modules/xstrtoll: New file.
20326         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
20327         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
20328         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
20329         ./configure fails if you use this module and lack "long long".
20330         * modules/xstrtoll-tests: New module.
20331         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
20332         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
20333         new init.sh-based test framework.
20334
20335 2010-01-24  Bruno Haible  <bruno@clisp.org>
20336
20337         Tests for module 'yn'.
20338         * modules/yn-tests: New file.
20339         * tests/test-yn.c: New file.
20340
20341         Tests for module 'y1'.
20342         * modules/y1-tests: New file.
20343         * tests/test-y1.c: New file.
20344
20345         Tests for module 'y0'.
20346         * modules/y0-tests: New file.
20347         * tests/test-y0.c: New file.
20348
20349         Tests for module 'tanh'.
20350         * modules/tanh-tests: New file.
20351         * tests/test-tanh.c: New file.
20352
20353         Tests for module 'tan'.
20354         * modules/tan-tests: New file.
20355         * tests/test-tan.c: New file.
20356
20357         Tests for module 'sqrt'.
20358         * modules/sqrt-tests: New file.
20359         * tests/test-sqrt.c: New file.
20360
20361         Tests for module 'sinh'.
20362         * modules/sinh-tests: New file.
20363         * tests/test-sinh.c: New file.
20364
20365         Tests for module 'sin'.
20366         * modules/sin-tests: New file.
20367         * tests/test-sin.c: New file.
20368
20369         Tests for module 'rint'.
20370         * modules/rint-tests: New file.
20371         * tests/test-rint.c: New file.
20372
20373         Tests for module 'remainder'.
20374         * modules/remainder-tests: New file.
20375         * tests/test-remainder.c: New file.
20376
20377         Tests for module 'pow'.
20378         * modules/pow-tests: New file.
20379         * tests/test-pow.c: New file.
20380
20381         Tests for module 'nextafter'.
20382         * modules/nextafter-tests: New file.
20383         * tests/test-nextafter.c: New file.
20384
20385         Tests for module 'modf'.
20386         * modules/modf-tests: New file.
20387         * tests/test-modf.c: New file.
20388
20389         Tests for module 'logb'.
20390         * modules/logb-tests: New file.
20391         * tests/test-logb.c: New file.
20392
20393         Tests for module 'log1p'.
20394         * modules/log1p-tests: New file.
20395         * tests/test-log1p.c: New file.
20396
20397         Tests for module 'log10'.
20398         * modules/log10-tests: New file.
20399         * tests/test-log10.c: New file.
20400
20401         Tests for module 'log'.
20402         * modules/log-tests: New file.
20403         * tests/test-log.c: New file.
20404
20405         Tests for module 'lgamma'.
20406         * modules/lgamma-tests: New file.
20407         * tests/test-lgamma.c: New file.
20408
20409         Tests for module 'ldexp'.
20410         * modules/ldexp-tests: New file.
20411         * tests/test-ldexp.c: New file.
20412
20413         Tests for module 'jn'.
20414         * modules/jn-tests: New file.
20415         * tests/test-jn.c: New file.
20416
20417         Tests for module 'j1'.
20418         * modules/j1-tests: New file.
20419         * tests/test-j1.c: New file.
20420
20421         Tests for module 'j0'.
20422         * modules/j0-tests: New file.
20423         * tests/test-j0.c: New file.
20424
20425         Tests for module 'hypot'.
20426         * modules/hypot-tests: New file.
20427         * tests/test-hypot.c: New file.
20428
20429         Tests for module 'fmod'.
20430         * modules/fmod-tests: New file.
20431         * tests/test-fmod.c: New file.
20432
20433         Tests for module 'fabs'.
20434         * modules/fabs-tests: New file.
20435         * tests/test-fabs.c: New file.
20436
20437         Tests for module 'exp'.
20438         * modules/exp-tests: New file.
20439         * tests/test-exp.c: New file.
20440
20441         Tests for module 'erfc'.
20442         * modules/erfc-tests: New file.
20443         * tests/test-erfc.c: New file.
20444
20445         Tests for module 'erf'.
20446         * modules/erf-tests: New file.
20447         * tests/test-erf.c: New file.
20448
20449         Tests for module 'cosh'.
20450         * modules/cosh-tests: New file.
20451         * tests/test-cosh.c: New file.
20452
20453         Tests for module 'cos'.
20454         * modules/cos-tests: New file.
20455         * tests/test-cos.c: New file.
20456
20457         Tests for module 'copysign'.
20458         * modules/copysign-tests: New file.
20459         * tests/test-copysign.c: New file.
20460
20461         Tests for module 'cbrt'.
20462         * modules/cbrt-tests: New file.
20463         * tests/test-cbrt.c: New file.
20464
20465         Tests for module 'atan2'.
20466         * modules/atan2-tests: New file.
20467         * tests/test-atan2.c: New file.
20468
20469         Tests for module 'atan'.
20470         * modules/atan-tests: New file.
20471         * tests/test-atan.c: New file.
20472
20473         Tests for module 'asin'.
20474         * modules/asin-tests: New file.
20475         * tests/test-asin.c: New file.
20476
20477         Tests for module 'acos'.
20478         * modules/acos-tests: New file.
20479         * tests/test-acos.c: New file.
20480
20481 2010-01-24  Bruno Haible  <bruno@clisp.org>
20482
20483         Fix tests for common <math.h> functions.
20484         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
20485         code snippet that references the function pointer, rather than merely
20486         calling the function. Substitute the FUNC_LIBM variable.
20487         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
20488         * modules/acos (configure.ac): Likewise.
20489         * modules/asin (configure.ac): Likewise.
20490         * modules/atan (configure.ac): Likewise.
20491         * modules/atan2 (configure.ac): Likewise.
20492         * modules/cbrt (configure.ac): Likewise.
20493         * modules/copysign (configure.ac): Likewise.
20494         * modules/cos (configure.ac): Likewise.
20495         * modules/cosh (configure.ac): Likewise.
20496         * modules/erf (configure.ac): Likewise.
20497         * modules/erfc (configure.ac): Likewise.
20498         * modules/exp (configure.ac): Likewise.
20499         * modules/fabs (configure.ac): Likewise.
20500         * modules/fmod (configure.ac): Likewise.
20501         * modules/hypot (configure.ac): Likewise.
20502         * modules/j0 (configure.ac): Likewise.
20503         * modules/j1 (configure.ac): Likewise.
20504         * modules/jn (configure.ac): Likewise.
20505         * modules/ldexp (configure.ac): Likewise.
20506         * modules/lgamma (configure.ac): Likewise.
20507         * modules/log (configure.ac): Likewise.
20508         * modules/log10 (configure.ac): Likewise.
20509         * modules/log1p (configure.ac): Likewise.
20510         * modules/logb (configure.ac): Likewise.
20511         * modules/modf (configure.ac): Likewise.
20512         * modules/nextafter (configure.ac): Likewise.
20513         * modules/pow (configure.ac): Likewise.
20514         * modules/remainder (configure.ac): Likewise.
20515         * modules/rint (configure.ac): Likewise.
20516         * modules/sin (configure.ac): Likewise.
20517         * modules/sinh (configure.ac): Likewise.
20518         * modules/tan (configure.ac): Likewise.
20519         * modules/tanh (configure.ac): Likewise.
20520         * modules/y0 (configure.ac): Likewise.
20521         * modules/y1 (configure.ac): Likewise.
20522         * modules/yn (configure.ac): Likewise.
20523
20524 2010-01-24  Bruno Haible  <bruno@clisp.org>
20525
20526         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
20527         * tests/test-acosl.c (x): New variable.
20528         (main): Store argument in x and fetch it from x.
20529         * tests/test-asinl.c (x): New variable.
20530         (main): Store argument in x and fetch it from x.
20531         * tests/test-atanl.c (x): New variable.
20532         (main): Store argument in x and fetch it from x.
20533         * tests/test-cosl.c (x): New variable.
20534         (main): Store argument in x and fetch it from x.
20535         * tests/test-expl.c (x): New variable.
20536         (main): Store argument in x and fetch it from x.
20537         * tests/test-logl.c (x): New variable.
20538         (main): Store argument in x and fetch it from x.
20539         * tests/test-sinl.c (x): New variable.
20540         (main): Store argument in x and fetch it from x.
20541         * tests/test-sqrtl.c (x): New variable.
20542         (main): Store argument in x and fetch it from x.
20543         * tests/test-tanl.c (x): New variable.
20544         (main): Store argument in x and fetch it from x.
20545
20546 2010-01-24  Bruno Haible  <bruno@clisp.org>
20547
20548         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
20549         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
20550         assignments to the initial TESTS_ENVIRONMENT.
20551         * doc/gnulib.texi (Unit test modules): Document it.
20552         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
20553         TESTS_ENVIRONMENT.
20554         * modules/btowc-tests (Makefile.am): Likewise.
20555         * modules/c-stack-tests (Makefile.am): Likewise.
20556         * modules/c-strcase-tests (Makefile.am): Likewise.
20557         * modules/copy-file-tests (Makefile.am): Likewise.
20558         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
20559         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
20560         * modules/mbrtowc-tests (Makefile.am): Likewise.
20561         * modules/mbscasecmp-tests (Makefile.am): Likewise.
20562         * modules/mbscasestr-tests (Makefile.am): Likewise.
20563         * modules/mbschr-tests (Makefile.am): Likewise.
20564         * modules/mbscspn-tests (Makefile.am): Likewise.
20565         * modules/mbsinit-tests (Makefile.am): Likewise.
20566         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
20567         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
20568         * modules/mbspbrk-tests (Makefile.am): Likewise.
20569         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
20570         * modules/mbsrchr-tests (Makefile.am): Likewise.
20571         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
20572         * modules/mbsspn-tests (Makefile.am): Likewise.
20573         * modules/mbsstr-tests (Makefile.am): Likewise.
20574         * modules/nl_langinfo-tests (Makefile.am): Likewise.
20575         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
20576         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
20577         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
20578         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
20579         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
20580         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
20581         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
20582         * modules/wcrtomb-tests (Makefile.am): Likewise.
20583         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
20584         * modules/wcsrtombs-tests (Makefile.am): Likewise.
20585         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
20586         assignments from TESTS_ENVIRONMENT.
20587         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
20588         augmentation.
20589         * modules/argp-version-etc-tests (Makefile.am): Likewise.
20590         * modules/atexit-tests (Makefile.am): Likewise.
20591         * modules/binary-io-tests (Makefile.am): Likewise.
20592         * modules/closein-tests (Makefile.am): Likewise.
20593         * modules/dprintf-posix-tests (Makefile.am): Likewise.
20594         * modules/exclude-tests (Makefile.am): Likewise.
20595         * modules/fflush-tests (Makefile.am): Likewise.
20596         * modules/fpending-tests (Makefile.am): Likewise.
20597         * modules/fprintf-posix-tests (Makefile.am): Likewise.
20598         * modules/freadahead-tests (Makefile.am): Likewise.
20599         * modules/freadptr-tests (Makefile.am): Likewise.
20600         * modules/freadseek-tests (Makefile.am): Likewise.
20601         * modules/fseek-tests (Makefile.am): Likewise.
20602         * modules/fseeko-tests (Makefile.am): Likewise.
20603         * modules/ftell-tests (Makefile.am): Likewise.
20604         * modules/ftello-tests (Makefile.am): Likewise.
20605         * modules/idpriv-drop-tests (Makefile.am): Likewise.
20606         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
20607         * modules/lseek-tests (Makefile.am): Likewise.
20608         * modules/parse-duration-tests (Makefile.am): Likewise.
20609         * modules/perror-tests (Makefile.am): Likewise.
20610         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
20611         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
20612         * modules/pipe-tests (Makefile.am): Likewise.
20613         * modules/pread-tests (Makefile.am): Likewise.
20614         * modules/printf-posix-tests (Makefile.am): Likewise.
20615         * modules/select-tests (Makefile.am): Likewise.
20616         * modules/sigpipe-tests (Makefile.am): Likewise.
20617         * modules/tsearch-tests (Makefile.am): Likewise.
20618         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
20619         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
20620         * modules/uniname/uniname-tests (Makefile.am): Likewise.
20621         * modules/uniwidth/width-tests (Makefile.am): Likewise.
20622         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
20623         * modules/version-etc-tests (Makefile.am): Likewise.
20624         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
20625         * modules/vprintf-posix-tests (Makefile.am): Likewise.
20626         * modules/xalloc-die-tests (Makefile.am): Likewise.
20627         * modules/xprintf-posix-tests (Makefile.am): Likewise.
20628         * modules/xstrtoimax-tests (Makefile.am): Likewise.
20629         * modules/xstrtol-tests (Makefile.am): Likewise.
20630         * modules/xstrtoumax-tests (Makefile.am): Likewise.
20631         * modules/yesno-tests (Makefile.am): Likewise.
20632         Suggested by Jim Meyering.
20633
20634 2010-01-24  Bruno Haible  <bruno@clisp.org>
20635
20636         More documentation.
20637         * doc/gnulib.texi (Writing modules): New chapter.
20638         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
20639         the new chapter.
20640
20641 2010-01-24  Jim Meyering  <meyering@redhat.com>
20642
20643         maint.mk: do not prepend "./" after filtering
20644         * top/maint.mk (_prepend_srcdir_prefix): New variable
20645         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
20646         "./" when $(srcdir) is ".".
20647
20648         define STREQ(a,b) consistently, removing useless parentheses
20649         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
20650         since the only risk is that "a" or "b" contains an unparenthesized
20651         comma, but if either did that, STREQ would have 3 or more arguments.
20652         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
20653         * lib/fts.c (STREQ): Remove unnecessary parentheses.
20654         * lib/hash-triple.c (STREQ): Likewise.
20655         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
20656         * lib/getugroups.c (STREQ): Likewise.
20657
20658 2010-01-23  Jim Meyering  <meyering@redhat.com>
20659
20660         maint.mk: fix syntax-check in a non-srcdir build directory
20661         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
20662         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
20663
20664 2010-01-22  Jim Meyering  <meyering@redhat.com>
20665
20666         userspec: add unit tests
20667         * tests/test-userspec.c: New file.
20668         * modules/userspec-tests: Likewise.
20669
20670 2010-01-21  Jim Meyering  <meyering@redhat.com>
20671
20672         maint.mk: handle source file names containing "." robustly
20673         * top/maint.mk (_dot_escaped_srcdir): Define.
20674         (VC_LIST): Use it in LHS of sed substitution.
20675
20676 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
20677
20678         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
20679         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
20680         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
20681         from a non-srcdir build.
20682
20683 2010-01-20  Eric Blake  <ebb9@byu.net>
20684
20685         warn-on-use: use instead of link-warning
20686         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
20687         * modules/unistd (Depends-on, Makefile.am): Likewise.
20688         * modules/arpa_inet (Depends-on): Replace link-warning with
20689         warn-on-use.
20690         (Makefile.am): Update rules accordingly.
20691         * modules/ctype (Depends-on, Makefile.am): Likewise.
20692         * modules/dirent (Depends-on, Makefile.am): Likewise.
20693         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
20694         * modules/inttypes (Depends-on, Makefile.am): Likewise.
20695         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20696         * modules/locale (Depends-on, Makefile.am): Likewise.
20697         * modules/math (Depends-on, Makefile.am): Likewise.
20698         * modules/search (Depends-on, Makefile.am): Likewise.
20699         * modules/signal (Depends-on, Makefile.am): Likewise.
20700         * modules/spawn (Depends-on, Makefile.am): Likewise.
20701         * modules/stdlib (Depends-on, Makefile.am): Likewise.
20702         * modules/string (Depends-on, Makefile.am): Likewise.
20703         * modules/strings (Depends-on, Makefile.am): Likewise.
20704         * modules/sys_file (Depends-on, Makefile.am): Likewise.
20705         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
20706         * modules/sys_select (Depends-on, Makefile.am): Likewise.
20707         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
20708         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
20709         * modules/sys_times (Depends-on, Makefile.am): Likewise.
20710         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20711         * modules/wchar (Depends-on, Makefile.am): Likewise.
20712         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
20713         should be poisoned.
20714         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
20715         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
20716         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
20717         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20718         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20719         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20720         * m4/math_h.m4 (gl_MATH_H): Likewise.
20721         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20722         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
20723         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20724         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20725         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20726         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
20727         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
20728         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
20729         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20730         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20731         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20732         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
20733         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20734         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
20735         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20736         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20737         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
20738         GL_LINK_WARNING.
20739         * lib/ctype.in.h: Likewise.
20740         * lib/dirent.in.h: Likewise.
20741         * lib/fcntl.in.h: Likewise.
20742         * lib/inttypes.in.h: Likewise.
20743         * lib/langinfo.in.h: Likewise.
20744         * lib/locale.in.h: Likewise.
20745         * lib/math.in.h: Likewise.
20746         * lib/search.in.h: Likewise.
20747         * lib/signal.in.h: Likewise.
20748         * lib/spawn.in.h: Likewise.
20749         * lib/stdio.in.h: Likewise.
20750         * lib/stdlib.in.h: Likewise.
20751         * lib/string.in.h: Likewise.
20752         * lib/strings.in.h: Likewise.
20753         * lib/sys_file.in.h: Likewise.
20754         * lib/sys_ioctl.in.h: Likewise.
20755         * lib/sys_select.in.h: Likewise.
20756         * lib/sys_socket.in.h: Likewise.
20757         * lib/sys_stat.in.h: Likewise.
20758         * lib/sys_times.in.h: Likewise.
20759         * lib/sys_utsname.in.h: Likewise.
20760         * lib/unistd.in.h: Likewise.
20761         * lib/wchar.in.h: Likewise.
20762
20763 2010-01-20  Bruno Haible  <bruno@clisp.org>
20764
20765         Avoid duplicate -lm.
20766         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
20767         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
20768         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
20769         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
20770         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
20771         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
20772         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
20773         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
20774         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
20775         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
20776         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
20777         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20778         Reported by Paolo Bonzini.
20779
20780 2010-01-19  Bruno Haible  <bruno@clisp.org>
20781
20782         langinfo, nl_langinfo: Relicense under LGPLv2+.
20783         * modules/langinfo (License): Change to LGPLv2+.
20784         * modules/nl_langinfo (License): Likewise.
20785         Patch by David Lutterkort <lutter@redhat.com>.
20786
20787 2010-01-19  Bruno Haible  <bruno@clisp.org>
20788
20789         Avoid compilation error with cc on OSF/1 5.1.
20790         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
20791         statement, not before.
20792         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20793
20794 2010-01-18  Bruno Haible  <bruno@clisp.org>
20795
20796         Avoid a link error due to the __printf__ symbol.
20797         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
20798         and 2.6.x.
20799         (__format__, __printf__): Remove definitions.
20800         * lib/argp-fmtstream.h: Likewise.
20801         * lib/argp.h: Likewise.
20802         * lib/error.h: Likewise.
20803         * lib/vasnprintf.h: Likewise.
20804         * lib/xprintf.h: Likewise.
20805         * lib/xvasprintf.h: Likewise.
20806         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20807
20808 2010-01-18  Bruno Haible  <bruno@clisp.org>
20809
20810         Tests for module 'tanl'.
20811         * modules/tanl-tests: New file.
20812         * tests/test-tanl.c: New file.
20813
20814         Tests for module 'sqrtl'.
20815         * modules/sqrtl-tests: New file.
20816         * tests/test-sqrtl.c: New file.
20817
20818         Tests for module 'sinl'.
20819         * modules/sinl-tests: New file.
20820         * tests/test-sinl.c: New file.
20821
20822         Tests for module 'logl'.
20823         * modules/logl-tests: New file.
20824         * tests/test-logl.c: New file.
20825
20826         Tests for module 'expl'.
20827         * modules/expl-tests: New file.
20828         * tests/test-expl.c: New file.
20829
20830         Tests for module 'cosl'.
20831         * modules/cosl-tests: New file.
20832         * tests/test-cosl.c: New file.
20833
20834         Tests for module 'atanl'.
20835         * modules/atanl-tests: New file.
20836         * tests/test-atanl.c: New file.
20837
20838         Tests for module 'asinl'.
20839         * modules/asinl-tests: New file.
20840         * tests/test-asinl.c: New file.
20841
20842         Tests for module 'acosl'.
20843         * modules/acosl-tests: New file.
20844         * tests/test-acosl.c: New file.
20845
20846         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
20847         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
20848         tanl): Use the standard gnulib idiom.
20849         * lib/cosl.c: Don't include trigl.c and sincosl.c.
20850         * lib/sinl.c: Likewise.
20851         * lib/tanl.c: Don't include trigl.c.
20852         (kernel_tanl): Make static.
20853         * lib/sincosl.c: Include trigl.h first.
20854         * lib/trigl.c: Likewise.
20855         * m4/acosl.m4: New file.
20856         * m4/asinl.m4: New file.
20857         * m4/atanl.m4: New file.
20858         * m4/cosl.m4: New file.
20859         * m4/expl.m4: New file.
20860         * m4/logl.m4: New file.
20861         * m4/sinl.m4: New file.
20862         * m4/sqrtl.m4: New file.
20863         * m4/tanl.m4: New file.
20864         * m4/mathl.m4: Remove file.
20865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
20866         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
20867         Don't initialize GNULIB_MATHL.
20868         * modules/acosl: New file.
20869         * modules/asinl: New file.
20870         * modules/atanl: New file.
20871         * modules/cosl: New file.
20872         * modules/expl: New file.
20873         * modules/logl: New file.
20874         * modules/sinl: New file.
20875         * modules/sqrtl: New file.
20876         * modules/tanl: New file.
20877         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
20878         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
20879         substitute GNULIB_MATHL.
20880         * modules/mathl: Rewritten.
20881         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
20882         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
20883         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
20884         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
20885         * doc/posix-functions/expl.texi: Mention the 'expl' module.
20886         * doc/posix-functions/logl.texi: Mention the 'logl' module.
20887         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
20888         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
20889         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
20890
20891 2010-01-18  Bruno Haible  <bruno@clisp.org>
20892
20893         sqrt: Make gl_FUNC_SQRT requirable.
20894         * m4/sqrt.m4: New file.
20895         * modules/sqrt (Files): Add it.
20896         (configure.ac): Invoke gl_FUNC_SQRT.
20897
20898 2010-01-18  Bruno Haible  <bruno@clisp.org>
20899
20900         New modules for common <math.h> functions.
20901         * m4/mathfunc.m4: New file.
20902         * modules/acos: New file.
20903         * modules/asin: New file.
20904         * modules/atan: New file.
20905         * modules/atan2: New file.
20906         * modules/cbrt: New file.
20907         * modules/copysign: New file.
20908         * modules/cos: New file.
20909         * modules/cosh: New file.
20910         * modules/erf: New file.
20911         * modules/erfc: New file.
20912         * modules/exp: New file.
20913         * modules/fabs: New file.
20914         * modules/fmod: New file.
20915         * modules/hypot: New file.
20916         * modules/j0: New file.
20917         * modules/j1: New file.
20918         * modules/jn: New file.
20919         * modules/ldexp: New file.
20920         * modules/lgamma: New file.
20921         * modules/log: New file.
20922         * modules/log10: New file.
20923         * modules/log1p: New file.
20924         * modules/logb: New file.
20925         * modules/modf: New file.
20926         * modules/nextafter: New file.
20927         * modules/pow: New file.
20928         * modules/remainder: New file.
20929         * modules/rint: New file.
20930         * modules/sin: New file.
20931         * modules/sinh: New file.
20932         * modules/sqrt: New file.
20933         * modules/tan: New file.
20934         * modules/tanh: New file.
20935         * modules/y0: New file.
20936         * modules/y1: New file.
20937         * modules/yn: New file.
20938         * doc/posix-functions/acos.texi: Mention the 'acos' module.
20939         * doc/posix-functions/asin.texi: Mention the 'asin' module.
20940         * doc/posix-functions/atan.texi: Mention the 'atan' module.
20941         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
20942         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
20943         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
20944         * doc/posix-functions/cos.texi: Mention the 'cos' module.
20945         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
20946         * doc/posix-functions/erf.texi: Mention the 'erf' module.
20947         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
20948         * doc/posix-functions/exp.texi: Mention the 'exp' module.
20949         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
20950         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
20951         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
20952         * doc/posix-functions/j0.texi: Mention the 'j0' module.
20953         * doc/posix-functions/j1.texi: Mention the 'j1' module.
20954         * doc/posix-functions/jn.texi: Mention the 'jn' module.
20955         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
20956         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
20957         * doc/posix-functions/log.texi: Mention the 'log' module.
20958         * doc/posix-functions/log10.texi: Mention the 'log10' module.
20959         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
20960         * doc/posix-functions/logb.texi: Mention the 'logb' module.
20961         * doc/posix-functions/modf.texi: Mention the 'modf' module.
20962         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
20963         * doc/posix-functions/pow.texi: Mention the 'pow' module.
20964         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
20965         * doc/posix-functions/rint.texi: Mention the 'rint' module.
20966         * doc/posix-functions/sin.texi: Mention the 'sin' module.
20967         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
20968         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
20969         * doc/posix-functions/tan.texi: Mention the 'tan' module.
20970         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
20971         * doc/posix-functions/y0.texi: Mention the 'y0' module.
20972         * doc/posix-functions/y1.texi: Mention the 'y1' module.
20973         * doc/posix-functions/yn.texi: Mention the 'yn' module.
20974
20975 2010-01-18  Jim Meyering  <meyering@redhat.com>
20976
20977         ignore-value: relax license to LGPLv2+
20978         * modules/ignore-value (License): Relax to LGPLv2+.
20979
20980         getdate: don't leak when TZ contains two or more '"'s
20981         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
20982         double quote in TZ after the first one.
20983
20984         readtokens: do not leak internal token_lengths buffer
20985         * lib/readtokens.c (readtokens): Free the local, lengths,
20986         when the supplied "token_lengths" parameter is NULL.
20987
20988 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20989
20990         Fix a couple of missing LIBTHREAD link failures on AIX.
20991         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
20992         $(LIBTHREAD).
20993         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
20994
20995         Link test-poll against INET_PTON_LIB.
20996         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
20997         for inet_pton on Solaris 10.
20998
20999 2010-01-17  Bruno Haible  <bruno@clisp.org>
21000
21001         unistdio/*-sprintf: Fix typo in module description.
21002         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
21003         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
21004         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
21005         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
21006         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
21007         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
21008         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
21009         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21010
21011 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21012
21013         gnulib-tool: fix filelist for AIX, HP-UX ksh.
21014         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
21015         variables in shell case patterns, for AIX and HP-UX ksh.
21016
21017         Split large sed scripts, for HP-UX sed.
21018         * modules/stdio: Split sed scripts around 50 sed commands,
21019         to avoid HP-UX limit of 99 commands, in the near future.
21020         * modules/string: Likewise.
21021         * modules/unistd: Likewise.
21022
21023         gnulib-tool: avoid writing in the current directory.
21024         * gnulib-tool (func_emit_lib_Makefile_am)
21025         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
21026         not in the current directory, so concurrent gnulib-tool
21027         instances do not interfere.
21028
21029 2010-01-16  Jim Meyering  <meyering@redhat.com>
21030
21031         doc: update users.txt
21032         * users.txt: Add grep.
21033         (diffutils, gzip): Update URLs.
21034
21035 2010-01-12  Bruno Haible  <bruno@clisp.org>
21036
21037         posix_spawn: Avoid test failure on Cygwin.
21038         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
21039         characters.
21040         Reported by Simon Josefsson.
21041
21042 2010-01-12  Bruno Haible  <bruno@clisp.org>
21043
21044         * tests/test-cond.c (main): When skipping the test, show the reason.
21045
21046 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21047
21048         * lib/striconv.c (str_cd_iconv): Avoid if before free.
21049
21050 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21051
21052         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
21053         VC_LIST_ALWAYS_EXCLUDE_REGEX.
21054
21055 2010-01-12  Eric Blake  <ebb9@byu.net>
21056
21057         build: guarantee AS_VAR_IF
21058         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
21059         (gl_AS_VAR_IF): Move...
21060         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
21061         Reported by Simon Josefsson.
21062
21063 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21064
21065         * lib/stdio.in.h: Fix typo.
21066
21067 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21068
21069         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
21070         libgpg-error.
21071
21072 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21073
21074         * tests/test-xalloc-die.sh: Use $EXEEXT.
21075
21076 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21077             Bruno Haible  <bruno@clisp.org>
21078
21079         getlogin, getlogin_r: Avoid test failure.
21080         * tests/test-getlogin.c: Include <stdio.h>.
21081         (main): Skip the test when the function fails because stdin is not a
21082         tty.
21083         * tests/test-getlogin_r.c: Include <stdio.h>.
21084         (main): Skip the test when the function fails because stdin is not a
21085         tty.
21086
21087 2010-01-11  Eric Blake  <ebb9@byu.net>
21088
21089         tests: avoid more large file warnings
21090         * tests/test-fflush.c: Avoid warning about ftell use.
21091         * tests/test-fseek.c: Avoid warning about fseek use.
21092
21093 2010-01-10  Bruno Haible  <bruno@clisp.org>
21094
21095         nproc: Work better on Linux when /proc and /sys are not mounted.
21096         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
21097         as lower bound when, on glibc/Linux systems,
21098         sysconf (_SC_NPROCESSORS_CONF) returns 1.
21099         Suggested by Pádraig Brady <P@draigbrady.com>.
21100         Reported by Dmitry V. Levin <ldv@altlinux.org>.
21101
21102         nproc: Refactor.
21103         * lib/nproc.c (num_processors_via_affinity_mask): New function,
21104         extracted from num_processors.
21105         (num_processors): Call it.
21106
21107 2010-01-11  Jim Meyering  <meyering@redhat.com>
21108
21109         utimecmp: avoid new warning from upcoming gcc-4.5.0
21110         * lib/utimecmp.c (BILLION): Define using #define rather than an
21111         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
21112
21113 2010-01-11  Eric Blake  <ebb9@byu.net>
21114
21115         math: add portability warnings for classification macros
21116         * modules/math (Depends-on): Add warn-on-use.
21117         (Makefile.am): Provide new substitutions.
21118         * m4/math_h.m4 (gl_MATH_H): Require inline.
21119         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
21120         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
21121         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
21122         implement warnings.
21123
21124         unistd: warn on use of environ without module
21125         * modules/unistd (Depends-on): Add warn-on-use.
21126         (Makefile.am): Provide new substitutions.
21127         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
21128         * lib/unistd.in.h (environ): Wrap with a warning helper function.
21129
21130         stdio: warn on suspicious uses
21131         * modules/stdio (Depends-on): Add warn-on-use.
21132         (Makefile.am): Provide new substitutions.
21133         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
21134         fseeko.
21135         * lib/stdio.in.h (gets): Always warn on use.
21136         (fseek, ftell): Adjust when warnings are issued, and honor
21137         _GL_NO_LARGE_FILES as a way to silence the warning.
21138         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
21139         any warning about large file offsets.
21140         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
21141         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
21142         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
21143         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
21144         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
21145         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
21146         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
21147         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
21148
21149         warn-on-use: new module
21150         * modules/warn-on-use: New file.
21151         * build-aux/warn-on-use.h: Likewise.
21152         * m4/warn-on-use.m4: Likewise.
21153         * MODULES.html.sh (Support for building): Mention it.
21154
21155 2010-01-10  Bruno Haible  <bruno@clisp.org>
21156
21157         Tests for module 'unistr/u32-strdup'.
21158         * modules/unistr/u32-strdup-tests: New file.
21159         * tests/unistr/test-u32-strdup.c: New file.
21160
21161         Tests for module 'unistr/u16-strdup'.
21162         * modules/unistr/u16-strdup-tests: New file.
21163         * tests/unistr/test-u16-strdup.c: New file.
21164
21165         Tests for module 'unistr/u8-strdup'.
21166         * modules/unistr/u8-strdup-tests: New file.
21167         * tests/unistr/test-u8-strdup.c: New file.
21168         * tests/unistr/test-strdup.h: New file.
21169
21170         Tests for module 'unistr/u32-strncmp'.
21171         * modules/unistr/u32-strncmp-tests: New file.
21172         * tests/unistr/test-u32-strncmp.c: New file.
21173
21174         Tests for module 'unistr/u16-strncmp'.
21175         * modules/unistr/u16-strncmp-tests: New file.
21176         * tests/unistr/test-u16-strncmp.c: New file.
21177
21178         Tests for module 'unistr/u8-strncmp'.
21179         * modules/unistr/u8-strncmp-tests: New file.
21180         * tests/unistr/test-u8-strncmp.c: New file.
21181         * tests/unistr/test-strncmp.h: New file.
21182
21183         Tests for module 'unistr/u32-strcoll'.
21184         * modules/unistr/u32-strcoll-tests: New file.
21185         * tests/unistr/test-u32-strcoll.c: New file.
21186
21187         Tests for module 'unistr/u16-strcoll'.
21188         * modules/unistr/u16-strcoll-tests: New file.
21189         * tests/unistr/test-u16-strcoll.c: New file.
21190
21191         Tests for module 'unistr/u8-strcoll'.
21192         * modules/unistr/u8-strcoll-tests: New file.
21193         * tests/unistr/test-u8-strcoll.c: New file.
21194
21195         Tests for module 'unistr/u32-strcmp'.
21196         * modules/unistr/u32-strcmp-tests: New file.
21197         * tests/unistr/test-u32-strcmp.c: New file.
21198         * tests/unistr/test-u32-strcmp.h: New file.
21199
21200         Tests for module 'unistr/u16-strcmp'.
21201         * modules/unistr/u16-strcmp-tests: New file.
21202         * tests/unistr/test-u16-strcmp.c: New file.
21203         * tests/unistr/test-u16-strcmp.h: New file.
21204
21205         Tests for module 'unistr/u8-strcmp'.
21206         * modules/unistr/u8-strcmp-tests: New file.
21207         * tests/unistr/test-u8-strcmp.c: New file.
21208         * tests/unistr/test-u8-strcmp.h: New file.
21209         * tests/unistr/test-strcmp.h: New file.
21210
21211         Tests for module 'unistr/u32-strncat'.
21212         * modules/unistr/u32-strncat-tests: New file.
21213         * tests/unistr/test-u32-strncat.c: New file.
21214
21215         Tests for module 'unistr/u16-strncat'.
21216         * modules/unistr/u16-strncat-tests: New file.
21217         * tests/unistr/test-u16-strncat.c: New file.
21218
21219         Tests for module 'unistr/u8-strncat'.
21220         * modules/unistr/u8-strncat-tests: New file.
21221         * tests/unistr/test-u8-strncat.c: New file.
21222         * tests/unistr/test-strncat.h: New file.
21223
21224         Tests for module 'unistr/u32-strcat'.
21225         * modules/unistr/u32-strcat-tests: New file.
21226         * tests/unistr/test-u32-strcat.c: New file.
21227
21228         Tests for module 'unistr/u16-strcat'.
21229         * modules/unistr/u16-strcat-tests: New file.
21230         * tests/unistr/test-u16-strcat.c: New file.
21231
21232         Tests for module 'unistr/u8-strcat'.
21233         * modules/unistr/u8-strcat-tests: New file.
21234         * tests/unistr/test-u8-strcat.c: New file.
21235         * tests/unistr/test-strcat.h: New file.
21236
21237         Tests for module 'unistr/u32-stpncpy'.
21238         * modules/unistr/u32-stpncpy-tests: New file.
21239         * tests/unistr/test-u32-stpncpy.c: New file.
21240
21241         Tests for module 'unistr/u16-stpncpy'.
21242         * modules/unistr/u16-stpncpy-tests: New file.
21243         * tests/unistr/test-u16-stpncpy.c: New file.
21244
21245         Tests for module 'unistr/u8-stpncpy'.
21246         * modules/unistr/u8-stpncpy-tests: New file.
21247         * tests/unistr/test-u8-stpncpy.c: New file.
21248         * tests/unistr/test-stpncpy.h: New file.
21249
21250         Tests for module 'unistr/u32-strncpy'.
21251         * modules/unistr/u32-strncpy-tests: New file.
21252         * tests/unistr/test-u32-strncpy.c: New file.
21253
21254         Tests for module 'unistr/u16-strncpy'.
21255         * modules/unistr/u16-strncpy-tests: New file.
21256         * tests/unistr/test-u16-strncpy.c: New file.
21257
21258         Tests for module 'unistr/u8-strncpy'.
21259         * modules/unistr/u8-strncpy-tests: New file.
21260         * tests/unistr/test-u8-strncpy.c: New file.
21261         * tests/unistr/test-strncpy.h: New file.
21262
21263         Tests for module 'unistr/u32-stpcpy'.
21264         * modules/unistr/u32-stpcpy-tests: New file.
21265         * tests/unistr/test-u32-stpcpy.c: New file.
21266
21267         Tests for module 'unistr/u16-stpcpy'.
21268         * modules/unistr/u16-stpcpy-tests: New file.
21269         * tests/unistr/test-u16-stpcpy.c: New file.
21270
21271         Tests for module 'unistr/u8-stpcpy'.
21272         * modules/unistr/u8-stpcpy-tests: New file.
21273         * tests/unistr/test-u8-stpcpy.c: New file.
21274         * tests/unistr/test-stpcpy.h: New file.
21275
21276         Tests for module 'unistr/u32-strcpy'.
21277         * modules/unistr/u32-strcpy-tests: New file.
21278         * tests/unistr/test-u32-strcpy.c: New file.
21279
21280         Tests for module 'unistr/u16-strcpy'.
21281         * modules/unistr/u16-strcpy-tests: New file.
21282         * tests/unistr/test-u16-strcpy.c: New file.
21283
21284         Tests for module 'unistr/u8-strcpy'.
21285         * modules/unistr/u8-strcpy-tests: New file.
21286         * tests/unistr/test-u8-strcpy.c: New file.
21287         * tests/unistr/test-strcpy.h: New file.
21288
21289         Tests for module 'unistr/u32-strnlen'.
21290         * modules/unistr/u32-strnlen-tests: New file.
21291         * tests/unistr/test-u32-strnlen.c: New file.
21292
21293         Tests for module 'unistr/u16-strnlen'.
21294         * modules/unistr/u16-strnlen-tests: New file.
21295         * tests/unistr/test-u16-strnlen.c: New file.
21296
21297         Tests for module 'unistr/u8-strnlen'.
21298         * modules/unistr/u8-strnlen-tests: New file.
21299         * tests/unistr/test-u8-strnlen.c: New file.
21300         * tests/unistr/test-strnlen.h: New file.
21301
21302         Tests for module 'unistr/u32-strlen'.
21303         * modules/unistr/u32-strlen-tests: New file.
21304         * tests/unistr/test-u32-strlen.c: New file.
21305
21306         Tests for module 'unistr/u16-strlen'.
21307         * modules/unistr/u16-strlen-tests: New file.
21308         * tests/unistr/test-u16-strlen.c: New file.
21309
21310         Tests for module 'unistr/u8-strlen'.
21311         * modules/unistr/u8-strlen-tests: New file.
21312         * tests/unistr/test-u8-strlen.c: New file.
21313
21314         Tests for module 'unistr/u32-prev'.
21315         * modules/unistr/u32-prev-tests: New file.
21316         * tests/unistr/test-u32-prev.c: New file.
21317
21318         Tests for module 'unistr/u16-prev'.
21319         * modules/unistr/u16-prev-tests: New file.
21320         * tests/unistr/test-u16-prev.c: New file.
21321
21322         Tests for module 'unistr/u8-prev'.
21323         * modules/unistr/u8-prev-tests: New file.
21324         * tests/unistr/test-u8-prev.c: New file.
21325
21326         Tests for module 'unistr/u32-next'.
21327         * modules/unistr/u32-next-tests: New file.
21328         * tests/unistr/test-u32-next.c: New file.
21329
21330         Tests for module 'unistr/u16-next'.
21331         * modules/unistr/u16-next-tests: New file.
21332         * tests/unistr/test-u16-next.c: New file.
21333
21334         Tests for module 'unistr/u8-next'.
21335         * modules/unistr/u8-next-tests: New file.
21336         * tests/unistr/test-u8-next.c: New file.
21337
21338         Tests for module 'unistr/u32-strmbtouc'.
21339         * modules/unistr/u32-strmbtouc-tests: New file.
21340         * tests/unistr/test-u32-strmbtouc.c: New file.
21341
21342         Tests for module 'unistr/u16-strmbtouc'.
21343         * modules/unistr/u16-strmbtouc-tests: New file.
21344         * tests/unistr/test-u16-strmbtouc.c: New file.
21345
21346         Tests for module 'unistr/u8-strmbtouc'.
21347         * modules/unistr/u8-strmbtouc-tests: New file.
21348         * tests/unistr/test-u8-strmbtouc.c: New file.
21349
21350         Tests for module 'unistr/u32-strmblen'.
21351         * modules/unistr/u32-strmblen-tests: New file.
21352         * tests/unistr/test-u32-strmblen.c: New file.
21353
21354         Tests for module 'unistr/u16-strmblen'.
21355         * modules/unistr/u16-strmblen-tests: New file.
21356         * tests/unistr/test-u16-strmblen.c: New file.
21357
21358         Tests for module 'unistr/u8-strmblen'.
21359         * modules/unistr/u8-strmblen-tests: New file.
21360         * tests/unistr/test-u8-strmblen.c: New file.
21361
21362         Tests for module 'unistr/u32-cpy-alloc'.
21363         * modules/unistr/u32-cpy-alloc-tests: New file.
21364         * tests/unistr/test-u32-cpy-alloc.c: New file.
21365
21366         Tests for module 'unistr/u16-cpy-alloc'.
21367         * modules/unistr/u16-cpy-alloc-tests: New file.
21368         * tests/unistr/test-u16-cpy-alloc.c: New file.
21369
21370         Tests for module 'unistr/u8-cpy-alloc'.
21371         * modules/unistr/u8-cpy-alloc-tests: New file.
21372         * tests/unistr/test-u8-cpy-alloc.c: New file.
21373         * tests/unistr/test-cpy-alloc.h: New file.
21374
21375         Tests for module 'unistr/u32-mbsnlen'.
21376         * modules/unistr/u32-mbsnlen-tests: New file.
21377         * tests/unistr/test-u32-mbsnlen.c: New file.
21378
21379         Tests for module 'unistr/u16-mbsnlen'.
21380         * modules/unistr/u16-mbsnlen-tests: New file.
21381         * tests/unistr/test-u16-mbsnlen.c: New file.
21382
21383         Tests for module 'unistr/u8-mbsnlen'.
21384         * modules/unistr/u8-mbsnlen-tests: New file.
21385         * tests/unistr/test-u8-mbsnlen.c: New file.
21386
21387         Tests for module 'unistr/u32-chr'.
21388         * modules/unistr/u32-chr-tests: New file.
21389         * tests/unistr/test-u32-chr.c: New file.
21390
21391         Tests for module 'unistr/u16-chr'.
21392         * modules/unistr/u16-chr-tests: New file.
21393         * tests/unistr/test-u16-chr.c: New file.
21394
21395         Tests for module 'unistr/u8-chr'.
21396         * modules/unistr/u8-chr-tests: New file.
21397         * tests/unistr/test-u8-chr.c: New file.
21398         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
21399
21400         Tests for module 'unistr/u32-cmp2'.
21401         * modules/unistr/u32-cmp2-tests: New file.
21402         * tests/unistr/test-u32-cmp2.c: New file.
21403
21404         Tests for module 'unistr/u16-cmp2'.
21405         * modules/unistr/u16-cmp2-tests: New file.
21406         * tests/unistr/test-u16-cmp2.c: New file.
21407
21408         Tests for module 'unistr/u8-cmp2'.
21409         * modules/unistr/u8-cmp2-tests: New file.
21410         * tests/unistr/test-u8-cmp2.c: New file.
21411         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
21412
21413         Tests for module 'unistr/u32-cmp'.
21414         * modules/unistr/u32-cmp-tests: New file.
21415         * tests/unistr/test-u32-cmp.c: New file.
21416
21417         Tests for module 'unistr/u16-cmp'.
21418         * modules/unistr/u16-cmp-tests: New file.
21419         * tests/unistr/test-u16-cmp.c: New file.
21420
21421         Tests for module 'unistr/u8-cmp'.
21422         * modules/unistr/u8-cmp-tests: New file.
21423         * tests/unistr/test-u8-cmp.c: New file.
21424         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
21425
21426         Tests for module 'unistr/u32-set'.
21427         * modules/unistr/u32-set-tests: New file.
21428         * tests/unistr/test-u32-set.c: New file.
21429
21430         Tests for module 'unistr/u16-set'.
21431         * modules/unistr/u16-set-tests: New file.
21432         * tests/unistr/test-u16-set.c: New file.
21433
21434         Tests for module 'unistr/u8-set'.
21435         * modules/unistr/u8-set-tests: New file.
21436         * tests/unistr/test-u8-set.c: New file.
21437         * tests/unistr/test-set.h: New file.
21438
21439         Tests for module 'unistr/u32-move'.
21440         * modules/unistr/u32-move-tests: New file.
21441         * tests/unistr/test-u32-move.c: New file.
21442
21443         Tests for module 'unistr/u16-move'.
21444         * modules/unistr/u16-move-tests: New file.
21445         * tests/unistr/test-u16-move.c: New file.
21446
21447         Tests for module 'unistr/u8-move'.
21448         * modules/unistr/u8-move-tests: New file.
21449         * tests/unistr/test-u8-move.c: New file.
21450         * tests/unistr/test-move.h: New file.
21451
21452         Tests for module 'unistr/u32-cpy'.
21453         * modules/unistr/u32-cpy-tests: New file.
21454         * tests/unistr/test-u32-cpy.c: New file.
21455
21456         Tests for module 'unistr/u16-cpy'.
21457         * modules/unistr/u16-cpy-tests: New file.
21458         * tests/unistr/test-u16-cpy.c: New file.
21459
21460         Tests for module 'unistr/u8-cpy'.
21461         * modules/unistr/u8-cpy-tests: New file.
21462         * tests/unistr/test-u8-cpy.c: New file.
21463         * tests/unistr/test-cpy.h: New file.
21464
21465 2010-01-09  Bruno Haible  <bruno@clisp.org>
21466
21467         Tests for module 'unistr/u32-uctomb'.
21468         * modules/unistr/u32-uctomb-tests: New file.
21469         * tests/unistr/test-u32-uctomb.c: New file.
21470
21471         Tests for module 'unistr/u16-uctomb'.
21472         * modules/unistr/u16-uctomb-tests: New file.
21473         * tests/unistr/test-u16-uctomb.c: New file.
21474
21475         Tests for module 'unistr/u8-uctomb'.
21476         * modules/unistr/u8-uctomb-tests: New file.
21477         * tests/unistr/test-u8-uctomb.c: New file.
21478
21479         Tests for module 'unistr/u32-mbtoucr'.
21480         * modules/unistr/u32-mbtoucr-tests: New file.
21481         * tests/unistr/test-u32-mbtoucr.c: New file.
21482
21483         Tests for module 'unistr/u16-mbtoucr'.
21484         * modules/unistr/u16-mbtoucr-tests: New file.
21485         * tests/unistr/test-u16-mbtoucr.c: New file.
21486
21487         Tests for module 'unistr/u8-mbtoucr'.
21488         * modules/unistr/u8-mbtoucr-tests: New file.
21489         * tests/unistr/test-u8-mbtoucr.c: New file.
21490
21491         Tests for module 'unistr/u32-mbtouc'.
21492         * modules/unistr/u32-mbtouc-tests: New file.
21493         * tests/unistr/test-u32-mbtouc.c: New file.
21494
21495         Tests for module 'unistr/u16-mbtouc'.
21496         * modules/unistr/u16-mbtouc-tests: New file.
21497         * tests/unistr/test-u16-mbtouc.c: New file.
21498
21499         Tests for module 'unistr/u8-mbtouc'.
21500         * modules/unistr/u8-mbtouc-tests: New file.
21501         * tests/unistr/test-u8-mbtouc.c: New file.
21502
21503         Tests for module 'unistr/u32-mbtouc-unsafe'.
21504         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
21505         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
21506         * tests/unistr/test-u32-mbtouc.h: New file.
21507
21508         Tests for module 'unistr/u16-mbtouc-unsafe'.
21509         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
21510         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
21511         * tests/unistr/test-u16-mbtouc.h: New file.
21512
21513         Tests for module 'unistr/u8-mbtouc-unsafe'.
21514         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
21515         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
21516         * tests/unistr/test-u8-mbtouc.h: New file.
21517
21518         Tests for module 'unistr/u32-mblen'.
21519         * modules/unistr/u32-mblen-tests: New file.
21520         * tests/unistr/test-u32-mblen.c: New file.
21521
21522         Tests for module 'unistr/u16-mblen'.
21523         * modules/unistr/u16-mblen-tests: New file.
21524         * tests/unistr/test-u16-mblen.c: New file.
21525
21526         Tests for module 'unistr/u8-mblen'.
21527         * modules/unistr/u8-mblen-tests: New file.
21528         * tests/unistr/test-u8-mblen.c: New file.
21529
21530         Tests for module 'unistr/u32-to-u16'.
21531         * modules/unistr/u32-to-u16-tests: New file.
21532         * tests/unistr/test-u32-to-u16.c: New file.
21533
21534         Tests for module 'unistr/u32-to-u8'.
21535         * modules/unistr/u32-to-u8-tests: New file.
21536         * tests/unistr/test-u32-to-u8.c: New file.
21537
21538         Tests for module 'unistr/u16-to-u32'.
21539         * modules/unistr/u16-to-u32-tests: New file.
21540         * tests/unistr/test-u16-to-u32.c: New file.
21541
21542         Tests for module 'unistr/u16-to-u8'.
21543         * modules/unistr/u16-to-u8-tests: New file.
21544         * tests/unistr/test-u16-to-u8.c: New file.
21545
21546         Tests for module 'unistr/u8-to-u32'.
21547         * modules/unistr/u8-to-u32-tests: New file.
21548         * tests/unistr/test-u8-to-u32.c: New file.
21549
21550         Tests for module 'unistr/u8-to-u16'.
21551         * modules/unistr/u8-to-u16-tests: New file.
21552         * tests/unistr/test-u8-to-u16.c: New file.
21553
21554         Tests for module 'unistr/u32-check'.
21555         * modules/unistr/u32-check-tests: New file.
21556         * tests/unistr/test-u32-check.c: New file.
21557
21558         Tests for module 'unistr/u16-check'.
21559         * modules/unistr/u16-check-tests: New file.
21560         * tests/unistr/test-u16-check.c: New file.
21561
21562         Tests for module 'unistr/u8-check'.
21563         * modules/unistr/u8-check-tests: New file.
21564         * tests/unistr/test-u8-check.c: New file.
21565
21566         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
21567         (category_equals): New function.
21568         (main): Add more tests.
21569         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
21570
21571         * tests/unictype/test-bidi_byname.c (main): Add more tests.
21572
21573 2010-01-10  Bruno Haible  <bruno@clisp.org>
21574
21575         unistr/u*-strcoll: Try harder to distinguish different strings.
21576         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
21577         compare s1 and s2 to see if they are different.
21578
21579 2010-01-10  Bruno Haible  <bruno@clisp.org>
21580
21581         unistr/u*-stpncpy: Fix the return value.
21582         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
21583         description of the return value consistent with stpncpy in glibc.
21584         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
21585         written non-NUL unit.
21586
21587 2010-01-10  Bruno Haible  <bruno@clisp.org>
21588
21589         unistr/u*-next: Add missing dependencies.
21590         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
21591         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
21592         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
21593
21594 2010-01-10  Bruno Haible  <bruno@clisp.org>
21595
21596         unistr/u8-mbsnlen: Fix return value for incomplete character.
21597         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
21598         u8_mblen.
21599         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
21600         Remove unistr/u8-mblen.
21601         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
21602         u16_mblen.
21603         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
21604         Remove unistr/u16-mblen.
21605
21606 2010-01-10  Bruno Haible  <bruno@clisp.org>
21607
21608         wchar: Fix compilation error when <wchar.h> is used from coreutils.
21609         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
21610         Reported by Brian Gough <bjg@gnu.org> and
21611         Chris Clayton <chris2553@googlemail.com> via
21612         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
21613
21614 2010-01-09  Bruno Haible  <bruno@clisp.org>
21615
21616         unistr/u16-to-u32: Reject invalid input.
21617         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
21618         u16_mbtouc.
21619         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
21620         Remove unistr/u16-mbtouc.
21621
21622         unistr/u16-to-u8: Reject invalid input.
21623         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
21624         u16_mbtouc.
21625         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
21626         Remove unistr/u16-mbtouc.
21627
21628         unistr/u8-to-u32: Reject invalid input.
21629         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
21630         u8_mbtouc.
21631         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
21632         Remove unistr/u8-mbtouc.
21633
21634         unistr/u8-to-u16: Reject invalid input.
21635         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
21636         u8_mbtouc.
21637         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
21638         Remove unistr/u8-mbtouc.
21639
21640 2010-01-09  Bruno Haible  <bruno@clisp.org>
21641
21642         Tests for module 'getlogin'.
21643         * modules/getlogin-tests: New file.
21644         * tests/test-getlogin.c: New file.
21645
21646         New module 'getlogin'.
21647         * lib/unistd.in.h (getlogin): New declaration.
21648         * lib/getlogin.c: New file.
21649         * m4/getlogin.m4: New file.
21650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
21651         HAVE_GETLOGIN.
21652         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
21653         HAVE_GETLOGIN.
21654         * modules/getlogin: New file.
21655         * doc/posix-functions/getlogin.texi: Mention the new module.
21656         Reported by John W. Eaton <jwe@gnu.org>.
21657
21658 2010-01-09  Bruno Haible  <bruno@clisp.org>
21659
21660         getlogin_r: Support for native Windows.
21661         * lib/getlogin_r.c: Include <windows.h>
21662         (getlogin_r): Implement for native Windows.
21663         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
21664         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
21665         via John W. Eaton <jwe@gnu.org>.
21666
21667 2010-01-09  Bruno Haible  <bruno@clisp.org>
21668
21669         getlogin_r: Small fixes.
21670         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
21671         succeeds.
21672         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
21673         before testing whether getlogin_r is declared. No need to set
21674         HAVE_DECL_GETLOGIN_R to 1.
21675         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
21676
21677 2010-01-09  Bruno Haible  <bruno@clisp.org>
21678
21679         * lib/unistd.in.h (getlogin_r): Add comment.
21680
21681 2010-01-09  Bruno Haible  <bruno@clisp.org>
21682
21683         Tests for module 'getlogin_r'.
21684         * modules/getlogin_r-tests: New file.
21685         * tests/test-getlogin_r.c: New file.
21686
21687 2010-01-09  Jim Meyering  <meyering@redhat.com>
21688
21689         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
21690         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
21691         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
21692
21693 2010-01-08  Simon Josefsson  <simon@josefsson.org>
21694
21695         * lib/dup2.c (rpl_dup2): Improve comment.
21696
21697 2010-01-08  Eric Blake  <ebb9@byu.net>
21698
21699         maint.mk: allow packages to add makefile @@ exceptions
21700         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
21701         (sc_makefile_check): Rename...
21702         (sc_makefile_at_at_check): ...to this, and use hook.
21703
21704         dup2: work around mingw bug
21705         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
21706         Reported by Simon Josefsson.
21707
21708 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
21709
21710         glob: Fix C++ compilation.
21711         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
21712         C++.
21713
21714 2010-01-07  Bruno Haible  <bruno@clisp.org>
21715
21716         Fix indentation of wctype.in.h, broken since 2007-01-06.
21717         * lib/wctype.in.h: Fix indentation of preprocessor directives.
21718
21719 2010-01-07  Bruno Haible  <bruno@clisp.org>
21720
21721         mbslen: Avoid collision with system function.
21722         * lib/string.in.h [MirBSD]: Include <wchar.h>.
21723         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
21724         * m4/mbslen.m4: New file.
21725         * modules/mbslen (Files): Add it.
21726         (configure.ac): Invoke gl_MBSLEN.
21727         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
21728         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
21729         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
21730         via Ian Beckwith <ianb@erislabs.net>.
21731
21732 2010-01-07  Bruno Haible  <bruno@clisp.org>
21733
21734         dirent: Document the last fix.
21735         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
21736
21737 2010-01-07  Bruno Haible  <bruno@clisp.org>
21738
21739         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
21740         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
21741         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
21742         va_list are defined.
21743         * doc/posix-headers/stdio.texi: Document the bug of missing types.
21744         Reported by Eric Blake.
21745
21746 2010-01-07  Bruno Haible  <bruno@clisp.org>
21747
21748         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
21749         * modules/xlist (Depends-on): Add 'list',
21750         * modules/xoset (Depends-on): Add 'oset'.
21751         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21752
21753 2010-01-07  Bruno Haible  <bruno@clisp.org>
21754
21755         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
21756         * doc/posix-functions/strncasecmp.texi: Likewise.
21757
21758 2010-01-07  Bruno Haible  <bruno@clisp.org>
21759
21760         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
21761
21762 2010-01-07  John W. Eaton  <jwe@octave.org>
21763
21764         wctype: allow C++ use
21765         * lib/wctype.in.h: Add extern "C" block for C++.
21766
21767 2010-01-06  Eric Blake  <ebb9@byu.net>
21768
21769         maint.mk: detect incorrect GFDL usage
21770         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
21771
21772 2010-01-06  Jim Meyering  <meyering@redhat.com>
21773         and Eric Blake  <ebb9@byu.net>
21774
21775         maint.mk: ignore multi-line copyright in NEWS
21776         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
21777
21778 2010-01-06  Eric Blake  <ebb9@byu.net>
21779
21780         select: add missing dependency
21781         * modules/select-tests (Depends-on): Move sockets dependency...
21782         * modules/select (Depends-on): ...here.
21783         Reported by Ian Beckwith.
21784
21785         doc: regenerate INSTALL
21786         * doc/INSTALL: Reflect recent autoconf update.
21787         * doc/INSTALL.ISO: Likewise.
21788         * doc/INSTALL.UTF-8: Likewise.
21789
21790         pread: fix compilation on glibc
21791         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
21792         Reported by Ralf Wildenhues.
21793
21794         dirent: fix test failure
21795         * lib/dirent.in.h (includes): Guarantee ino_t.
21796         Reported by Ralf Wildenhues.
21797
21798 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
21799
21800         linkat, renameat: avoid bad free
21801         * lib/at-func2.c (at_func2): Fix typo.
21802         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
21803
21804 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21805
21806         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
21807         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
21808         to avoid failure of symlink test later.
21809
21810 2010-01-06  Eric Blake  <ebb9@byu.net>
21811
21812         stdio, unistd: guarantee ssize_t
21813         * lib/unistd.in.h (includes): Ensure that types required by POSIX
21814         2008 are exposed when needed.
21815         * lib/stdio.in.h (includes): Likewise.
21816         Reported by Ralf Wildenhues.
21817
21818 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
21819
21820         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
21821         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
21822         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
21823
21824 2010-01-06  Jim Meyering  <meyering@redhat.com>
21825
21826         readtokens: this module *does* require xalloc.h
21827         It uses only functions that were omitted by the old syntax-check rule.
21828         * lib/readtokens.c: Include "xalloc.h" once again.
21829         * modules/readtokens (Depends-on): Add xalloc.
21830         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
21831
21832 2010-01-05  Eric Blake  <ebb9@byu.net>
21833
21834         maint: support 'make announcement' from a VPATH build
21835         * top/maint.mk (announcement): Look for correct NEWS file.
21836
21837 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
21838
21839         utimens (fdutimens): ignore a negative FD, per contract
21840         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
21841         when we have a valid file descriptor.  Otherwise, using a brand
21842         new glibc (with just-patched futimens that now fails with EBADF)
21843         would cause this function to fail with ENOSYS.
21844         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
21845         See also http://bugzilla.redhat.com/552320.
21846
21847 2010-01-05  Eric Blake  <ebb9@byu.net>
21848
21849         strcase: document what it provides
21850         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
21851         gnulib module.
21852         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
21853         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
21854
21855 2010-01-05  Jim Meyering  <meyering@redhat.com>
21856
21857         maint: remove useless inclusions of "xalloc.h"
21858         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
21859         * lib/readtokens.c: Likewise.
21860         * lib/same.c: Likewise.
21861         * modules/getloadavg (Depends-on): Remove xalloc.
21862         * modules/readtokens: Likewise.
21863         * modules/same: Likewise.
21864
21865         maint.mk: include 4 more function names in alloca.h-checking regexp
21866         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
21867         regexp.  Before, we would give a false-positive (saying alloca.h
21868         is included unnecessarily) when the only uses involved omitted symbols.
21869
21870         xalloc.h: use consistent formatting
21871         * lib/xalloc.h: Move declarations to start in the first column.
21872
21873 2010-01-05  Eric Blake  <ebb9@byu.net>
21874
21875         mkdir: avoid xalloc
21876         * lib/mkdir.c (includes): Drop unused header.
21877         Reported by John W. Eaton.
21878
21879 2010-01-04  Jim Meyering  <meyering@redhat.com>
21880
21881         nl_langinfo: avoid configure-time syntax error
21882         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
21883         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
21884         the empty string.  Don't let that provoke a shell syntax error.
21885
21886         regcomp, regexec, fnmatch: avoid array bounds read error
21887         * lib/regcomp.c (build_equiv_class): From glibc:
21888         Use only the low 24 bits of a findidx return value as an index
21889         into the weights array.  Patch by Ulrich Drepper:
21890         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
21891         * lib/regexec.c (check_node_accept_bytes): Likewise.
21892         * lib/fnmatch_loop.c (FCT): Likewise.
21893
21894         regcomp: skip collseq lookup when there are no rules
21895         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
21896         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
21897
21898         regcomp: recognize ill-formed { } expressions
21899         * lib/regcomp.c (parse_dup_op): From glibc:
21900         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
21901
21902         regcomp: fix typo in comment
21903         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
21904         s/satisfy/satisfies/.
21905
21906         regcomp: sync from glibc: remove dead store
21907         * lib/regcomp.c (duplicate_node_closure): Remove useless
21908         search_duplicated_node call and dead store.
21909
21910         regcomp: sync from glibc; always use nl_langinfo
21911         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
21912         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
21913         * modules/regex (Depends-on): Add nl_langinfo.
21914
21915 2010-01-04  Eric Blake  <ebb9@byu.net>
21916
21917         fdopendir: fix configure test
21918         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
21919
21920 2010-01-01  Bruno Haible  <bruno@clisp.org>
21921
21922         wchar: Remove unused configure check.
21923         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
21924
21925 2010-01-01  Eric Blake  <ebb9@byu.net>
21926
21927         headers: make check of system header explicit
21928         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
21929         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
21930         ourselves.
21931         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21932         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21933         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
21934         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
21935         internals.
21936         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
21937         missing.
21938         Suggested by Bruno Haible.
21939
21940 2010-01-01  Jim Meyering  <meyering@redhat.com>
21941
21942         ChangeLog: tweak to eliminate unnecessary copyright line
21943         * ChangeLog: Remove a copyright line that was mistakenly updated
21944         by today's update-copyright run.  Reported by Eric Blake.
21945
21946         test-update-copyright: don't let envvar setting cause test failure
21947         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
21948
21949 2010-01-01  Bruno Haible  <bruno@clisp.org>
21950
21951         localename: Avoid gcc warning.
21952         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
21953         function if it is not used.
21954
21955 2010-01-01  Jim Meyering  <meyering@redhat.com>
21956
21957         update nearly all FSF copyright year lists to include 2010
21958         Use the same procedure as for 2009, outlined in
21959         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
21960
21961         version-etc: set COPYRIGHT_YEAR to 2010
21962         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
21963
21964 2009-12-31  Eric Blake  <ebb9@byu.net>
21965
21966         doc: correct availability of cygwin 1.5.x getopt
21967         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
21968         variables.
21969         * doc/posix-functions/opterr.texi (opterr): Likewise.
21970         * doc/posix-functions/optind.texi (optind): Likewise.
21971         * doc/posix-functions/optopt.texi (optopt): Likewise.
21972         * doc/posix-functions/tzname.texi (tzname): Likewise.
21973
21974         openat: update maintainer
21975         * modules/openat (Maintainer): Add myself.
21976
21977         utimens: avoid shadowing warning
21978         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
21979         buffers into one, to avoid shadowing, as well as avoiding a
21980         redundant stat.
21981         Reported by Jim Meyering.
21982
21983         test-dup2: avoid compiler warning
21984         * tests/test-dup2.c (is_inheritable): Only define if used.
21985
21986 2010-01-01  Bruno Haible  <bruno@clisp.org>
21987
21988         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
21989         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
21990         defined, use wctomb instead of wcrtomb.
21991
21992 2010-01-01  Bruno Haible  <bruno@clisp.org>
21993
21994         iconv: Reject native Solaris iconv.
21995         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
21996         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
21997
21998 2009-12-31  Bruno Haible  <bruno@clisp.org>
21999
22000         * tests/test-signal.c (main): Remove test of 'SIG'.
22001
22002 2009-12-31  Bruno Haible  <bruno@clisp.org>
22003
22004         spawn: Fix incomplete fix.
22005         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22006         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22007         warnings for GNULIB_POSIXCHECK again.
22008         Reported by Eric Blake.
22009
22010 2009-12-31  Bruno Haible  <bruno@clisp.org>
22011
22012         Avoid namespace pollution on glibc systems.
22013         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
22014         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
22015         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
22016         glibc systems.
22017
22018 2009-12-31  Bruno Haible  <bruno@clisp.org>
22019
22020         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
22021         (gl_REPLACE_WCHAR_H): Turn into a no-op.
22022         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
22023         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
22024         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
22025         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
22026         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
22027
22028 2009-12-31  Bruno Haible  <bruno@clisp.org>
22029
22030         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
22031         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
22032         afterwards.
22033
22034 2009-12-31  Bruno Haible  <bruno@clisp.org>
22035
22036         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
22037         SYS_UTSNAME_H.
22038
22039 2009-12-31  Bruno Haible  <bruno@clisp.org>
22040
22041         spawn: Fix misapplied patch.
22042         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22043         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22044         warnings for GNULIB_POSIXCHECK.
22045
22046 2009-12-31  Bruno Haible  <bruno@clisp.org>
22047
22048         times: Update after sys_times changed.
22049         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
22050         * modules/times (Files): Add it.
22051         (configure.ac): Invoke gl_FUNC_TIMES.
22052
22053 2009-12-31  Bruno Haible  <bruno@clisp.org>
22054
22055         Use AC_C_INLINE where necessary.
22056         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
22057         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
22058         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
22059         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
22060         * m4/mbfile.m4 (gl_MBFILE): Likewise.
22061         * m4/mbiter.m4 (gl_MBITER): Likewise.
22062         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
22063         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22064         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
22065         * modules/u64 (configure.ac): Likewise.
22066
22067 2009-12-31  Bruno Haible  <bruno@clisp.org>
22068
22069         Use AC_C_INLINE instead of module 'inline' where possible.
22070         * modules/inline (Description): Clarify purpose.
22071         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
22072         * modules/count-one-bits (Depends-on): Remove inline.
22073         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
22074         * modules/openat (Depends-on): Remove inline.
22075         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
22076         instead of depending on module 'inline'.
22077         * modules/filevercmp (Depends-on, configure.ac): Likewise.
22078         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
22079         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
22080         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
22081         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
22082         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
22083         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
22084         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
22085         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
22086         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
22087         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
22088         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
22089         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
22090         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
22091         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
22092         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
22093         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
22094         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
22095         Likewise.
22096         * modules/unictype/property-ascii-hex-digit (Depends-on,
22097         configure.ac): Likewise.
22098         * modules/unictype/property-bidi-arabic-digit (Depends-on,
22099         configure.ac): Likewise.
22100         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
22101         configure.ac): Likewise.
22102         * modules/unictype/property-bidi-block-separator (Depends-on,
22103         configure.ac): Likewise.
22104         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
22105         configure.ac): Likewise.
22106         * modules/unictype/property-bidi-common-separator (Depends-on,
22107         configure.ac): Likewise.
22108         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
22109         Likewise.
22110         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
22111         configure.ac): Likewise.
22112         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
22113         configure.ac): Likewise.
22114         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
22115         configure.ac): Likewise.
22116         * modules/unictype/property-bidi-european-digit (Depends-on,
22117         configure.ac): Likewise.
22118         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
22119         configure.ac): Likewise.
22120         * modules/unictype/property-bidi-left-to-right (Depends-on,
22121         configure.ac): Likewise.
22122         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
22123         configure.ac): Likewise.
22124         * modules/unictype/property-bidi-other-neutral (Depends-on,
22125         configure.ac): Likewise.
22126         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
22127         Likewise.
22128         * modules/unictype/property-bidi-segment-separator (Depends-on,
22129         configure.ac): Likewise.
22130         * modules/unictype/property-bidi-whitespace (Depends-on,
22131         configure.ac): Likewise.
22132         * modules/unictype/property-combining (Depends-on, configure.ac):
22133         Likewise.
22134         * modules/unictype/property-composite (Depends-on, configure.ac):
22135         Likewise.
22136         * modules/unictype/property-currency-symbol (Depends-on,
22137         configure.ac): Likewise.
22138         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
22139         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
22140         Likewise.
22141         * modules/unictype/property-default-ignorable-code-point (Depends-on,
22142         configure.ac): Likewise.
22143         * modules/unictype/property-deprecated (Depends-on, configure.ac):
22144         Likewise.
22145         * modules/unictype/property-diacritic (Depends-on, configure.ac):
22146         Likewise.
22147         * modules/unictype/property-extender (Depends-on, configure.ac):
22148         Likewise.
22149         * modules/unictype/property-format-control (Depends-on, configure.ac):
22150         Likewise.
22151         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
22152         Likewise.
22153         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
22154         Likewise.
22155         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
22156         Likewise.
22157         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
22158         Likewise.
22159         * modules/unictype/property-hyphen (Depends-on, configure.ac):
22160         Likewise.
22161         * modules/unictype/property-id-continue (Depends-on, configure.ac):
22162         Likewise.
22163         * modules/unictype/property-id-start (Depends-on, configure.ac):
22164         Likewise.
22165         * modules/unictype/property-ideographic (Depends-on, configure.ac):
22166         Likewise.
22167         * modules/unictype/property-ids-binary-operator (Depends-on,
22168         configure.ac): Likewise.
22169         * modules/unictype/property-ids-trinary-operator (Depends-on,
22170         configure.ac): Likewise.
22171         * modules/unictype/property-ignorable-control (Depends-on,
22172         configure.ac): Likewise.
22173         * modules/unictype/property-iso-control (Depends-on, configure.ac):
22174         Likewise.
22175         * modules/unictype/property-join-control (Depends-on, configure.ac):
22176         Likewise.
22177         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
22178         Likewise.
22179         * modules/unictype/property-line-separator (Depends-on, configure.ac):
22180         Likewise.
22181         * modules/unictype/property-logical-order-exception (Depends-on,
22182         configure.ac): Likewise.
22183         * modules/unictype/property-lowercase (Depends-on, configure.ac):
22184         Likewise.
22185         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
22186         * modules/unictype/property-non-break (Depends-on, configure.ac):
22187         Likewise.
22188         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
22189         Likewise.
22190         * modules/unictype/property-numeric (Depends-on, configure.ac):
22191         Likewise.
22192         * modules/unictype/property-other-alphabetic (Depends-on,
22193         configure.ac): Likewise.
22194         * modules/unictype/property-other-default-ignorable-code-point
22195         (Depends-on, configure.ac): Likewise.
22196         * modules/unictype/property-other-grapheme-extend (Depends-on,
22197         configure.ac): Likewise.
22198         * modules/unictype/property-other-id-continue (Depends-on,
22199         configure.ac): Likewise.
22200         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
22201         Likewise.
22202         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
22203         Likewise.
22204         * modules/unictype/property-other-math (Depends-on, configure.ac):
22205         Likewise.
22206         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
22207         Likewise.
22208         * modules/unictype/property-paired-punctuation (Depends-on,
22209         configure.ac): Likewise.
22210         * modules/unictype/property-paragraph-separator (Depends-on,
22211         configure.ac): Likewise.
22212         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
22213         Likewise.
22214         * modules/unictype/property-pattern-white-space (Depends-on,
22215         configure.ac): Likewise.
22216         * modules/unictype/property-private-use (Depends-on, configure.ac):
22217         Likewise.
22218         * modules/unictype/property-punctuation (Depends-on, configure.ac):
22219         Likewise.
22220         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
22221         Likewise.
22222         * modules/unictype/property-radical (Depends-on, configure.ac):
22223         Likewise.
22224         * modules/unictype/property-sentence-terminal (Depends-on,
22225         configure.ac): Likewise.
22226         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
22227         Likewise.
22228         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
22229         * modules/unictype/property-terminal-punctuation (Depends-on,
22230         configure.ac): Likewise.
22231         * modules/unictype/property-titlecase (Depends-on, configure.ac):
22232         Likewise.
22233         * modules/unictype/property-unassigned-code-value (Depends-on,
22234         configure.ac): Likewise.
22235         * modules/unictype/property-unified-ideograph (Depends-on,
22236         configure.ac): Likewise.
22237         * modules/unictype/property-uppercase (Depends-on, configure.ac):
22238         Likewise.
22239         * modules/unictype/property-variation-selector (Depends-on,
22240         configure.ac): Likewise.
22241         * modules/unictype/property-white-space (Depends-on, configure.ac):
22242         Likewise.
22243         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
22244         Likewise.
22245         * modules/unictype/property-xid-start (Depends-on, configure.ac):
22246         Likewise.
22247         * modules/unictype/property-zero-width (Depends-on, configure.ac):
22248         Likewise.
22249         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
22250         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
22251         Likewise.
22252
22253 2009-12-31  Bruno Haible  <bruno@clisp.org>
22254
22255         Remove unnecessary AC_C_INLINE invocation.
22256         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
22257         since 2009-08-21.
22258
22259 2009-12-31  Jim Meyering  <meyering@redhat.com>
22260
22261         maint.mk: don't require explicit gpg_key_ID in cfg.mk
22262         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
22263         With this change, we can all remove the gpg_key_ID = ... definition
22264         from our respective cfg.mk files.
22265
22266         maint.mk: create announcement template in ~/, not in /tmp
22267         * top/maint.mk (emit_upload_commands): Adjust.
22268         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
22269         Remove temporary file, .ci-msg.
22270
22271 2009-12-31  Eric Blake  <ebb9@byu.net>
22272
22273         link-warning: always build headers with link warnings
22274         * modules/arpa_inet (Makefile.am): Always build replacement
22275         header.
22276         * modules/ctype (Makefile.am): Likewise.
22277         * modules/dirent (Makefile.am): Likewise.
22278         * modules/inttypes (Makefile.am): Likewise.
22279         * modules/langinfo (Makefile.am): Likewise.
22280         * modules/locale (Makefile.am): Likewise.
22281         * modules/spawn (Makefile.am): Likewise.
22282         * modules/sys_file (Makefile.am): Likewise.
22283         * modules/sys_ioctl (Makefile.am): Likewise.
22284         * modules/sys_select (Makefile.am): Likewise.
22285         * modules/sys_socket (Makefile.am): Likewise.
22286         * modules/sys_times (Makefile.am): Likewise.
22287         * modules/sys_utsname (Makefile.am): Likewise.
22288         * modules/sys_wait (Makefile.am): Likewise.
22289         * modules/wchar (Makefile.am): Likewise.
22290         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
22291         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
22292         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
22293         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
22294         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
22295         Likewise.
22296         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
22297         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22298         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
22299         Likewise.
22300         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
22301         Likewise.
22302         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22303         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
22304         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
22305         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22306         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22307         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
22308         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
22309         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
22310         (gl_WCHAR_H_DEFAULTS): Likewise.
22311
22312 2009-12-31  Eric Blake  <ebb9@byu.net>
22313
22314         signal, spawn: use link warnings
22315         * lib/signal.in.h (sigset_t): Make unconditional.
22316         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
22317         (sigpending, sigprocmask, sigaction): Add link warnings.
22318         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
22319         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
22320         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
22321         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
22322         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
22323         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
22324         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
22325         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
22326         (posix_spawn_file_actions_destroy)
22327         (posix_spawn_file_actions_addopen)
22328         (posix_spawn_file_actions_addclose)
22329         (posix_spawn_file_actions_adddup2): Likewise.
22330         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
22331         * tests/test-signal.c (main): Enhance test.
22332
22333         spawn: improve wrapper support
22334         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
22335         (gl_SPAWN_H_DEFAULTS): New defaults.
22336         * modules/spawn (Makefile.am): Substitute them.
22337         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
22338         Only declare if missing or broken.
22339
22340         sys_times, sys_utsname: use include_next
22341         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
22342         header.
22343         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
22344         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
22345         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
22346         * modules/sys_times (Depends-on): Add include_next.
22347         (Makefile.am): Substitute additional values.
22348         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
22349         * lib/sys_times.in.h (includes): Include native header, if
22350         available.
22351         * lib/sys_utsname.in.h (includes): Likewise.
22352         * tests/test-sys_times.c (main): Enhance test.
22353
22354         fdutimensat: revert prior patch
22355         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
22356         utimens.h.
22357         Reported by Bruno Haible.
22358
22359 2009-12-30  Eric Blake  <ebb9@byu.net>
22360
22361         sys_wait: drop link-warning dependency
22362         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
22363         link-warning efforts.
22364         * lib/sys_wait.in.h: Likewise.
22365
22366         fdutimensat: remove bogus dependency
22367         * modules/fdutimensat (Depends-on): Drop inline.
22368
22369         unistd: fix typo
22370         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
22371
22372 2009-12-30  Bruno Haible  <bruno@clisp.org>
22373
22374         Fix compilation error with Solaris cc.
22375         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
22376         * lib/unicase/u16-is-invariant.c: Likewise.
22377         * lib/unicase/u32-is-invariant.c: Likewise.
22378         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
22379
22380 2009-12-30  Bruno Haible  <bruno@clisp.org>
22381
22382         Fix test crash.
22383         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
22384         locales.
22385         Reported by Simon Josefsson <simon@josefsson.org>.
22386
22387 2009-12-30  Bruno Haible  <bruno@clisp.org>
22388
22389         Fix compilation error on most platforms.
22390         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
22391         Reported by Simon Josefsson <simon@josefsson.org>
22392         and Nelson H. F. Beebe <beebe@math.utah.edu>.
22393
22394 2009-12-30  Eric Blake  <ebb9@byu.net>
22395
22396         futimens, utimensat: work around ntfs-3g bug
22397         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
22398         a ctime bug is present, and expand workaround to cover ntfs-3g.
22399         * lib/utimens.c (fdutimens, lutimens): Likewise.
22400         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
22401         (validate_timespec): Adjust return value.
22402         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
22403         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22404         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
22405
22406 2009-12-29  Eric Blake  <ebb9@byu.net>
22407
22408         link-warning: make usage consistent
22409         * modules/ctype (Depends-on): Add link-warning.
22410         (Makefile.am): Update rules accordingly.
22411         * modules/langinfo (Depends-on, Makefile.am): Likewise.
22412         * modules/locale (Depends-on, Makefile.am): Likewise.
22413         * modules/sys_file (Makefile.am): Likewise.
22414         * modules/getopt-posix (Makefile.am): Delete unused link warning
22415         efforts.
22416         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
22417         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
22418         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
22419         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
22420
22421         stdio: remove unused variables
22422         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
22423         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
22424         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22425
22426         tests: test more substitute headers
22427         * modules/ctype-tests: New file.
22428         * modules/dirent-tests: Likewise.
22429         * modules/spawn-tests: Likewise.
22430         * modules/sys_file-tests: Likewise.
22431         * modules/sys_ioctl-tests: Likewise.
22432         * modules/sys_wait-tests: Likewise.
22433         * tests/test-ctype.c: Likewise.
22434         * tests/test-dirent.c: Likewise.
22435         * tests/test-spawn.c: Likewise.
22436         * tests/test-sys_file.c: Likewise.
22437         * tests/test-sys_ioctl.c: Likewise.
22438         * tests/test-sys_wait.c: Likewise.
22439         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
22440         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
22441         whether or not flock is in use.
22442
22443         tests: remove License section from module
22444         * modules/arpa_inet-tests: Remove unneeded section.
22445         * modules/byteswap-tests: Likewise.
22446         * modules/ceilf-tests: Likewise.
22447         * modules/ceill-tests: Likewise.
22448         * modules/crypto/des-tests: Likewise.
22449         * modules/crypto/gc-arcfour-tests: Likewise.
22450         * modules/crypto/gc-arctwo-tests: Likewise.
22451         * modules/crypto/gc-des-tests: Likewise.
22452         * modules/crypto/gc-hmac-md5-tests: Likewise.
22453         * modules/crypto/gc-hmac-sha1-tests: Likewise.
22454         * modules/crypto/gc-md2-tests: Likewise.
22455         * modules/crypto/gc-md4-tests: Likewise.
22456         * modules/crypto/gc-md5-tests: Likewise.
22457         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
22458         * modules/crypto/gc-rijndael-tests: Likewise.
22459         * modules/crypto/gc-sha1-tests: Likewise.
22460         * modules/crypto/gc-tests: Likewise.
22461         * modules/crypto/md2-tests: Likewise.
22462         * modules/crypto/md4-tests: Likewise.
22463         * modules/fcntl-h-tests: Likewise.
22464         * modules/floorf-tests: Likewise.
22465         * modules/floorl-tests: Likewise.
22466         * modules/frexp-nolibm-tests: Likewise.
22467         * modules/frexp-tests: Likewise.
22468         * modules/frexpl-nolibm-tests: Likewise.
22469         * modules/frexpl-tests: Likewise.
22470         * modules/getaddrinfo-tests: Likewise.
22471         * modules/inttypes-tests: Likewise.
22472         * modules/isfinite-tests: Likewise.
22473         * modules/isinf-tests: Likewise.
22474         * modules/ldexpl-tests: Likewise.
22475         * modules/locale-tests: Likewise.
22476         * modules/math-tests: Likewise.
22477         * modules/netdb-tests: Likewise.
22478         * modules/netinet_in-tests: Likewise.
22479         * modules/printf-frexp-tests: Likewise.
22480         * modules/printf-frexpl-tests: Likewise.
22481         * modules/priv-set-tests: Likewise.
22482         * modules/random_r-tests: Likewise.
22483         * modules/round-tests: Likewise.
22484         * modules/roundf-tests: Likewise.
22485         * modules/roundl-tests: Likewise.
22486         * modules/search-tests: Likewise.
22487         * modules/select-tests: Likewise.
22488         * modules/signal-tests: Likewise.
22489         * modules/stdbool-tests: Likewise.
22490         * modules/stddef-tests: Likewise.
22491         * modules/stdint-tests: Likewise.
22492         * modules/stdio-tests: Likewise.
22493         * modules/stdlib-tests: Likewise.
22494         * modules/string-tests: Likewise.
22495         * modules/strings-tests: Likewise.
22496         * modules/sys_select-tests: Likewise.
22497         * modules/sys_socket-tests: Likewise.
22498         * modules/sys_stat-tests: Likewise.
22499         * modules/sys_time-tests: Likewise.
22500         * modules/sys_utsname-tests: Likewise.
22501         * modules/sysexits-tests: Likewise.
22502         * modules/time-tests: Likewise.
22503         * modules/trunc-tests: Likewise.
22504         * modules/truncf-tests: Likewise.
22505         * modules/truncl-tests: Likewise.
22506         * modules/tsearch-tests: Likewise.
22507         * modules/unistd-tests: Likewise.
22508         * modules/wchar-tests: Likewise.
22509         * modules/wctype-tests: Likewise.
22510
22511         tests: fix license on several tests
22512         * tests/test-des.c: Update to GPLv3+.
22513         * tests/test-flock.c: Likewise.
22514         * tests/test-fsync.c: Likewise.
22515         * tests/test-futimens.h: Likewise.
22516         * tests/test-gc-arcfour.c: Likewise.
22517         * tests/test-gc-arctwo.c: Likewise.
22518         * tests/test-gc-des.c: Likewise.
22519         * tests/test-gc-hmac-md5.c: Likewise.
22520         * tests/test-gc-hmac-sha1.c: Likewise.
22521         * tests/test-gc-md2.c: Likewise.
22522         * tests/test-gc-md4.c: Likewise.
22523         * tests/test-gc-md5.c: Likewise.
22524         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22525         * tests/test-gc-rijndael.c: Likewise.
22526         * tests/test-gc-sha1.c: Likewise.
22527         * tests/test-gc.c: Likewise.
22528         * tests/test-getcwd.c: Likewise.
22529         * tests/test-link.c: Likewise.
22530         * tests/test-link.h: Likewise.
22531         * tests/test-lutimens.h: Likewise.
22532         * tests/test-md2.c: Likewise.
22533         * tests/test-md4.c: Likewise.
22534         * tests/test-mkdir.h: Likewise.
22535         * tests/test-rename.c: Likewise.
22536         * tests/test-rename.h: Likewise.
22537         * tests/test-safe-alloc.c: Likewise.
22538         * tests/test-utimens-common.h: Likewise.
22539         * tests/test-utimens.h: Likewise.
22540
22541         maint: sync license texts
22542         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
22543         * doc/gpl-3.0.texi: Revert copyright year update.
22544         * doc/lgpl-3.0.texi: Likewise.
22545
22546 2009-12-29  Jim Meyering  <meyering@redhat.com>
22547
22548         update nearly all FSF copyright year lists to include 2009
22549         The files named by the following are exempted:
22550             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
22551               test -f "$dst" && { echo "$dst"; continue; }
22552               test -d "$dst" || continue
22553               echo "$dst"/$(basename "$src")
22554             done > exempt
22555             git ls-files tests/unictype >> exempt
22556         In the remaining files, convert to all-interval notation if
22557         - there is already at least one year interval like 2000-2003
22558         - the file is maintained by me
22559         - the file is in lib/uni*/, where that style already prevails
22560         Otherwise, use update-copyright's default.
22561
22562 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22563         and Eric Blake  <ebb9@byu.net>
22564
22565         tests: don't require debug system() to pass
22566         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
22567         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22568         * tests/test-unlink.h (test_unlink_func): Likewise.
22569         * tests/test-fstatat.c (main): ...into callers.
22570         * tests/test-lstat.c (main): Likewise.
22571         * tests/test-rmdir.c (main): Likewise.
22572         * tests/test-unlink.c (main): Likewise.
22573         * tests/test-unlinkat.c (main): Likewise.
22574         * tests/test-areadlink-with-size.c (main): Don't require a
22575         debug-only system call to pass, aiding cross-testing to mingw.
22576         * tests/test-areadlink.c (main): Likewise.
22577         * tests/test-areadlinkat-with-size.c (main): Likewise.
22578         * tests/test-areadlinkat.c (main): Likewise.
22579         * tests/test-canonicalize-lgpl.c (main): Likewise.
22580         * tests/test-canonicalize.c (main): Likewise.
22581         * tests/test-chown.c (main): Likewise.
22582         * tests/test-fchownat.c (main): Likewise.
22583         * tests/test-lchown.c (main): Likewise.
22584         * tests/test-fdutimensat.c (main): Likewise.
22585         * tests/test-futimens.c (main): Likewise.
22586         * tests/test-link.c (main): Likewise.
22587         * tests/test-linkat.c (main): Likewise.
22588         * tests/test-mkdir.c (main): Likewise.
22589         * tests/test-mkdirat.c (main): Likewise.
22590         * tests/test-mkfifo.c (main): Likewise.
22591         * tests/test-mkfifoat.c (main): Likewise.
22592         * tests/test-mknod.c (main): Likewise.
22593         * tests/test-readlink.c (main): Likewise.
22594         * tests/test-remove.c (main): Likewise.
22595         * tests/test-rename.c (main): Likewise.
22596         * tests/test-renameat.c (main): Likewise.
22597         * tests/test-symlink.c (main): Likewise.
22598         * tests/test-symlinkat.c (main): Likewise.
22599         * tests/test-utimens.c (main): Likewise.
22600         * tests/test-utimensat.c (main): Likewise.
22601
22602 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22603
22604         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
22605         on $(UNUSED_PARAMETER_H) to avoid build failure.
22606
22607 2009-12-28  Jim Meyering  <meyering@redhat.com>
22608
22609         update-copyright: you may specify a max. line length other than 72
22610         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
22611
22612         maint: use consistent FSF copyright line syntax
22613         * lib/posixtm.c: Add missing comma in FSF copyright line.
22614         * lib/posixtm.h: Likewise.
22615         * lib/getugroups.c: Add missing ", Inc.".
22616
22617         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
22618         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
22619         FSF copyright line.  Remove trailing blanks.
22620
22621 2009-12-28  Eric Blake  <ebb9@byu.net>
22622
22623         test-dup2: reduce dependencies
22624         * modules/cloexec (Configure.ac): Set witness.
22625         * modules/dup2-tests (Depends-on): Drop cloexec.
22626         * tests/test-dup2.c (main): Skip portion of test if cloexec module
22627         not present.
22628         Suggested by Bruno Haible.
22629
22630 2009-12-26  Bruno Haible  <bruno@clisp.org>
22631
22632         Remove an unneeded dependency.
22633         * modules/fseterr (Depends-on): Remove dup2.
22634
22635 2009-12-26  Eric Blake  <ebb9@byu.net>
22636
22637         tests: use macros.h in more places
22638         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
22639         (ASSERT_STREAM): Provide default of stderr.
22640         * tests/test-dirent-safer.c: Include macros.h, using alternate
22641         stream for assertions.
22642         * tests/test-dup-safer.c: Likewise.
22643         * tests/test-freopen-safer.c: Likewise.
22644         * tests/test-getopt.c: Likewise.
22645         * tests/test-openat-safer.c: Likewise.
22646         * tests/test-pipe.c: Likewise.
22647         * tests/test-popen-safer.c: Likewise.
22648         * modules/dirent-safer-tests (Files): Include macros.h.
22649         * modules/unistd-safer-tests (Files): Likewise.
22650         * modules/freopen-safer-tests (Files): Likewise.
22651         * modules/getopt-posix-tests (Files): Likewise.
22652         * modules/openat-safer-tests (Files): Likewise.
22653         * modules/pipe-tests (Files): Likewise.
22654
22655 2009-12-26  Bruno Haible  <bruno@clisp.org>
22656
22657         javacomp: Portability fix.
22658         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
22659         that it also works on Solaris.
22660
22661 2009-12-26  Bruno Haible  <bruno@clisp.org>
22662
22663         localename: Fix storage allocation of gl_locale_name_thread's result.
22664         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
22665         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
22666         all platforms that have 'uselocale'.
22667         (gl_locale_name_thread_unsafe): New function, extracted from
22668         gl_locale_name_thread.
22669         (gl_locale_name_thread): Call struniq on all platforms that have
22670         'uselocale'.
22671         * tests/test-localename.c (test_locale_name_thread): Check that the
22672         resulting strings are permanently allocated.
22673         * modules/localename-tests (Depends-on): Add strdup.
22674
22675 2009-12-26  Bruno Haible  <bruno@clisp.org>
22676
22677         * tests/test-localename.c (categories): Fill in the strings.
22678
22679 2009-12-26  Jim Meyering  <meyering@redhat.com>
22680
22681         isdir: complete the removal of m4/isdir.m4
22682         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
22683
22684         isdir: clean up, since at least grep still uses it
22685         * lib/isdir.c: Include "isdir.h".
22686         (S_ISDIR): Remove now-unneeded definition.
22687         * modules/isdir (Files): Add lib/isdir.h.
22688         * lib/isdir.h: New file, with declaration.
22689         * m4/isdir.m4: Remove file -- unneeded.
22690
22691 2009-12-25  Bruno Haible  <bruno@clisp.org>
22692
22693         selinux-h: Make generated .h files standalone.
22694         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
22695         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
22696         * lib/se-selinux.in.h: Likewise.
22697         * modules/selinux-h (Depends-on): Add unused-parameter.
22698         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
22699         selinux/selinux.h and selinux/context.h.
22700         Suggested by Eric Blake.
22701
22702 2009-12-25  Bruno Haible  <bruno@clisp.org>
22703
22704         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
22705         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
22706         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
22707         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
22708         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
22709
22710 2009-12-24  Bruno Haible  <bruno@clisp.org>
22711
22712         openat: Fix warning.
22713         * lib/openat-proc.c: Include <unistd.h>.
22714
22715 2009-12-24  Bruno Haible  <bruno@clisp.org>
22716
22717         New module 'unused-parameter'.
22718         * build-aux/unused-parameter.h: New file, extracted from earlier
22719         gnulib-common.m4.
22720         * modules/unused-parameter: New file.
22721         * lib/unistr.h: Include unused-parameter.h.
22722         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
22723         _GL_UNUSED.
22724         * modules/unistr/base (Depends-on): Add unused-parameter.
22725
22726 2009-12-24  Bruno Haible  <bruno@clisp.org>
22727
22728         Add missing dependencies to 'extensions' module.
22729         * m4/extensions.m4: Add comment.
22730         * modules/accept4 (Depends-on): Add extensions.
22731         * modules/dup3 (Depends-on): Likewise.
22732         * modules/fcntl (Depends-on): Likewise.
22733         * modules/futimens (Depends-on): Likewise.
22734         * modules/mknod (Depends-on): Likewise.
22735         * modules/pipe2 (Depends-on): Likewise.
22736         * modules/stat-time (Depends-on): Likewise.
22737         * modules/strcasestr-simple (Depends-on): Likewise.
22738         * modules/strsignal (Depends-on): Likewise.
22739         * modules/utimensat (Depends-on): Likewise.
22740         * modules/localcharset (Depends-on): Likewise. Needed because of
22741         gl_FCNTL_O_FLAGS.
22742         * modules/wcrtomb (Depends-on): Likewise. Needed because of
22743         AC_TYPE_MBSTATE_T.
22744         * modules/wcsnrtombs (Depends-on): Likewise.
22745         * modules/wcsrtombs (Depends-on): Likewise.
22746
22747 2009-12-24  Bruno Haible  <bruno@clisp.org>
22748
22749         binary-io: Avoid gcc warning due to SET_BINARY.
22750         * lib/binary-io.h (SET_BINARY): Cast the result to void.
22751         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
22752
22753 2009-12-24  Bruno Haible  <bruno@clisp.org>
22754
22755         Avoid future namespace pollution on glibc systems.
22756         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
22757         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
22758         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
22759         glibc systems.
22760
22761 2009-12-24  Bruno Haible  <bruno@clisp.org>
22762
22763         Refactor common macros used in tests.
22764         * tests/macros.h: New file.
22765         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
22766         and/or <stdlib.h>, if appropriate.
22767         (ASSERT, SIZEOF): Remove macros.
22768         * tests/test-areadlink-with-size.c: Likewise.
22769         * tests/test-areadlinkat.c: Likewise.
22770         * tests/test-areadlinkat-with-size.c: Likewise.
22771         * tests/test-argmatch.c: Likewise.
22772         * tests/test-argv-iter.c: Likewise.
22773         * tests/test-array-mergesort.c: Likewise.
22774         * tests/test-array_list.c: Likewise.
22775         * tests/test-array_oset.c: Likewise.
22776         * tests/test-avltree_list.c: Likewise.
22777         * tests/test-avltree_oset.c: Likewise.
22778         * tests/test-avltreehash_list.c: Likewise.
22779         * tests/test-base64.c: Likewise.
22780         * tests/test-binary-io.c: Likewise.
22781         * tests/test-bitrotate.c: Likewise.
22782         * tests/test-btowc.c: Likewise.
22783         * tests/test-byteswap.c: Likewise.
22784         * tests/test-c-ctype.c: Likewise.
22785         * tests/test-c-stack.c: Likewise.
22786         * tests/test-c-strcasecmp.c: Likewise.
22787         * tests/test-c-strcasestr.c: Likewise.
22788         * tests/test-c-strncasecmp.c: Likewise.
22789         * tests/test-c-strstr.c: Likewise.
22790         * tests/test-canonicalize-lgpl.c: Likewise.
22791         * tests/test-canonicalize.c: Likewise.
22792         * tests/test-carray_list.c: Likewise.
22793         * tests/test-ceilf1.c: Likewise.
22794         * tests/test-ceilf2.c: Likewise.
22795         * tests/test-ceill.c: Likewise.
22796         * tests/test-chown.c: Likewise.
22797         * tests/test-cloexec.c: Likewise.
22798         * tests/test-copy-acl.c: Likewise.
22799         * tests/test-copy-file.c: Likewise.
22800         * tests/test-count-one-bits.c: Likewise.
22801         * tests/test-dprintf-posix.c: Likewise.
22802         * tests/test-dup2.c: Likewise.
22803         * tests/test-dup3.c: Likewise.
22804         * tests/test-duplocale.c: Likewise.
22805         * tests/test-fbufmode.c: Likewise.
22806         * tests/test-fchdir.c: Likewise.
22807         * tests/test-fchownat.c: Likewise.
22808         * tests/test-fcntl-safer.c: Likewise.
22809         * tests/test-fcntl.c: Likewise.
22810         * tests/test-fdopendir.c: Likewise.
22811         * tests/test-fdutimensat.c: Likewise.
22812         * tests/test-fflush2.c: Likewise.
22813         * tests/test-file-has-acl.c: Likewise.
22814         * tests/test-filevercmp.c: Likewise.
22815         * tests/test-flock.c: Likewise.
22816         * tests/test-floorf1.c: Likewise.
22817         * tests/test-floorf2.c: Likewise.
22818         * tests/test-floorl.c: Likewise.
22819         * tests/test-fnmatch.c: Likewise.
22820         * tests/test-fopen.h: Likewise.
22821         * tests/test-fpending.c: Likewise.
22822         * tests/test-fprintf-posix.c: Likewise.
22823         * tests/test-fpurge.c: Likewise.
22824         * tests/test-freadable.c: Likewise.
22825         * tests/test-freadahead.c: Likewise.
22826         * tests/test-freading.c: Likewise.
22827         * tests/test-freadptr.c: Likewise.
22828         * tests/test-freadptr2.c: Likewise.
22829         * tests/test-freadseek.c: Likewise.
22830         * tests/test-freopen.c: Likewise.
22831         * tests/test-frexp.c: Likewise.
22832         * tests/test-frexpl.c: Likewise.
22833         * tests/test-fseek.c: Likewise.
22834         * tests/test-fseeko.c: Likewise.
22835         * tests/test-fstatat.c: Likewise.
22836         * tests/test-fstrcmp.c: Likewise.
22837         * tests/test-fsync.c: Likewise.
22838         * tests/test-ftell.c: Likewise.
22839         * tests/test-ftello.c: Likewise.
22840         * tests/test-func.c: Likewise.
22841         * tests/test-futimens.c: Likewise.
22842         * tests/test-fwritable.c: Likewise.
22843         * tests/test-fwriting.c: Likewise.
22844         * tests/test-getcwd.c: Likewise.
22845         * tests/test-getdate.c: Likewise.
22846         * tests/test-getdelim.c: Likewise.
22847         * tests/test-getdtablesize.c: Likewise.
22848         * tests/test-getgroups.c: Likewise.
22849         * tests/test-getline.c: Likewise.
22850         * tests/test-getndelim2.c: Likewise.
22851         * tests/test-glob.c: Likewise.
22852         * tests/test-hash.c: Likewise.
22853         * tests/test-i-ring.c: Likewise.
22854         * tests/test-iconv-utf.c: Likewise.
22855         * tests/test-iconv.c: Likewise.
22856         * tests/test-idpriv-drop.c: Likewise.
22857         * tests/test-idpriv-droptemp.c: Likewise.
22858         * tests/test-inet_ntop.c: Likewise.
22859         * tests/test-inet_pton.c: Likewise.
22860         * tests/test-isblank.c: Likewise.
22861         * tests/test-isfinite.c: Likewise.
22862         * tests/test-isinf.c: Likewise.
22863         * tests/test-isnan.c: Likewise.
22864         * tests/test-isnand.h: Likewise.
22865         * tests/test-isnanf.h: Likewise.
22866         * tests/test-isnanl.h: Likewise.
22867         * tests/test-lchown.c: Likewise.
22868         * tests/test-ldexpl.c: Likewise.
22869         * tests/test-link.c: Likewise.
22870         * tests/test-linkat.c: Likewise.
22871         * tests/test-linked_list.c: Likewise.
22872         * tests/test-linkedhash_list.c: Likewise.
22873         * tests/test-localename.c: Likewise.
22874         * tests/test-lseek.c: Likewise.
22875         * tests/test-lstat.c: Likewise.
22876         * tests/test-mbmemcasecmp.c: Likewise.
22877         * tests/test-mbmemcasecoll.c: Likewise.
22878         * tests/test-mbrtowc.c: Likewise.
22879         * tests/test-mbscasecmp.c: Likewise.
22880         * tests/test-mbscasestr1.c: Likewise.
22881         * tests/test-mbscasestr2.c: Likewise.
22882         * tests/test-mbscasestr3.c: Likewise.
22883         * tests/test-mbscasestr4.c: Likewise.
22884         * tests/test-mbschr.c: Likewise.
22885         * tests/test-mbscspn.c: Likewise.
22886         * tests/test-mbsinit.c: Likewise.
22887         * tests/test-mbsncasecmp.c: Likewise.
22888         * tests/test-mbsnrtowcs.c: Likewise.
22889         * tests/test-mbspbrk.c: Likewise.
22890         * tests/test-mbspcasecmp.c: Likewise.
22891         * tests/test-mbsrchr.c: Likewise.
22892         * tests/test-mbsrtowcs.c: Likewise.
22893         * tests/test-mbsspn.c: Likewise.
22894         * tests/test-mbsstr1.c: Likewise.
22895         * tests/test-mbsstr2.c: Likewise.
22896         * tests/test-mbsstr3.c: Likewise.
22897         * tests/test-memchr.c: Likewise.
22898         * tests/test-memchr2.c: Likewise.
22899         * tests/test-memcmp.c: Likewise.
22900         * tests/test-memmem.c: Likewise.
22901         * tests/test-memrchr.c: Likewise.
22902         * tests/test-mkdir.c: Likewise.
22903         * tests/test-mkdirat.c: Likewise.
22904         * tests/test-mkfifo.c: Likewise.
22905         * tests/test-mkfifoat.c: Likewise.
22906         * tests/test-mknod.c: Likewise.
22907         * tests/test-nanosleep.c: Likewise.
22908         * tests/test-nl_langinfo.c: Likewise.
22909         * tests/test-obstack-printf.c: Likewise.
22910         * tests/test-open.c: Likewise.
22911         * tests/test-openat.c: Likewise.
22912         * tests/test-pipe-filter-gi1.c: Likewise.
22913         * tests/test-pipe-filter-gi2-main.c: Likewise.
22914         * tests/test-pipe-filter-ii1.c: Likewise.
22915         * tests/test-pipe-filter-ii2-main.c: Likewise.
22916         * tests/test-pipe2.c: Likewise.
22917         * tests/test-popen.h: Likewise.
22918         * tests/test-posixtm.c: Likewise.
22919         * tests/test-pread.c: Likewise.
22920         * tests/test-printf-frexp.c: Likewise.
22921         * tests/test-printf-frexpl.c: Likewise.
22922         * tests/test-printf-posix.c: Likewise.
22923         * tests/test-priv-set.c: Likewise.
22924         * tests/test-quotearg.c: Likewise.
22925         * tests/test-random_r.c: Likewise.
22926         * tests/test-rawmemchr.c: Likewise.
22927         * tests/test-rbtree_list.c: Likewise.
22928         * tests/test-rbtree_oset.c: Likewise.
22929         * tests/test-rbtreehash_list.c: Likewise.
22930         * tests/test-readlink.c: Likewise.
22931         * tests/test-remove.c: Likewise.
22932         * tests/test-rename.c: Likewise.
22933         * tests/test-renameat.c: Likewise.
22934         * tests/test-rmdir.c: Likewise.
22935         * tests/test-round1.c: Likewise.
22936         * tests/test-roundf1.c: Likewise.
22937         * tests/test-roundl.c: Likewise.
22938         * tests/test-safe-alloc.c: Likewise.
22939         * tests/test-sameacls.c: Likewise.
22940         * tests/test-set-mode-acl.c: Likewise.
22941         * tests/test-setenv.c: Likewise.
22942         * tests/test-sigaction.c: Likewise.
22943         * tests/test-signbit.c: Likewise.
22944         * tests/test-sleep.c: Likewise.
22945         * tests/test-snprintf-posix.c: Likewise.
22946         * tests/test-snprintf.c: Likewise.
22947         * tests/test-sprintf-posix.c: Likewise.
22948         * tests/test-stat-time.c: Likewise.
22949         * tests/test-stat.c: Likewise.
22950         * tests/test-strcasestr.c: Likewise.
22951         * tests/test-strchrnul.c: Likewise.
22952         * tests/test-strerror.c: Likewise.
22953         * tests/test-striconv.c: Likewise.
22954         * tests/test-striconveh.c: Likewise.
22955         * tests/test-striconveha.c: Likewise.
22956         * tests/test-strsignal.c: Likewise.
22957         * tests/test-strstr.c: Likewise.
22958         * tests/test-strtod.c: Likewise.
22959         * tests/test-strverscmp.c: Likewise.
22960         * tests/test-symlink.c: Likewise.
22961         * tests/test-symlinkat.c: Likewise.
22962         * tests/test-trunc1.c: Likewise.
22963         * tests/test-trunc2.c: Likewise.
22964         * tests/test-truncf1.c: Likewise.
22965         * tests/test-truncf2.c: Likewise.
22966         * tests/test-truncl.c: Likewise.
22967         * tests/test-uname.c: Likewise.
22968         * tests/test-unlink.c: Likewise.
22969         * tests/test-unlinkat.c: Likewise.
22970         * tests/test-unsetenv.c: Likewise.
22971         * tests/test-usleep.c: Likewise.
22972         * tests/test-utimens.c: Likewise.
22973         * tests/test-utimensat.c: Likewise.
22974         * tests/test-vasnprintf-posix.c: Likewise.
22975         * tests/test-vasnprintf-posix2.c: Likewise.
22976         * tests/test-vasnprintf.c: Likewise.
22977         * tests/test-vasprintf-posix.c: Likewise.
22978         * tests/test-vasprintf.c: Likewise.
22979         * tests/test-vdprintf-posix.c: Likewise.
22980         * tests/test-vfprintf-posix.c: Likewise.
22981         * tests/test-vprintf-posix.c: Likewise.
22982         * tests/test-vsnprintf-posix.c: Likewise.
22983         * tests/test-vsnprintf.c: Likewise.
22984         * tests/test-vsprintf-posix.c: Likewise.
22985         * tests/test-wcrtomb.c: Likewise.
22986         * tests/test-wcsnrtombs.c: Likewise.
22987         * tests/test-wcsrtombs.c: Likewise.
22988         * tests/test-wctype.c: Likewise.
22989         * tests/test-wcwidth.c: Likewise.
22990         * tests/test-xfprintf-posix.c: Likewise.
22991         * tests/test-xmemdup0.c: Likewise.
22992         * tests/test-xprintf-posix.c: Likewise.
22993         * tests/test-xvasprintf.c: Likewise.
22994         * tests/unicase/test-locale-language.c: Likewise.
22995         * tests/unicase/test-mapping-part1.h: Likewise.
22996         * tests/unicase/test-predicate-part1.h: Likewise.
22997         * tests/unicase/test-u8-casecmp.c: Likewise.
22998         * tests/unicase/test-u8-casecoll.c: Likewise.
22999         * tests/unicase/test-u8-casefold.c: Likewise.
23000         * tests/unicase/test-u8-is-cased.c: Likewise.
23001         * tests/unicase/test-u8-is-casefolded.c: Likewise.
23002         * tests/unicase/test-u8-is-lowercase.c: Likewise.
23003         * tests/unicase/test-u8-is-titlecase.c: Likewise.
23004         * tests/unicase/test-u8-is-uppercase.c: Likewise.
23005         * tests/unicase/test-u8-tolower.c: Likewise.
23006         * tests/unicase/test-u8-totitle.c: Likewise.
23007         * tests/unicase/test-u8-toupper.c: Likewise.
23008         * tests/unicase/test-u16-casecmp.c: Likewise.
23009         * tests/unicase/test-u16-casecoll.c: Likewise.
23010         * tests/unicase/test-u16-casefold.c: Likewise.
23011         * tests/unicase/test-u16-is-cased.c: Likewise.
23012         * tests/unicase/test-u16-is-casefolded.c: Likewise.
23013         * tests/unicase/test-u16-is-lowercase.c: Likewise.
23014         * tests/unicase/test-u16-is-titlecase.c: Likewise.
23015         * tests/unicase/test-u16-is-uppercase.c: Likewise.
23016         * tests/unicase/test-u16-tolower.c: Likewise.
23017         * tests/unicase/test-u16-totitle.c: Likewise.
23018         * tests/unicase/test-u16-toupper.c: Likewise.
23019         * tests/unicase/test-u32-casecmp.c: Likewise.
23020         * tests/unicase/test-u32-casecoll.c: Likewise.
23021         * tests/unicase/test-u32-casefold.c: Likewise.
23022         * tests/unicase/test-u32-is-cased.c: Likewise.
23023         * tests/unicase/test-u32-is-casefolded.c: Likewise.
23024         * tests/unicase/test-u32-is-lowercase.c: Likewise.
23025         * tests/unicase/test-u32-is-titlecase.c: Likewise.
23026         * tests/unicase/test-u32-is-uppercase.c: Likewise.
23027         * tests/unicase/test-u32-tolower.c: Likewise.
23028         * tests/unicase/test-u32-totitle.c: Likewise.
23029         * tests/unicase/test-u32-toupper.c: Likewise.
23030         * tests/unicase/test-ulc-casecmp.c: Likewise.
23031         * tests/unicase/test-ulc-casecoll.c: Likewise.
23032         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23033         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23034         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23035         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23036         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23037         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23038         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23039         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23040         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23041         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23042         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23043         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23044         * tests/unictype/test-bidi_byname.c: Likewise.
23045         * tests/unictype/test-bidi_name.c: Likewise.
23046         * tests/unictype/test-bidi_of.c: Likewise.
23047         * tests/unictype/test-bidi_test.c: Likewise.
23048         * tests/unictype/test-block_list.c: Likewise.
23049         * tests/unictype/test-block_of.c: Likewise.
23050         * tests/unictype/test-block_test.c: Likewise.
23051         * tests/unictype/test-categ_and.c: Likewise.
23052         * tests/unictype/test-categ_and_not.c: Likewise.
23053         * tests/unictype/test-categ_byname.c: Likewise.
23054         * tests/unictype/test-categ_name.c: Likewise.
23055         * tests/unictype/test-categ_none.c: Likewise.
23056         * tests/unictype/test-categ_of.c: Likewise.
23057         * tests/unictype/test-categ_or.c: Likewise.
23058         * tests/unictype/test-categ_test_withtable.c: Likewise.
23059         * tests/unictype/test-combining.c: Likewise.
23060         * tests/unictype/test-decdigit.c: Likewise.
23061         * tests/unictype/test-digit.c: Likewise.
23062         * tests/unictype/test-mirror.c: Likewise.
23063         * tests/unictype/test-numeric.c: Likewise.
23064         * tests/unictype/test-pr_byname.c: Likewise.
23065         * tests/unictype/test-pr_test.c: Likewise.
23066         * tests/unictype/test-predicate-part1.h: Likewise.
23067         * tests/unictype/test-scripts.c: Likewise.
23068         * tests/unictype/test-sy_c_ident.c: Likewise.
23069         * tests/unictype/test-sy_java_ident.c: Likewise.
23070         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
23071         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
23072         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
23073         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
23074         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
23075         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
23076         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
23077         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
23078         * tests/uninorm/test-canonical-decomposition.c: Likewise.
23079         * tests/uninorm/test-compat-decomposition.c: Likewise.
23080         * tests/uninorm/test-composition.c: Likewise.
23081         * tests/uninorm/test-decomposing-form.c: Likewise.
23082         * tests/uninorm/test-decomposition.c: Likewise.
23083         * tests/uninorm/test-u8-nfc.c: Likewise.
23084         * tests/uninorm/test-u8-nfd.c: Likewise.
23085         * tests/uninorm/test-u8-nfkc.c: Likewise.
23086         * tests/uninorm/test-u8-nfkd.c: Likewise.
23087         * tests/uninorm/test-u8-normcmp.c: Likewise.
23088         * tests/uninorm/test-u8-normcoll.c: Likewise.
23089         * tests/uninorm/test-u16-nfc.c: Likewise.
23090         * tests/uninorm/test-u16-nfd.c: Likewise.
23091         * tests/uninorm/test-u16-nfkc.c: Likewise.
23092         * tests/uninorm/test-u16-nfkd.c: Likewise.
23093         * tests/uninorm/test-u16-normcmp.c: Likewise.
23094         * tests/uninorm/test-u16-normcoll.c: Likewise.
23095         * tests/uninorm/test-u32-nfc.c: Likewise.
23096         * tests/uninorm/test-u32-nfd.c: Likewise.
23097         * tests/uninorm/test-u32-nfkc.c: Likewise.
23098         * tests/uninorm/test-u32-nfkd.c: Likewise.
23099         * tests/uninorm/test-u32-normalize-big.c: Likewise.
23100         * tests/uninorm/test-u32-normcmp.c: Likewise.
23101         * tests/uninorm/test-u32-normcoll.c: Likewise.
23102         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
23103         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23104         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23105         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23106         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23107         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23108         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23109         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23110         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23111         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23112         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23113         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23114         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23115         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23116         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23117         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23118         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23119         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23120         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23121         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23122         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23123         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23124         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23125         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23126         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23127         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23128         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23129         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23130         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23131         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
23132         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
23133         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
23134         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
23135         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23136         * tests/uniwidth/test-u8-width.c: Likewise.
23137         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23138         * tests/uniwidth/test-u16-width.c: Likewise.
23139         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23140         * tests/uniwidth/test-u32-width.c: Likewise.
23141         * tests/uniwidth/test-uc_width.c: Likewise.
23142         * tests/uniwidth/test-uc_width2.c: Likewise.
23143         * modules/acl-tests (Files): Add tests/macros.h.
23144         * modules/areadlink-tests (Files): Likewise.
23145         * modules/areadlink-with-size-tests (Files): Likewise.
23146         * modules/areadlinkat-tests (Files): Likewise.
23147         * modules/areadlinkat-with-size-tests (Files): Likewise.
23148         * modules/argmatch-tests (Files): Likewise.
23149         * modules/argv-iter-tests (Files): Likewise.
23150         * modules/array-list-tests (Files): Likewise.
23151         * modules/array-mergesort-tests (Files): Likewise.
23152         * modules/array-oset-tests (Files): Likewise.
23153         * modules/avltree-list-tests (Files): Likewise.
23154         * modules/avltree-oset-tests (Files): Likewise.
23155         * modules/avltreehash-list-tests (Files): Likewise.
23156         * modules/base64-tests (Files): Likewise.
23157         * modules/binary-io-tests (Files): Likewise.
23158         * modules/bitrotate-tests (Files): Likewise.
23159         * modules/btowc-tests (Files): Likewise.
23160         * modules/byteswap-tests (Files): Likewise.
23161         * modules/c-ctype-tests (Files): Likewise.
23162         * modules/c-stack-tests (Files): Likewise.
23163         * modules/c-strcase-tests (Files): Likewise.
23164         * modules/c-strcasestr-tests (Files): Likewise.
23165         * modules/c-strstr-tests (Files): Likewise.
23166         * modules/canonicalize-lgpl-tests (Files): Likewise.
23167         * modules/canonicalize-tests (Files): Likewise.
23168         * modules/carray-list-tests (Files): Likewise.
23169         * modules/ceilf-tests (Files): Likewise.
23170         * modules/ceill-tests (Files): Likewise.
23171         * modules/chown-tests (Files): Likewise.
23172         * modules/cloexec-tests (Files): Likewise.
23173         * modules/copy-file-tests (Files): Likewise.
23174         * modules/count-one-bits-tests (Files): Likewise.
23175         * modules/dprintf-posix-tests (Files): Likewise.
23176         * modules/dup2-tests (Files): Likewise.
23177         * modules/dup3-tests (Files): Likewise.
23178         * modules/duplocale-tests (Files): Likewise.
23179         * modules/fbufmode-tests (Files): Likewise.
23180         * modules/fchdir-tests (Files): Likewise.
23181         * modules/fcntl-safer-tests (Files): Likewise.
23182         * modules/fcntl-tests (Files): Likewise.
23183         * modules/fdopendir-tests (Files): Likewise.
23184         * modules/fdutimensat-tests (Files): Likewise.
23185         * modules/fflush-tests (Files): Likewise.
23186         * modules/filevercmp-tests (Files): Likewise.
23187         * modules/flock-tests (Files): Likewise.
23188         * modules/floorf-tests (Files): Likewise.
23189         * modules/floorl-tests (Files): Likewise.
23190         * modules/fnmatch-tests (Files): Likewise.
23191         * modules/fopen-safer-tests (Files): Likewise.
23192         * modules/fopen-tests (Files): Likewise.
23193         * modules/fpending-tests (Files): Likewise.
23194         * modules/fprintf-posix-tests (Files): Likewise.
23195         * modules/fpurge-tests (Files): Likewise.
23196         * modules/freadable-tests (Files): Likewise.
23197         * modules/freadahead-tests (Files): Likewise.
23198         * modules/freading-tests (Files): Likewise.
23199         * modules/freadptr-tests (Files): Likewise.
23200         * modules/freadseek-tests (Files): Likewise.
23201         * modules/freopen-tests (Files): Likewise.
23202         * modules/frexp-nolibm-tests (Files): Likewise.
23203         * modules/frexp-tests (Files): Likewise.
23204         * modules/frexpl-nolibm-tests (Files): Likewise.
23205         * modules/frexpl-tests (Files): Likewise.
23206         * modules/fseek-tests (Files): Likewise.
23207         * modules/fseeko-tests (Files): Likewise.
23208         * modules/fstrcmp-tests (Files): Likewise.
23209         * modules/fsync-tests (Files): Likewise.
23210         * modules/ftell-tests (Files): Likewise.
23211         * modules/ftello-tests (Files): Likewise.
23212         * modules/func-tests (Files): Likewise.
23213         * modules/futimens-tests (Files): Likewise.
23214         * modules/fwritable-tests (Files): Likewise.
23215         * modules/fwriting-tests (Files): Likewise.
23216         * modules/getcwd-tests (Files): Likewise.
23217         * modules/getdate-tests (Files): Likewise.
23218         * modules/getdelim-tests (Files): Likewise.
23219         * modules/getdtablesize-tests (Files): Likewise.
23220         * modules/getgroups-tests (Files): Likewise.
23221         * modules/getline-tests (Files): Likewise.
23222         * modules/getndelim2-tests (Files): Likewise.
23223         * modules/glob-tests (Files): Likewise.
23224         * modules/hash-tests (Files): Likewise.
23225         * modules/i-ring-tests (Files): Likewise.
23226         * modules/iconv-tests (Files): Likewise.
23227         * modules/iconv_open-utf-tests (Files): Likewise.
23228         * modules/idpriv-drop-tests (Files): Likewise.
23229         * modules/idpriv-droptemp-tests (Files): Likewise.
23230         * modules/inet_ntop-tests (Files): Likewise.
23231         * modules/inet_pton-tests (Files): Likewise.
23232         * modules/isblank-tests (Files): Likewise.
23233         * modules/isfinite-tests (Files): Likewise.
23234         * modules/isinf-tests (Files): Likewise.
23235         * modules/isnan-tests (Files): Likewise.
23236         * modules/isnand-nolibm-tests (Files): Likewise.
23237         * modules/isnand-tests (Files): Likewise.
23238         * modules/isnanf-nolibm-tests (Files): Likewise.
23239         * modules/isnanf-tests (Files): Likewise.
23240         * modules/isnanl-nolibm-tests (Files): Likewise.
23241         * modules/isnanl-tests (Files): Likewise.
23242         * modules/lchown-tests (Files): Likewise.
23243         * modules/ldexpl-tests (Files): Likewise.
23244         * modules/link-tests (Files): Likewise.
23245         * modules/linkat-tests (Files): Likewise.
23246         * modules/linked-list-tests (Files): Likewise.
23247         * modules/linkedhash-list-tests (Files): Likewise.
23248         * modules/localename-tests (Files): Likewise.
23249         * modules/lseek-tests (Files): Likewise.
23250         * modules/lstat-tests (Files): Likewise.
23251         * modules/mbmemcasecmp-tests (Files): Likewise.
23252         * modules/mbmemcasecoll-tests (Files): Likewise.
23253         * modules/mbrtowc-tests (Files): Likewise.
23254         * modules/mbscasecmp-tests (Files): Likewise.
23255         * modules/mbscasestr-tests (Files): Likewise.
23256         * modules/mbschr-tests (Files): Likewise.
23257         * modules/mbscspn-tests (Files): Likewise.
23258         * modules/mbsinit-tests (Files): Likewise.
23259         * modules/mbsncasecmp-tests (Files): Likewise.
23260         * modules/mbsnrtowcs-tests (Files): Likewise.
23261         * modules/mbspbrk-tests (Files): Likewise.
23262         * modules/mbspcasecmp-tests (Files): Likewise.
23263         * modules/mbsrchr-tests (Files): Likewise.
23264         * modules/mbsrtowcs-tests (Files): Likewise.
23265         * modules/mbsspn-tests (Files): Likewise.
23266         * modules/mbsstr-tests (Files): Likewise.
23267         * modules/memchr-tests (Files): Likewise.
23268         * modules/memchr2-tests (Files): Likewise.
23269         * modules/memcmp-tests (Files): Likewise.
23270         * modules/memmem-tests (Files): Likewise.
23271         * modules/memrchr-tests (Files): Likewise.
23272         * modules/mkdir-tests (Files): Likewise.
23273         * modules/mkfifo-tests (Files): Likewise.
23274         * modules/mkfifoat-tests (Files): Likewise.
23275         * modules/mknod-tests (Files): Likewise.
23276         * modules/nanosleep-tests (Files): Likewise.
23277         * modules/nl_langinfo-tests (Files): Likewise.
23278         * modules/obstack-printf-tests (Files): Likewise.
23279         * modules/open-tests (Files): Likewise.
23280         * modules/openat-tests (Files): Likewise.
23281         * modules/pipe-filter-gi-tests (Files): Likewise.
23282         * modules/pipe-filter-ii-tests (Files): Likewise.
23283         * modules/pipe2-tests (Files): Likewise.
23284         * modules/popen-safer-tests (Files): Likewise.
23285         * modules/popen-tests (Files): Likewise.
23286         * modules/posixtm-tests (Files): Likewise.
23287         * modules/pread-tests (Files): Likewise.
23288         * modules/printf-frexp-tests (Files): Likewise.
23289         * modules/printf-frexpl-tests (Files): Likewise.
23290         * modules/printf-posix-tests (Files): Likewise.
23291         * modules/priv-set-tests (Files): Likewise.
23292         * modules/quotearg-tests (Files): Likewise.
23293         * modules/random_r-tests (Files): Likewise.
23294         * modules/rawmemchr-tests (Files): Likewise.
23295         * modules/rbtree-list-tests (Files): Likewise.
23296         * modules/rbtree-oset-tests (Files): Likewise.
23297         * modules/rbtreehash-list-tests (Files): Likewise.
23298         * modules/readlink-tests (Files): Likewise.
23299         * modules/remove-tests (Files): Likewise.
23300         * modules/rename-tests (Files): Likewise.
23301         * modules/renameat-tests (Files): Likewise.
23302         * modules/rmdir-tests (Files): Likewise.
23303         * modules/round-tests (Files): Likewise.
23304         * modules/roundf-tests (Files): Likewise.
23305         * modules/roundl-tests (Files): Likewise.
23306         * modules/safe-alloc-tests (Files): Likewise.
23307         * modules/setenv-tests (Files): Likewise.
23308         * modules/sigaction-tests (Files): Likewise.
23309         * modules/signbit-tests (Files): Likewise.
23310         * modules/sleep-tests (Files): Likewise.
23311         * modules/snprintf-posix-tests (Files): Likewise.
23312         * modules/snprintf-tests (Files): Likewise.
23313         * modules/sprintf-posix-tests (Files): Likewise.
23314         * modules/stat-tests (Files): Likewise.
23315         * modules/stat-time-tests (Files): Likewise.
23316         * modules/strcasestr-tests (Files): Likewise.
23317         * modules/strchrnul-tests (Files): Likewise.
23318         * modules/strerror-tests (Files): Likewise.
23319         * modules/striconv-tests (Files): Likewise.
23320         * modules/striconveh-tests (Files): Likewise.
23321         * modules/striconveha-tests (Files): Likewise.
23322         * modules/strsignal-tests (Files): Likewise.
23323         * modules/strstr-tests (Files): Likewise.
23324         * modules/strtod-tests (Files): Likewise.
23325         * modules/strverscmp-tests (Files): Likewise.
23326         * modules/symlink-tests (Files): Likewise.
23327         * modules/symlinkat-tests (Files): Likewise.
23328         * modules/trunc-tests (Files): Likewise.
23329         * modules/truncf-tests (Files): Likewise.
23330         * modules/truncl-tests (Files): Likewise.
23331         * modules/uname-tests (Files): Likewise.
23332         * modules/unicase/cased-tests (Files): Likewise.
23333         * modules/unicase/ignorable-tests (Files): Likewise.
23334         * modules/unicase/locale-language-tests (Files): Likewise.
23335         * modules/unicase/tolower-tests (Files): Likewise.
23336         * modules/unicase/totitle-tests (Files): Likewise.
23337         * modules/unicase/toupper-tests (Files): Likewise.
23338         * modules/unicase/u8-casecmp-tests (Files): Likewise.
23339         * modules/unicase/u8-casecoll-tests (Files): Likewise.
23340         * modules/unicase/u8-casefold-tests (Files): Likewise.
23341         * modules/unicase/u8-is-cased-tests (Files): Likewise.
23342         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
23343         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
23344         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
23345         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
23346         * modules/unicase/u8-tolower-tests (Files): Likewise.
23347         * modules/unicase/u8-totitle-tests (Files): Likewise.
23348         * modules/unicase/u8-toupper-tests (Files): Likewise.
23349         * modules/unicase/u16-casecmp-tests (Files): Likewise.
23350         * modules/unicase/u16-casecoll-tests (Files): Likewise.
23351         * modules/unicase/u16-casefold-tests (Files): Likewise.
23352         * modules/unicase/u16-is-cased-tests (Files): Likewise.
23353         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
23354         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
23355         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
23356         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
23357         * modules/unicase/u16-tolower-tests (Files): Likewise.
23358         * modules/unicase/u16-totitle-tests (Files): Likewise.
23359         * modules/unicase/u16-toupper-tests (Files): Likewise.
23360         * modules/unicase/u32-casecmp-tests (Files): Likewise.
23361         * modules/unicase/u32-casecoll-tests (Files): Likewise.
23362         * modules/unicase/u32-casefold-tests (Files): Likewise.
23363         * modules/unicase/u32-is-cased-tests (Files): Likewise.
23364         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
23365         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
23366         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
23367         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
23368         * modules/unicase/u32-tolower-tests (Files): Likewise.
23369         * modules/unicase/u32-totitle-tests (Files): Likewise.
23370         * modules/unicase/u32-toupper-tests (Files): Likewise.
23371         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
23372         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
23373         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
23374         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
23375         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
23376         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
23377         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
23378         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
23379         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
23380         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
23381         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
23382         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
23383         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
23384         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
23385         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
23386         * modules/unictype/bidicategory-name-tests (Files): Likewise.
23387         * modules/unictype/bidicategory-of-tests (Files): Likewise.
23388         * modules/unictype/bidicategory-test-tests (Files): Likewise.
23389         * modules/unictype/block-list-tests (Files): Likewise.
23390         * modules/unictype/block-of-tests (Files): Likewise.
23391         * modules/unictype/block-test-tests (Files): Likewise.
23392         * modules/unictype/category-C-tests (Files): Likewise.
23393         * modules/unictype/category-Cc-tests (Files): Likewise.
23394         * modules/unictype/category-Cf-tests (Files): Likewise.
23395         * modules/unictype/category-Cn-tests (Files): Likewise.
23396         * modules/unictype/category-Co-tests (Files): Likewise.
23397         * modules/unictype/category-Cs-tests (Files): Likewise.
23398         * modules/unictype/category-L-tests (Files): Likewise.
23399         * modules/unictype/category-Ll-tests (Files): Likewise.
23400         * modules/unictype/category-Lm-tests (Files): Likewise.
23401         * modules/unictype/category-Lo-tests (Files): Likewise.
23402         * modules/unictype/category-Lt-tests (Files): Likewise.
23403         * modules/unictype/category-Lu-tests (Files): Likewise.
23404         * modules/unictype/category-M-tests (Files): Likewise.
23405         * modules/unictype/category-Mc-tests (Files): Likewise.
23406         * modules/unictype/category-Me-tests (Files): Likewise.
23407         * modules/unictype/category-Mn-tests (Files): Likewise.
23408         * modules/unictype/category-N-tests (Files): Likewise.
23409         * modules/unictype/category-Nd-tests (Files): Likewise.
23410         * modules/unictype/category-Nl-tests (Files): Likewise.
23411         * modules/unictype/category-No-tests (Files): Likewise.
23412         * modules/unictype/category-P-tests (Files): Likewise.
23413         * modules/unictype/category-Pc-tests (Files): Likewise.
23414         * modules/unictype/category-Pd-tests (Files): Likewise.
23415         * modules/unictype/category-Pe-tests (Files): Likewise.
23416         * modules/unictype/category-Pf-tests (Files): Likewise.
23417         * modules/unictype/category-Pi-tests (Files): Likewise.
23418         * modules/unictype/category-Po-tests (Files): Likewise.
23419         * modules/unictype/category-Ps-tests (Files): Likewise.
23420         * modules/unictype/category-S-tests (Files): Likewise.
23421         * modules/unictype/category-Sc-tests (Files): Likewise.
23422         * modules/unictype/category-Sk-tests (Files): Likewise.
23423         * modules/unictype/category-Sm-tests (Files): Likewise.
23424         * modules/unictype/category-So-tests (Files): Likewise.
23425         * modules/unictype/category-Z-tests (Files): Likewise.
23426         * modules/unictype/category-Zl-tests (Files): Likewise.
23427         * modules/unictype/category-Zp-tests (Files): Likewise.
23428         * modules/unictype/category-Zs-tests (Files): Likewise.
23429         * modules/unictype/category-and-not-tests (Files): Likewise.
23430         * modules/unictype/category-and-tests (Files): Likewise.
23431         * modules/unictype/category-byname-tests (Files): Likewise.
23432         * modules/unictype/category-name-tests (Files): Likewise.
23433         * modules/unictype/category-none-tests (Files): Likewise.
23434         * modules/unictype/category-of-tests (Files): Likewise.
23435         * modules/unictype/category-or-tests (Files): Likewise.
23436         * modules/unictype/category-test-withtable-tests (Files): Likewise.
23437         * modules/unictype/combining-class-tests (Files): Likewise.
23438         * modules/unictype/ctype-alnum-tests (Files): Likewise.
23439         * modules/unictype/ctype-alpha-tests (Files): Likewise.
23440         * modules/unictype/ctype-blank-tests (Files): Likewise.
23441         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
23442         * modules/unictype/ctype-digit-tests (Files): Likewise.
23443         * modules/unictype/ctype-graph-tests (Files): Likewise.
23444         * modules/unictype/ctype-lower-tests (Files): Likewise.
23445         * modules/unictype/ctype-print-tests (Files): Likewise.
23446         * modules/unictype/ctype-punct-tests (Files): Likewise.
23447         * modules/unictype/ctype-space-tests (Files): Likewise.
23448         * modules/unictype/ctype-upper-tests (Files): Likewise.
23449         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
23450         * modules/unictype/decimal-digit-tests (Files): Likewise.
23451         * modules/unictype/digit-tests (Files): Likewise.
23452         * modules/unictype/mirror-tests (Files): Likewise.
23453         * modules/unictype/numeric-tests (Files): Likewise.
23454         * modules/unictype/property-alphabetic-tests (Files): Likewise.
23455         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
23456         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
23457         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
23458         Likewise.
23459         * modules/unictype/property-bidi-block-separator-tests (Files):
23460         Likewise.
23461         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
23462         Likewise.
23463         * modules/unictype/property-bidi-common-separator-tests (Files):
23464         Likewise.
23465         * modules/unictype/property-bidi-control-tests (Files): Likewise.
23466         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
23467         Likewise.
23468         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
23469         Likewise.
23470         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
23471         Likewise.
23472         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
23473         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
23474         Likewise.
23475         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
23476         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
23477         Likewise.
23478         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
23479         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
23480         * modules/unictype/property-bidi-segment-separator-tests (Files):
23481         Likewise.
23482         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
23483         * modules/unictype/property-byname-tests (Files): Likewise.
23484         * modules/unictype/property-combining-tests (Files): Likewise.
23485         * modules/unictype/property-composite-tests (Files): Likewise.
23486         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
23487         * modules/unictype/property-dash-tests (Files): Likewise.
23488         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
23489         * modules/unictype/property-default-ignorable-code-point-tests (Files):
23490         Likewise.
23491         * modules/unictype/property-deprecated-tests (Files): Likewise.
23492         * modules/unictype/property-diacritic-tests (Files): Likewise.
23493         * modules/unictype/property-extender-tests (Files): Likewise.
23494         * modules/unictype/property-format-control-tests (Files): Likewise.
23495         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
23496         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
23497         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
23498         * modules/unictype/property-hex-digit-tests (Files): Likewise.
23499         * modules/unictype/property-hyphen-tests (Files): Likewise.
23500         * modules/unictype/property-id-continue-tests (Files): Likewise.
23501         * modules/unictype/property-id-start-tests (Files): Likewise.
23502         * modules/unictype/property-ideographic-tests (Files): Likewise.
23503         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
23504         * modules/unictype/property-ids-trinary-operator-tests (Files):
23505         Likewise.
23506         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
23507         * modules/unictype/property-iso-control-tests (Files): Likewise.
23508         * modules/unictype/property-join-control-tests (Files): Likewise.
23509         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
23510         * modules/unictype/property-line-separator-tests (Files): Likewise.
23511         * modules/unictype/property-logical-order-exception-tests (Files):
23512         Likewise.
23513         * modules/unictype/property-lowercase-tests (Files): Likewise.
23514         * modules/unictype/property-math-tests (Files): Likewise.
23515         * modules/unictype/property-non-break-tests (Files): Likewise.
23516         * modules/unictype/property-not-a-character-tests (Files): Likewise.
23517         * modules/unictype/property-numeric-tests (Files): Likewise.
23518         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
23519         * modules/unictype/property-other-default-ignorable-code-point-tests
23520         (Files): Likewise.
23521         * modules/unictype/property-other-grapheme-extend-tests (Files):
23522         Likewise.
23523         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
23524         * modules/unictype/property-other-id-start-tests (Files): Likewise.
23525         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
23526         * modules/unictype/property-other-math-tests (Files): Likewise.
23527         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
23528         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
23529         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
23530         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
23531         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
23532         * modules/unictype/property-private-use-tests (Files): Likewise.
23533         * modules/unictype/property-punctuation-tests (Files): Likewise.
23534         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
23535         * modules/unictype/property-radical-tests (Files): Likewise.
23536         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
23537         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
23538         * modules/unictype/property-space-tests (Files): Likewise.
23539         * modules/unictype/property-terminal-punctuation-tests (Files):
23540         Likewise.
23541         * modules/unictype/property-test-tests (Files): Likewise.
23542         * modules/unictype/property-titlecase-tests (Files): Likewise.
23543         * modules/unictype/property-unassigned-code-value-tests (Files):
23544         Likewise.
23545         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
23546         * modules/unictype/property-uppercase-tests (Files): Likewise.
23547         * modules/unictype/property-variation-selector-tests (Files): Likewise.
23548         * modules/unictype/property-white-space-tests (Files): Likewise.
23549         * modules/unictype/property-xid-continue-tests (Files): Likewise.
23550         * modules/unictype/property-xid-start-tests (Files): Likewise.
23551         * modules/unictype/property-zero-width-tests (Files): Likewise.
23552         * modules/unictype/scripts-tests (Files): Likewise.
23553         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
23554         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
23555         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
23556         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
23557         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
23558         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
23559         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
23560         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
23561         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
23562         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
23563         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
23564         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
23565         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
23566         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
23567         * modules/uninorm/composition-tests (Files): Likewise.
23568         * modules/uninorm/decomposing-form-tests (Files): Likewise.
23569         * modules/uninorm/decomposition-tests (Files): Likewise.
23570         * modules/uninorm/filter-tests (Files): Likewise.
23571         * modules/uninorm/nfc-tests (Files): Likewise.
23572         * modules/uninorm/nfd-tests (Files): Likewise.
23573         * modules/uninorm/nfkc-tests (Files): Likewise.
23574         * modules/uninorm/nfkd-tests (Files): Likewise.
23575         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
23576         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
23577         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
23578         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
23579         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
23580         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
23581         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
23582         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
23583         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
23584         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
23585         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
23586         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
23587         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
23588         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
23589         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
23590         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
23591         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
23592         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
23593         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
23594         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
23595         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
23596         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
23597         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
23598         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
23599         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
23600         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
23601         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
23602         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
23603         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
23604         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
23605         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
23606         * modules/uniwidth/u8-width-tests (Files): Likewise.
23607         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
23608         * modules/uniwidth/u16-width-tests (Files): Likewise.
23609         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
23610         * modules/uniwidth/u32-width-tests (Files): Likewise.
23611         * modules/uniwidth/width-tests (Files): Likewise.
23612         * modules/unlink-tests (Files): Likewise.
23613         * modules/unsetenv-tests (Files): Likewise.
23614         * modules/usleep-tests (Files): Likewise.
23615         * modules/utimens-tests (Files): Likewise.
23616         * modules/utimensat-tests (Files): Likewise.
23617         * modules/vasnprintf-posix-tests (Files): Likewise.
23618         * modules/vasnprintf-tests (Files): Likewise.
23619         * modules/vasprintf-posix-tests (Files): Likewise.
23620         * modules/vasprintf-tests (Files): Likewise.
23621         * modules/vdprintf-posix-tests (Files): Likewise.
23622         * modules/vfprintf-posix-tests (Files): Likewise.
23623         * modules/vprintf-posix-tests (Files): Likewise.
23624         * modules/vsnprintf-posix-tests (Files): Likewise.
23625         * modules/vsnprintf-tests (Files): Likewise.
23626         * modules/vsprintf-posix-tests (Files): Likewise.
23627         * modules/wcrtomb-tests (Files): Likewise.
23628         * modules/wcsnrtombs-tests (Files): Likewise.
23629         * modules/wcsrtombs-tests (Files): Likewise.
23630         * modules/wctype-tests (Files): Likewise.
23631         * modules/wcwidth-tests (Files): Likewise.
23632         * modules/xmemdup0-tests (Files): Likewise.
23633         * modules/xprintf-posix-tests (Files): Likewise.
23634         * modules/xvasprintf-tests (Files): Likewise.
23635
23636 2009-12-24  Eric Blake  <ebb9@byu.net>
23637
23638         test-nanosleep: fix typo
23639         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
23640         patch.
23641         Reported by Bruno Haible.
23642
23643 2009-12-24  Bruno Haible  <bruno@clisp.org>
23644
23645         Reduce namespace pollution on glibc systems.
23646         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
23647         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
23648         systems.
23649         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
23650         <getopt.h> on glibc systems.
23651         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
23652         systems.
23653         * lib/fcntl.c: Include <unistd.h> here instead.
23654
23655 2009-12-24  Bruno Haible  <bruno@clisp.org>
23656
23657         * lib/stdlib.in.h (includes): Fix typo in today's commit.
23658
23659 2009-12-24  Eric Blake  <ebb9@byu.net>
23660
23661         tests: add signature checks
23662         * tests/signature.h (SIGNATURE_CHECK): New file.
23663         * modules/atexit-tests (Files): Use it.
23664         * modules/btowc-tests (Files): Likewise.
23665         * modules/canonicalize-lgpl-tests (Files): Likewise.
23666         * modules/ceilf-tests (Files): Likewise.
23667         * modules/ceill-tests (Files): Likewise.
23668         * modules/chown-tests (Files): Likewise.
23669         * modules/dprintf-posix-tests (Files): Likewise.
23670         * modules/dup2-tests (Files): Likewise.
23671         * modules/dup3-tests (Files): Likewise.
23672         * modules/duplocale-tests (Files): Likewise.
23673         * modules/fchdir-tests (Files): Likewise.
23674         * modules/fcntl-tests (Files): Likewise.
23675         * modules/fdopendir-tests (Files): Likewise.
23676         * modules/fflush-tests (Files): Likewise.
23677         * modules/flock-tests (Files): Likewise.
23678         * modules/floorf-tests (Files): Likewise.
23679         * modules/floorl-tests (Files): Likewise.
23680         * modules/fnmatch-tests (Files): Likewise.
23681         * modules/fopen-tests (Files): Likewise.
23682         * modules/fprintf-posix-tests (Files): Likewise.
23683         * modules/freopen-tests (Files): Likewise.
23684         * modules/frexp-nolibm-tests (Files): Likewise.
23685         * modules/frexp-tests (Files): Likewise.
23686         * modules/frexpl-nolibm-tests (Files): Likewise.
23687         * modules/frexpl-tests (Files): Likewise.
23688         * modules/fseek-tests (Files): Likewise.
23689         * modules/fseeko-tests (Files): Likewise.
23690         * modules/fsync-tests (Files): Likewise.
23691         * modules/ftell-tests (Files): Likewise.
23692         * modules/ftello-tests (Files): Likewise.
23693         * modules/futimens-tests (Files): Likewise.
23694         * modules/getaddrinfo-tests (Files): Likewise.
23695         * modules/getcwd-tests (Files): Likewise.
23696         * modules/getdelim-tests (Files): Likewise.
23697         * modules/getdtablesize-tests (Files): Likewise.
23698         * modules/getgroups-tests (Files): Likewise.
23699         * modules/gethostname-tests (Files): Likewise.
23700         * modules/getline-tests (Files): Likewise.
23701         * modules/getopt-posix-tests (Files): Likewise.
23702         * modules/gettimeofday-tests (Files): Likewise.
23703         * modules/glob-tests (Files): Likewise.
23704         * modules/iconv-tests (Files): Likewise.
23705         * modules/inet_ntop-tests (Files): Likewise.
23706         * modules/inet_pton-tests (Files): Likewise.
23707         * modules/isblank-tests (Files): Likewise.
23708         * modules/lchown-tests (Files): Likewise.
23709         * modules/ldexpl-tests (Files): Likewise.
23710         * modules/link-tests (Files): Likewise.
23711         * modules/linkat-tests (Files): Likewise.
23712         * modules/lseek-tests (Files): Likewise.
23713         * modules/lstat-tests (Files): Likewise.
23714         * modules/mbrtowc-tests (Files): Likewise.
23715         * modules/mbsinit-tests (Files): Likewise.
23716         * modules/mbsnrtowcs-tests (Files): Likewise.
23717         * modules/mbsrtowcs-tests (Files): Likewise.
23718         * modules/memchr-tests (Files): Likewise.
23719         * modules/memcmp-tests (Files): Likewise.
23720         * modules/memmem-tests (Files): Likewise.
23721         * modules/memrchr-tests (Files): Likewise.
23722         * modules/mkdir-tests (Files): Likewise.
23723         * modules/mkfifo-tests (Files): Likewise.
23724         * modules/mkfifoat-tests (Files): Likewise.
23725         * modules/mknod-tests (Files): Likewise.
23726         * modules/nanosleep-tests (Files): Likewise.
23727         * modules/nl_langinfo-tests (Files): Likewise.
23728         * modules/obstack-printf-tests (Files): Likewise.
23729         * modules/open-tests (Files): Likewise.
23730         * modules/openat-tests (Files): Likewise.
23731         * modules/perror-tests (Files): Likewise.
23732         * modules/pipe2-tests (Files): Likewise.
23733         * modules/poll-tests (Files): Likewise.
23734         * modules/popen-tests (Files): Likewise.
23735         * modules/posix_spawn-tests (Files): Likewise.
23736         * modules/posix_spawnp-tests (Files): Likewise.
23737         * modules/pread-tests (Files): Likewise.
23738         * modules/printf-posix-tests (Files): Likewise.
23739         * modules/pty-tests (Files): Likewise.
23740         * modules/random_r-tests (Files): Likewise.
23741         * modules/rawmemchr-tests (Files): Likewise.
23742         * modules/readlink-tests (Files): Likewise.
23743         * modules/remove-tests (Files): Likewise.
23744         * modules/rename-tests (Files): Likewise.
23745         * modules/renameat-tests (Files): Likewise.
23746         * modules/rmdir-tests (Files): Likewise.
23747         * modules/round-tests (Files): Likewise.
23748         * modules/roundf-tests (Files): Likewise.
23749         * modules/roundl-tests (Files): Likewise.
23750         * modules/select-tests (Files): Likewise.
23751         * modules/setenv-tests (Files): Likewise.
23752         * modules/sigaction-tests (Files): Likewise.
23753         * modules/sleep-tests (Files): Likewise.
23754         * modules/snprintf-posix-tests (Files): Likewise.
23755         * modules/snprintf-tests (Files): Likewise.
23756         * modules/sprintf-posix-tests (Files): Likewise.
23757         * modules/stat-tests (Files): Likewise.
23758         * modules/strcasestr-tests (Files): Likewise.
23759         * modules/strchrnul-tests (Files): Likewise.
23760         * modules/strerror-tests (Files): Likewise.
23761         * modules/strsignal-tests (Files): Likewise.
23762         * modules/strstr-tests (Files): Likewise.
23763         * modules/strtod-tests (Files): Likewise.
23764         * modules/strverscmp-tests (Files): Likewise.
23765         * modules/symlink-tests (Files): Likewise.
23766         * modules/symlinkat-tests (Files): Likewise.
23767         * modules/times-tests (Files): Likewise.
23768         * modules/trunc-tests (Files): Likewise.
23769         * modules/truncf-tests (Files): Likewise.
23770         * modules/truncl-tests (Files): Likewise.
23771         * modules/tsearch-tests (Files): Likewise.
23772         * modules/uname-tests (Files): Likewise.
23773         * modules/unlink-tests (Files): Likewise.
23774         * modules/unsetenv-tests (Files): Likewise.
23775         * modules/usleep-tests (Files): Likewise.
23776         * modules/utimensat-tests (Files): Likewise.
23777         * modules/vasprintf-tests (Files): Likewise.
23778         * modules/vdprintf-posix-tests (Files): Likewise.
23779         * modules/vfprintf-posix-tests (Files): Likewise.
23780         * modules/vprintf-posix-tests (Files): Likewise.
23781         * modules/vsnprintf-posix-tests (Files): Likewise.
23782         * modules/vsnprintf-tests (Files): Likewise.
23783         * modules/vsprintf-posix-tests (Files): Likewise.
23784         * modules/wcrtomb-tests (Files): Likewise.
23785         * modules/wcsnrtombs-tests (Files): Likewise.
23786         * modules/wcsrtombs-tests (Files): Likewise.
23787         * modules/wcwidth-tests (Files): Likewise.
23788         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
23789         * tests/test-isinf.c (isinf): Likewise.
23790         * tests/test-isnan.c (isnan): Likewise.
23791         * tests/test-signbit.c (signbit): Likewise.
23792         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
23793         declaration, either as macro or with correct signature.
23794         (select): Ensure function under test is declared with correct
23795         signature in correct header.
23796         * tests/test-atexit.c (atexit): Likewise.
23797         * tests/test-btowc.c (btowc): Likewise.
23798         * tests/test-canonicalize-lgpl.c (realpath)
23799         (canonicalize_file_name): Likewise.
23800         * tests/test-ceilf1.c (ceilf): Likewise.
23801         * tests/test-ceill.c (ceill): Likewise.
23802         * tests/test-chown.c (chown): Likewise.
23803         * tests/test-dprintf-posix.c (dprintf): Likewise.
23804         * tests/test-dup2.c (dup2): Likewise.
23805         * tests/test-dup3.c (dup3): Likewise.
23806         * tests/test-duplocale.c (duplocale): Likewise.
23807         * tests/test-fchdir.c (fchdir): Likewise.
23808         * tests/test-fchownat.c (fchownat): Likewise.
23809         * tests/test-fcntl.c (fcntl): Likewise.
23810         * tests/test-fdopendir.c (fdopendir): Likewise.
23811         * tests/test-fflush.c (fflush): Likewise.
23812         * tests/test-flock.c (flock): Likewise.
23813         * tests/test-floorf1.c (floorf): Likewise.
23814         * tests/test-floorl.c (floorl): Likewise.
23815         * tests/test-fnmatch.c (fnmatch): Likewise.
23816         * tests/test-fopen.c (fopen): Likewise.
23817         * tests/test-fprintf-posix.c (fprintf): Likewise.
23818         * tests/test-freopen.c (freopen): Likewise.
23819         * tests/test-frexp.c (frexp): Likewise.
23820         * tests/test-frexpl.c (frexpl): Likewise.
23821         * tests/test-fseek.c (fseek): Likewise.
23822         * tests/test-fseeko.c (fseeko): Likewise.
23823         * tests/test-fstatat.c (fstatat): Likewise.
23824         * tests/test-fsync.c (fsync): Likewise.
23825         * tests/test-ftell.c (ftell): Likewise.
23826         * tests/test-ftello.c (ftello): Likewise.
23827         * tests/test-futimens.c (futimens): Likewise.
23828         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
23829         (gai_strerror): Likewise.
23830         * tests/test-getcwd.c (getcwd): Likewise.
23831         * tests/test-getdelim.c (getdelim): Likewise.
23832         * tests/test-getdtablesize.c (getdtablesize): Likewise.
23833         * tests/test-getgroups.c (getgroups): Likewise.
23834         * tests/test-gethostname.c (gethostname): Likewise.
23835         * tests/test-getline.c (getline): Likewise.
23836         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
23837         Likewise.
23838         * tests/test-gettimeofday.c (gettimeofday): Likewise.
23839         * tests/test-glob.c (glob, globfree): Likewise.
23840         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
23841         * tests/test-inet_ntop.c (inet_ntop): Likewise.
23842         * tests/test-inet_pton.c (inet_pton): Likewise.
23843         * tests/test-isblank.c (isblank): Likewise.
23844         * tests/test-lchown.c (lchown): Likewise.
23845         * tests/test-ldexpl.c (ldexpl): Likewise.
23846         * tests/test-link.c (link): Likewise.
23847         * tests/test-linkat.c (linkat): Likewise.
23848         * tests/test-lseek.c (lseek): Likewise.
23849         * tests/test-lstat.c (lstat): Likewise.
23850         * tests/test-mbrtowc.c (mbrtowc): Likewise.
23851         * tests/test-mbsinit.c (mbsinit): Likewise.
23852         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
23853         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
23854         * tests/test-memchr.c (memchr): Likewise.
23855         * tests/test-memcmp.c (memcmp): Likewise.
23856         * tests/test-memmem.c (memmem): Likewise.
23857         * tests/test-memrchr.c (memrchr): Likewise.
23858         * tests/test-mkdir.c (mkdir): Likewise.
23859         * tests/test-mkdirat.c (mkdirat): Likewise.
23860         * tests/test-mkfifo.c (mkfifo): Likewise.
23861         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
23862         * tests/test-mknod.c (mknod): Likewise.
23863         * tests/test-nanosleep.c (nanosleep): Likewise.
23864         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
23865         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
23866         Likewise.
23867         * tests/test-open.c (open): Likewise.
23868         * tests/test-openat.c (openat): Likewise.
23869         * tests/test-perror.c (perror): Likewise.
23870         * tests/test-pipe2.c (pipe2): Likewise.
23871         * tests/test-poll.c (poll): Likewise.
23872         * tests/test-popen.c (popen, pclose): Likewise.
23873         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
23874         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
23875         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
23876         (posix_spawn_file_actions_destroy)
23877         (posix_spawn_file_actions_addclose)
23878         (posix_spawn_file_actions_addopen)
23879         (posix_spawn_file_actions_adddup2): Likewise.
23880         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
23881         * tests/test-pread.c (pread): Likewise.
23882         * tests/test-printf-posix.c (printf): Likewise.
23883         * tests/test-pty.c (openpty, forkpty): Likewise.
23884         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
23885         (random_r): Likewise.
23886         * tests/test-rawmemchr.c (rawmemchr): Likewise.
23887         * tests/test-readlink.c (readlink): Likewise.
23888         * tests/test-remove.c (remove): Likewise.
23889         * tests/test-rename.c (rename): Likewise.
23890         * tests/test-renameat.c (renameat): Likewise.
23891         * tests/test-rmdir.c (rmdir): Likewise.
23892         * tests/test-round1.c (round): Likewise.
23893         * tests/test-roundf1.c (roundf): Likewise.
23894         * tests/test-roundl.c (roundl): Likewise.
23895         * tests/test-setenv.c (setenv): Likewise.
23896         * tests/test-sigaction.c (sigaction): Likewise.
23897         * tests/test-sleep.c (sleep): Likewise.
23898         * tests/test-snprintf.c (snprintf): Likewise.
23899         * tests/test-sprintf-posix.c (sprintf): Likewise.
23900         * tests/test-stat.c (stat): Likewise.
23901         * tests/test-stpncpy.c (stpncpy): Likewise.
23902         * tests/test-strcasestr.c (strcasestr): Likewise.
23903         * tests/test-strchrnul.c (strchrnul): Likewise.
23904         * tests/test-strerror.c (strerror): Likewise.
23905         * tests/test-strsignal.c (strsignal): Likewise.
23906         * tests/test-strstr.c (strstr): Likewise.
23907         * tests/test-strtod.c (strtod): Likewise.
23908         * tests/test-strverscmp.c (strverscmp): Likewise.
23909         * tests/test-symlink.c (symlink): Likewise.
23910         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
23911         * tests/test-times.c (times): Likewise.
23912         * tests/test-trunc1.c (trunc): Likewise.
23913         * tests/test-truncf1.c (truncf): Likewise.
23914         * tests/test-truncl.c (truncl): Likewise.
23915         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
23916         Likewise.
23917         * tests/test-uname.c (uname): Likewise.
23918         * tests/test-unlink.c (unlink): Likewise.
23919         * tests/test-unlinkat.c (unlinkat): Likewise.
23920         * tests/test-unsetenv.c (unsetenv): Likewise.
23921         * tests/test-usleep.c (usleep): Likewise.
23922         * tests/test-utimensat.c (utimensat): Likewise.
23923         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
23924         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
23925         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
23926         * tests/test-vprintf-posix.c (vprintf): Likewise.
23927         * tests/test-vsnprintf.c (vsnprintf): Likewise.
23928         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
23929         * tests/test-wcrtomb.c (wcrtomb): Likewise.
23930         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
23931         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
23932         * tests/test-wcwidth.c (wcwidth): Likewise.
23933
23934         build: pull in conditional headers during GNULIB_POSIXCHECK
23935         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
23936         definitions from any conditionally-included headers.
23937         * lib/stdlib.in.h (includes): Likewise.
23938         * lib/unistd.in.h (includes): Likewise.
23939
23940 2009-12-24  Bruno Haible  <bruno@clisp.org>
23941
23942         * tests/test-argv-iter.c: Include header file being tested immediately
23943         after config.h.
23944         * tests/test-base64.c: Likewise.
23945         * tests/test-flock.c: Likewise.
23946         * tests/test-fsync.c: Likewise.
23947         * tests/test-getdate.c: Likewise.
23948         * tests/test-getndelim2.c: Likewise.
23949         * tests/test-isfinite.c: Likewise.
23950         * tests/test-isinf.c: Likewise.
23951         * tests/test-strerror.c: Likewise.
23952         * tests/test-strsignal.c: Likewise.
23953
23954 2009-12-23  Eric Blake  <ebb9@byu.net>
23955
23956         unistd: work around cygwin bug
23957         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
23958         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
23959         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23960
23961 2009-12-23  Bruno Haible  <bruno@clisp.org>
23962
23963         localename: More tests.
23964         * tests/test-localename.c (SIZEOF): New macro.
23965         (categories): New variable.
23966         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
23967         test_locale_name_default): Add test w.r.t. thread locale.
23968         (test_locale_name_thread): New function.
23969         (main): Invoke it.
23970
23971         localename: Make aware of thread locale.
23972         * lib/localename.h (gl_locale_name_thread): New declaration.
23973         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
23974         behaviour with respect to thread locale.
23975         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
23976         <langinfo.h>, glthread/lock.h.
23977         (SIZE_BITS): New macro.
23978         (string_hash): New function.
23979         (struct hash_node): New type.
23980         (HASH_TABLE_SIZE): New macro.
23981         (struniq_hash_table, struniq_lock): New variables.
23982         (struniq): New function.
23983         (gl_locale_name_thread): New function.
23984         (gl_locale_name): Invoke it.
23985         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
23986         * modules/localename (Depends-on): Add lock.
23987         Reported by Mike Gran <spk121@yahoo.com>.
23988
23989 2009-12-23  Eric Blake  <ebb9@byu.net>
23990
23991         va-args: new module
23992         * modules/va-args: New file.
23993         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
23994         * MODULES.html.sh (Core language properties): Mention it.
23995
23996         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
23997         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
23998         named alias for __attribute__((__unused__)).
23999         * lib/chown.c: Update client.
24000         * lib/fchmodat.c: Likewise.
24001         * lib/fts.c: Likewise.
24002         * lib/getdate.y: Likewise.
24003         * lib/getgroups.c: Likewise.
24004         * lib/getopt.c: Likewise.
24005         * lib/getugroups.c: Likewise.
24006         * lib/mkdir.c: Likewise.
24007         * lib/mkfifo.c: Likewise.
24008         * lib/mkfifoat.c: Likewise.
24009         * lib/mknod.c: Likewise.
24010         * lib/mknodat.c: Likewise.
24011         * lib/readlink.c: Likewise.
24012         * lib/se-context.in.h: Likewise.
24013         * lib/se-selinux.in.h: Likewise.
24014         * lib/sockets.c: Likewise.
24015         * lib/symlink.c: Likewise.
24016         * lib/symlinkat.c: Likewise.
24017         * lib/unicodeio.c: Likewise.
24018         * lib/unistr.h: Likewise.
24019         * tests/test-areadlink.c: Likewise.
24020         * tests/test-areadlinkat.c: Likewise.
24021         * tests/test-filenamecat.c: Likewise.
24022         * tests/test-fseeko.c: Likewise.
24023         * tests/test-ftello.c: Likewise.
24024         * tests/test-getdate.c: Likewise.
24025         * tests/test-getgroups.c: Likewise.
24026         * tests/test-gethostname.c: Likewise.
24027         * tests/test-quotearg.c: Likewise.
24028         * tests/test-version-etc.c: Likewise.
24029         * tests/test-xalloc-die.c: Likewise.
24030         * tests/test-xfprintf-posix.c: Likewise.
24031         * tests/test-xprintf-posix.c: Likewise.
24032         * tests/test-xvasprintf.c: Likewise.
24033
24034         tests: avoid compiler warnings
24035         * tests/test-fcntl.c (main): Delete unused parameters.
24036         * tests/test-freopen-safer.c (main): Likewise.
24037         * tests/test-xalloc-die.c (main): Mark unused parameters.
24038         * tests/test-fseeko.c (main): Likewise.
24039         * tests/test-ftello.c (main): Likewise.
24040         * tests/test-nanosleep.c (main): Avoid declaration warning.
24041         * tests/test-sleep.c (main): Likewise.
24042         * tests/test-unsetenv.c (main): Silence warning about string
24043         literal.
24044         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24045
24046 2009-12-23  Bruno Haible  <bruno@clisp.org>
24047
24048         * tests/test-localename.c (test_locale_name): New function, extracted
24049         from main. Also test mixed situations.
24050         (test_locale_name_posix, test_locale_name_environ,
24051         test_locale_name_default): New functions.
24052         (main): Invoke them all.
24053         * modules/localename-tests (configure.ac): Test for newlocale.
24054
24055 2009-12-23  Bruno Haible  <bruno@clisp.org>
24056
24057         unistd: Ensure getcwd gets declared before being overridden.
24058         * lib/unistd.in.h: Conditionally include <io.h>.
24059
24060 2009-12-22  Bruno Haible  <bruno@clisp.org>
24061
24062         wchar: Diagnose broken combination of glibc and gcc versions and flags.
24063         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
24064         (gl_WCHAR_H): Invoke it.
24065         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
24066         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
24067         Reported by Karl Berry <karl@freefriends.org>.
24068
24069 2009-12-22  Eric Blake  <ebb9@byu.net>
24070
24071         math, unistd: avoid redundant includes
24072         * lib/math.in.h (isnan): No need to re-include <math.h>.
24073         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
24074
24075         getsubopt: work around cygwin bug
24076         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
24077         avoid conflicting with system getsubopt.
24078         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
24079         bug.
24080
24081         getopt: synchronize from glibc
24082         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
24083         parameter order.  Adjust all callers.
24084         (_getopt_internal_r, main): Adjust quoting in error messages.
24085         Drop considerations for outdated POSIX 1003.2 error message.
24086         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
24087         callers.
24088         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
24089
24090         test-getopt: test stderr behavior
24091         * modules/getopt-posix-tests (Depends-on): Add dup2.
24092         * tests/test-getopt.c (ASSERT): Avoid stderr.
24093         (main): Move stderr to a temporary file.
24094         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
24095         Instead, add parameter to inform caller if output occurred.
24096         (test_getopt): Adjust all existing tests to expect silence, and
24097         add new tests of leading ":".
24098         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
24099         glibc shortcomings with leading "-:" or "+:" in optstring.
24100         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24101         Likewise.
24102         * doc/posix-functions/getopt.texi (getopt): Likewise.
24103
24104         test-getopt: enhance test
24105         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
24106         supports optind=0.
24107         * tests/test-getopt.c (OPTIND_MIN): Move...
24108         * tests/test-getopt.h (OPTIND_MIN): ...here.
24109         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
24110         Require that optind=0 works, since modern BSD supports it in
24111         addition to optreset, and since coreutils expects it.
24112         (test_getopt_long_only): New test.
24113         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
24114         glibc shortcomings with 'W;', and enforcement of optind=0.
24115         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24116         Likewise.
24117
24118 2009-12-21  Bruno Haible  <bruno@clisp.org>
24119
24120         localename: Improvements for MacOS X and Cygwin.
24121         * lib/localename.h (gl_locale_name_environ): New declaration.
24122         * lib/localename.c (gl_locale_name_environ): New function, extracted from
24123         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
24124         (gl_locale_name_posix): Invoke it.
24125         (gl_locale_name_default): Add comments. Use Windows native API also on
24126         Cygwin.
24127
24128 2009-12-21  Bruno Haible  <bruno@clisp.org>
24129
24130         Update list of Win32 locale ids.
24131         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
24132         (LANG_SAMI): Renamed from LANG_SAAMI.
24133         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
24134         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
24135         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
24136         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
24137         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
24138         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
24139         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
24140         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
24141         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
24142         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
24143         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
24144         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
24145         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
24146         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
24147         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
24148         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
24149         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
24150         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
24151         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
24152         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
24153         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
24154         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
24155         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
24156         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
24157         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
24158         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
24159         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
24160         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
24161         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
24162         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
24163         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
24164         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
24165         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
24166         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
24167         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
24168         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
24169         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
24170         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
24171         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
24172         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
24173         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
24174         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
24175         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
24176         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
24177         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
24178         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
24179         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
24180         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
24181         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
24182         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
24183         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
24184         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
24185         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
24186         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
24187         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
24188         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
24189         Add more languages and countries for Sami, Sorbian. Add more countries
24190         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
24191         for Pashto. Change country for Syriac, Tswana.
24192
24193 2009-12-21  Eric Blake  <ebb9@byu.net>
24194
24195         test-utimens: avoid spurious failure
24196         * tests/test-chown.h (nap): Factor...
24197         * tests/nap.h: ...into new file.
24198         * tests/test-lchown.h (nap): Avoid duplication.
24199         * tests/test-utimens-common.h (nap): Use shared implementation,
24200         necessary on file systems with 1-second resolution.
24201         * modules/chown-tests (Files): Include new file.
24202         * modules/fdutimensat-tests (Files): Likewise.
24203         * modules/futimens-tests (Files): Likewise.
24204         * modules/lchown-tests (Files): Likewise.
24205         * modules/openat-tests (Files): Likewise.
24206         * modules/utimens-tests (Files): Likewise.
24207         * modules/utimensat-tests (Files): Likewise.
24208
24209 2009-12-19  Eric Blake  <ebb9@byu.net>
24210
24211         futimens, utimensat: work around Linux bug
24212         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
24213         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24214         * lib/utimensat.c (rpl_utimensat): Work around it.
24215         * lib/futimens.c (rpl_futimens): Adjust comment.
24216
24217         utimens: work around Linux ctime bug
24218         * lib/utimens.c (detect_ctime_bug): New helper function.
24219         (update_timespec): Differentiate between workaround needed for
24220         this bug vs. what is needed for systems that lack utimensat.
24221         (fdutimens, lutimens): Work around bug.
24222
24223         utimens: check for ctime update
24224         * tests/test-utimens-common.h (check_ctime): Define.
24225         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
24226         * tests/test-futimens.h (test_futimens): Likewise.
24227         * tests/test-lutimens.h (test_lutimens): Likewise.
24228         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24229         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24230
24231 2009-12-19  Bruno Haible  <bruno@clisp.org>
24232
24233         dprintf-posix: Check against memory leak fixed on 2009-12-15.
24234         * tests/test-dprintf-posix2.sh: New file.
24235         * tests/test-dprintf-posix2.c: New file.
24236         * modules/dprintf-posix-tests (Files): Add them.
24237         (configure.ac): Check for getrlimit and setrlimit.
24238         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
24239
24240 2009-12-19  Bruno Haible  <bruno@clisp.org>
24241
24242         fprintf-posix: Check against memory leak fixed on 2009-12-15.
24243         * tests/test-fprintf-posix3.sh: New file.
24244         * tests/test-fprintf-posix3.c: New file.
24245         * modules/fprintf-posix-tests (Files): Add them.
24246         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
24247
24248 2009-12-19  Eric Blake  <ebb9@byu.net>
24249
24250         dirfd: fix prototype
24251         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
24252         * lib/dirfd.c (dirfd): Likewise.
24253
24254         canonicalize: reduce memory usage
24255         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
24256         allocation to size.
24257         Reported by Solar Designer <solar@openwall.com>.
24258
24259 2009-12-19  Bruno Haible  <bruno@clisp.org>
24260
24261         New module attribute 'Applicability'.
24262         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
24263         * gnulib-tool: New option --extract-applicability.
24264         (func_usage): Document it.
24265         (sed_extract_prog): Recognize it.
24266         (func_get_applicability): New function.
24267         (func_import): Generalize handling of 'link-warning' module.
24268         * modules/link-warning (Applicability): New section.
24269         * modules/arg-nonnull (Applicability): New section.
24270         Repoted by Simon Josefsson <simon@josefsson.org>.
24271
24272 2009-12-19  Bruno Haible  <bruno@clisp.org>
24273
24274         fflush: tweak
24275         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
24276         * lib/fseeko.c (rpl_fseeko): Likewise.
24277
24278 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
24279
24280         * lib/gl_list.h: Fix typo in comment.
24281
24282 2009-12-16  Eric Blake  <ebb9@byu.net>
24283
24284         fcntl: use to simplify other modules
24285         * modules/cloexec (Depends-on): Add fcntl.
24286         * modules/fchdir (Depends-on): Likewise.
24287         * modules/fd-safer-flag (Depends-on): Likewise.
24288         * modules/unistd-safer (Depends-on): Likewise.
24289         * modules/dup3 (configure.ac): Set module indicator.
24290         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
24291         missing.
24292         * lib/fchdir.c (_gl_register_dup): Fix comment.
24293         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
24294         * lib/dup-safer.c (dup_safer): Likewise.
24295         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
24296         * lib/dup3.c (dup3): Likewise.
24297         * tests/test-fchdir.c (main): Enhance test.
24298         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
24299
24300         fcntl: port portions of fcntl to mingw
24301         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
24302         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
24303         replacement for mingw.
24304         * modules/fcntl (Description): Update.
24305         (Depends-on): Add dup2.
24306         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
24307         * modules/fcntl-h (Makefile.am): Substitute it.
24308         * lib/fcntl.in.h (fcntl): Update declaration.
24309         (F_DUPFD, F_GETFD): New macros, when needed.
24310         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24311         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
24312         * tests/test-fcntl.c (check_flags, main): Enhance test for items
24313         we now guarantee.
24314
24315         fcntl: work around cygwin bug in F_DUPFD
24316         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
24317         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
24318         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
24319         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
24320         * doc/posix-functions/fcntl.texi (fcntl): Document it.
24321
24322         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
24323         * modules/fcntl (Files): List new files.
24324         (configure.ac): Run a test.
24325         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
24326         * lib/fcntl.c (rpl_fcntl): Likewise.
24327         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
24328         (gl_FCNTL_H): Always replace fcntl.h.
24329         * modules/fcntl-h (Makefile.am): Substitute witnesses.
24330         * lib/fcntl.in.h (fcntl): Declare replacement.
24331         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
24332         needed, plus a witness.
24333         * doc/posix-functions/fcntl.texi (fcntl): Document this.
24334         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
24335         * tests/test-fcntl.c: New file.
24336         * modules/fcntl-tests: Likewise.
24337
24338         binary-io: avoid potential compilation warning
24339         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
24340         directives.
24341
24342         fflush: avoid compilation error on NetBSD
24343         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
24344         between off_t and fpos_t, since the latter is sometimes a struct.
24345         * lib/fseeko.c (rpl_fseeko): Likewise.
24346         Reported by Alexander Nasonov <alnsn@yandex.ru>.
24347
24348 2009-12-15  Eric Blake  <ebb9@byu.net>
24349
24350         fcntl-h, stdio, sys_ioctl: fix declarations
24351         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
24352         function must not take arguments.
24353         * lib/sys_ioctl.in.h (ioctl): Likewise.
24354         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
24355         (open): Add a link warning.
24356
24357 2009-12-15  Jim Meyering  <meyering@redhat.com>
24358
24359         areadlink, areadlink-with-size: relax license to LGPLv2+
24360         * modules/areadlink (License): Relax to LGPLv2+.
24361         * modules/areadlink-with-size (License): Likewise.
24362
24363 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
24364             Bruno Haible  <bruno@clisp.org>
24365
24366         *printf: Fix memory leak.
24367         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
24368         * lib/vfprintf.c (vfprintf): Likewise.
24369         * lib/dprintf.c (dprintf): Likewise.
24370         * lib/vdprintf.c (vdprintf): Likewise.
24371
24372 2009-12-14  Eric Blake  <ebb9@byu.net>
24373
24374         accept4: adjust module dependencies
24375         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
24376
24377         utimens: one more try at avoiding compiler warning
24378         * lib/utimens.c (lutimens): Lower scope of result.
24379
24380 2009-12-13  Bruno Haible  <bruno@clisp.org>
24381
24382         Move the malloc checking from module 'list' to new module 'xlist'.
24383         * modules/xlist: New file.
24384         * lib/gl_xlist.h: New file.
24385         * lib/gl_xlist.c: New file.
24386         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
24387         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
24388         gl_list_add_last, gl_list_add_before, gl_list_add_after,
24389         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
24390         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
24391         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
24392         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
24393         gl_sortedlist_nx_add): New declarations.
24394         (struct gl_list_implementation): Rename and change methods accordingly.
24395         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
24396         (gl_list_nx_create): Renamed from gl_list_create.
24397         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
24398         (gl_list_nx_set_at): Renamed from gl_list_set_at.
24399         (gl_list_nx_add_first): Renamed from gl_list_add_first.
24400         (gl_list_nx_add_last): Renamed from gl_list_add_last.
24401         (gl_list_nx_add_before): Renamed from gl_list_add_before.
24402         (gl_list_nx_add_after): Renamed from gl_list_add_after.
24403         (gl_list_nx_add_at): Renamed from gl_list_add_at.
24404         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
24405         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
24406         gl_list_create_empty.
24407         (gl_list_nx_create): Renamed from gl_list_create.
24408         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
24409         (gl_list_nx_set_at): Renamed from gl_list_set_at.
24410         (gl_list_nx_add_first): Renamed from gl_list_add_first.
24411         (gl_list_nx_add_last): Renamed from gl_list_add_last.
24412         (gl_list_nx_add_before): Renamed from gl_list_add_before.
24413         (gl_list_nx_add_after): Renamed from gl_list_add_after.
24414         (gl_list_nx_add_at): Renamed from gl_list_add_at.
24415         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
24416         * lib/gl_array_list.c: Don't include xalloc.h.
24417         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
24418         NULL upon out-of-memory.
24419         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
24420         out-of-memory.
24421         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
24422         Change return type to 'int'.
24423         (gl_array_nx_set_at): Renamed from gl_array_set_at.
24424         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
24425         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
24426         upon out-of-memory.
24427         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
24428         upon out-of-memory.
24429         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
24430         upon out-of-memory.
24431         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
24432         upon out-of-memory.
24433         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
24434         out-of-memory.
24435         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
24436         Update.
24437         (gl_array_list_implementation): Update.
24438         * lib/gl_carray_list.c: Don't include xalloc.h.
24439         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
24440         Return NULL upon out-of-memory.
24441         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
24442         out-of-memory.
24443         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
24444         Change return type to 'int'.
24445         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
24446         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
24447         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
24448         upon out-of-memory.
24449         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
24450         upon out-of-memory.
24451         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
24452         out-of-memory.
24453         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
24454         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
24455         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
24456         Update.
24457         (gl_carray_list_implementation): Update.
24458         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
24459         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
24460         gl_linked_create_empty. Return NULL upon out-of-memory.
24461         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
24462         out-of-memory.
24463         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
24464         Change return type to 'int'. Return -1 upon out-of-memory.
24465         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
24466         out-of-memory.
24467         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
24468         upon out-of-memory.
24469         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
24470         upon out-of-memory.
24471         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
24472         NULL upon out-of-memory.
24473         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
24474         upon out-of-memory.
24475         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
24476         out-of-memory.
24477         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
24478         Update.
24479         * lib/gl_linked_list.c: Don't include xalloc.h.
24480         (gl_linked_list_implementation): Update.
24481         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
24482         (add_to_bucket): Change return type to 'int'.
24483         (gl_linkedhash_list_implementation): Update.
24484         * lib/gl_anytree_list1.h (free_subtree): New function.
24485         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
24486         gl_tree_create_empty. Return NULL upon out-of-memory.
24487         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
24488         Change return type to 'int'. Return -1 upon out-of-memory.
24489         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
24490         out-of-memory.
24491         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
24492         (gl_tree_remove_node): New function, moved here from
24493         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
24494         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
24495         Update.
24496         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
24497         malloc, not xmalloc. Return NULL upon out-of-memory.
24498         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
24499         out-of-memory.
24500         (gl_tree_remove_node_from_tree): New function, extracted from
24501         gl_tree_remove_node.
24502         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
24503         upon out-of-memory.
24504         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
24505         out-of-memory.
24506         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
24507         upon out-of-memory.
24508         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
24509         upon out-of-memory.
24510         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24511         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
24512         not xmalloc. Return NULL upon out-of-memory.
24513         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
24514         out-of-memory.
24515         (gl_tree_remove_node_from_tree): New function, extracted from
24516         gl_tree_remove_node.
24517         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
24518         upon out-of-memory.
24519         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
24520         out-of-memory.
24521         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
24522         upon out-of-memory.
24523         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
24524         upon out-of-memory.
24525         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24526         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
24527         gl_anytree_list1.h before gl_anyavltree_list2.h.
24528         (gl_avltree_list_implementation): Update.
24529         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
24530         gl_anytree_list1.h before gl_anyavltree_list2.h.
24531         (gl_rbtree_list_implementation): Update.
24532         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
24533         Change return type to 'int'. Return -1 upon out-of-memory. Use
24534         __builtin_expect.
24535         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
24536         (gl_avltreehash_list_implementation): Update.
24537         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
24538         (gl_rbtreehash_list_implementation): Update.
24539         * modules/array-list (Depends-on): Remove xalloc.
24540         * modules/carray-list (Depends-on): Likewise.
24541         * modules/linked-list (Depends-on): Likewise.
24542         * modules/linkedhash-list (Depends-on): Likewise.
24543         * modules/avltree-list (Depends-on): Likewise.
24544         * modules/rbtree-list (Depends-on): Likewise.
24545         * modules/avltreehash-list (Depends-on): Likewise.
24546         * modules/rbtreehash-list (Depends-on): Likewise.
24547
24548         * modules/xsublist: New file.
24549         * lib/gl_xsublist.h: New file.
24550         * lib/gl_xsublist.c: New file.
24551         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
24552         (gl_sublist_nx_create): New declaration.
24553         * lib/gl_sublist.c: Don't include xalloc.h.
24554         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
24555         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
24556         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
24557         Change return type to 'int'. Return -1 upon out-of-memory.
24558         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
24559         upon out-of-memory.
24560         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
24561         NULL upon out-of-memory.
24562         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
24563         upon out-of-memory.
24564         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
24565         NULL upon out-of-memory.
24566         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
24567         NULL upon out-of-memory.
24568         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
24569         upon out-of-memory.
24570         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
24571         (gl_sublist_list_implementation): Update.
24572         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
24573         upon out-of-memory.
24574         * modules/sublist (Depends-on): Remove xalloc.
24575
24576         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
24577         * tests/test-carray_list.c: Likewise.
24578         * tests/test-linked_list.c: Likewise.
24579         * tests/test-linkedhash_list.c: Likewise.
24580         * tests/test-avltree_list.c: Likewise.
24581         * tests/test-rbtree_list.c: Likewise.
24582         * tests/test-avltreehash_list.c: Likewise.
24583         * tests/test-rbtreehash_list.c: Likewise.
24584         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
24585         * modules/carray-list-tests (Makefile.am): Likewise.
24586         * modules/linked-list-tests (Makefile.am): Likewise.
24587         * modules/linkedhash-list-tests (Makefile.am): Likewise.
24588         * modules/avltree-list-tests (Makefile.am): Likewise.
24589         * modules/rbtree-list-tests (Makefile.am): Likewise.
24590         * modules/avltreehash-list-tests (Makefile.am): Likewise.
24591         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
24592
24593         * NEWS: Mention the changes.
24594
24595         * lib/clean-temp.c: Include gl_xlist.h.
24596         * modules/clean-temp (Depends-on): Add xlist.
24597
24598         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
24599         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
24600
24601         * tests/test-array_oset.c: Include gl_xlist.h.
24602         * modules/array-oset-tests (Depends-on): Add xlist.
24603
24604         Reported by José E. Marchesi <jemarch@gnu.org>.
24605
24606 2009-12-13  Bruno Haible  <bruno@clisp.org>
24607
24608         Move the malloc checking from module 'oset' to new module 'xoset'.
24609         * modules/xoset: New file.
24610         * lib/gl_xoset.h: New file.
24611         * lib/gl_xoset.c: New file.
24612         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
24613         declarations.
24614         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
24615         (struct gl_oset_implementation): Rename and change methods accordingly.
24616         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
24617         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24618         'int'. Mark as __warn_unused_result__.
24619         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
24620         gl_oset_create_empty.
24621         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24622         'int'.
24623         * lib/gl_array_oset.c: Don't include xalloc.h.
24624         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
24625         malloc, not xmalloc.
24626         (grow): Change return type to 'int'. Don't call xalloc_die.
24627         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
24628         to 'int'.
24629         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
24630         'int'.
24631         (gl_array_oset_implementation): Update.
24632         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
24633         gl_tree_create_empty.
24634         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
24635         'int'.
24636         * lib/gl_avltree_oset.c: Don't include xalloc.h.
24637         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24638         xmalloc.
24639         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24640         not xmalloc.
24641         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24642         xmalloc.
24643         (gl_avltree_oset_implementation): Update.
24644         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
24645         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24646         xmalloc.
24647         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24648         not xmalloc.
24649         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24650         xmalloc.
24651         (gl_rbtree_oset_implementation): Update.
24652         * modules/array-oset (Depends-on): Remove xalloc.
24653         * modules/avltree-oset (Depends-on): Likewise.
24654         * modules/rbtree-oset (Depends-on): Likewise.
24655         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
24656         * tests/test-avltree_oset.c: Likewise.
24657         * tests/test-rbtree_oset.c: Likewise.
24658         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
24659         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
24660         * modules/rbtree-oset-tests (Makefile.am): Likewise.
24661         * NEWS: Mention the change.
24662
24663 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
24664
24665         maint.mk: allow a project to override release-prep commands
24666         * top/maint.mk (alpha, beta, stable): Move release-preparatory
24667         commands into a new rule.
24668         (release-prep): New rule.
24669         (release-prep-hook): New overridable variable.
24670
24671 2009-12-13  Bruno Haible  <bruno@clisp.org>
24672
24673         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
24674
24675 2009-12-13  Jim Meyering  <meyering@redhat.com>
24676
24677         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
24678         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
24679
24680 2009-12-12  Bruno Haible  <bruno@clisp.org>
24681
24682         duplocale: Tweak.
24683         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
24684
24685 2009-12-12  Karl Berry  <karl@gnu.org>
24686
24687         * config/srclist.txt (strtoll.c): tab changes, no more sync.
24688
24689 2009-12-12  Bruno Haible  <bruno@clisp.org>
24690
24691         * m4/po.m4: Undo incorrect untabification.
24692
24693 2009-12-12  Bruno Haible  <bruno@clisp.org>
24694
24695         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
24696         * modules/c-strtod (Depends-on): Add locale.
24697         * modules/c-strtold (Depends-on): Likewise.
24698
24699 2009-12-12  Bruno Haible  <bruno@clisp.org>
24700
24701         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
24702
24703 2009-12-11  Eric Blake  <ebb9@byu.net>
24704
24705         setenv: relax requirement in light of POSIX ruling
24706         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
24707         not NULL.
24708         * tests/test-setenv.c (main): Relax test.
24709         * tests/test-unsetenv.c (main): Likewise.
24710         * doc/posix-functions/setenv.texi (setenv): Document this.
24711         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
24712
24713 2009-12-11  Bruno Haible  <bruno@clisp.org>
24714
24715         New module 'fd-safer-flag'.
24716         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
24717         * lib/dup-safer.c (dup_safer_flag): Remove function.
24718         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
24719         * lib/fd-safer.c (fd_safer_flag): Remove function.
24720         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
24721         * modules/cloexec (configure.ac): Drop indicator macro.
24722         * modules/fd-safer-flag: New file.
24723         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
24724         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
24725         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
24726
24727 2009-12-11  Bruno Haible  <bruno@clisp.org>
24728
24729         Tests for module 'nl_langinfo'.
24730         * modules/nl_langinfo-tests: New file.
24731         * tests/test-nl_langinfo.sh: New file.
24732         * tests/test-nl_langinfo.c: New file.
24733
24734         New module 'nl_langinfo'.
24735         * lib/nl_langinfo.c: New file.
24736         * m4/nl_langinfo.m4: New file.
24737         * modules/nl_langinfo: New file.
24738         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
24739
24740 2009-12-11  Bruno Haible  <bruno@clisp.org>
24741
24742         Tests for module 'langinfo'.
24743         * modules/langinfo-tests: New file.
24744         * tests/test-langinfo.c: New file.
24745
24746         New module 'langinfo'.
24747         * lib/langinfo.in.h: New file.
24748         * m4/langinfo_h.m4: New file.
24749         * modules/langinfo: New file.
24750         * doc/posix-headers/langinfo.texi: Mention the new module.
24751
24752 2009-12-11  Bruno Haible  <bruno@clisp.org>
24753
24754         * lib/config.charset: Untabify.
24755
24756 2009-12-11  Bruno Haible  <bruno@clisp.org>
24757
24758         * modules/unistd-safer (configure.ac): Drop indicator macro.
24759
24760 2009-12-11  Bruno Haible  <bruno@clisp.org>
24761
24762         Move pipe2-safer code to its own file.
24763         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
24764         * lib/pipe-safer.c (pipe2_safer): Remove function.
24765         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
24766         (Makefile.am): Add it to lib_SOURCES.
24767
24768 2009-12-10  Bruno Haible  <bruno@clisp.org>
24769
24770         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
24771
24772 2009-12-10  Bruno Haible  <bruno@clisp.org>
24773
24774         Declare which arguments expect non-NULL values, for GCC and clang.
24775         * build-aux/arg-nonnull.h: New file.
24776         * modules/arg-nonnull: New file.
24777         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
24778         (inet_ntop, inet_pton): Use it.
24779         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
24780         (closedir, dirfd, opendir, scandir, alphasort): Use it.
24781         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
24782         (open, openat): Use it.
24783         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
24784         (fnmatch): Use it.
24785         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
24786         (getopt, getopt_long, getopt_long_only): Use it.
24787         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
24788         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
24789         Use it.
24790         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
24791         (iconv_open): Use it.
24792         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
24793         (strtoimax, strtoumax): Use it.
24794         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
24795         (duplocale): Use it.
24796         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
24797         (frexp, frexpl): Use it.
24798         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
24799         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
24800         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
24801         (tsearch, tfind, tdelete, twalk): Use it.
24802         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
24803         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
24804         sigpending): Use it.
24805         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
24806         (posix_spawn, posix_spawnp, posix_spawnattr_init,
24807         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
24808         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
24809         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
24810         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
24811         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
24812         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
24813         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
24814         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
24815         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
24816         Use it.
24817         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
24818         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
24819         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
24820         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
24821         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
24822         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
24823         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
24824         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
24825         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
24826         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
24827         strtoull, unsetenv): Use it.
24828         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
24829         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
24830         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
24831         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
24832         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
24833         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
24834         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
24835         (strcasecmp, strncasecmp): Use it.
24836         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
24837         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
24838         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
24839         rpl_setsockopt): Use it.
24840         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
24841         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
24842         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
24843         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
24844         (gettimeofday): Use it.
24845         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
24846         (times): Use it.
24847         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
24848         (uname): Use it.
24849         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
24850         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
24851         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
24852         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
24853         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
24854         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
24855         unlinkat, write): Use it.
24856         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
24857         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
24858         * lib/argv-iter.h: Include arg-nonnull.h.
24859         (_ATTRIBUTE_NONNULL_): Remove macro.
24860         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
24861         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
24862         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
24863         optimization.
24864         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
24865         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
24866         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
24867         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
24868         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
24869         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
24870         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
24871         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
24872         * modules/arpa_inet (Depends-on): Add arg-nonnull.
24873         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
24874         * modules/dirent (Depends-on): Add arg-nonnull.
24875         (Makefile.am): Insert arg-nonnull.h into dirent.h.
24876         * modules/fcntl-h (Depends-on): Add arg-nonnull.
24877         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
24878         * modules/fnmatch (Depends-on): Add arg-nonnull.
24879         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
24880         * modules/getopt-posix (Depends-on): Add arg-nonnull.
24881         (Makefile.am): Insert arg-nonnull.h into getopt.h.
24882         * modules/glob (Depends-on): Add arg-nonnull.
24883         (Makefile.am): Insert arg-nonnull.h into glob.h.
24884         * modules/iconv_open (Depends-on): Add arg-nonnull.
24885         (Makefile.am): Insert arg-nonnull.h into iconv.h.
24886         * modules/inttypes (Depends-on): Add arg-nonnull.
24887         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
24888         * modules/locale (Depends-on): Add arg-nonnull.
24889         (Makefile.am): Insert arg-nonnull.h into locale.h.
24890         * modules/math (Depends-on): Add arg-nonnull.
24891         (Makefile.am): Insert arg-nonnull.h into math.h.
24892         * modules/netdb (Depends-on): Add arg-nonnull.
24893         (Makefile.am): Insert arg-nonnull.h into netdb.h.
24894         * modules/search (Depends-on): Add arg-nonnull.
24895         (Makefile.am): Insert arg-nonnull.h into search.h.
24896         * modules/signal (Depends-on): Add arg-nonnull.
24897         (Makefile.am): Insert arg-nonnull.h into signal.h.
24898         * modules/spawn (Depends-on): Add arg-nonnull.
24899         (Makefile.am): Insert arg-nonnull.h into spawn.h.
24900         * modules/stdio (Depends-on): Add arg-nonnull.
24901         (Makefile.am): Insert arg-nonnull.h into stdio.h.
24902         * modules/stdlib (Depends-on): Add arg-nonnull.
24903         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
24904         * modules/string (Depends-on): Add arg-nonnull.
24905         (Makefile.am): Insert arg-nonnull.h into string.h.
24906         * modules/strings (Depends-on): Add arg-nonnull.
24907         (Makefile.am): Insert arg-nonnull.h into strings.h.
24908         * modules/sys_socket (Depends-on): Add arg-nonnull.
24909         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
24910         * modules/sys_stat (Depends-on): Add arg-nonnull.
24911         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
24912         * modules/sys_time (Depends-on): Add arg-nonnull.
24913         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
24914         * modules/sys_times (Depends-on): Add arg-nonnull.
24915         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
24916         * modules/sys_utsname (Depends-on): Add arg-nonnull.
24917         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
24918         * modules/time (Depends-on): Add arg-nonnull.
24919         (Makefile.am): Insert arg-nonnull.h into time.h.
24920         * modules/unistd (Depends-on): Add arg-nonnull.
24921         (Makefile.am): Insert arg-nonnull.h into unistd.h.
24922         * modules/wchar (Depends-on): Add arg-nonnull.
24923         (Makefile.am): Insert arg-nonnull.h into wchar.h.
24924         * modules/argv-iter (Depends-on): Add arg-nonnull.
24925         * tests/test-canonicalize.c (null_ptr): New function.
24926         (main): Use it.
24927         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
24928         (main): Use it.
24929         * tests/test-memmem.c (null_ptr): New function.
24930         (main): Use it.
24931         Reported by Jim Meyering.
24932
24933 2009-12-10  Bruno Haible  <bruno@clisp.org>
24934
24935         Use spaces for indentation, not tabs.
24936         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24937         * m4/*.m4: Untabify.
24938         * build-aux/*.h: Untabify.
24939         * tests/**/*.[hc]: Untabify.
24940         * README: New section "Indent with spaces, not TABs", based on
24941         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
24942         * NEWS: Mention the change.
24943
24944 2009-12-10  Bruno Haible  <bruno@clisp.org>
24945
24946         pty test: Fix link error.
24947         * modules/pty-tests (Makefile.am): Add the default LDADD value to
24948         test_pty_LDADD.
24949
24950 2009-12-07  Simon Josefsson  <simon@josefsson.org>
24951
24952         * modules/pty: New file.
24953         * modules/pty-tests: New file.
24954         * m4/pty.m4: New file.
24955         * tests/test-pty.c: New file.
24956         * doc/glibc-headers/pty.texi: Modified.
24957         * doc/glibc-functions/forkpty.texi: Modified.
24958         * doc/glibc-functions/openpty.texi: Modified.
24959
24960 2009-12-10  Bruno Haible  <bruno@clisp.org>
24961
24962         Avoid syntax error in C++ mode.
24963         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
24964
24965 2009-12-10  Bruno Haible  <bruno@clisp.org>
24966
24967         Use sed with option -e.
24968         * gnulib-tool (func_version, func_emit_copyright_notice,
24969         func_emit_initmacro_end, func_import, func_create_testdir): Pass
24970         option -e to sed.
24971         * modules/link-warning (Makefile.am): Likewise.
24972
24973 2009-12-10  Jim Meyering  <meyering@redhat.com>
24974
24975         mgetgroups: do not write bytes beyond end of malloc'd buffer
24976         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
24977         username, we call getgroups with a one-element-shorter buffer,
24978         but still told it the length was original, max_n_groups.
24979
24980 2009-12-09  Eric Blake  <ebb9@byu.net>
24981
24982         cloexec: relax license
24983         * modules/cloexec (Maintainer): Add myself.
24984         (License): Use LGPL, not GPL.
24985
24986         link-warning: optimize generation
24987         * modules/link-warning (Makefile.am): Reduce process usage.
24988
24989 2009-12-09  Bruno Haible  <bruno@clisp.org>
24990
24991         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
24992         workaround was added on 2009-11-17.
24993
24994 2009-12-09  Jim Meyering  <meyering@redhat.com>
24995             Bruno Haible  <bruno@clisp.org>
24996
24997         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
24998         * modules/link-warning (Makefile.am): Make the comment-removing sed
24999         command more robust in the face of bootstrap-prepended comment lines.
25000
25001 2009-12-09  Bruno Haible  <bruno@clisp.org>
25002
25003         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
25004         most one group.
25005
25006 2009-12-09  Simon Josefsson <simon@josefsson.org>
25007             Bruno Haible  <bruno@clisp.org>
25008
25009         * build-aux/link-warning.h: Add copyright notice.
25010         * modules/link-warning (Makefile.am): Generate link-warning.h from
25011         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
25012         * NEWS: Mention change in link-warning module.
25013         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
25014         * modules/dirent (Makefile.am): Add dependency to dirent.h.
25015         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
25016         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
25017         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
25018         * modules/math (Makefile.am): Add dependency to math.h.
25019         * modules/search (Makefile.am): Add dependency to search.h.
25020         * modules/signal (Makefile.am): Add dependency to signal.h.
25021         * modules/spawn (Makefile.am): Add dependency to spawn.h.
25022         * modules/stdio (Makefile.am): Add dependency to stdio.h.
25023         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
25024         * modules/string (Makefile.am): Add dependency to string.h.
25025         * modules/strings (Makefile.am): Add dependency to strings.h.
25026         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
25027         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
25028         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
25029         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
25030         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
25031         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
25032         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
25033         * modules/unistd (Makefile.am): Add dependency to unistd.h.
25034         * modules/wchar (Makefile.am): Add dependency to wchar.h.
25035
25036 2009-12-09  Bruno Haible  <bruno@clisp.org>
25037
25038         fchdir: Optimize away rpl_fstat when possible.
25039         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
25040         REPLACE_OPEN_DIRECTORY.
25041         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
25042
25043 2009-12-09  Bruno Haible  <bruno@clisp.org>
25044
25045         * lib/fchdir.c: Update comment.
25046
25047 2009-12-09  Bruno Haible  <bruno@clisp.org>
25048
25049         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
25050
25051 2009-12-08  Eric Blake  <ebb9@byu.net>
25052
25053         fchdir: avoid memory leak on re-registration.
25054         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
25055
25056 2009-12-08  Jim Meyering  <meyering@redhat.com>
25057
25058         init.sh: avoid Solaris 10 /bin/sh portability problem
25059         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
25060         sourced script:
25061           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
25062           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
25063           bar
25064         tests/init.sh relied on that, accepting a --set-path=DIR argument,
25065         and two tests used that idiom.
25066         * tests/init.sh: Update suggested usage comments.
25067         (path_prepend_): New function, to be used in place
25068         of the --src-path=DIR option.
25069         (setup_): Move PATH-prepending code into path_prepend_.
25070         * tests/test-pread.sh: Adapt to new usage.
25071         * tests/test-xalloc-die.sh: Likewise.
25072
25073 2009-12-08  Simon Josefsson  <simon@josefsson.org>
25074
25075         * doc/gnulib.texi (Glibc pty.h): Add.
25076         * doc/glibc-functions/forkpty.texi: Add.
25077         * doc/glibc-functions/openpty.texi: Add.
25078         Suggested by Bruno Haible.
25079
25080 2009-12-08  Eric Blake  <ebb9@byu.net>
25081
25082         fchdir: fix logic bugs
25083         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
25084         * tests/test-fchdir.c (main): Enhance test.
25085         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
25086         is in use.
25087
25088         dup2: fix logic bugs
25089         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
25090         REPLACE_DUP2 to decide when rpl_dup2 is needed.
25091         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
25092         exists.
25093         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
25094
25095 2009-12-07  Eric Blake  <ebb9@byu.net>
25096
25097         unlink: fix m4 detection
25098         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
25099
25100         unistd-safer: add unit test
25101         * modules/unistd-safer-tests: New file.
25102         * tests/test-dup-safer.c: Likewise.
25103         * tests/test-cloexec.c (setmode): Avoid compiler warning.
25104         * tests/test-dup2.c (setmode): Likewise.
25105         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
25106
25107         cloexec: preserve text vs. binary across dup_cloexec
25108         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
25109         mode.
25110         * modules/dup2-tests (Depends-on): Add binary-io.
25111         * modules/cloexec-tests (Depends-on): Likewise.
25112         * tests/test-dup2.c (setmode, is_mode): New helpers.
25113         (main): Add tests that translation mode is preserved.
25114         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
25115         Reported by Bruno Haible.
25116
25117         mgetgroups: reduce duplicate listings
25118         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
25119         resulting array.
25120         * tests/test-chown.h (test_chown): Simplify client.
25121         * tests/test-lchown.h (test_lchown): Likewise.
25122
25123 2009-12-06  Bruno Haible  <bruno@clisp.org>
25124
25125         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
25126         value.
25127
25128 2009-12-06  Bruno Haible  <bruno@clisp.org>
25129
25130         * lib/progname.c: Include stdio.h, stdlib.h.
25131         (set_program_name): Reject a NULL argument.
25132
25133 2009-12-05  Eric Blake  <ebb9@byu.net>
25134
25135         pipe2-safer: new module
25136         * modules/pipe2-safer: New file.
25137         * lib/unistd-safer.h (pipe2_safer): New prototype.
25138         * lib/unistd--.h (pipe2): New wrapper.
25139         * lib/pipe-safer.c (pipe2_safer): New function.
25140         * modules/pipe (Depends-on): Add pipe2-safer.
25141         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
25142
25143         stdlib-safer: preserve cloexec flag for mkostemp[s]
25144         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
25145         fd_safer_flag.
25146
25147         unistd-safer: allow preservation of cloexec status via flag
25148         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
25149         prototypes.
25150         * lib/dup-safer.c (dup_safer_flag): New function.
25151         * lib/fd-safer.c (fd_safer_flag): Likewise.
25152         * modules/cloexec (configure.ac): Set witness.
25153
25154         test-dup2: enhance test
25155         * modules/dup2-tests (Depends-on): Add cloexec.
25156         * tests/test-dup2.c (main): Enhance test.
25157
25158         cloexec: add dup_cloexec
25159         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
25160         header and comments.
25161         * lib/cloexec.c (set_cloexec_flag): Add comments.
25162         (dup_cloexec): New function, with mingw implementation borrowed
25163         from...
25164         * lib/w32spawn.h (dup_noinherit): ...here.
25165         * modules/execute (Depends-on): Add cloexec.
25166         * modules/pipe (Depends-on): Likewise.
25167         * modules/cloexec (Depends-on): Add dup2.
25168         * modules/cloexec-tests (Files): New file.
25169         * tests/test-cloexec.c: Likewise.
25170
25171         test-xalloc-die: fix test for mingw
25172         * modules/xalloc-die-tests (Files): Add tests/init.sh.
25173         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
25174         directory and .exe suffix off argv[0] output.
25175
25176         test-fseeko: fix test for mingw
25177         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
25178         than undefining fseek, so test will pass on mingw.
25179
25180 2009-12-05  Bruno Haible  <bruno@clisp.org>
25181
25182         * lib/progname.h (set_program_name): Clarify specification.
25183         * lib/progname.c (set_program_name): Likewise.
25184         Reported by Jim Meyering.
25185
25186 2009-12-05  Jim Meyering  <meyering@redhat.com>
25187
25188         maint.mk: backslash-escape parens in default regexp
25189         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
25190         backslash-escape the literal parentheses.
25191
25192         maint.mk: news-date-check: use grep -E
25193         * top/maint.mk (today): Define a Make variable, not a...
25194         (news-date-check): ...shell variable.
25195         (news-date-regexp): Use the Make variable.
25196         Use grep's -E option.  Change the failing diagnostic to mention
25197         the variable, $(news-date-regexp).
25198
25199 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
25200
25201         maintainer-makefile: allow customization of NEWS entry format
25202         * top/maint.mk (news-date-regexp): New overridable variable.
25203         (news-date-check): Use it.
25204
25205 2009-12-04  Eric Blake  <ebb9@byu.net>
25206
25207         mgetgroups: add xgetgroups, and avoid ENOSYS failures
25208         * lib/mgetgroups.h (xgetgroups): New prototype.
25209         * lib/mgetgroups.c (xgetgroups): New wrapper.
25210         (mgetgroups): Handle ENOSYS.
25211         * modules/mgetgroups (Depends-on): Add realloc.
25212         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
25213
25214         mgetgroups: avoid argument promotion issues with -1
25215         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
25216         for invalid gid_t.
25217         * tests/test-chown.h (getegid, test_chown): Likewise.
25218         * tests/test-lchown.h (getegid, test_lchown): Likewise.
25219
25220 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
25221
25222         exclude: Fix header file problems.
25223         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
25224
25225 2009-12-01  Jim Meyering  <meyering@redhat.com>
25226
25227         fts: fts_open: do not let an empty string cause immediate failure
25228         This is required in support of GNU rm, for which the command
25229         "rm A '' B" must process and remove both A and B, in spite of
25230         the empty string argument.
25231         * lib/fts.c (fts_open): Do not let the presence of an empty string
25232         cause fts_open to fail immediately.  Most fts-using tools must be
25233         able to process all arguments, in order, and can be expected to
25234         diagnose such arguments themselves.
25235
25236 2009-11-30  Eric Blake  <ebb9@byu.net>
25237
25238         utimens: fix compilation error
25239         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
25240         Declare variable at right scope.
25241
25242 2009-11-29  Jim Meyering  <meyering@redhat.com>
25243
25244         bootstrap: handle perl-5.11's changed --version output
25245         * build-aux/bootstrap (get_version): Handle perl separately,
25246         since perl-5.11's --version output is different.
25247
25248 2009-11-28  Jim Meyering  <meyering@redhat.com>
25249
25250         userspec: depend on the inttostr module, too
25251         * modules/userspec (Depends-on): Add inttostr.
25252
25253         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
25254         * lib/userspec.c (parse_with_separator): Do not accept a user ID
25255         number of MAXUID when it evaluates to (uid_t) -1.
25256         Likewise for group ID.  Reported by Matt McCutchen in
25257         <http://savannah.gnu.org/bugs/?28113>
25258
25259         userspec: reformat to use spaces, not TABs
25260         * lib/userspec.c: Expand TABs to spaces.
25261         Add Emacs' "indent-tabs-mode: nil" hint.
25262
25263 2009-11-27  Eric Blake  <ebb9@byu.net>
25264
25265         getopt-gnu: flush out another BSD bug
25266         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
25267         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
25268         flush out BSD bug.
25269         * tests/test-getopt.h (test_getopt): End lists with NULL.
25270         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25271         (test_getopt_long_posix): Enhance test.
25272         * modules/getopt-posix-tests (Depends-on): Add stdbool.
25273         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
25274         getopt-gnu.
25275         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25276         Likewise.
25277
25278 2009-11-27  Simon Josefsson  <simon@josefsson.org>
25279
25280         * modules/idpriv-droptemp-tests (Notice): Fix text.
25281
25282 2009-11-27  Jim Meyering  <meyering@redhat.com>
25283
25284         test-xalloc-die: avoid spurious failure due to libtool argv difference
25285         In a libtool-enabled project, this test would fail due to a difference
25286         in the emitted program name, e.g.,
25287         -test-xalloc-die: memory exhausted
25288         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
25289         Use program to avoid that.
25290         * modules/xalloc-die-tests (Depends-on): Add progname.
25291         * tests/test-xalloc-die.c: Include progname.h".
25292         (program_name): Remove decl.
25293         (main): Call set_program_name.
25294         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
25295
25296 2009-11-26  Richard Jones  <rjones@redhat.com>
25297
25298         w32sock: leave win32 error in place.
25299         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
25300
25301 2009-11-26  Eric Blake  <ebb9@byu.net>
25302
25303         init.sh: suggest to use skip_ and fail_ functions in comments
25304         * tests/init.sh: Add a sentence.
25305
25306 2009-11-25  Bruno Haible  <bruno@clisp.org>
25307
25308         init.sh: add documentation in comments
25309         * tests/init.sh: Add some developer and user documentation.
25310
25311 2009-11-26  Jim Meyering  <meyering@redhat.com>
25312
25313         init.sh: accommodate even those who specify bogus srcdir manually
25314         * tests/init.sh: Normally, srcdir is guaranteed by automake and
25315         configure-time tests to be sanitized, so that there is no need to
25316         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
25317         (with no double quotes) suffices.  However, since tests may be
25318         invoked manually, and since you may explicitly set srcdir to the
25319         name of a directory containing spaces, do quote its uses here.
25320         * tests/test-pread.sh: Likewise.
25321         Suggested by Bruno Haible.
25322
25323         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
25324         * tests/test-pread.sh: Write no data into the pipe, because
25325         test-pread actually reads none.  This avoids a diagnostic,
25326         "bash: echo: write error: Broken pipe", that arises in the unusual
25327         event something is ignoring SIGPIPE, and might be interpreted
25328         as some sort of failure.  Reported by Bruno Haible.
25329
25330 2009-11-25  Jim Meyering  <meyering@redhat.com>
25331
25332         test-pread: cover failure with ESPIPE and EINVAL
25333         * tests/test-pread.c (main): Test for failure, too.
25334         * tests/test-pread.sh: Invoke with stdin on a pipe.
25335         Suggested by Eric Blake.
25336
25337         pread: improvement and fix
25338         * modules/pread (Depends-on): Depend on lseek, for portability to
25339         e.g., mingw.  Suggested by Eric Blake.
25340         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
25341
25342         unistd.in.h: correct declaration of pread
25343         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
25344         Reported by Richard W.M. Jones.
25345
25346         test-pread.sh: distribute the test script
25347         * modules/pread-tests (Files): Include test-pread.sh.
25348
25349         test-pread.sh: clean up
25350         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
25351         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
25352         That is unnecessary, since it's always ".".
25353         Suggestion from Eric Blake.
25354
25355         test-pread.sh: make executable
25356         * tests/test-pread.sh: Set executable bit.
25357         Reported by Eric Blake.
25358
25359         correct typo in test-pread.sh
25360         * tests/test-pread.sh: Add #! line.
25361
25362         test pread
25363         * tests/test-pread.c: New file.
25364         * tests/test-pread.sh: Likewise.
25365         * modules/pread-tests: Likewise.
25366
25367         pread: new module
25368         * modules/pread: New file.
25369         * lib/unistd.in.h (pread): Define/declare.
25370         * lib/pread.c (pread): New file.
25371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
25372         * modules/unistd (Makefile.am): Substitute witnesses.
25373         * doc/posix-functions/pread.texi (pread): Update.
25374         * MODULES.html.sh: Add pread.
25375
25376 2009-11-25  Jim Meyering  <meyering@redhat.com>
25377
25378         tests/init.sh: new file to be used via most *.sh tests
25379         * tests/init.sh: New file.
25380
25381 2009-11-25  Eric Blake  <ebb9@byu.net>
25382
25383         utimens: work around older Linux failure with symlinks
25384         * lib/utimens.c (lutimensat_works_really): New variable.
25385         (fdutimens, lutimens): Use it to manage kernels that support
25386         nanosecond times on files, but not on symlinks.
25387         Reported by OndÅ™ej Vašík.
25388
25389         utimes: fix configure grammar
25390         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
25391
25392 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
25393
25394         regex: Fix fastmap for multibyte character ranges.
25395         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
25396         characters when a multibyte character range is included.
25397
25398 2009-11-22  Andy Wingo  <wingo@pobox.com>
25399
25400         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
25401         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
25402
25403 2009-11-24  Bruno Haible  <bruno@clisp.org>
25404
25405         doc: Most *_l functions exist in MacOS X 10.5.
25406         * doc/posix-functions/duplocale.texi: Update platforms list.
25407         * doc/posix-functions/freelocale.texi: Likewise.
25408         * doc/posix-functions/newlocale.texi: Likewise.
25409         * doc/posix-functions/uselocale.texi: Likewise.
25410         * doc/posix-functions/isalnum_l.texi: Likewise.
25411         * doc/posix-functions/isalpha_l.texi: Likewise.
25412         * doc/posix-functions/isblank_l.texi: Likewise.
25413         * doc/posix-functions/iscntrl_l.texi: Likewise.
25414         * doc/posix-functions/isdigit_l.texi: Likewise.
25415         * doc/posix-functions/isgraph_l.texi: Likewise.
25416         * doc/posix-functions/islower_l.texi: Likewise.
25417         * doc/posix-functions/isprint_l.texi: Likewise.
25418         * doc/posix-functions/ispunct_l.texi: Likewise.
25419         * doc/posix-functions/isspace_l.texi: Likewise.
25420         * doc/posix-functions/isupper_l.texi: Likewise.
25421         * doc/posix-functions/iswalnum_l.texi: Likewise.
25422         * doc/posix-functions/iswalpha_l.texi: Likewise.
25423         * doc/posix-functions/iswblank_l.texi: Likewise.
25424         * doc/posix-functions/iswcntrl_l.texi: Likewise.
25425         * doc/posix-functions/iswctype_l.texi: Likewise.
25426         * doc/posix-functions/iswdigit_l.texi: Likewise.
25427         * doc/posix-functions/iswgraph_l.texi: Likewise.
25428         * doc/posix-functions/iswlower_l.texi: Likewise.
25429         * doc/posix-functions/iswprint_l.texi: Likewise.
25430         * doc/posix-functions/iswpunct_l.texi: Likewise.
25431         * doc/posix-functions/iswspace_l.texi: Likewise.
25432         * doc/posix-functions/iswupper_l.texi: Likewise.
25433         * doc/posix-functions/iswxdigit_l.texi: Likewise.
25434         * doc/posix-functions/isxdigit_l.texi: Likewise.
25435         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
25436         * doc/posix-functions/strcasecmp_l.texi: Likewise.
25437         * doc/posix-functions/strcoll_l.texi: Likewise.
25438         * doc/posix-functions/strfmon_l.texi: Likewise.
25439         * doc/posix-functions/strftime_l.texi: Likewise.
25440         * doc/posix-functions/strncasecmp_l.texi: Likewise.
25441         * doc/posix-functions/strxfrm_l.texi: Likewise.
25442         * doc/posix-functions/tolower_l.texi: Likewise.
25443         * doc/posix-functions/toupper_l.texi: Likewise.
25444         * doc/posix-functions/towctrans_l.texi: Likewise.
25445         * doc/posix-functions/towlower_l.texi: Likewise.
25446         * doc/posix-functions/towupper_l.texi: Likewise.
25447         * doc/posix-functions/wcscoll_l.texi: Likewise.
25448         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
25449         * doc/posix-functions/wctrans_l.texi: Likewise.
25450         * doc/posix-functions/wctype_l.texi: Likewise.
25451         * doc/glibc-functions/strptime_l.texi: Likewise.
25452         * doc/glibc-functions/strtod_l.texi: Likewise.
25453         * doc/glibc-functions/strtof_l.texi: Likewise.
25454         * doc/glibc-functions/strtol_l.texi: Likewise.
25455         * doc/glibc-functions/strtold_l.texi: Likewise.
25456         * doc/glibc-functions/strtoll_l.texi: Likewise.
25457         * doc/glibc-functions/strtoul_l.texi: Likewise.
25458         * doc/glibc-functions/strtoull_l.texi: Likewise.
25459         * doc/glibc-functions/wcsftime_l.texi: Likewise.
25460         * doc/glibc-functions/wcstod_l.texi: Likewise.
25461         * doc/glibc-functions/wcstof_l.texi: Likewise.
25462         * doc/glibc-functions/wcstol_l.texi: Likewise.
25463         * doc/glibc-functions/wcstold_l.texi: Likewise.
25464         * doc/glibc-functions/wcstoll_l.texi: Likewise.
25465         * doc/glibc-functions/wcstoul_l.texi: Likewise.
25466         * doc/glibc-functions/wcstoull_l.texi: Likewise.
25467
25468 2009-11-24  Bruno Haible  <bruno@clisp.org>
25469
25470         duplocale: Fix logic bug.
25471         * lib/duplocale.c: Don't include <langinfo.h>.
25472         (_NL_LOCALE_NAME): Remove macro.
25473         (rpl_duplocale): Use setlocale instead of nl_langinfo.
25474         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
25475
25476 2009-11-23  Jim Meyering  <meyering@redhat.com>
25477
25478         test-update-copyright: don't hard-code /usr/bin/perl
25479         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
25480         perl to print the current year.  Gilles Espinasse reported that
25481         the replaced use of perl was hard-coded as /usr/bin/perl.
25482
25483 2009-11-23  Bruno Haible  <bruno@clisp.org>
25484
25485         duplocale: Add support for glibc 2.3.x.
25486         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
25487
25488 2009-11-22  Bruno Haible  <bruno@clisp.org>
25489
25490         vasnprintf: Tiny optimization.
25491         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
25492         MacOS X.
25493
25494 2009-11-22  Bruno Haible  <bruno@clisp.org>
25495
25496         Tests for module 'duplocale'.
25497         * modules/duplocale-tests: New file.
25498         * tests/test-duplocale.c: New file.
25499
25500         New module 'duplocale'.
25501         * m4/duplocale.m4: New file.
25502         * lib/locale.in.h (duplocale): New declaration.
25503         * lib/duplocale.c: New file.
25504         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
25505         gl_LOCALE_H_DEFAULTS): New macros.
25506         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
25507         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
25508         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
25509         REPLACE_DUPLOCALE.
25510         * modules/duplocale: New file.
25511         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
25512
25513 2009-11-22  Bruno Haible  <bruno@clisp.org>
25514
25515         * modules/locale-tests (configure.ac): Test for newlocale function.
25516         * tests/test-locale.c: When the system has extended locale functions,
25517         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
25518
25519         locale: Make locale_t available when possible.
25520         * lib/locale.in.h: Include <xlocale.h> when it exists.
25521         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
25522         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
25523         * modules/locale (Depends-on): Add extensions.
25524         (Makefile.am): Also substitute HAVE_XLOCALE_H.
25525         * doc/posix-headers/locale.texi: Document the problem with locale_t.
25526
25527 2009-11-22  Bruno Haible  <bruno@clisp.org>
25528
25529         Add comments.
25530         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
25531         invocation.
25532         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25533         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25534         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25535
25536 2009-11-22  Bruno Haible  <bruno@clisp.org>
25537
25538         error: account for the possibility of freopen (stdout).
25539         * lib/error.c: Include <unistd.h>.
25540         (flush_stdout): New function, extracted from error and error_at_line.
25541         Determine stdout's fd dynamically.
25542         (error, error_at_line): Invoke flush_stdout.
25543         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
25544         * modules/error (Depends-on): Add unistd.
25545
25546 2009-11-22  Bruno Haible  <bruno@clisp.org>
25547
25548         diffseq: Add comment.
25549         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
25550
25551 2009-11-22  Jim Meyering  <meyering@redhat.com>
25552
25553         c-stack: avoid defining an unused static function
25554         * lib/c-stack.c (find_stack_direction): Do not define this function
25555         when it will not be used.
25556
25557         diffseq: avoid spurious gcc warnings
25558         * lib/diffseq.h (IF_LINT2): Define.
25559         (compareseq): Use it to initialize two members of "part".
25560         This avoids two used-uninitialized warnings.
25561
25562 2009-11-21  Jim Meyering  <meyering@redhat.com>
25563
25564         c-stack: avoid "ignoring return value of `write'" warning
25565         * lib/c-stack.c: Include "ignore-value.h".
25566         (die): Explicitly ignore each write return value.
25567         * modules/c-stack (Depends-on): Add ignore-value.
25568
25569 2009-11-21  Bruno Haible  <bruno@clisp.org>
25570
25571         diffseq: reduce scope of variable 'best'.
25572         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
25573         variable, earlier used for two different purposes.
25574
25575 2009-11-21  Jim Meyering  <meyering@redhat.com>
25576
25577         diffseq: remove useless assignment to "best"
25578         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
25579         assignment.  At that point "best" is already guaranteed to be zero.
25580
25581 2009-11-20  Eric Blake  <ebb9@byu.net>
25582
25583         build: mention ftp redirector in release announcements
25584         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
25585         values that used to come from cfg.mk; mention FTP redirect URL.
25586         * build-aux/announce-gen: Mention the mirror list.
25587         Suggested by Karl Berry.
25588
25589         nanosleep: improve port to mingw
25590         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
25591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
25592         LIB_NANOSLEEP, but only when needed.
25593         * modules/select (Link): Document LIBSOCKET.
25594         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
25595         enough.
25596
25597         nanosleep: work around cygwin bug
25598         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
25599         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
25600         bug.
25601         (getnow): Delete, not needed.
25602         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
25603         LIB_CLOCK_GETTIME.
25604         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
25605         clock-time, gettime.
25606         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
25607         bug.
25608         * modules/nanosleep-tests: New test.
25609         * tests/test-nanosleep.c: New file.
25610
25611         sleep: work around cygwin bug
25612         * lib/sleep.c (rpl_sleep): Work around the bug.
25613         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
25614         (gl_PREREQ_SLEEP): Delete unused macro.
25615         * modules/sleep (Depends-on): Add verify.
25616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
25617         * modules/unistd (Makefile.am): Substitute witness.
25618         * lib/unistd.in.h (sleep): Update prototype.
25619         * doc/posix-functions/sleep.texi (sleep): Document the bug.
25620         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
25621         * modules/sleep-tests (Depends-on): Check for alarm.
25622
25623 2009-11-20  Jim Meyering  <meyering@redhat.com>
25624
25625         maint.mk: improve sc_prohibit_magic_number_exit
25626         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
25627         so it does not match uses like System.exit(1).
25628         Add comments showing how to correct all offenders.
25629
25630 2009-11-19  Eric Blake  <ebb9@byu.net>
25631
25632         xalloc-die-tests: add missing library
25633         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
25634
25635         test-xvasprintf: silence compiler warnings
25636         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
25637         empty string from gcc.
25638
25639 2009-11-19  Jim Meyering  <meyering@redhat.com>
25640
25641         xfreopen: new module, from coreutils
25642         * modules/xfreopen: New module.
25643         * lib/xfreopen.c: New file.
25644         * lib/xfreopen.h: New file.
25645         * MODULES.html.sh (File stream based Input/Output"): Add it.
25646
25647 2009-11-19  Eric Blake  <ebb9@byu.net>
25648
25649         manywarnings: depend on warnings
25650         * modules/manywarnings (Depends-on): Add warnings.
25651
25652         build: avoid compiler warnings
25653         * lib/select.c (rpl_select): Delete unused variable.
25654         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
25655
25656 2009-11-18  Eric Blake  <ebb9@byu.net>
25657
25658         tests: avoid false negative with --with-packager
25659         * tests/test-version-etc.sh: Discard packager information.
25660         * tests/test-argp-version-etc-1.sh: Likewise.
25661         Reported by Mike Frysinger.
25662
25663         utimens: fix regression on Solaris
25664         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
25665         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
25666         can only change fd timestamps via futimesat.  Instead, use an
25667         additional witness macro to avoid BSD bug.
25668         Reported by Jim Meyering.
25669
25670 2009-11-17  Eric Blake  <ebb9@byu.net>
25671
25672         usleep: use it to simplify tests
25673         * modules/stat-time-tests (Depends-on): Add usleep.
25674         (configure.ac): Drop usleep check.
25675         * modules/chown-tests (Depends-on, configure.ac): Likewise.
25676         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
25677         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
25678         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
25679         * modules/openat-tests (Depends-on, configure.ac): Likewise.
25680         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
25681         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
25682         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
25683         Likewise.
25684         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
25685         * tests/test-lchown.h (nap): Likewise.
25686         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
25687         * tests/test-stat-time.c (nap): Likewise.
25688         * tests/test-utimens-common.h (nap): Update comments.
25689
25690         usleep: new module
25691         * modules/usleep: New file.
25692         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
25693         * lib/usleep.c (usleep): Likewise.
25694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25695         * modules/unistd (Makefile.am): Substitute witnesses.
25696         * lib/unistd.in.h (usleep): Add declaration.
25697         * doc/pastposix-functions/usleep.texi (usleep): Document this.
25698         * MODULES.html.sh (Date and time): Likewise.
25699         * modules/usleep-tests (Depends-on): New test.
25700         * tests/test-usleep.c: New file.
25701
25702         chown: work around OpenBSD bug
25703         * lib/chown.c (rpl_chown): Work around the bug.
25704         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
25705         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
25706         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
25707         * modules/chown (Depends-on): Add stdbool.
25708         * modules/lchown (Depends-on): Likewise.
25709         * doc/posix-functions/chown.texi (chown): Document the bug.
25710         * doc/posix-functions/lchown.texi (lchown): Likewise.
25711         * tests/test-lchown.h (test_chown): Relax test.
25712
25713         mkstemp: avoid conflict with C++ keyword template
25714         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
25715         * lib/mkostemp.c (mkostemp): Likewise.
25716         * lib/mkostemps.c (mkostemps): Likewise.
25717         * lib/mkstemp.c (mkstemp): Likewise.
25718         * lib/mkstemps.c (mkstemps): Likewise.
25719
25720         xalloc-die-tests: optimize
25721         * tests/test-xalloc-die.sh: Reduce number of processes.
25722
25723 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25724
25725         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
25726         patch from ludo@gnu.org (Ludovic Courtès).
25727
25728 2009-11-17  Jim Meyering  <meyering@redhat.com>
25729
25730         version-etc: use proper license string
25731         * modules/version-etc (License): Use LGPL, not LGPLv3+.
25732         * modules/version-etc-fsf: Likewise.
25733
25734 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25735
25736         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
25737         printed to stdout.  Deal with EOL differences.
25738
25739 2009-11-17  Eric Blake  <ebb9@byu.net>
25740
25741         unsetenv: work around Solaris bug
25742         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
25743         * lib/unsetenv.c (rpl_unsetenv): Work around it.
25744         Reported by Jim Meyering.
25745
25746         vasnprintf: avoid compiler warnings
25747         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
25748         variables.
25749         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
25750
25751 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25752
25753         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
25754         settings since xalloc-die is no longer the self test,
25755         xalloc-die.sh is.
25756
25757 2009-11-17  Jim Meyering  <meyering@redhat.com>
25758
25759         test-xalloc-die.sh: make the code agree with the commit log
25760         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
25761         at the end, just in case you happen to have a test-xalloc-die
25762         program in some other PATH directory.
25763
25764         test-xalloc-die.sh: fix a portability bug
25765         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
25766         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
25767         Otherwise, argv[0] (as often seen in diagnostics) would be too
25768         system-dependent, sometimes with, and sometimes without the leading "./".
25769
25770         version-etc-fsf: relax license to LGPLv3+
25771         * modules/version-etc-fsf (License): Relax license.
25772
25773 2009-11-16  Eric Blake  <ebb9@byu.net>
25774
25775         xalloc-die-tests: avoid printing null pointer
25776         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
25777         shell script.
25778         * tests/test-xalloc-die.c (program_name): Declare.
25779         * tests/test-xalloc-die.sh (tmpfiles): New file.
25780
25781         setenv, unsetenv: work around various bugs
25782         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
25783         (setenv) [HAVE_SETENV]: Work around bugs.
25784         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
25785         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
25786         for bugs.
25787         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
25788         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
25789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
25790         * modules/stdlib (Makefile.am): Update substitutions.
25791         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
25792         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
25793         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
25794         * modules/setenv-tests: New test.
25795         * modules/unsetenv-tests: Likewise.
25796         * tests/test-setenv.c: New file.
25797         * tests/test-unsetenv.c: Likewise.
25798
25799 2009-11-16  Jim Meyering  <meyering@redhat.com>
25800
25801         version-etc: relax license to LGPLv3+
25802         * modules/version-etc (License): Relax license.
25803
25804         better AC_REQUIRE expanded-before-required-warning avoidance
25805         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
25806         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
25807         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
25808         which is no longer needed.
25809
25810 2009-11-16  Eric Blake  <ebb9@byu.net>
25811
25812         test-freading: clean up temporary file
25813         * tests/test-freading.c (main): Remove file on success, and use
25814         ASSERT more liberally.
25815         Reported by Jim Meyering.
25816
25817 2009-11-16  Jim Meyering  <meyering@redhat.com>
25818
25819         avoid new AC_REQUIRE expanded-before-required warnings
25820         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
25821         merely using it.
25822         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
25823         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
25824
25825 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25826
25827         * tests/test-xalloc-die.c: New file.
25828         * modules/xalloc-die-tests: New file.
25829         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
25830         XFAIL_TESTS so it can be appended by modules.
25831
25832 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25833
25834         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
25835         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
25836
25837 2009-11-14  Eric Blake  <ebb9@byu.net>
25838
25839         fnmatch: avoid compiler warning
25840         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
25841         to silence compiler warning about mismatch signedness in ?:.
25842         Reported by Robert Millan.
25843
25844         intprops: add double-inclusion guard
25845         * lib/intprops.h: Allow idempotent includes.
25846         Suggested by Bruce Korb.
25847
25848         openat: detect Solaris fchownat bug
25849         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
25850         penalizing glibc chownat when only lchownat is broken.
25851         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
25852         trailing slash bugs.
25853         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
25854         * modules/openat-tests (Files): Include more files.
25855         (Depends-on): Add mgetgroups, sleep, stat-time.
25856         (configure.ac): Add additional checks.
25857         (Makefile.am): Build new test.
25858         * tests/test-fchownat.c: New file.
25859
25860         lchown: detect Solaris and FreeBSD bug
25861         * lib/lchown.c (rpl_lchown): Work around bug.
25862         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
25863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25864         * modules/unistd (Makefile.am): Populate it.
25865         * lib/unistd.in.h (lchown): Update declaration.
25866         * doc/posix-functions/lchown.texi (lchown): Document the bug.
25867         * modules/lchown-tests: New file.
25868         * tests/test-lchown.h (test_lchown): Likewise.
25869         * tests/test-lchown.c (main): Likewise.
25870
25871         chown: detect Solaris and FreeBSD bug
25872         * lib/chown.c (rpl_chown): Work around bug.
25873         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
25874         (gl_PREREQ_CHOWN): Delete.
25875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25876         * modules/unistd (Makefile.am): Populate it.
25877         * lib/unistd.in.h (chown): Update declaration.
25878         * lib/lchown.c (chown): Update client.
25879         * modules/lchown (Depends-on): Add lstat.
25880         * doc/posix-functions/chown.texi (chown): Document the bug.
25881         * doc/posix-functions/getgroups.texi (getgroups): Document
25882         getgroups pitfall.
25883         * modules/chown-tests: New file.
25884         * tests/test-chown.h (test_chown): Likewise.
25885         * tests/test-chown.c (main): Likewise.
25886
25887 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
25888
25889         gnulib-tool: correctly detect absence of m4 directories
25890         * gnulib-tool: Avoid extra newline on data passed to wc -l.
25891
25892 2009-11-14  Jim Meyering  <meyering@redhat.com>
25893
25894         maint.mk: Prohibit inclusion of "xalloc.h" without use.
25895         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
25896
25897 2009-11-14  John W. Eaton  <jwe@gnu.org>
25898
25899         strftime.h: wrap funtion declaration in extern "C" block
25900         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
25901
25902 2009-11-13  Eric Blake  <ebb9@byu.net>
25903
25904         getgroups: avoid compiler warning
25905         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
25906
25907         getgroups: work around FreeBSD bug
25908         * lib/getgroups.c (rpl_getgroups): Work around the bug.
25909         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
25910         * doc/posix-functions/getgroups.texi (getgroups): Document it.
25911         * tests/test-getgroups.c (main): Fix buffer overrun.
25912
25913         getgroups: avoid compilation failure
25914         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
25915         * modules/getgroups (Depends-on): Add stdint.
25916
25917 2009-11-13  Jim Meyering  <meyering@redhat.com>
25918
25919         test-getgroups: avoid compilation failure
25920         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
25921
25922 2009-11-13  Eric Blake  <ebb9@byu.net>
25923
25924         mgetgroups: new module, taken from coreutils
25925         * modules/mgetgroups: New file.
25926         * lib/mgetgroups.h: Likewise.
25927         * lib/mgetgroups.c (mgetgroups): Likewise.
25928         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
25929         * MODULES.html.sh (Users and groups): Mention it.
25930
25931         getgroups: don't expose GETGROUPS_T to user
25932         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
25933         an element at a time if GETGROUPS_T is wrong size.
25934         * lib/getugroups.h (getugroups): Change signature.
25935         * lib/unistd.in.h (getgroups): Likewise.
25936         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
25937         signature needs fixing.
25938         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
25939         AC_TYPE_GETGROUPS.
25940         * modules/group-member (Depends-on): Add getgroups.
25941         * lib/group-member.c (group_info, get_group_info): Use gid_t.
25942         (group_member): Rely on getgroups replacement.
25943         * lib/getugroups.c (getugroups): Use gid_t.
25944         * tests/test-getgroups.c (main): Likewise.
25945         * NEWS: Mention the signature change.
25946         * doc/posix-functions/getgroups.texi (getgroups): Mention the
25947         problem with signature.
25948         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
25949         GETGROUPS_T is still useful for setgroups.
25950
25951         getgroups, getugroups: provide stubs for mingw
25952         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
25953         * lib/getugroups.c (getugroups): Likewise.
25954         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
25955         function.  Modernize replacement scheme.
25956         (gl_PREREQ_GETGROUPS): Delete.
25957         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
25958         * modules/getgroups (configure.ac): Declare witness.
25959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
25960         * modules/unistd (Depends-on): Substitute witness.
25961         * lib/unistd.in.h (getgroups): Declare replacement.
25962
25963         getgroups: avoid calling exit
25964         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
25965         drop xalloc.
25966         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
25967         dependencies.
25968         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
25969         exiting, in the rare case of malloc failure.
25970
25971         getgroups: fix logic error
25972         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
25973         has more than 20 groups.
25974         * modules/getgroups-tests: New test.
25975         * tests/test-getgroups.c: New file.
25976
25977 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25978
25979         * tests/test-base64.c: Improve.
25980
25981 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25982
25983         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
25984         Blake <ebb9@byu.net>.
25985
25986 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25987
25988         * tests/test-xvasprintf.c: Add %s%s related checks.
25989
25990 2009-11-12  Eric Blake  <ebb9@byu.net>
25991
25992         version-etc: match standards.texi style
25993         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
25994         and use <> only for URLs.
25995
25996 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
25997
25998         fts: do not fail on a submount during traversal
25999         * lib/fts.c (fts_build): Read the stat info again after opening
26000         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
26001         Original report at http://bugzilla.redhat.com/501848.
26002
26003 2009-11-12  Jim Meyering  <meyering@redhat.com>
26004
26005         bootstrap: sync from coreutils
26006         * build-aux/bootstrap (bootstrap_epilogue): New function.
26007         Use git_modules_config in one more place.  This make bootstrap's
26008         --gnulib-srcdir option more useful for testing.
26009
26010         bootstrap: generalize autoheader check
26011         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
26012         AC_CONFIG_HEADERS.
26013
26014 2009-11-11  Eric Blake  <ebb9@byu.net>
26015
26016         mkfifoat: use new modules for Solaris and BSD bugs
26017         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
26018         * lib/mkfifoat.c (mknodat): Split...
26019         * lib/mknodat.c (mknodat): ...into new file.
26020         * modules/mkfifoat (Files): Ship new file.
26021         (Depends-on): Add mkfifo, mknod.
26022         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
26023         (Depends-on): Add symlink.
26024         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
26025         redundant with test_mkfifo.h.
26026         (do_mkfifoat, do_mknodat): New helpers.
26027
26028         mknod: new module
26029         * modules/mknod: New file.
26030         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
26031         * lib/mknod.c (mknod): Likewise.
26032         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26033         defaults.
26034         * modules/sys_stat (Makefile.am): Substitute them.
26035         * lib/sys_stat.in.h (mknod): Declare replacement.
26036         * MODULES.html.sh (Support for systems lacking POSIX:2008):
26037         Document it.
26038         * doc/posix-functions/mknod.texi (mknod): Likewise.
26039         * modules/mknod-tests: New test.
26040         * tests/test-mknod.c: Likewise.
26041
26042         mkfifo: new module
26043         * modules/mkfifo: New file.
26044         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
26045         * lib/mkfifo.c (mkfifo): Likewise.
26046         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26047         defaults.
26048         * modules/sys_stat (Makefile.am): Substitute them.
26049         * lib/sys_stat.in.h (mkfifo): Declare replacement.
26050         * MODULES.html.sh (Support for systems lacking POSIX:2008):
26051         Document it.
26052         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
26053         * modules/mkfifo-tests: New test.
26054         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
26055         from test-mkfifoat.c.
26056         * tests/test-mkfifo.c: New file.
26057
26058         readlink: detect FreeBSD bug
26059         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
26060         slash on symlink.
26061         * doc/posix-functions/readlink.texi (readlink): Document the bug.
26062         * tests/test-readlink.h (test_readlink): Enhance test.
26063
26064         symlink: detect FreeBSD bug
26065         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
26066         slash on symlink.
26067         * doc/posix-functions/symlink.texi (symlink): Document the bug.
26068         * tests/test-symlink.h (test_symlink): Enhance test.
26069
26070 2009-11-10  Eric Blake  <ebb9@byu.net>
26071
26072         link: detect FreeBSD bug
26073         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
26074         symlink.
26075         * doc/posix-functions/link.texi (link): Document the bug.
26076         * tests/test-link.h (test_link): Enhance test.
26077         * tests/test-linkat.c (main): Update caller.
26078
26079         unlink, remove: detect FreeBSD bug
26080         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
26081         slash on symlink.
26082         * doc/posix-functions/unlink.texi (unlink): Document the bug.
26083         * doc/posix-functions/remove.texi (remove): Likewise.
26084         * tests/test-unlink.h (test_unlink): Enhance test.
26085         * tests/test-remove.c (main): Likewise.
26086
26087 2009-11-09  Eric Blake  <ebb9@byu.net>
26088
26089         rename: detect FreeBSD bug
26090         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
26091         slash on symlink.
26092         * modules/renameat-tests (Depends-on): Add filenamecat.
26093         * tests/test-rename.h (test_rename): Allow one more errno.
26094         * tests/test-renameat.c (main): Likewise.
26095         * doc/posix-functions/rename.texi (rename): Document the bug.
26096
26097         open: detect FreeBSD bug
26098         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
26099         symlink.
26100         * doc/posix-functions/open.texi (open): Document the bug.
26101         * doc/posix-functions/utimes.texi (utimes): Likewise.
26102         * tests/test-open.h (test_open): Add parameters, and test symlink
26103         handling.
26104         * tests/test-open.c (main): Adjust caller.
26105         * tests/test-fcntl-safer.c (main): Likewise.
26106         * modules/open-tests (Depends-on): Add stdbool, symlink.
26107         * modules/fcntl-safer-tests (Depends-on): Likewise.
26108         * tests/test-openat.c (main): Add test-open tests.
26109
26110         stat: detect FreeBSD bug
26111         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
26112         symlink.
26113         * doc/posix-functions/stat.texi (stat): Document the bug.
26114         * tests/test-stat.h (test_stat_func): Add argument.
26115         * tests/test-stat.c (main): Adjust caller.
26116         * tests/test-fstatat.c (main): Likewise.
26117         * modules/stat-tests (Depends-on): Add stdbool, symlink.
26118         Reported by Jim Meyering.
26119
26120 2009-11-09  James Youngman  <jay@gnu.org>
26121
26122         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
26123         * lib/strftime.c: Correct placement of #include "ignore-value.h".
26124
26125 2009-11-08  Jim Meyering  <meyering@redhat.com>
26126
26127         utimens: remove invalid futimesat call
26128         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
26129         It used the file descriptor of the target file as the DIR_FD
26130         parameter and NULL as the file name.  That caused failure with
26131         errno == EFAULT on FreeBSD-8.0-rc2
26132
26133 2009-11-07  Eric Blake  <ebb9@byu.net>
26134
26135         fflush, freadseek: use fseeko, not fseek
26136         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
26137         (clear_ungetc_buffer): Avoid potential problems on large files.
26138         * lib/freadseek.c (freadseek): Likewise.
26139         * modules/freadseek (Depends-on): Add fseeko.
26140         * modules/fseek (configure.ac): Set a witness.
26141         * tests/test-fflush.c (main): Use fseeko.
26142         * tests/test-fpurge.c (fseek): Disable link warning.
26143         * tests/test-freadable.c (fseek): Likewise.
26144         * tests/test-freading.c (fseek): Likewise.
26145         * tests/test-fseeko.c (fseek): Likewise.
26146         * tests/test-ftell.c (fseek): Likewise.
26147         * tests/test-ftello.c (fseek): Likewise.
26148         * tests/test-fwritable.c (fseek): Likewise.
26149         * tests/test-fwriting.c (fseek): Likewise.
26150
26151 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26152
26153         * modules/memchr (Depends-on): Drop getpagesize dependency.
26154
26155 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26156
26157         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
26158         Reported by Ludovic Courtès.
26159         * build-aux/pmccabe2html: Improve example usage.
26160         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
26161
26162 2009-11-06  Jim Meyering  <meyering@redhat.com>
26163
26164         do-release-commit-and-tag: New module.
26165         Automate the release-commit and tag process.
26166         * build-aux/do-release-commit-and-tag: New script, from coreutils.
26167         * modules/do-release-commit-and-tag: New file.
26168         * MODULES.html.sh (Support for maintaining and releasing): Add it.
26169
26170 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26171
26172         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
26173         because test-select.c uses inet_pton.
26174
26175 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26176
26177         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
26178         GETADDRINFO_LIB.  Bump serial number.
26179         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
26180         Suggested by Eric Blake <ebb9@byu.net>.
26181
26182 2009-11-05  Eric Blake  <ebb9@byu.net>
26183
26184         strtod: detect darwin bug
26185         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
26186         Reported by Leo Davis.
26187
26188         freopen-safer: new module
26189         * modules/freopen-safer: New module.
26190         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
26191         * lib/freopen-safer.c (freopen_safer): New file.
26192         * lib/stdio-safer.h (freopen_safer): New declaration.
26193         * lib/stdio--.h (freopen): New override.
26194         * MODULES.html.sh (File stream based Input/Output): Mention it.
26195         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
26196         freopen-safer module.
26197         * doc/posix-functions/stderr.texi (stderr): Likewise.
26198         * doc/posix-functions/stdin.texi (stdin): Likewise.
26199         * doc/posix-functions/stdout.texi (stdout): Likewise.
26200         * modules/freopen-safer-tests: New test.
26201         * tests/test-reopen-safer.c: New file.
26202
26203 2009-11-05  Jim Meyering  <meyering@redhat.com>
26204
26205         maint.mk: Prohibit inclusion of "close-stream.h" without use.
26206         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
26207
26208 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26209
26210         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
26211
26212 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26213
26214         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
26215
26216 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26217
26218         Fix link error.
26219         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
26220         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26221
26222 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26223
26224         * tests/test-func.c: Also test value of __func__.
26225
26226 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26227
26228         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
26229         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
26230
26231 2009-11-05  Bruno Haible  <bruno@clisp.org>
26232
26233         Fix link error.
26234         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
26235         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26236         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
26237
26238 2009-11-05  Bruno Haible  <bruno@clisp.org>
26239
26240         Tests for module 'inet_pton'.
26241         * modules/inet_pton-tests: New file.
26242         * tests/test-inet_pton.c: New file.
26243
26244 2009-11-05  Bruno Haible  <bruno@clisp.org>
26245
26246         Tests for module 'inet_ntop'.
26247         * modules/inet_ntop-tests: New file.
26248         * tests/test-inet_ntop.c: New file.
26249
26250 2009-11-04  Eric Blake  <ebb9@byu.net>
26251
26252         stdlib-safer: wrap all mkstemp variants
26253         * modules/mkostemp (configure.ac): Set witness.
26254         * modules/mkostemps (configure.ac): Likewise.
26255         * modules/mkstemps (configure.ac): Likewise.
26256         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
26257         (mkstemps_safer): Wrap more functions.
26258         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
26259         wrapping.
26260         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
26261         (mkstemps_safer): Implement the wrappers.
26262
26263         mkstemps, mkostemps: new modules
26264         * modules/mkostemps: New module.
26265         * modules/mkstemps: Likewise.
26266         * lib/mkostemps.c (mkostemps): New file.
26267         * lib/mkstemps.c (mkstemps): Likewise.
26268         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
26269         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
26270         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
26271         * modules/stdlib (Makefile.am): Substitute them.
26272         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
26273         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
26274         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26275         * doc/gnulib.texi (Glibc stdlib.h): Include them.
26276         * MODULES.html.sh (File system functions): Mention them.
26277
26278         tempname: resync from glibc
26279         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
26280         same values for __GT_FILE as glibc.  Abort even when assertions
26281         are disabled.
26282         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
26283         match its value otherwise.  Allow idempotent inclusion.
26284         * lib/mkdtemp.c (mkdtemp): Adjust caller.
26285         * lib/mkostemp.c (mkostemp): Likewise.
26286         * lib/mkstemp.c (mkstemp): Likewise.
26287         * lib/tmpfile.c (tmpfile): Likewise.
26288         * NEWS: Document this.
26289
26290         utimens: fix use of futimens on older Linux
26291         * lib/utimens.c (fdutimens): Use updated, rather than original,
26292         timespec to avoid bug in older Linux kernel.
26293         Reported by Simon Josefsson.
26294
26295 2009-11-04  Bruno Haible  <bruno@clisp.org>
26296
26297         Make num_processors more flexible and consistent.
26298         * lib/nproc.h (enum nproc_query): New type.
26299         (num_processors): Add a 'query' argument.
26300         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
26301         (num_processors): Add a 'query' argument. Test the value of the
26302         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
26303         mingw, count the number of CPUs available for the current process.
26304         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
26305         Check for sched_getaffinity and sched_getaffinity_np.
26306         * modules/nproc (Depends-on): Add c-ctype, extensions.
26307         * NEWS: Mention the change.
26308
26309 2009-11-03  Bruno Haible  <bruno@clisp.org>
26310
26311         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
26312
26313 2009-11-03  Jim Meyering  <meyering@redhat.com>
26314
26315         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
26316         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
26317         if it is defined.
26318
26319 2009-11-02  Eric Blake  <ebb9@byu.net>
26320
26321         mktime, timegm: share common declaration
26322         * lib/mktime-internal.h: New file.
26323         * lib/mktime.c: Use it rather than open-coding a declaration.
26324         * lib/timegm.c: Likewise.
26325         * modules/mktime (Files): Ship it.
26326         * modules/timegm (Files): Likewise.
26327         Suggested by Bruno Haible.
26328
26329         test-update-copyright: update test to match script changes
26330         * tests/test-update-copyright.sh: Avoid hard-coding perl
26331         location.  Don't update *.bak created by earlier runs.
26332
26333 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26334             Simon Josefsson  <simon@josefsson.org>
26335             Bruno Haible  <bruno@clisp.org>
26336
26337         Fix link error on Solaris 8.
26338         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
26339         also in libnsl. Define also INET_PTON_LIB.
26340         * modules/inet_pton (Link): New section.
26341
26342 2009-11-02  Simon Josefsson  <simon@josefsson.org>
26343             Bruno Haible  <bruno@clisp.org>
26344
26345         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
26346         * modules/inet_ntop (Link): New section.
26347         Reported by Boyan Kasarov <bkasarov@gmail.com>.
26348
26349 2009-11-02  Eric Blake  <ebb9@byu.net>
26350
26351         maint: avoid compiler warnings in m4 macros
26352         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
26353         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
26354
26355 2009-11-02  Simon Josefsson  <simon@josefsson.org>
26356
26357         * m4/pmccabe2html.m4: Remove file.
26358         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
26359         function.  Change maintainer.
26360         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
26361         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
26362         Courtès).
26363
26364 2009-10-31  Eric Blake  <ebb9@byu.net>
26365
26366         fseeko: fix m4 regression
26367         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
26368         regression from 2009-10-27.
26369         Reported by Ralf Wildenhues.
26370
26371 2009-10-31  Jim Meyering  <meyering@redhat.com>
26372
26373         inttostr: aesthetics and improved (compile-time) safety
26374         Define inttype_is_signed rather than inttype_is_unsigned,
26375         since the sole use is via "#if inttype_is_signed".
26376         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
26377         inttype_is_unsigned.
26378         * lib/offtostr.c (inttype_is_signed): Likewise.
26379         * lib/uinttostr.c (inttype_is_signed): Likewise.
26380         * lib/umaxtostr.c (inttype_is_signed): Likewise.
26381         * lib/inttostr.c (inttostr): Use verify to cross-check the
26382         inttype_is_signed value and the signedness of the actual type.
26383         * modules/inttostr (Depends-on): Add verify.
26384
26385 2009-10-30  Eric Blake  <ebb9@byu.net>
26386
26387         build: avoid compiler warnings
26388         * lib/fchmodat.c (lchmod): Mark unused variables.
26389         * lib/getopt.c (_getopt_initialize): Likewise.
26390         * lib/mktime.c (__mktime_internal): Provide prototype.
26391         * lib/inttostr.c (inttostr): Avoid compiler warning even with
26392         older gcc that do not understand #pragma GCC diagnostic.
26393         * lib/uinttostr.c (inttype_is_unsigned): Define.
26394         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
26395
26396 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
26397
26398         stat: fix compilation on AIX
26399         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
26400         only see struct stat64.
26401
26402 2009-10-30  Eric Blake  <ebb9@byu.net>
26403
26404         exclude: make more robust
26405         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
26406         rather than masking a coding bug.
26407         Suggested by Bruno Haible.
26408
26409 2009-10-30  Jim Meyering  <meyering@redhat.com>
26410
26411         perl scripts: remove #!/usr/bin/perl in favor of more portable...
26412         Rather than putting #!/usr/bin/perl on the first line,
26413         start with a variant of what's recommended by "man perlrun" that
26414         invokes the first "perl" program from your shell's search path.
26415         * build-aux/gitlog-to-changelog: Replace #!... as above.
26416         Add a "Local Variables" perl mode setting.
26417         Prompted by a patch from Ludovic Courtès.
26418         Improved by Eric Blake.
26419         * build-aux/useless-if-before-free: Likewise.
26420         * build-aux/announce-gen: Likewise.
26421         * build-aux/update-copyright: Likewise.
26422
26423 2009-10-29  Eric Blake  <ebb9@byu.net>
26424
26425         filenamecat-lgpl: adjust clients
26426         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
26427         filenamecat.
26428         * modules/renameat (Depends-on): Likewise.
26429
26430         filenamecat: split into filenamecat-lgpl
26431         * modules/filenamecat-lgpl: New module.
26432         * modules/filenamecat (Files): Move library-safe files into
26433         filenamecat-lgpl.
26434         (Depends-on): Add filenamecat-lgpl.
26435         (configure.ac): Declare witness.
26436         * lib/filenamecat.h (file_name_concat): Only declare when using
26437         GPL module.
26438         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
26439         Move...
26440         * lib/filenamecat-lgpl.c: ...into new file.
26441         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
26442         (gl_FILE_NAME_CONCAT): Use it.
26443         * MODULES.html.sh (File system functions): Mention new module.
26444
26445         argp: avoid memory leak
26446         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
26447         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
26448         base_name, since the latter malloc()s and can call exit().
26449         Leak introduced 2006-07-03.
26450
26451         dirname-lgpl: adjust clients that don't need full dirname
26452         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
26453         * modules/filenamecat (Depends-on): Likewise.
26454         * modules/linkat (Depends-on): Likewise.
26455         * modules/mkancesdirs (Depends-on): Likewise.
26456         * modules/mkdir (Depends-on): Likewise.
26457         * modules/openat (Depends-on): Likewise.
26458         * modules/savewd (Depends-on): Likewise.
26459         * modules/rename (Depends-on): Likewise.
26460         (License): Relax license.
26461         * modules/mkdir-tests (Depends-on): Drop progname.
26462         (Makefile.am): Delete unneeded LDADD.
26463         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
26464
26465         dirname: split into dirname-lgpl
26466         * modules/dirname-lgpl: New module.
26467         * modules/dirname (Files): Move library-safe files into
26468         dirname-lgpl.
26469         (Depends-on): Add dirname-lgpl.
26470         (configure.ac): Declare witness.
26471         * modules/double-slash-root (License): Relax license.
26472         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
26473         module.
26474         * lib/dirname.c (dir_len, mdir_name): Move...
26475         * lib/dirname-lgpl.c: ...into new file.
26476         * lib/basename.c (last_component, base_len): Move...
26477         * lib/basename-lgpl.c: ...into new file.
26478         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
26479         (gl_DIRNAME): Use it.
26480         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
26481         Mention new module.
26482         * modules/dirname-tests (Depends-on): Add progname.
26483         * tests/test-dirname.c (program_name): Delete.
26484
26485         mkdir: make safe for libraries
26486         * modules/mkdir (Depends-on): Drop xalloc.
26487         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
26488         exit.
26489
26490         tests: avoid some compiler warnings
26491         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
26492         literals.
26493         * tests/test-memchr.c (main): Avoid type mismatch.
26494         * tests/test-arpa_inet.c (main): Avoid unused parameters.
26495         * tests/test-base64.c (main): Likewise.
26496         * tests/test-getdelim.c (main): Likewise.
26497         * tests/test-gethostname.c (main): Likewise.
26498         * tests/test-getline.c (main): Likewise.
26499         * tests/test-netinet_in.c (main): Likewise.
26500         * tests/test-select.c (open_server_socket, main): Likewise.
26501         * tests/test-select-stdin.c (main): Likewise.
26502         * tests/test-sockets.c (main): Likewise.
26503         * tests/test-strsignal.c (main): Likewise.
26504         * tests/test-sys_select.c (main): Likewise.
26505         * tests/test-sys_socket.c (main): Likewise.
26506         * tests/test-u64.c (main): Likewise.
26507         * tests/test-xfprintf-posix.c (main): Likewise.
26508         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
26509
26510         sockets: avoid compiler warning
26511         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
26512
26513         maint: detect usage(1) and other suspicious exits
26514         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
26515
26516 2009-10-29  Jim Meyering  <meyering@redhat.com>
26517
26518         timespec: long-to-int truncation could make timespec_cmp malfunction
26519         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
26520         a multiple of 2^32 nanoseconds as no difference.
26521
26522 2009-10-28  Jim Meyering  <meyering@redhat.com>
26523
26524         fprintftime: wrap macro code argument in "do {...} while(0)"
26525         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
26526         cpy macro must be a statement that can be followed by a semicolon.
26527         Now that the else clause contains a comment and is hence longer
26528         than one line, I require curly braces.  That in turn requires
26529         that we wrap this code block in the standard do...while(0).
26530
26531         fprintftime: remove stray semicolon from previous change
26532         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
26533
26534         fprintftime: avoid a warning about ignored fwrite return value
26535         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
26536         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
26537         that is unsafe.
26538         * modules/fprintftime (Depends-on): Add ignore-value.
26539
26540         exclude: avoid an unwarranted warning
26541         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
26542
26543 2009-10-27  Eric Blake  <ebb9@byu.net>
26544
26545         fseek: avoid compilation failure when fflush is replaced
26546         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
26547         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
26548         module is in use.
26549         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
26550         module is not in use; since REPLACE_FSEEK worked otherwise.
26551         (GNULIB_FTELLO): Likewise for ftell.
26552         Reported by Ian Beckwith and others.
26553
26554 2009-10-27  Bruno Haible  <bruno@clisp.org>
26555
26556         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
26557         Reported by Jim Meyering.
26558
26559 2009-10-27  Jim Meyering  <jim@meyering.net>
26560             Bruno Haible  <bruno@clisp.org>
26561
26562         Avoid warning despite dropping the return value of fwrite.
26563         * lib/unicodeio.c: Include ignore-value.h.
26564         (fwrite_success_callback): Explicitly ignore fwrite's return value.
26565         * modules/unicodeio (Depends-on): Add ignore-value.
26566
26567 2009-10-26  Eric Blake  <ebb9@byu.net>
26568
26569         areadlinkat: fix fallback path
26570         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
26571         pointer and zero.
26572
26573 2009-10-22  Pádraig Brady  <P@draigBrady.com>
26574
26575         Use a better IO block size for modern systems
26576         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
26577         * lib/md2.c: Likewise.
26578         * lib/md4.c: Likewise.
26579         * lib/md5.c: Likewise.
26580         * lib/sha1.c: Likewise.
26581         * lib/sha256.c: Likewise.
26582         * lib/sha512.c: Likewise.
26583
26584 2009-10-22  Eric Blake  <ebb9@byu.net>
26585
26586         tests: avoid several compiler warnings
26587         * tests/test-getcwd.c (main): Avoid buffer underflow.
26588         * tests/test-getdate.c (main): String literals are not safe with
26589         putenv, so use setenv.  Declare unused argument.
26590         * modules/getdate-tests (Depends-on): Add setenv.
26591         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
26592         problems with string literals in char *.
26593         * tests/test-hash.c (main): Avoid shadowing declaration.
26594         (insert_new): Treat string literals as char const *.
26595         * tests/test-getopt.h (test_getopt): Likewise.
26596         (getopt_loop): Alter types to minimize casting elsewhere.
26597         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
26598         (test_getopt_long_posix): Likewise.
26599         (do_getopt_long): Add wrapper to minimize casting.
26600         * tests/test-atexit.c (clear_temp_file): Use void.
26601         * tests/test-areadlink-with-size.c (main): Declare unused
26602         arguments.
26603         * tests/test-areadlink.c (main): Likewise.
26604         * tests/test-areadlinkat-with-size.c (main): Likewise.
26605         * tests/test-areadlinkat.c (main): Likewise.
26606         * tests/test-canonicalize-lgpl.c (main): Likewise.
26607         * tests/test-canonicalize.c (main): Likewise.
26608         * tests/test-dirent-safer.c (main): Likewise.
26609         * tests/test-dirname.c (main): Likewise.
26610         * tests/test-dup2.c (main): Likewise.
26611         * tests/test-fchdir.c (main): Likewise.
26612         * tests/test-fcntl-h.c (main): Likewise.
26613         * tests/test-fcntl-safer.c (main): Likewise.
26614         * tests/test-fdopendir.c (main): Likewise.
26615         * tests/test-fdutimensat.c (main): Likewise.
26616         * tests/test-fflush.c (main): Likewise.
26617         * tests/test-filenamecat.c (main): Likewise.
26618         * tests/test-filevercmp.c (main): Likewise.
26619         * tests/test-fopen-safer.c (main): Likewise.
26620         * tests/test-fopen.c (main): Likewise.
26621         * tests/test-fpending.c (main): Likewise.
26622         * tests/test-fpurge.c (main): Likewise.
26623         * tests/test-freading.c (main): Likewise.
26624         * tests/test-fstatat.c (main): Likewise.
26625         * tests/test-fsync.c (main): Likewise.
26626         * tests/test-futimens.c (main): Likewise.
26627         * tests/test-getndelim2.c (main): Likewise.
26628         * tests/test-gettimeofday.c (main): Likewise.
26629         * tests/test-getopt.c (main): Likewise.
26630         * tests/test-i-ring.c (main): Likewise.
26631         * tests/test-inttypes.c (main): Likewise.
26632         * tests/test-link.c (main): Likewise.
26633         * tests/test-lstat.c (main): Likewise.
26634         * tests/test-math.c (main): Likewise.
26635         * tests/test-md5.c (main): Likewise.
26636         * tests/test-memchr2.c (main): Likewise.
26637         * tests/test-memrchr.c (main): Likewise.
26638         * tests/test-mkdir.c (main): Likewise.
26639         * tests/test-mkdirat.c (main): Likewise.
26640         * tests/test-mkfifoat.c (main): Likewise.
26641         * tests/test-open.c (main): Likewise.
26642         * tests/test-openat-safer.c (main): Likewise.
26643         * tests/test-openat.c (main): Likewise.
26644         * tests/test-quotearg.c (main): Likewise.
26645         * tests/test-rawmemchr.c (main): Likewise.
26646         * tests/test-readlink.c (main): Likewise.
26647         * tests/test-remove.c (main): Likewise.
26648         * tests/test-rename.c (main): Likewise.
26649         * tests/test-renameat.c (main): Likewise.
26650         * tests/test-rmdir.c (main): Likewise.
26651         * tests/test-sha1.c (main): Likewise.
26652         * tests/test-signal.c (main): Likewise.
26653         * tests/test-sigaction.c (main): Likewise.
26654         * tests/test-stat.c (main): Likewise.
26655         * tests/test-stat-time.c (main): Likewise.
26656         * tests/test-stddef.c (main): Likewise.
26657         * tests/test-stdint.c (main): Likewise.
26658         * tests/test-stdio.c (main): Likewise.
26659         * tests/test-stdlib.c (main): Likewise.
26660         * tests/test-strchrnul.c (main): Likewise.
26661         * tests/test-strerror.c (main): Likewise.
26662         * tests/test-string.c (main): Likewise.
26663         * tests/test-strtod.c (main): Likewise.
26664         * tests/test-strverscmp.c (main): Likewise.
26665         * tests/test-symlink.c (main): Likewise.
26666         * tests/test-symlinkat.c (main): Likewise.
26667         * tests/test-sys_stat.c (main): Likewise.
26668         * tests/test-sys_time.c (main): Likewise.
26669         * tests/test-time.c (main): Likewise.
26670         * tests/test-unistd.c (main): Likewise.
26671         * tests/test-unlink.c (main): Likewise.
26672         * tests/test-unlinkat.c (main): Likewise.
26673         * tests/test-utimens.c (main): Likewise.
26674         * tests/test-utimensat.c (main): Likewise.
26675         * tests/test-version-etc.c (main): Likewise.
26676         * tests/test-wchar.c (main): Likewise.
26677         * tests/test-wctype.c (main): Likewise.
26678         * tests/test-xprintf-posix.c (main): Likewise.
26679         * tests/test-posixtm.c (main): Likewise.
26680         (STREQ): Delete unused macro.
26681         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
26682         shadowed variables.
26683         * tests/test-memchr.c (main): Likewise.
26684
26685 2009-10-21  Eric Blake  <ebb9@byu.net>
26686
26687         areadlinkat: avoid failure on older glibc
26688         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
26689         rather than mis-comparing 0 against FUNC_RESULT of char*.
26690
26691 2009-10-21  Bruno Haible  <bruno@clisp.org>
26692
26693         * modules/stpncpy (License): Relicense under LGPLv2+.
26694         Reported by David Lutterkort <lutter@redhat.com>.
26695
26696 2009-10-20  Eric Blake  <ebb9@byu.net>
26697
26698         utimensat: work around Solaris 9 bug
26699         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
26700         has trailing slash bugs.
26701         * tests/test-lutimens.h (test_lutimens): Enhance test.
26702         * tests/test-utimens.h (test_utimens): Likewise.
26703         * doc/posix-functions/utime.texi (utime): Enhance documentation.
26704         * doc/posix-functions/utimes.texi (utimes): Likewise.
26705         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26706         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
26707         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
26708         * doc/posix-functions/futimens.texi (futimens): Likewise.
26709
26710         fdutimensat: new module
26711         * modules/fdutimensat: New file.
26712         * lib/fdutimensat.c (fdutimensat): Likewise.
26713         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
26714         * MODULES.html.sh (File system functions): Mention module.
26715         * modules/fdutimensat-tests: New test.
26716         * tests/test-fdutimensat.c: Likewise.
26717
26718         doc: regenerate INSTALL
26719         * doc/INSTALL: Reflect recent autoconf update.
26720         * doc/INSTALL.ISO: Likewise.
26721         * doc/INSTALL.UTF-8: Likewise.
26722
26723 2009-10-20  Pádraig Brady  <P@draigBrady.com>
26724
26725         acl: warn if ACL support is not detected
26726         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
26727
26728 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
26729
26730         * lib/nproc.h: Add extern "C" block for C++.
26731
26732 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
26733             Bruno Haible  <bruno@clisp.org>
26734
26735         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
26736         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
26737         * doc/posix-functions/isalpha.texi: Likewise.
26738         * doc/posix-functions/isblank.texi: Likewise.
26739         * doc/posix-functions/iscntrl.texi: Likewise.
26740         * doc/posix-functions/isdigit.texi: Likewise.
26741         * doc/posix-functions/isgraph.texi: Likewise.
26742         * doc/posix-functions/islower.texi: Likewise.
26743         * doc/posix-functions/isprint.texi: Likewise.
26744         * doc/posix-functions/ispunct.texi: Likewise.
26745         * doc/posix-functions/isspace.texi: Likewise.
26746         * doc/posix-functions/isupper.texi: Likewise.
26747         * doc/posix-functions/isxdigit.texi: Likewise.
26748
26749 2009-10-18  Bruno Haible  <bruno@clisp.org>
26750
26751         Tests for module 'isblank'.
26752         * modules/isblank-tests: New file.
26753         * tests/test-isblank.c: New file.
26754
26755         New module 'isblank'.
26756         * lib/isblank.c: New file.
26757         * m4/isblank.m4: New file.
26758         * modules/isblank: New file.
26759         * doc/posix-functions/isblank.texi: Mention the new module.
26760
26761 2009-10-18  Bruno Haible  <bruno@clisp.org>
26762
26763         New module 'ctype'.
26764         * lib/ctype.in.h: New file.
26765         * m4/ctype.m4: New file.
26766         * modules/ctype: New file.
26767         * doc/posix-headers/ctype.texi: Mention the new module.
26768
26769 2009-10-18  Jim Meyering  <meyering@redhat.com>
26770
26771         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
26772         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
26773         right after its initialization, rather than farther down.
26774         Keeping these in close proximity makes it easier to ensure
26775         that each such variable is initialized.  E.g.,
26776
26777             LIB_CLOCK_GETTIME=
26778             AC_SUBST([LIB_CLOCK_GETTIME])
26779
26780         This change also increments these serial numbers.
26781         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
26782         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26783         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26784
26785 2009-10-18  Bruno Haible  <bruno@clisp.org>
26786
26787         Don't let environment variables perturb build.
26788         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
26789         (gl_PREREQ_GETHRXTIME): ... not here.
26790
26791 2009-10-18  Bruno Haible  <bruno@clisp.org>
26792
26793         Avoid symlink attack in localcharset module.
26794         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
26795         (O_NOFOLLOW): Define fallback.
26796         (get_charset_aliases): Don't open the file if it is a symbolic link.
26797         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
26798         gl_FCNTL_H.
26799         (gl_FCNTL_H): Require it.
26800         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
26801         * modules/localcharset (Files): Add m4/fcntl_h.m4.
26802         Reported by Fergal Glynn <fglynn@veracode.com>.
26803
26804 2009-10-18  Bruno Haible  <bruno@clisp.org>
26805
26806         Implement nproc for mingw.
26807         * lib/nproc.c: Include <windows.h>
26808         (num_processors): On native Windows platforms, try GetSystemInfo.
26809
26810 2009-10-18  Bruno Haible  <bruno@clisp.org>
26811
26812         Implement nproc for IRIX.
26813         * lib/nproc.c: Include <sys/sysmp.h>.
26814         (num_processors): On IRIX systems, try sysmp.
26815         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
26816
26817 2009-10-18  Bruno Haible  <bruno@clisp.org>
26818
26819         Implement nproc for HP-UX.
26820         * lib/nproc.c: Include <sys/pstat.h>
26821         (num_processors): On HP-UX systems, try pstat_getdynamic.
26822         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
26823         pstat_getdynamic.
26824
26825 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
26826             Bruno Haible  <bruno@clisp.org>
26827
26828         Implement nproc for NetBSD, OpenBSD.
26829         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
26830         (ARRAY_SIZE): New macro.
26831         (num_processors): On BSD systems, try sysctl of HW_NCPU.
26832         * m4/nproc.m4: New file.
26833         * modules/nproc (Files): Add m4/nproc.m4.
26834         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
26835         (Makefile.am): Instead, augment lib_SOURCES.
26836
26837 2009-10-18  Bruno Haible  <bruno@clisp.org>
26838
26839         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
26840         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
26841         sys/param.h.
26842
26843 2009-10-16  Eric Blake  <ebb9@byu.net>
26844
26845         utimensat: new module
26846         * modules/utimensat: New file.
26847         * lib/utimensat.c (utimensat): Likewise.
26848         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26849         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
26850         so we can work around Linux bugs.
26851         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26852         * modules/sys_stat (Makefile.am): Substitute them.
26853         * lib/sys_stat.in.h (utimensat): Declare it.
26854         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26855         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26856         * modules/utimensat-tests: New test.
26857         * tests/test-utimensat.c: Likewise.
26858
26859         utimens: let lutimens work on non-symlinks
26860         * lib/utimens.c (lutimens): Fall back to utimens rather than
26861         failing with ENOSYS, when file is not a symlink.
26862         (utimens): Reduce redirection.
26863         * tests/test-lutimens.h (test_lutimens): Update test to cover
26864         non-symlinks.
26865         * tests/test-utimens.h (test_utimens): Update test to cover
26866         symlinks.
26867         * tests/test-utimens.c (main): Update caller.
26868
26869         utimens: cache whether utimensat syscall works
26870         * lib/utimens.c (utimensat_works_really): New cache variable.
26871         (fdutimens, lutimens): Use it to avoid failing syscall.
26872
26873         test-stat-time, test-utimens: improve portability
26874         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
26875         ext4 on alpha, and for cygwin.
26876         * tests/test-utimens-common.h: New file.
26877         (nap): Factor delays into single function.
26878         * tests/test-lutimens.h (test_lutimens): Use new header.
26879         * tests/test-futimens.h (test_futimens): Likewise.
26880         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
26881         timestamps to occur from same machine, as was done previously for
26882         test_utimens.
26883         * modules/utimens-tests (Files): Ship new file.
26884         * modules/futimens-tests (Files): Likewise.
26885         Reported in part by Jim Meyering.
26886
26887         sys_stat: sort replacement declarations
26888         * lib/sys_stat.in.h: Sort declarations.
26889         * lib/futimens.c (futimens): Fix typo.
26890
26891 2009-10-15  Jim Meyering  <meyering@redhat.com>
26892
26893         don't let environment settings perturb build
26894         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
26895         could cause a configure-time and/or build-time malfunction.
26896         Typically, a configure-time function-in-library test is performed
26897         via code like this:
26898
26899           LIB_VAR=
26900           AC_SUBST([LIB_VAR])
26901           prefix_saved_LIBS=$LIBS
26902             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
26903                        [test "$ac_cv_search_FUNC" = "none required" ||
26904                         LIB_VAR=$ac_cv_search_FUNC])
26905           LIBS=$prefix_saved_LIBS
26906
26907         However, in each of the files affected by this change, the LIB_VAR=
26908         initialization was omitted.  Thus, when set in the environment, its
26909         value would propagate into generated Makefiles when FUNC is not found
26910         in LIB_NAME.
26911         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
26912         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26913         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26914
26915 2009-10-14  Eric Blake  <ebb9@byu.net>
26916
26917         fchdir: avoid infinite recursion in mingw
26918         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
26919         recursing.
26920
26921         test-stat-time: port to mingw
26922         * tests/test-stat-time.c (force_unlink): Return a value.
26923         (test_ctime) [W32]: Fix compilation error.
26924         (nap): Don't call usleep with too large an argument.  Use
26925         force_unlink.
26926         * doc/pastposix-functions/usleep.texi (usleep): Document the
26927         portability issue.
26928
26929 2009-10-13  Jim Meyering  <meyering@redhat.com>
26930
26931         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
26932         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
26933         * modules/pipe-filter-ii: Likewise.
26934         * modules/sys_socket-tests: Likewise.
26935         * modules/tsearch-tests: Likewise.
26936         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
26937         (check): Depend on it.
26938
26939 2009-10-12  Eric Blake  <ebb9@byu.net>
26940
26941         utimens-tests: port to NFS file systems
26942         * tests/test-utimens.h (test_utimens): Refactor utimecmp
26943         comparisons to avoid spurious failures from timestamp drift
26944         between NFS machines.
26945
26946 2009-10-12  Eric Blake  <ebb9@byu.net>
26947
26948         stat-time-tests: minor cleanups
26949         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
26950         * tests/test-stat-time.c (nap): Separate assignment from call.
26951         Suggested by Paolo Bonzini and Bruno Haible.
26952
26953         sys_stat: guarantee struct timespec
26954         * lib/sys_stat.in.h (includes): Always include <time.h>
26955         * modules/sys_stat (Depends-on): Add time.
26956         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
26957         mode_t permission values.
26958         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
26959         get at subsecond timestamps.
26960
26961 2009-10-10  Eric Blake  <ebb9@byu.net>
26962
26963         futimens: new module
26964         * modules/futimens: New file.
26965         * lib/futimens.c (futimens): Likewise.
26966         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
26967         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
26968         we can work around Linux bugs.
26969         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26970         * modules/sys_stat (Makefile.am): Substitute them.
26971         * lib/sys_stat.in.h (futimens): Declare it.
26972         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26973         * doc/posix-functions/futimens.texi (futimens): Likewise.
26974         * modules/futimens-tests: New test.
26975         * tests/test-futimens.c: Likewise.
26976
26977         utimens: introduce fdutimens
26978         * lib/utimens.h (fdutimens): New prototype.
26979         * lib/utimens.c (gl_futimens): Move guts...
26980         (fdutimens): ...to new interface.
26981         * tests/test-utimens.c (do_fdutimens): Use it.
26982
26983         utimens: add UTIME_NOW and UTIME_OMIT support
26984         * lib/utimens.c (validate_timespec, update_timespec): New helper
26985         functions.
26986         (gl_futimens, lutimens): Use them.
26987         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
26988         stdbool, sys_stat.
26989         (Link): Mention resulting library dependency.
26990         * modules/utimecmp (Link): Likewise.
26991         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
26992         (Makefile.am): Pick up library dependency.
26993         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
26994         definition.
26995         * tests/test-sys_stat.c: Test the definitions.
26996         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
26997         * NEWS: Document library dependency.
26998
26999         utimecmp: support symlink timestamps
27000         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
27001         hashing when possible.  Use pathconf when available.
27002         (SYSCALL_RESOLUTION): Recognize tighter resolution.
27003         * modules/utimecmp (Depends-on): Add lstat.
27004
27005         utimens: add lutimens interface
27006         * lib/utimens.c (lutimens): New function.
27007         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
27008         * lib/utimens.h (lutimens): Declare new interface.
27009         * tests/test-utimens.c (main): Enhance test.
27010         * tests/test-lutimens.h (test_lutimens): New file.
27011         * modules/utimens-tests (Files): Distribute it.
27012         (Depends-on): Add symlink.
27013         (configure.ac): Check for usleep.
27014
27015         utimens: validate futimens usage
27016         * lib/utimens.c (gl_futimens): Require valid fd up front, using
27017         fewer syscalls on failure later on.  Avoid compiler warning on
27018         mingw.
27019         * modules/utimens (Depends-on): Add dup2.
27020
27021         utimens: add test
27022         * modules/utimens-tests: New test.
27023         * tests/test-utimens.h: New file.
27024         * tests/test-futimens.h: Likewise.
27025         * tests/test-utimens.c: Likewise.
27026
27027         doc: mention timestamp portability issues
27028         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
27029         instead.
27030         * doc/posix-functions/utime.texi (utime): Likewise.
27031         * doc/posix-functions/utimes.texi (utimes): Likewise.
27032         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
27033         instead.
27034         * doc/posix-functions/futimens.texi (futimens): Mention utimens
27035         module.
27036         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27037         Mention weakness with symlink timestamps.
27038         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
27039         to utimensat/futimens instead.
27040         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
27041
27042         test-dup2: enhance test
27043         * tests/test-dup2.c (main): Also check AT_FDCWD.
27044
27045         test-stat-time: avoid more spurious failures
27046         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
27047         xfs; and avoid race if the two timestamps cross quantization edge.
27048
27049         relocatable: prefer 'file system' over 'filesystem'
27050         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
27051         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
27052         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
27053         * doc/relocatable.texi (Enabling Relocatability): Likewise.
27054         * lib/relocatable.c (compute_curr_prefix): Likewise.
27055
27056 2009-10-10  Jim Meyering  <meyering@redhat.com>
27057
27058         stat-time-tests: check for the usleep function
27059         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
27060
27061 2009-10-10  Bruno Haible  <bruno@clisp.org>
27062
27063         * modules/xnanosleep: Put the Link section after the Include section.
27064
27065 2009-10-09  Eric Blake  <ebb9@byu.net>
27066
27067         dup2: work around FreeBSD 6.1 bug
27068         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
27069         * doc/posix-functions/dup2.texi (dup2): Document it.
27070         Reported by Nelson H. F. Beebe and Jim Meyering.
27071
27072         test-stat-time: port to buggy NFS clients
27073         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
27074         (test_ctime): Also skip test if mtime and ctime are skewed.
27075
27076         maint: prefer 'file system' over 'filesystem'
27077         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
27078         * doc/posix-functions/lstat.texi (lstat): Likewise.
27079         * lib/file-has-acl.c (file_has_acl): Likewise.
27080         * lib/fwriteerror.c [TEST]: Likewise.
27081         * tests/test-areadlink.h (test_areadlink): Likewise.
27082         * tests/test-areadlinkat-with-size.c (main): Likewise.
27083         * tests/test-areadlinkat.c (main): Likewise.
27084         * tests/test-canonicalize-lgpl.c (main): Likewise.
27085         * tests/test-canonicalize.c (main): Likewise.
27086         * tests/test-fstatat.c (main): Likewise.
27087         * tests/test-linkat.c (main): Likewise.
27088         * tests/test-lstat.h (test_lstat_func): Likewise.
27089         * tests/test-mkdir.h (test_mkdir): Likewise.
27090         * tests/test-readlink.h (test_readlink): Likewise.
27091         * tests/test-remove.c (main): Likewise.
27092         * tests/test-rename.h (test_rename): Likewise.
27093         * tests/test-renameat.c (main): Likewise.
27094         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27095         * tests/test-symlink.h (test_symlink): Likewise.
27096         * tests/test-symlinkat.c (main): Likewise.
27097         * tests/test-unlink.h (test_unlink_func): Likewise.
27098         * tests/test-unlinkat.c (main): Likewise.
27099
27100         maint: make realtime library usage explicit
27101         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
27102         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
27103         * modules/settime (Link): Likewise.
27104         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
27105
27106         test-stat-time: speed up execution
27107         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
27108         warning on mingw.
27109         (nap): New helper function.
27110         (prepare_test): Use it to reduce sleep time.
27111         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
27112         execution.
27113         * modules/stat-time-tests (configure.ac): Check for usleep.
27114
27115 2009-10-09  Jim Meyering  <meyering@redhat.com>
27116
27117         selinux-h: always use getfilecon wrappers
27118         * lib/getfilecon.c: New file.
27119         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
27120         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
27121         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
27122         (fgetfilecon): Provide a stub.
27123         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
27124         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
27125         file unconditionally.
27126         When <selinux/selinux.h> is found, arrange to use wrappers.
27127         * modules/selinux-h (Files): Add getfilecon.c.
27128         (Makefile.am): Substitute include-next-related bits
27129         into the now-always-generated selinux/selinux.h file.
27130         * doc/glibc-functions/lgetfilecon.texi: New file.
27131         * doc/glibc-functions/fgetfilecon.texi: New file.
27132         * doc/glibc-functions/getfilecon.texi: New file.
27133         * doc/glibc-functions/getfilecon-desc.texi: New file.
27134         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
27135         which to pull in the new files.
27136         * MODULES.html.sh (Misc): Add selinux-h.
27137
27138 2009-10-08  Jim Meyering  <meyering@redhat.com>
27139
27140         unistd: fix comment typo
27141         * lib/unistd.in.h (euidaccess): Fix a comment typo.
27142
27143 2009-10-08  Eric Blake  <ebb9@byu.net>
27144
27145         areadlink: use SIZE_MAX consistently
27146         * modules/areadlink (Depends-on): Add stdint.
27147         * modules/areadlink-with-size (Depends-on): Likewise.
27148         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
27149         gives NULL; drop sys/types, since unistd gives size_t; and add
27150         stdint for SIZE_MAX.
27151         (SIZE_MAX): Rely on headers.
27152         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
27153         and add stdint.
27154         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
27155         (SIZE_MAX): Likewise.
27156         (INITIAL_BUF_SIZE): Turn into enum.
27157         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
27158
27159 2009-10-08  Jim Meyering  <meyering@redhat.com>
27160
27161         areadlinkat: avoid compilation failure
27162         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
27163         Fix typo in comment.
27164
27165 2009-10-07  Eric Blake  <ebb9@byu.net>
27166
27167         areadlinkat-with-size: new module
27168         * modules/areadlinkat-with-size: New module.
27169         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
27170         * lib/areadlink.h (areadlinkat): Declare it.
27171         * MODULES.html.sh (File system functions): Mention it.
27172         * modules/areadlinkat-with-size-tests: New test.
27173         * tests/test-areadlinkat-with-size.c: New file.
27174
27175         xreadlinkat: new module
27176         * modules/xreadlinkat: New module.
27177         * lib/xreadlinkat.c (xreadlinkat): New file.
27178         * lib/xreadlink.h (xreadlinkat): Declare it.
27179         * MODULES.html.sh (File system functions): Mention it.
27180
27181         areadlinkat: new module
27182         * lib/at-func.c (FUNC_FAIL): New define.
27183         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
27184         * modules/areadlinkat: New module.
27185         * lib/linkat.c (areadlinkat): Move...
27186         * lib/areadlinkat.c (areadlinkat): ...to new file.
27187         * lib/areadlink.h (areadlinkat): Declare it.
27188         * modules/linkat (Depends-on): Add areadlinkat.
27189         * MODULES.html.sh (File system functions): Mention it.
27190         * modules/areadlinkat-tests: New test.
27191         * tests/test-areadlinkat.c: New file.
27192
27193         areadlink, areadlink-with-size: add tests
27194         * modules/areadlink-tests: New test.
27195         * modules/areadlink-with-size-tests: Likewise.
27196         * tests/test-areadlink.h: New file.
27197         * tests/test-areadlink.c: Likewise.
27198         * tests/test-areadlink-with-size.c: Likewise.
27199
27200         maint: minor cleanups
27201         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
27202         _UNUSED_PARAMETER_ instead.
27203         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
27204         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
27205         * modules/linkat-tests (Files): Distribute test-link.h.
27206
27207         openat, utimens: whitespace cleanup
27208         * lib/openat.c: Prefer space throughout, rather than mix of 8
27209         spaces vs. tabs.
27210         * lib/at-func.c: Likewise.
27211         * lib/utimens.c: Likewise.
27212
27213         openat: avoid using wrong fd
27214         * lib/openat.c (openat_permissive): Reject user's fd if saving the
27215         working directory chooses same fd.
27216         * lib/at-func.c (AT_FUNC_NAME): Likewise.
27217
27218         mkdir, mkdirat: fix cygwin 1.5.x bug
27219         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
27220         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
27221         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
27222         bug.
27223         (gl_PREREQ_MKDIR): Delete unused macro.
27224         * modules/mkdir (Files): Track file rename.
27225         (configure.ac): Update macro name.
27226         * modules/openat (Depends-on): Add mkdir.
27227         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
27228
27229         mkdir, mkdirat: add tests
27230         * modules/mkdir-tests: New test.
27231         * tests/test-mkdir.h: New file.
27232         * tests/test-mkdir.c: Likewise.
27233         * tests/test-mkdirat.c: Likewise.
27234         * modules/openat-tests (Files): Add new files.
27235         (Makefile.am): Run new test.
27236
27237 2009-10-06  Eric Blake  <ebb9@byu.net>
27238
27239         doc: tweak *at function documentation
27240         * doc/posix-functions/faccessat.texi (faccessat): Mention
27241         known issue with replacement.
27242         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
27243         * doc/posix-functions/linkat.texi (linkat): Likewise.
27244         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
27245         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
27246         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27247         * doc/posix-functions/renameat.texi (renameat): Likewise.
27248         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
27249
27250         openat: fix GNU/Hurd bug in unlinkat
27251         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
27252         broken.
27253         * doc/posix-functions/unlink.texi (unlink): Document this.
27254         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
27255
27256         fdopendir: fix GNU/Hurd bug
27257         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
27258         allowing non-directory fds.
27259         * lib/fdopendir.c (rpl_fdopendir): Work around it.
27260         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27261         * modules/dirent (Makefile.am): Substitute it.
27262         * lib/dirent.in.h (fdopendir): Declare replacement.
27263         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
27264         * tests/test-fdopendir.c (main): Test something other than
27265         /dev/null, since on Hurd that behaves like a directory.
27266
27267         test-symlink: port to GNU/Hurd
27268         * tests/test-symlink.h (test_symlink): Relax expected errno.
27269
27270         doc: tweak more cygwin information
27271         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
27272         now compatible with glibc.
27273         * doc/posix-functions/getopt.texi (getopt): Likewise.
27274
27275         getopt-gnu: add another test
27276         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
27277         guarantee behavior relied on by m4.
27278         * tests/test-getopt.c (main): Use it.
27279         * modules/getopt-posix-tests (Depends-on): Add setenv.
27280         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
27281
27282         getopt: fix compilation on darwin
27283         * lib/getopt.in.h (includes): Leave breadcrumbs during system
27284         include.
27285         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
27286         Reported by Ludovic Courtès.
27287
27288 2009-10-06  Bruno Haible  <bruno@clisp.org>
27289
27290         * modules/size_max (Description): Discourage its use.
27291         Reported by Simon Josefsson.
27292
27293 2009-10-06  Jim Meyering  <meyering@redhat.com>
27294
27295         linkat: avoid compilation failure
27296         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
27297
27298 2009-10-05  Eric Blake  <ebb9@byu.net>
27299
27300         linkat: support Linux 2.6.17
27301         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
27302         linkat on Linux, but allow cache variable override.
27303         * lib/linkat.c (rpl_linkat): Define override.
27304         * modules/linkat (Depends-on): Add symlinkat.
27305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
27306         * modules/unistd (Makefile.am): Substitute it.
27307         * lib/unistd.in.h (linkat): Declare replacement.
27308         Reported by Pádraig Brady.
27309
27310         quotearg: port test to systems with C.UTF-8 locale
27311         * tests/test-quotearg.c (struct result_strings): Add another
27312         member, differentiating between C.ASCII and C.UTF-8 handling.
27313         (compare_strings): Add parameter.
27314         (main): Adjust all callers.
27315
27316         getopt: avoid clash with FreeBSD _getopt_internal
27317         * lib/getopt.in.h (_getopt_internal): Override the name.
27318         * lib/getopt_int.h (includes): Pick up any overrides.
27319         Reported by Reuben Thomas.
27320
27321         hash: allow C89 compilation
27322         * lib/hash.c (check_tuning): Move declaration before statement.
27323         Reported by Reuben Thomas.
27324
27325 2009-10-05  Karl Berry  <karl@gnu.org>
27326
27327         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
27328
27329 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
27330             Bruno Haible  <bruno@clisp.org>
27331
27332         * lib/uname.c (uname): Use a table-driven algorithm to compute
27333         Windows NT versions.
27334
27335 2009-10-04  Bruno Haible  <bruno@clisp.org>
27336
27337         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
27338         program_invocation_short_name.
27339         * modules/progname (configure.ac): Test for presence of
27340         program_invocation_short_name.
27341         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
27342
27343 2009-10-04  Bruno Haible  <bruno@clisp.org>
27344
27345         * lib/progname.c (set_program_name): Fix comment.
27346         Reported by Jim Meyering.
27347
27348 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
27349             Bruno Haible  <bruno@clisp.org>
27350
27351         * lib/uname.c: Include <string.h>.
27352         (uname): Do only one call to GetVersionEx in the common case.
27353
27354 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
27355             Bruno Haible  <bruno@clisp.org>
27356
27357         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
27358         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
27359         (uname): Add support for Windows CE and various non-x86 CPU types.
27360
27361 2009-10-03  Bruno Haible  <bruno@clisp.org>
27362
27363         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
27364         invocation to tests/configure.ac.
27365         Reported by Ian Beckwith <ianb@erislabs.net>.
27366
27367 2009-10-02  Eric Blake  <ebb9@byu.net>
27368
27369         fchdir: avoid compiler warning
27370         * lib/fchdir.c (canonicalize_file_name)
27371         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
27372
27373         test-open: support mingw errno values
27374         * tests/test-open.h (test_open): Relax test.
27375         * tests/test-fopen.h (test_fopen): Likewise.
27376         * tests/test-openat-safer.c (main): Likewise.
27377
27378         open: fix opening directory on mingw
27379         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
27380
27381         test-open: on GNU/Hurd, /dev/null is a directory
27382         * tests/test-fopen.h (main): Rename...
27383         (test_fopen): ...to this.  Use a guaranteed non-directory when
27384         confirming open behavior on trailing slash.
27385         * tests/test-openat-safer.c (main): Likewise.
27386         * tests/test-open.h (main): Likewise....
27387         (test_open): ...to this.
27388         * tests/test-fopen.c (main): Adjust caller.
27389         * tests/test-fopen-safer.c (main): Likewise.
27390         * tests/test-open.c (main): Likewise.
27391         * tests/test-fcntl-safer.c (main): Likewise.
27392         Reported by Samuel Thibault.
27393
27394         rename, fchdir: don't ignore chdir failure
27395         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
27396         * lib/rename.c (rpl_rename) [W32]: Likewise.
27397         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
27398         an empty destination directory if source cannot be renamed,
27399         although there is still possibility for failure.
27400         * doc/posix-functions/rename.texi (rename): Document the race.
27401         Reported by Jim Meyering.
27402
27403         maint: cleanup whitespace in recent commits
27404         * lib/rename.c (rpl_rename): Remove tabs.
27405         * tests/test-link.h (test_link): Likewise.
27406         * lib/fchdir.c (get_name): Likewise.
27407         Reported by Jim Meyering.
27408
27409 2009-10-02  Ben Pfaff  <blp@gnu.org>
27410
27411         relocatable-prog-wrapper: Add missing dependency on
27412         double-slash-root.
27413         * modules/relocatable-prog-wrapper: Add dependency.
27414         Reported by Ian Beckwith <ianb@erislabs.net>.
27415
27416 2009-10-02  Eric Blake  <ebb9@byu.net>
27417
27418         renameat: fix Solaris bugs
27419         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
27420         needed fixing.
27421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
27422         * modules/stdio (Makefile.am): Substitute it.
27423         * lib/stdio.in.h (renameat): Declare replacement.
27424         * lib/renameat.c (rpl_renameat): Implement fix.
27425
27426         renameat: new module
27427         * modules/renameat: New file.
27428         * lib/renameat.c (renameat): Likewise.
27429         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
27430         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
27431         * modules/stdio (Makefile.am): Substitute them.
27432         * lib/stdio.in.h (renameat): Declare it.
27433         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27434         * doc/posix-functions/renameat.texi (renameat): Likewise.
27435         * modules/renameat-tests: New test.
27436         * tests/test-renameat.c: Likewise.
27437
27438         rename: fix mingw bugs
27439         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
27440         directory overwrite bugs.
27441
27442         rename: fix another cygwin 1.5 bug
27443         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
27444         checks.
27445         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
27446         unnecessary cygwin workarounds.  Also work around bug with moving
27447         full directory onto an empty one.
27448         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
27449
27450         rename-dest-slash: merge into rename module
27451         * modules/rename-dest-slash (Status): Mark obsolete.
27452         (Depends-on): Add rename.
27453         (Files): Let rename do it all.
27454         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
27455         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
27456         * m4/rename-dest-slash.m4: ...so this file can be deleted.
27457         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
27458         * lib/rename.c (rpl_rename): Update comments.
27459
27460         rename: fix cygwin 1.5.x bugs
27461         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
27462         * lib/rename.c (rpl_rename): Work around them.
27463         * modules/rename (Depends-on): Add same-inode.
27464
27465         rename: fix Solaris 10 bug
27466         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
27467         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
27468         was the only bug.
27469
27470         rename: fix Solaris 9 bug
27471         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
27472         on non-directory.  Avoid calling exit.
27473         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
27474         strdup.
27475         * modules/rename-tests (Depends-on): Drop lstat.
27476         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
27477         (gl_PREREQ_RENAME): Delete unused macro.
27478
27479         rename-dest-slash: fix NetBSD bug
27480         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
27481         links.
27482         * modules/rename-dest-slash (Depends-on): Add same-inode.
27483
27484         rename-tests: new test, exposes several platform bugs
27485         * modules/rename-tests: New file.
27486         * tests/test-rename.h: Likewise.
27487         * tests/test-rename.c: Likewise.
27488         * doc/posix-functions/rename.texi (rename): Improve documentation,
27489         including bugs that will eventually be fixed in gnulib.
27490
27491 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
27492
27493         * lib/uname.c: Include <stdlib.h>
27494         (uname): Assume version info is available.
27495
27496 2009-10-02  Jim Meyering  <meyering@redhat.com>
27497
27498         gnu-web-doc-update: correct --help output
27499         * build-aux/gnu-web-doc-update: Make --help output relevant.
27500
27501         gnu-web-doc-update: add standard options
27502         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
27503
27504         gnu-web-doc-update: New module.
27505         Use this script to automatically update the on-line web documentation
27506         for your GNU project at http://www.gnu.org/software/$pkg/manual/
27507         * modules/gnu-web-doc-update: New file, from coreutils.
27508         * build-aux/gnu-web-doc-update: New script.
27509
27510 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
27511
27512         link: LoadLibrary is not needed.
27513         * lib/link.c: Use GetModuleHandle.
27514
27515 2009-10-01  Eric Blake  <ebb9@byu.net>
27516
27517         getopt: bump serial number
27518         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
27519         change.
27520
27521         tests: tighten link, rmdir, and remove tests
27522         * tests/test-link.h (includes): No need to use <config.h> here.
27523         Clean up if directory hard link was created, otherwise test for
27524         trailing '.'.
27525         * tests/test-linkat.c (main): Simplify.
27526         * tests/test-remove.c (main): Enhance test for trailing '.'.
27527         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27528
27529 2009-10-01  Jim Meyering  <meyering@redhat.com>
27530
27531         maint.mk: requiring "make major" was annoying, for a "minor" release.
27532         What is intended is "stable", to contrast with alpha and beta,
27533         so require "make stable", not "make major".
27534         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
27535         (get_tool_versions): Likewise.
27536         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
27537
27538 2009-09-30  Ben Pfaff  <blp@gnu.org>
27539
27540         Fix broken build of replacement for Windows tmpfile().
27541         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
27542         flags argument added along with the 'mkostemp' module.
27543
27544 2009-09-28  Bruno Haible  <bruno@clisp.org>
27545
27546         Avoid identifier clash with POSIX function 'remove' defined as a macro.
27547         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
27548         to 'remove_elt'.
27549         (gl_list_remove): Update.
27550         * lib/gl_list.c (gl_list_remove): Update.
27551         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
27552         to 'remove_elt'.
27553         (gl_oset_remove): Update.
27554         * lib/gl_list.c (gl_oset_remove): Update.
27555         Reported by Eric Blake.
27556
27557 2009-09-28  Eric Blake  <ebb9@byu.net>
27558
27559         doc: mention yet more cygwin 1.7 status
27560         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
27561         cygwin.
27562         * doc/glibc-functions/execvpe.texi (execvpe): New file.
27563         * doc/gnulib.texi (Glibc unistd.h): Mention it.
27564
27565         argp: fix test failure
27566         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
27567         that are not upper-case.  Pass correct range to tolower.
27568
27569 2009-09-27  Jim Meyering  <meyering@redhat.com>
27570
27571         test-yesno: work around sparc-dash here-document infelicity
27572         Without this change, the literal \177 byte in a here document
27573         would make dash 0.5.5.1-3 access uninitialized memory.
27574         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
27575         Instead, use a marker, "@", and filter through tr to create the desired
27576         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
27577
27578 2009-09-27  Bruno Haible  <bruno@clisp.org>
27579
27580         Disable untested support for new flavours of ACLs on AIX.
27581         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
27582         progress.
27583         * lib/set-mode-acl.c (qset_acl): Likewise.
27584
27585 2008-12-07  Bruno Haible  <bruno@clisp.org>
27586
27587         Add support for new flavours of ACLs on AIX. (Untested.)
27588         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
27589         (file_has_acl): Add support for newer AIX.
27590         * lib/set-mode-acl.c (qset_acl): Likewise.
27591         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
27592         Rainer Tammer <tammer@tammer.net>.
27593
27594 2009-09-26  Eric Blake  <ebb9@byu.net>
27595
27596         argp: fix compilation of getopt
27597         * lib/getopt.in.h (includes): Use different guard than glibc.
27598         Reported by Sergey Poznyakoff.
27599
27600         doc: mention more cygwin 1.7 status
27601         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
27602         bug.
27603         * doc/posix-functions/execl.texi (execl): Likewise.
27604         * doc/posix-functions/execle.texi (execle): Likewise.
27605         * doc/posix-functions/execlp.texi (execlp): Likewise.
27606         * doc/posix-functions/execv.texi (execv): Likewise.
27607         * doc/posix-functions/execve.texi (execve): Likewise.
27608         * doc/posix-functions/execvp.texi (execvp): Likewise.
27609         * doc/glibc-functions/canonicalize_file_name.texi
27610         (canonicalize_file_name): Cygwin 1.7 now provides this.
27611         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
27612         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
27613         on AT_SYMLINK_NOFOLLOW.
27614
27615 2009-09-24  Eric Blake  <ebb9@byu.net>
27616
27617         test-linkat: make test more robust
27618         * tests/test-linkat.c (main): Avoid collision with EEXIST.
27619
27620         getopt: fix inclusion guards for cygwin
27621         * modules/getopt-posix (Depends-on): Add include-next.
27622         (Makefile.am): Substitute more items in replacement header.
27623         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
27624         <getopt.h>.
27625         * lib/getopt.in.h (includes): Use split inclusion guard, and
27626         prefer <getopt.h> over include <unistd.h> when one is present.
27627         (option): Also override name of 'struct option'.
27628
27629         same-inode: revert prior change; it is not yet ready
27630         * NEWS: Undo mention of this change.
27631         * lib/same-inode.h (same-inode.h): Undo tri-state change.
27632         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27633         * lib/cycle-check.c (cycle_check): Likewise.
27634         * lib/same.c (same_name): Likewise.
27635         * lib/at-func2.c (at_func2): Likewise.
27636
27637 2009-09-23  Eric Blake  <ebb9@byu.net>
27638
27639         linkat: new module
27640         * modules/linkat: New file.
27641         * lib/at-func2.c (at_func2): Likewise.
27642         * lib/linkat.c (linkat): Likewise.
27643         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27644         * lib/openat-priv.h (at_func2): Add declaration.
27645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27646         * modules/unistd (Makefile.am): Substitute them.
27647         * lib/unistd.in.h (linkat): Declare it.
27648         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27649         * doc/posix-functions/linkat.texi (linkat): Likewise.
27650         * doc/posix-functions/link.texi (link): Tweak wording.
27651         * tests/test-link.c (main): Move guts...
27652         * tests/test-link.h (test_link): ...into new file.
27653         * modules/linkat-tests: New test.
27654         * tests/test-linkat.c: Likewise.
27655         * modules/link-tests (Files): Ship new file.
27656         (Depends-on): Add stdbool.
27657
27658         dirname: add library-safe mdir_name
27659         * lib/dirname.h (mdir_name): New prototype.
27660         * lib/dirname.c (dir_name): Move guts...
27661         (mdir_name): ...to new function that avoids xalloc_die.
27662
27663         fchdir: another mingw fix
27664         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
27665         * lib/fchdir.c (get_name): New helper method; skips canonicalize
27666         on mingw (where it has not yet been ported), and make it optional
27667         elsewhere.
27668         (_gl_register_fd): Use it.
27669
27670         same-inode: make SAME_INODE tri-state, to port to mingw
27671         * NEWS: Mention this change.
27672         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
27673         st_ino always being 0.
27674         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27675         * lib/cycle-check.c (cycle_check): Likewise.
27676         * lib/same.c (same_name): Likewise.
27677
27678         lstat: avoid mingw compilation error
27679         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
27680         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
27681         lstat ourselves.
27682         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
27683         was adequate.
27684         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
27685         the checks for lstat.
27686         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
27687
27688         link: fix test failure on Solaris 9
27689         * lib/link.c (rpl_link): Don't assume link will catch bogus
27690         trailing slash on source.
27691
27692         test-symlinkat: enhance test
27693         * tests/test-readlink.c (main): Move guts...
27694         * tests/test-readlink.h (test_readlink): ...into new file.
27695         * tests/test-symlink.c (main): Move guts...
27696         * tests/test-symlink.h (test_symlink): ...into new file.
27697         * tests/test-symlinkat.c (main): Use new files for further
27698         coverage.
27699         (do_symlink, do_readlink): New helper functions.
27700         * modules/symlink-tests (Files): Ship new file.
27701         (Depends-on): Add stdbool.
27702         * modules/readlink-tests (Files): Ship new file.
27703         (Depends-on): Add stdbool.
27704         * modules/symlinkat-tests (Files): Use new files.
27705
27706 2009-09-23  Eric Blake  <ebb9@byu.net>
27707
27708         readlink: document portability issue with symlink length
27709         * doc/posix-functions/lstat.texi (lstat): Mention that some file
27710         systems have bogus st_size on symlinks, and mention the
27711         areadlink-with-size module.
27712         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
27713         * doc/posix-functions/readlink.texi (readlink): Mention the
27714         areadlink module, and ERANGE failure.
27715         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27716         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
27717
27718         readlink: fix Solaris 9 bug with trailing slash
27719         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
27720         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
27721         * doc/posix-functions/readlink.texi (readlink): Document this.
27722         * modules/readlink-tests: New test.
27723         * tests/test-readlink.c: Likewise.
27724
27725         readlink: fix cygwin 1.5.x bug with return type
27726         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
27727         * lib/unistd.in.h (readlink): Use ssize_t.
27728         * lib/readlink.c (readlink): Likewise.
27729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27730         * modules/unistd (Makefile.am): Substitute it.
27731         * lib/unistd.in.h (readlink): Declare replacement.
27732         * doc/posix-functions/readlink.texi (readlink): Document this.
27733
27734         symlink: use throughout gnulib
27735         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
27736         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
27737         symlink is not used.
27738         * modules/symlinkat (Depends-on): Add symlink.
27739         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27740         * modules/canonicalize-tests (Depends-on): Likewise.
27741         * modules/lstat-tests (Depends-on): Likewise.
27742         * modules/openat-tests (Depends-on): Likewise.
27743         * modules/remove-tests (Depends-on): Likewise.
27744         * modules/rmdir-tests (Depends-on): Likewise.
27745         * modules/unlink-tests (Depends-on): Likewise.
27746         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
27747         * tests/test-canonicalize.c (symlink): Likewise.
27748         * tests/test-fstatat.c (symlink): Likewise.
27749         * tests/test-lstat.c (symlink): Likewise.
27750         * tests/test-remove.c (symlink): Likewise.
27751         * tests/test-rmdir.c (symlink): Likewise.
27752         * tests/test-unlink.c (symlink): Likewise.
27753         * tests/test-unlinkat.c (symlink): Likewise.
27754
27755         symlink: new module, for Solaris 9 bug
27756         * modules/symlink: New file.
27757         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27758         * lib/symlink.c: Likewise.
27759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
27760         * modules/unistd (Makefile.am): Substitute them.
27761         * lib/unistd.in.h (symlink): Declare replacement.
27762         * MODULES.html.sh (File system functions): Mention it.
27763         * doc/posix-functions/symlink.texi (symlink): Likewise.
27764         * modules/symlink-tests: New test.
27765         * tests/test-symlink.c: Likewise.
27766
27767 2009-09-23  Bruno Haible  <bruno@clisp.org>
27768
27769         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
27770         when needed.
27771         Test case: gnulib-tool --import --with-tests atexit inttypes.
27772         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
27773
27774 2009-09-23  Bruno Haible  <bruno@clisp.org>
27775
27776         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
27777         subcommand, not in a subshell.
27778
27779 2009-09-22  Eric Blake  <ebb9@byu.net>
27780
27781         unistd: sort replacement declarations
27782         * lib/unistd.in.h: Sort declarations.
27783
27784         open, openat: minor optimization
27785         * lib/open.c (open): If open succeeded, len is non-zero.
27786         * lib/openat.c (rpl_openat): Likewise.
27787
27788         link-follow: ensure correct result
27789         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
27790         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
27791         distinguish between possible failures.
27792
27793 2009-09-21  Eric Blake  <ebb9@byu.net>
27794
27795         fts: avoid compiler warning
27796         * lib/fts.c (dirent_inode_sort_may_be_useful)
27797         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
27798
27799 2009-09-19  Bruno Haible  <bruno@clisp.org>
27800
27801         * lib/progreloc.c (canonicalize_file_name): New declaration.
27802
27803 2009-09-19  Eric Blake  <ebb9@byu.net>
27804
27805         link: fix quoting
27806         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
27807
27808         openat: fix openat bugs on Solaris 9
27809         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
27810         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
27811         * modules/openat (Depends-on): Add open.
27812         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
27813         * modules/fcntl-h (Makefile.am): Substitute it.
27814         * lib/fcntl.in.h (openat): Declare replacement.
27815         * doc/posix-functions/openat.texi (openat): Document this.
27816
27817         openat: move fstatat and unlinkat into correct files
27818         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
27819         compiled.
27820         * lib/openat.c (fstatat, unlinkat): Move...
27821         * lib/fstatat.c (fstatat): ...into correct files.
27822         * lib/unlinkat.c (unlinkat): Likewise.
27823
27824         openat: fix unlinkat bugs on Solaris 9
27825         * lib/unlinkat.c (unlinkat): New file.
27826         * modules/openat (Depends-on): Add unlink.
27827         (Files): Distribute it.
27828         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
27829         trailing slash behavior is broken.
27830         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27831         * modules/unistd (Makefile.am): Substitute it.
27832         * lib/unistd.in.h (unlinkat): Declare replacement.
27833         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
27834
27835         openat: fix fstatat bugs on Solaris 9
27836         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
27837         stat.
27838         * doc/posix-functions/fstatat.texi (fstatat): Document this.
27839
27840         test-unlinkat: enhance test, to expose Solaris 9 bug
27841         * tests/test-unlink.c (main): Factor guts...
27842         * tests/test-unlink.h (test_rmdir_func): ...into new file.
27843         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
27844         * tests/test-rmdir.c (main): Adjust caller.
27845         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
27846         (unlinker): New helper function.
27847         (rmdirat): Enhance check.
27848         * modules/rmdir-tests (Depends-on): Add stdbool.
27849         * modules/unlink-tests (Depends-on): Likewise.
27850         (Files): Add test-unlink.h.
27851         * modules/openat-tests (Files): Likewise.
27852         (Depends-on): Add unlinkdir.
27853
27854         test-fstatat: new test, to expose Solaris 9 bugs
27855         * tests/test-stat.c (main): Factor guts...
27856         * tests/test-stat.h (test_stat_func): ...into new file.
27857         * tests/test-lstat.c (main): Factor guts...
27858         * tests/test-lstat.h (test_lstat_func): ...into new file.
27859         * tests/test-fstatat.c: New file.
27860         * modules/stat-tests (Files): Add test-stat.h.
27861         * modules/lstat-tests (Files): Add test-lstat.h.
27862         (Depends-on): Add stdbool.
27863         * modules/openat-tests (Depends-on): Add pathmax.
27864         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
27865         (Makefile.am): Run new test.
27866
27867         remove: new module, for mingw and Solaris 9 bugs
27868         * modules/remove: New file.
27869         * lib/remove.c: Likewise.
27870         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
27871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
27872         * modules/stdio (Makefile.am): Use them.
27873         * lib/stdio.in.h (remove): Declare replacement.
27874         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27875         * doc/posix-functions/remove.texi (remove): Likewise.
27876         * modules/remove-tests: New test.
27877         * tests/test-remove.c: Likewise.
27878
27879         unlink: new module, for Solaris 9 bug
27880         * modules/unlink: New file.
27881         * lib/unlink.c: Likewise.
27882         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27884         * modules/unistd (Makefile.am): Use them.
27885         * lib/unistd.in.h (stat): Declare replacement.
27886         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27887         * doc/posix-functions/unlink.texi (unlink): Likewise.
27888         * modules/unlink-tests: New test.
27889         * tests/test-unlink.c: Likewise.
27890
27891         lstat: fix Solaris 9 bug
27892         * lib/lstat.c (lstat): Also check for trailing slash on
27893         non-symlink, non-directories.  Use stat module to simplify logic.
27894         * doc/posix-functions/lstat.texi (lstat): Document it.
27895         * modules/lstat-tests (Depends-on): Add errno, same-inode.
27896         (configure.ac): Check for symlink.
27897         * tests/test-lstat.c (main): Add more tests.
27898
27899         stat: add as dependency to other modules
27900         * modules/chown (Depends-on): Add stat.
27901         * modules/euidaccess (Depends-on): Likewise.
27902         * modules/fchdir (Depends-on): Likewise.
27903         * modules/isdir (Depends-on): Likewise.
27904         * modules/link (Depends-on): Likewise.
27905         * modules/lstat (Depends-on): Likewise.
27906         * modules/mkdir-p (Depends-on): Likewise.
27907         * modules/modechange (Depends-on): Likewise.
27908         * modules/open (Depends-on): Likewise.
27909         * modules/readlink (Depends-on): Likewise.
27910         * modules/same (Depends-on): Likewise.
27911
27912         stat: fix Solaris 9 bug
27913         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
27914         slash.
27915         * lib/stat.c (rpl_stat): Work around it.
27916         * doc/posix-functions/stat.texi (stat): Update documentation.
27917
27918         stat: new module, for mingw bug
27919         * modules/stat: New file.
27920         * lib/stat.c: Likewise.
27921         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27922         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27923         * modules/sys_stat (Makefile.am): Use them.
27924         * lib/sys_stat.in.h (stat): Declare replacement.
27925         * lib/openat.c (fstatat): Deal with lstat and stat being function
27926         macros.
27927         * modules/openat (Depends-on): Add inline.
27928         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27929         * doc/posix-functions/stat.texi (stat): Likewise.
27930         * modules/stat-tests: New test.
27931         * tests/test-stat.c: Likewise.
27932
27933 2009-09-19  Jim Meyering  <meyering@redhat.com>
27934
27935         syntax-check: detect unnecessary inclusion of canonicalize.h
27936         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
27937
27938 2009-09-19  Eric Blake  <ebb9@byu.net>
27939
27940         canonicalize-lgpl: adjust clients to use correct header
27941         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
27942         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
27943         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
27944         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
27945         * lib/progreloc.c (includes): Likewise.
27946
27947 2009-09-19  Jim Meyering  <meyering@redhat.com>
27948
27949         test-posixtm.c: correct a comment
27950         * tests/test-posixtm.c: Correct first-line comment.
27951         Spotted by Eric Blake.
27952
27953 2009-09-16  Jim Meyering  <meyering@redhat.com>
27954
27955         posixtm-tests: make T const-correct; add a test case
27956         * tests/test-posixtm.c (T): Declare const.
27957         Add a test for -(2^31+1).
27958         Remove useless can-succeed-only-in-2002 test.
27959
27960         posixtm-tests: adjust the sole failing test
27961         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
27962         expected output matches what mktime now produces.  Cross-checked via
27963         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
27964
27965         posixtm: move #ifdef'd tests into a new module
27966         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
27967         * tests/test-posixtm.c: ... this new file.
27968         * modules/posixtm-tests: New module.
27969
27970 2009-09-19  Eric Blake  <ebb9@byu.net>
27971
27972         openat: simplify use of at-func.c
27973         * lib/at-func.c (includes): Include prerequisites here, to
27974         simplify requirements on client files.
27975         * lib/openat-priv.h: Add double-inclusion guard.
27976         * lib/faccessat.c (includes): Simplify.
27977         * lib/fchmodat.c (includes): Likewise.
27978         * lib/fchownat.c (includes): Likewise.
27979         * lib/mkdirat.c (includes): Likewise.
27980         * lib/mkfifoat.c (includes): Likewise.
27981         * lib/symlinkat.c (includes): Likewise.
27982
27983         openat: allow return of fd 0
27984         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
27985         * modules/save-cwd (Depends-on): Replace fcntl-safer with
27986         unistd-safer.
27987         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
27988         <fcntl.h>; this module does not leak fds.
27989         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
27990         must be allowed to return 0, leaving openat_safer to add the
27991         safety.
27992         (openat_permissive): Avoid writing to just-opened fd 2 if
27993         restoring the current directory fails.
27994         * lib/openat-die.c (openat_restore_fail): Add comment.
27995         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
27996         (save_cwd): Guarantee safe fd, but without use of open_safer.
27997         * tests/test-openat.c: New test.
27998         * modules/openat-tests (Files, Makefile.am): Distribute and build
27999         new file.
28000
28001         relocatable-prog-wrapper: fix build
28002         * modules/relocatable-prog-wrapper (Files): Update name of
28003         canonicalize m4 file, broken on 2009-09-17.
28004         Reported by emad hajjar <aleppos@hotmail.com>.
28005
28006 2009-09-19  Bruno Haible  <bruno@clisp.org>
28007
28008         * lib/safe-alloc.h: Use the standard header with GPL copyright.
28009         * lib/safe-alloc.c: Likewise.
28010         Reported by Ian Beckwith <ianb@erislabs.net>.
28011
28012 2009-09-18  Bruno Haible  <bruno@clisp.org>
28013
28014         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
28015         Reported by <erobles@sensacd.com.mx>.
28016
28017 2009-09-17  Eric Blake  <ebb9@byu.net>
28018
28019         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
28020         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
28021         slashes when checking if last component is missing.
28022         * tests/test-canonicalize.c (main): Test this.
28023
28024         canonicalize, canonicalize-lgpl: honor // if distinct from /
28025         * modules/canonicalize (Files): Add double-slash-root.m4.
28026         * modules/canonicalize-lgpl (Files): Likewise.
28027         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28028         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
28029         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
28030         fallback definition.
28031         (canonicalize_filename_mode): Use it to protect //.
28032         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
28033         (__realpath): Likewise.
28034         * tests/test-canonicalize.c (main): Test this.
28035         * tests/test-canonicalize-lgpl.c (main): Likewise.
28036         * modules/canonicalize-tests (Depends-on): Add same-inode.
28037         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
28038
28039         canonicalize-lgpl: fix glibc bug with trailing slash
28040         * m4/canonicalize-lgpl.m4: Move contents...
28041         * m4/canonicalize.m4: ...here.
28042         (gl_CANONICALIZE_LGPL): Factor realpath check...
28043         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
28044         glibc 2.3.5 bug, fixed 2005-04-27.
28045         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
28046         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
28047         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
28048         * modules/canonicalize-lgpl (Files): Manage file rename.
28049         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
28050         * modules/stdlib (Makefile.am): Substitute witness.
28051         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
28052         is needed.
28053         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
28054         replacement is required.
28055         * lib/canonicalize.c (canonicalize_file_name): Likewise.
28056         * doc/glibc-functions/canonicalize_file_name.texi
28057         (canonicalize_file_name): Document this.
28058         * doc/posix-functions/realpath.texi (realpath): Likewise.
28059
28060         canonicalize-lgpl: reject non-directory with trailing slash
28061         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
28062         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
28063         catches failures in glibc 2.3.5.
28064         * tests/test-canonicalize.c (main): Likewise.
28065
28066         canonicalize-lgpl: use native realpath if it works
28067         * lib/canonicalize-lgpl.c (realpath): Guard with
28068         FUNC_REALPATH_WORKS.
28069         * lib/stdlib.in.h (realpath): Make declaration optional based on
28070         HAVE_REALPATH.
28071         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
28072         native realpath works.
28073         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
28074         * modules/stdlib (Makefile.am): Substitute witness.
28075
28076         canonicalize, canonicalize-lgpl: use <stdlib.h>
28077         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
28078         (Include): Mention <stdlib.h>.
28079         (configure.ac): Mention functions we provide.
28080         * modules/canonicalize (configure.ac): Likewise.
28081         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
28082         realpath if canonicalize_file_name is missing.
28083         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
28084         * modules/stdlib (Makefile.am): Substitute witnesses.
28085         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
28086         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
28087         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
28088         * NEWS: Document this.
28089         * doc/glibc-functions/canonicalize_file_name.texi
28090         (canonicalize_file_name): Likewise.
28091         * doc/posix-functions/realpath.texi (realpath): Likewise.
28092         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
28093
28094         test-canonicalize: consolidate into single C program
28095         * tests/test-canonicalize.sh: Delete; move setup into...
28096         * tests/test-canonicalize.c (main): ...the program, making it
28097         easier to run in debugger.  Add some tests.
28098         * modules/canonicalize-tests (Files): Remove unused file.
28099         (Depends-on): Add progname.
28100         (configure.ac, Makefile.am): Simplify.
28101
28102         test-canonicalize-lgpl: consolidate into single C program
28103         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
28104         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
28105         easier to run in debugger.  Add some tests.
28106         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
28107         (configure.ac, Makefile.am): Simplify.
28108
28109         canonicalize: avoid resolvepath
28110         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
28111         unnecessary checks.
28112         * lib/canonicalize.c (includes): Simplify.
28113         (canonicalize_file_name): Drop resolvepath implementation.
28114         * modules/canonicalize (Depends-on): Drop filenamecat.
28115
28116         canonicalize: don't lose errno
28117         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
28118         over calls to free.
28119
28120         canonicalize: simplify errno handling
28121         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
28122         assignment.
28123
28124         canonicalize, canonicalize-lgpl: update module dependencies
28125         * modules/canonicalize (Depends-on): Add extensions, lstat,
28126         pathmax, stdlib.
28127         (Files): Drop pathmax.h.
28128         (configure.ac): Adjust macro name.
28129         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
28130         lstat, stdlib, sys_stat.
28131         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
28132         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
28133         extensions.
28134         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
28135         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
28136         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
28137         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
28138         declaration, if available.
28139         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
28140         we can rely on the readlink module.
28141         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
28142         (includes): Use <unistd.h> unconditionally.
28143
28144 2009-09-17  Eric Blake  <ebb9@byu.net>
28145
28146         maint: make Include sections of modules consistent
28147         * modules/alloca: Use only header name; no need to list #include.
28148         * modules/alloca-opt: Likewise.
28149         * modules/arpa_inet: Likewise.
28150         * modules/canon-host: Likewise.
28151         * modules/configmake: Likewise.
28152         * modules/dirent: Likewise.
28153         * modules/eealloc: Likewise.
28154         * modules/environ: Likewise.
28155         * modules/fchdir: Likewise.
28156         * modules/fcntl: Likewise.
28157         * modules/fcntl-h: Likewise.
28158         * modules/gethrxtime: Likewise.
28159         * modules/gettime: Likewise.
28160         * modules/ignore-value: Likewise.
28161         * modules/inet_ntop: Likewise.
28162         * modules/inet_pton: Likewise.
28163         * modules/inttypes: Likewise.
28164         * modules/isnand-nolibm: Likewise.
28165         * modules/isnanf-nolibm: Likewise.
28166         * modules/mbchar: Likewise.
28167         * modules/mbfile: Likewise.
28168         * modules/mbiter: Likewise.
28169         * modules/mbuiter: Likewise.
28170         * modules/netdb: Likewise.
28171         * modules/netinet_in: Likewise.
28172         * modules/nproc: Likewise.
28173         * modules/pagealign_alloc: Likewise.
28174         * modules/poll: Likewise.
28175         * modules/printf-frexp: Likewise.
28176         * modules/pthread: Likewise.
28177         * modules/putenv: Likewise.
28178         * modules/random_r: Likewise.
28179         * modules/relocatable-prog: Likewise.
28180         * modules/search: Likewise.
28181         * modules/select: Likewise.
28182         * modules/selinux-h: Likewise.
28183         * modules/settime: Likewise.
28184         * modules/signal: Likewise.
28185         * modules/size_max: Likewise.
28186         * modules/socklen: Likewise.
28187         * modules/ssize_t: Likewise.
28188         * modules/stdarg: Likewise.
28189         * modules/stdbool: Likewise.
28190         * modules/stddef: Likewise.
28191         * modules/stdint: Likewise.
28192         * modules/stdio: Likewise.
28193         * modules/stdlib: Likewise.
28194         * modules/string: Likewise.
28195         * modules/strings: Likewise.
28196         * modules/sys_file: Likewise.
28197         * modules/sys_ioctl: Likewise.
28198         * modules/sys_select: Likewise.
28199         * modules/sys_socket: Likewise.
28200         * modules/sys_stat: Likewise.
28201         * modules/sys_time: Likewise.
28202         * modules/sys_times: Likewise.
28203         * modules/sys_utsname: Likewise.
28204         * modules/sys_wait: Likewise.
28205         * modules/sysexits: Likewise.
28206         * modules/time: Likewise.
28207         * modules/times: Likewise.
28208         * modules/tmpfile: Likewise.
28209         * modules/trim: Likewise.
28210         * modules/unistd: Likewise.
28211         * modules/wchar: Likewise.
28212         * modules/wctype: Likewise.
28213
28214 2009-09-17  Bruno Haible  <bruno@clisp.org>
28215
28216         Make getdate.y compile on QNX and NetBSD 5 / i386.
28217         * m4/getdate.m4 (gl_GETDATE): Conditionally define
28218         TIME_T_FITS_IN_LONG_INT.
28219         * lib/getdate.y (long_time_t): New type.
28220         (relative_time): Change type of 'seconds' field to long_time_t.
28221         (get_date): Update types of local variables. Check against overflow
28222         during conversion from long_time_t to time_t.
28223         Reported by Matt Kraai <kraai@ftbfs.org>
28224         and Hasso Tepper <hasso@netbsd.org>.
28225
28226 2009-09-17  Bruno Haible  <bruno@clisp.org>
28227
28228         * modules/COPYING: Update copyright years.
28229         * modules/README: Likeiwse.
28230         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
28231         Reported by Ian Beckwith <ianb@erislabs.net>.
28232
28233 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
28234
28235         * users.txt: Update references for gnuit package.
28236
28237 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
28238
28239         * m4/getdelim.m4: Fix typo in copyright line.
28240
28241 2009-09-17  Bruno Haible  <bruno@clisp.org>
28242
28243         * lib/atoll.c: Use the standard header with GPL copyright.
28244         * lib/argz.in.h: Likewise.
28245         * lib/glob.c: Likewise.
28246         * lib/glob-libc.h: Likewise.
28247         * lib/random_r.c: Likewise.
28248         * lib/siglist.h: Likewise.
28249         * lib/strsignal.c: Likewise.
28250         Reported by Ian Beckwith <ianb@erislabs.net>.
28251
28252 2009-09-17  Eric Blake  <ebb9@byu.net>
28253
28254         rmdir: ensure correct dependency order
28255         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
28256
28257 2009-09-17  Bruno Haible  <bruno@clisp.org>
28258
28259         Disable assertion that fails on NetBSD 5 / i386.
28260         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
28261         Reported by Sam Steingold <sds@gnu.org>
28262         and Hasso Tepper <hasso@netbsd.org>.
28263
28264 2009-09-16  Eric Blake  <ebb9@byu.net>
28265
28266         unlinkdir: port to mingw
28267         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
28268         on which no one can unlink a directory.
28269
28270         stdlib: sort witness names
28271         * modules/stdlib (Makefile.am): Sort replacements.
28272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
28273         * lib/stdlib.in.h: Likewise.
28274
28275         parse-duration-tests: avoid link failure
28276         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
28277         LIBINTL.
28278         Reported by Tom G. Christensen.
28279
28280         openat-tests: ensure unlinkat behaves like rmdir
28281         * tests/test-rmdir.c (main): Factor guts...
28282         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
28283         * modules/rmdir-tests (Files): Ship new file.
28284         * modules/openat-tests: New test.
28285         * tests/test-unlinkat.c: Likewise.
28286
28287         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
28288         * modules/rmdir-errno (Status, Notice): Now obsolete.
28289
28290         rmdir: work around cygwin 1.5.x and mingw bugs
28291         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
28292         * lib/rmdir.c (rmdir): Work around it.
28293         * modules/rmdir (Status, Notice): No longer obsolete.
28294         (Files): Add dos.m4.
28295         (Depends-on): Add unistd.
28296         (configure.ac): Set witnesses.
28297         (License): Relax to LGPLv2+.
28298         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
28299         * modules/unistd (Makefile.am): Substitute witnesses.
28300         * lib/unistd.in.h (rmdir): Declare replacement.
28301         * doc/posix-functions/rmdir.texi (rmdir): Document this.
28302         * modules/rmdir-tests: New tests.
28303         * tests/test-rmdir.c: Likewise.
28304
28305 2009-09-15  Eric Blake  <ebb9@byu.net>
28306
28307         fchdir: improve use of replacement functions
28308         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
28309         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
28310         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
28311         REPLACE_CLOSEDIR.
28312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
28313         * modules/sys_stat (Makefile.am): Substitute correct witness.
28314         * modules/dirent (Makefile.am): Likewise.
28315         * modules/unistd (Makefile.am): Likewise.
28316         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
28317         * lib/unistd.in.h (dup): Likewise.
28318         * lib/sys_stat.in.h (fstat): Likewise.
28319
28320         maint: ignore gnulib-tool temp files
28321         * .gitignore: Ignore files created during gnulib-tool --test.
28322
28323 2009-09-13  Jim Meyering  <meyering@redhat.com>
28324
28325         posixtm: don't reject a time that specify "60" as the number of seconds
28326         * lib/posixtm.c (posixtime): The code to reject invalid dates
28327         would also reject a time specified with the .60 suffix.
28328         But POSIX allows that, in order to accommodate leap seconds.
28329         So don't reject it.
28330         (main): Adjust tests accordingly.
28331         * modules/posixtm (Depends-on): Add stpcpy.
28332
28333 2009-09-11  Jim Meyering  <meyering@redhat.com>
28334
28335         announce-gen: include [$release_type] in emitted Subject:
28336         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
28337         e.g., [stable] in the emitted Subject: line.
28338
28339 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28340
28341         Remove obsolete macros from several modules.
28342         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
28343         obsolete Autoconf macros with their modern counterparts.
28344         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
28345         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
28346         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
28347         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
28348         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
28349         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28350         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28351         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28352         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28353         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
28354         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
28355         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
28356         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
28357         * m4/sockets.m4 (gl_SOCKETS): Likewise.
28358         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
28359         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
28360         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
28361         * m4/time_r.m4 (gl_TIME_R): Likewise.
28362         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28363         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
28364         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
28365
28366         Fix copyright header in build-aux scripts.
28367         * build-aux/git-version-gen: Fix copyright header to match GPLv3
28368         recommendation.
28369         * build-aux/ncftpput-ftp: Likewise.
28370         * build-aux/update-copyright: Likewise.
28371
28372 2009-09-09  Eric Blake  <ebb9@byu.net>
28373
28374         test-link: allow Linux choice of errno
28375         * tests/test-link.c (main): Relax test for alternate error.
28376
28377         strndup: fix improper m4 caching
28378         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
28379         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
28380         (gl_PREREQ_STRNDUP): Delete.
28381         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
28382         * modules/string (Makefile.am): Substitute it.
28383         * lib/string.in.h (strndup): Modernize prototype.
28384
28385         getcwd: port to mingw
28386         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
28387         different from the POSIX assumptions made throughout the getcwd
28388         module; fortunately, the mingw getcwd does not need replacement.
28389         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
28390         * modules/getcwd-tests: New test.
28391         * tests/test-getcwd.c: Likewise.
28392
28393         link: fix platform bugs
28394         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
28395         * lib/link.c (link): Work around them.  Fix related mingw bug.
28396         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
28397         * modules/unistd (Makefile.am): Substitute it.
28398         * lib/unistd.in.h (link): Declare replacement.
28399         * doc/posix-functions/link.texi (link): Document this.
28400         * modules/link (Depends-on): Add strdup-posix, sys_stat.
28401
28402         test-link: consolidate into single C program, test more cases
28403         * tests/test-link.sh: Delete.
28404         * tests/test-link.c: Test more error conditions.  Exposes bugs on
28405         at least Cygwin and Solaris.
28406         * modules/link-tests (Files): Remove unused file.
28407         (Depends-on): Add errno, sys_stat.
28408         (Makefile.am): Simplify.
28409
28410 2009-09-08  Bruno Haible  <bruno@clisp.org>
28411
28412         Work around towlower, towupper bug on mingw.
28413         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
28414         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
28415         * doc/posix-functions/towlower.texi: Mention the mingw bug.
28416         * doc/posix-functions/towupper.texi: Likewise.
28417         Reported by Eric Blake.
28418
28419 2009-09-08  Jim Meyering  <meyering@redhat.com>
28420
28421         build: don't try to run autoheader if we don't use it
28422         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
28423         is not used in configure.ac.
28424
28425 2009-09-08  Eric Blake  <ebb9@byu.net>
28426
28427         euidaccess: fix compilation error
28428         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
28429
28430         rawmemchr: relax license
28431         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
28432         okay.
28433         Reported by Jim Meyering.
28434
28435         mkfifoat: new module
28436         * modules/mkfifoat: New file.
28437         * lib/mkfifoat.c: Likewise.
28438         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
28439         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28440         * modules/sys_stat (Makefile.am): Use them.
28441         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
28442         * MODULES.html.sh (File system functions): Mention module.
28443         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
28444         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
28445         * modules/mkfifoat-tests: New test.
28446         * tests/test-mkfifoat.c: Likewise.
28447
28448         strchrnul: relax license
28449         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
28450         okay.
28451         Reported by Jim Meyering.
28452
28453 2009-09-08  Eric Blake  <ebb9@byu.net>
28454
28455         fstatat: fix compilation on Solaris
28456         * lib/fstatat.c (includes): Add fcntl.h.
28457         Reported by Pádraig Brady.
28458
28459 2009-09-07  Eric Blake  <ebb9@byu.net>
28460
28461         rename: modernize replacement
28462         * modules/rename (Depends-on): Add stdio.
28463         (configure.ac): Declare witness.
28464         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
28465         stdio take care of replacement.
28466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
28467         * modules/stdio (Makefile.am): Substitute them.
28468         * lib/stdio.in.h (rename): Declare replacement.
28469         * lib/rename.c (includes): Allow cross-compilation to non-windows
28470         machines.
28471         * doc/posix-functions/rename.texi (rename): Improve
28472         documentation.
28473
28474         stdio: sort witness names
28475         * modules/stdio (Makefile.am): Sort replacements.
28476         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28477         * lib/stdio.in.h: Likewise.
28478
28479         getcwd: minor cleanups
28480         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
28481         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
28482
28483         openat: provide more convenience names
28484         * modules/faccessat (configure.ac): Add C witness.
28485         * lib/unistd.in.h (readlinkat): Fix typo.
28486         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
28487         convenience wrappers.
28488         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
28489         wrappers in syntax checks.
28490
28491 2009-09-06  Eric Blake  <ebb9@byu.net>
28492
28493         doc: fix comments in recent patches
28494         * lib/faccessat.c: Mention correct function.
28495         * lib/fchmodat.c: Likewise.
28496         * lib/fchownat.c: Likewise.
28497         * lib/symlinkat.c: Likewise.
28498         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
28499         constants.
28500
28501         faccessat, symlinkat: continue cleanup of previous patch
28502         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
28503         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
28504         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
28505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
28506         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
28507         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
28508         set.
28509
28510 2009-09-06  Bruno Haible  <bruno@clisp.org>
28511
28512         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
28513         (fstatat): Declare if GNULIB_FSTATAT is set.
28514         (mkdirat): Declare if GNULIB_MKDIRAT is set.
28515         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
28516         (unlinkat): Declare if GNULIB_UNLINKAT is set.
28517         * modules/fcntl-h (Files): Remove m4/openat.m4.
28518         * modules/sys_stat (Files): Remove m4/openat.m4.
28519         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
28520         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
28521         * modules/unistd (Files): Remove m4/openat.m4.
28522         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
28523         GNULIB_OPENAT.
28524         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
28525         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
28526         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
28527         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
28528         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
28529         gl_OPENAT_DEFAULTS.
28530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
28531         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
28532         Don't require gl_OPENAT_DEFAULTS.
28533         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
28534         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
28535         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
28536         (gl_OPENAT_DEFAULTS): Remove macro.
28537
28538 2009-09-06  Bruno Haible  <bruno@clisp.org>
28539
28540         * modules/openat (configure.ac): Remove unneeded witness.
28541
28542 2009-09-06  Bruno Haible  <bruno@clisp.org>
28543
28544         Set errno to ENOSYS when a function is entirely unsupported.
28545         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
28546         EOPNOTSUPP.
28547         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
28548         * modules/chown (Depends-on): Remove errno.
28549
28550 2009-09-06  Bruno Haible  <bruno@clisp.org>
28551
28552         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
28553
28554 2009-09-06  Bruno Haible  <bruno@clisp.org>
28555
28556         * lib/sys_stat.in.h: Fix preprocessor command indentation.
28557
28558 2009-09-06  Ben Pfaff  <blp@gnu.org>
28559             Bruno Haible  <bruno@clisp.org>
28560
28561         Work around a glibc bug in strtok_r.
28562         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
28563         Undefine if UNDEFINE_STRTOK_R is set.
28564         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
28565         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28566         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
28567         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
28568         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
28569         UNDEFINE_STRTOK_R.
28570         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
28571
28572 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
28573
28574         exclude: minor fix
28575         * lib/exclude.c: Include wctype.h
28576
28577 2009-09-06  Akim Demaille  <demaille@gostai.com>
28578
28579         bootstrap: improve error message
28580         * build-aux/bootstrap (find_tool): Upon failure, report the list
28581         of candidates.
28582         Honor the initial value of the envvar.
28583
28584 2009-09-05  Eric Blake  <ebb9@byu.net>
28585
28586         symlinkat: new module
28587         * modules/symlinkat: New file.
28588         * lib/symlinkat.c: Likewise.
28589         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
28590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28591         * modules/unistd (Makefile.am): Use them.
28592         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
28593         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
28594         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
28595         * MODULES.html.sh (File system functions): Mention module.
28596         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28597         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28598         * modules/symlinkat-tests: New test.
28599         * tests/test-symlinkat.c: Likewise.
28600
28601         test-openat-safer: add more checks
28602         * tests/test-openat-safer.c (main): Check more code paths.
28603
28604 2009-09-05  Jim Meyering  <meyering@redhat.com>
28605
28606         syntax-check: detect unnecessary inclusion of openat.h
28607         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
28608
28609 2009-09-05  Bruno Haible  <bruno@clisp.org>
28610
28611         Support towlower, towupper.
28612         * doc/posix-functions/towlower.texi: Mention module wctype.
28613         * doc/posix-functions/towupper.texi: Likewise.
28614         * lib/wctype.in.h (towlower, towupper): New functions.
28615         * tests/test-wctype.c: Include stdio.h, stdlib.h.
28616         (ASSERT): New macro.
28617         (e): New variable.
28618         (main): Test also towlower, towupper. Test WEOF argument.
28619         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28620
28621 2009-09-05  Bruno Haible  <bruno@clisp.org>
28622
28623         Fix conversion behaviour when the input is invalid.
28624         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
28625         mark occurring in first pass of indirect conversion.
28626         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
28627         input.
28628         Found by clang's static analyzer.
28629
28630 2009-09-05  Bruno Haible  <bruno@clisp.org>
28631
28632         * tests/test-striconveh.c (main): Test indirect conversion on platforms
28633         where direct conversion is possible.
28634
28635 2009-09-04  Eric Blake  <ebb9@byu.net>
28636
28637         openat: fail with ENOENT on empty name
28638         * lib/openat-proc.c (openat_proc_name): Special-case the empty
28639         buffer.
28640
28641         link-follow: fix logic bug in prior patch
28642         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
28643         reversed sense of yes and no in prior patch.  Avoid confusing
28644         compilation failure with desired semantics.
28645
28646         link-follow: accomodate mingw and cross-compilation
28647         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
28648         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
28649         cross-compilation results to -1, to make linkat easier to
28650         implement when cross-compiling.  Trivially support mingw.
28651         * modules/link-follow (configure.ac): Call new name.
28652         * NEWS: Mention this.
28653
28654 2009-09-03  Eric Blake  <ebb9@byu.net>
28655
28656         faccessat: compile replacement
28657         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
28658         needed.
28659
28660         fts: fix compilation error
28661         * lib/fts.c (includes): Re-add "openat.h", for
28662         openat_needs_fchdir.
28663
28664         faccessat: new module
28665         * modules/faccessat: New file.
28666         * lib/faccessat.c: Likewise.
28667         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
28668         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28669         * modules/unistd (Makefile.am): Use it.
28670         * lib/unistd.in.h (faccessat): Declare it.
28671         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
28672         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
28673         * MODULES.html.sh (File system functions): Mention it.
28674         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
28675         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
28676
28677         euidaccess: prefer POSIX over non-standard implementation
28678         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
28679         * lib/euidaccess.c (euidaccess): Use it if available.
28680
28681         openat: make template easier to use
28682         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
28683         AT_FUNC_F2 to be undefined.
28684         (VALIDATE_FLAG): New macro; use it to reject bad flags.
28685         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
28686         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
28687         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
28688         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
28689         Likewise.
28690         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
28691         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
28692         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
28693         Likewise.
28694
28695         openat: declare in POSIX headers
28696         * NEWS: Mention this.
28697         * modules/openat (configure.ac): Declare witnesses.
28698         (Depends-on): Add fcntl-h, sys_stat, unistd.
28699         (Include): Mention correct headers.
28700         * modules/fcntl-h (Depends-on): Add link-warning.
28701         (Files): Add openat.m4.
28702         (Makefile.am): Substitute witnesses.
28703         * modules/sys_stat (Files, Makefile.am): Likewise.
28704         * modules/unistd (Files, Makefile.am): Likewise.
28705         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
28706         (gl_OPENAT_DEFAULTS): New macro.
28707         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
28708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
28709         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
28710         (SYS_STAT_H): Remove unused variable.
28711         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
28712         * lib/fcntl--.h (includes): Remove unneeded header.
28713         * lib/openat-safer.c (includes): Likewise.
28714         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
28715         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
28716         appropriate headers.
28717         (__OPENAT_PREFIX): Delete.
28718         * lib/fcntl.in.h (openat): Provide declaration.
28719         (AT_FDCWD): Fix Solaris bug.
28720         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
28721         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
28722         * lib/fchmodat.c (includes):  Adjust to find declaration.
28723         * lib/fchownat.c (includes): Likewise.
28724         * lib/mkdirat.c (includes): Likewise.
28725         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
28726         still visible.
28727
28728 2009-09-02  Eric Blake  <ebb9@byu.net>
28729
28730         errno: use consistently
28731         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
28732         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
28733         * lib/canonicalize.c (ELOOP): Likewise.
28734         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
28735         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
28736         * lib/lchown.c (EOPNOTSUPP): Likewise.
28737         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
28738         * lib/savewd.c (ESTALE): Likewise.
28739         * lib/settime.c (ENOSYS): Likewise.
28740         * lib/utimens.c (ENOSYS): Likewise.
28741         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
28742         * lib/chdir-safer.c (ELOOP): Likewise.
28743         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
28744         * modules/c-stack (Depends-on): Add errno.
28745         * modules/canonicalize (Depends-on): Likewise.
28746         * modules/chdir-safer (Depends-on): Likewise.
28747         * modules/fdopendir (Depends-on): Likewise.
28748         * modules/inet_ntop (Depends-on): Likewise.
28749         * modules/inet_pton (Depends-on): Likewise.
28750         * modules/lchown (Depends-on): Likewise.
28751         * modules/openat (Depends-on): Likewise.
28752         * modules/savewd (Depends-on): Likewise.
28753         * modules/settime (Depends-on): Likewise.
28754         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
28755
28756         fts: avoid leaking fds
28757         * modules/fts (Depends-on): Add cloexec.
28758         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
28759         flag.
28760
28761         fts: make directory fds more robust
28762         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
28763         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
28764
28765         backupfile, chdir-long, fts, savedir: make safer
28766         * lib/backupfile.c (includes): Use "dirent--.h", since
28767         numbered_backup can write to stderr during readdir.
28768         * lib/savedir.c (includes): Likewise.
28769         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
28770         emulation can write to stderr on failure.
28771         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
28772         * lib/getcwd.c: Document why opendir_safer is unused.
28773         * lib/glob.c: Likewise.
28774         * lib/scandir.c: Likewise.
28775         * lib/openat-proc.c: Likewise, for open_safer.
28776         * modules/backupfile (Depends-on): Add dirent-safer.
28777         * modules/savedir (Depends-on): Likewise.
28778         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
28779         * modules/chdir-long (Depends-on): Add openat-safer.
28780
28781         openat-safer: new module
28782         * modules/openat-safer: New file.
28783         * lib/openat-safer.c: Likewise.
28784         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
28785         * lib/fcntl-safer.h (openat_safer): Declare.
28786         * lib/fcntl--.h (openat): Override.
28787         * MODULES.html.sh (File descriptor based I/O): Mention it.
28788         * lib/openat.h: Add double-inclusion guards.
28789         * lib/openat.c (includes): Only include "fcntl-safer.h", not
28790         "fcntl--.h", so we can implement openat.
28791         * modules/openat-safer-tests: New test.
28792         * tests/test-openat-safer.c: New file.
28793
28794         dirent-safer: new module
28795         * modules/dirent-safer: New file.
28796         * lib/dirent--.h: Likewise.
28797         * lib/dirent-safer.h: Likewise.
28798         * lib/opendir-safer.c: Likewise.
28799         * m4/dirent-safer.m4: Likewise.
28800         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
28801         * modules/dirent-safer-tests: New test.
28802         * tests/test-dirent-safer.c: New file.
28803         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
28804
28805         fdopendir: optimize on mingw
28806         * lib/unistd.in.h (_gl_directory_name): New prototype.
28807         * lib/fchdir.c (_gl_directory_name): Implement it.
28808         (fchdir): Use it to simplify implementation.
28809         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
28810         fchdir, when available, to avoid calling [f]chdir().
28811
28812         fdopendir: split into its own module
28813         * lib/openat.c (fdopendir): Move...
28814         * lib/fdopendir.c: ...into new file.
28815         * modules/fdopendir: New module.
28816         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
28817         * modules/openat (Depends-on): Add fdopendir.
28818         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
28819         fdopendir here.
28820         * modules/savedir (Depends-on): Only need fdopendir, not full
28821         openat.
28822         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
28823         * lib/openat.h (fdopendir): Drop prototype.
28824         * lib/dirent.in.h (fdopendir): Provide prototype.
28825         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
28826         * modules/dirent (Makefile.am): Substitute them.
28827         * MODULES.html.sh (File system functions): Mention it.
28828         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
28829         * modules/fdopendir-tests: New file.
28830         * tests/test-fdopendir.c: Likewise.
28831
28832         fchdir: use more consistent macro convention
28833         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
28834         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
28835         REPLACE_FCHDIR, rather than relying on config.h macros.
28836         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
28837         inside a single make-time REPLACE_FCHDIR block, rather than using
28838         the config.h FCHDIR_REPLACEMENT.
28839         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
28840         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
28841         Manage fstat replacement.
28842         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
28843         REPLACE_FCHDIR.
28844         * modules/sys_stat (Files): Add m4/unistd_h.m4.
28845         (Makefile.am): Substitute REPLACE_FCHDIR.
28846         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
28847         FCHDIR_REPLACEMENT.
28848         * lib/dup-safer.c (dup_safer): Likewise.
28849         * lib/dup2.c (rpl_dup2): Likewise.
28850         * lib/dup3.c (rpl_dup3): Likewise.
28851         * lib/open.c (rpl_open): Likewise.
28852
28853         fchdir: simplify error handling, and support dup3
28854         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
28855         stdbool, malloc-posix, realloc-posix.
28856         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
28857         (ensure_dirs_slot): Return false on allocation failure.
28858         (rpl_dup2): Delete.
28859         (_gl_register_dup): New function.
28860         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
28861         (_gl_register_fd): Close fd on allocation failure.
28862         * lib/fcntl.in.h (_gl_register_fd): Update signature.
28863         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
28864         prototype.
28865         (rpl_dup2_fchdir): Delete prototype.
28866         * lib/open.c (open): Update caller.
28867         * lib/dup2.c (dup2): Track fchdir metadata.
28868         * lib/dup3.c (dup3): Likewise.
28869         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
28870         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
28871
28872 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28873
28874         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
28875         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
28876         don't pass arguments to AC_OUTPUT.
28877
28878 2009-09-02  Bruno Haible  <bruno@clisp.org>
28879
28880         * modules/mkdtemp (License): Relicense under LGPLv2+.
28881         Reported by Paolo Bonzini.
28882
28883 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28884
28885         Replace uses of obsolete autoconf macros in Jim's modules.
28886         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
28887         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
28888         can evoke a warning from autoconf when run with -Wobsolete
28889         enabled.  They were declared obsolete for good reasons (see
28890         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
28891         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
28892         should not continue using the deprecated macros.
28893         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
28894         obsolete Autoconf macros with modern counterparts.
28895         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28896         * m4/dos.m4 (gl_AC_DOS): Likewise.
28897         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
28898         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28899         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
28900         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
28901         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
28902         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
28903         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
28904         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
28905         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
28906         Likewise.
28907         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28908         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
28909         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
28910         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
28911         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
28912         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
28913
28914 2009-09-01  Eric Blake  <ebb9@byu.net>
28915
28916         fchdir: fix off-by-one bug in previous patch
28917         * lib/fchdir.c (rpl_fstat): Use correct bounds.
28918         (_gl_unregister_fd): Delete useless if.
28919
28920 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
28921
28922         maint.mk: sort the list of syntax-check rules
28923         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
28924         easier to get a sense of progress when the rules are run sequentially
28925         and take a long time.
28926
28927 2009-09-01  Simon Josefsson  <simon@josefsson.org>
28928
28929         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
28930         * modules/netinet_in: Likewise.
28931         * modules/sys_file: Likewise.
28932         * modules/sys_ioctl: Likewise.
28933         * modules/sys_select: Likewise.
28934         * modules/sys_socket: Likewise.
28935         * modules/sys_stat: Likewise.
28936         * modules/sys_time: Likewise.
28937         * modules/sys_times: Likewise.
28938         * modules/sys_utsname: Likewise.
28939         * modules/sys_wait: Likewise.
28940
28941 2009-09-01  Jim Meyering  <meyering@redhat.com>
28942
28943         fts: help ensure that return values are not ignored
28944         * lib/fts_.h (__GNUC_PREREQ): Define.
28945         (__attribute_warn_unused_result__): Define.
28946         (fts_children, fts_close, fts_open, fts_read): Declare with
28947         __attribute_warn_unused_result__.
28948
28949         fts: fts_close now fails also when closing a dir file descriptor fails
28950         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
28951         and propagate to caller, along with errno.
28952
28953         announce-gen: correct formatting in --help output
28954         * build-aux/announce-gen (usage): Move the one-line description in
28955         --help output "up", to where it belongs, just after Usage:.
28956
28957 2009-08-31  Eric Blake  <ebb9@byu.net>
28958
28959         fchdir: port to mingw
28960         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
28961         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
28962         opened, then use a substitute.
28963         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
28964         replacement.
28965         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
28966         (_gl_register_fd): No need to check stat if open already filters
28967         all directories.
28968         (fchdir): Fix error condition to match POSIX.
28969         * modules/fchdir (Depends-on): Add sys_stat.
28970         * doc/posix-functions/open.texi (open): Document the limitation.
28971         * modules/fchdir-tests: New file.
28972         * tests/test-fchdir.c: Likewise.
28973
28974         canonicalize: allow cross-testing from cygwin to mingw
28975         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
28976         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
28977         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
28978         Likewise.
28979         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
28980         target does not support symlinks.
28981         * tests/test-canonicalize-lgpl.sh: Likewise.
28982
28983         chown: avoid compilation warning on mingw
28984         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
28985         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
28986         mingw.
28987         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
28988         * modules/chown (Depends-on): Add errno.
28989
28990 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
28991
28992         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
28993         command.
28994
28995 2009-08-31  Jim Meyering  <meyering@redhat.com>
28996
28997         canonicalize: remove useless initialization
28998         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
28999         initialization of local, "end".
29000
29001 2009-08-30  Bruno Haible  <bruno@clisp.org>
29002
29003         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
29004         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
29005         ENOSYS.
29006
29007 2009-08-30  Bruno Haible  <bruno@clisp.org>
29008
29009         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
29010         /usr/xpg4/bin/tr when it exists.
29011         * tests/test-pipe-filter-gi1.sh: Likewise.
29012
29013 2009-08-30  Bruno Haible  <bruno@clisp.org>
29014
29015         Work around deficient /usr/bin/id program on Solaris.
29016         * tests/test-file-has-acl.sh (ID): New variable.
29017         * tests/test-set-mode-acl.sh (ID): Likewise.
29018         * tests/test-copy-acl.sh (ID): Likewise.
29019         * tests/test-copy-file.sh (ID): Likewise.
29020
29021 2009-08-30  Bruno Haible  <bruno@clisp.org>
29022
29023         New module 'xstriconveh'.
29024         * lib/xstriconveh.h: New file.
29025         * lib/xstriconveh.c: New file.
29026         * modules/xstriconveh: New file.
29027
29028 2009-08-30  Bruno Haible  <bruno@clisp.org>
29029
29030         Make it easier to use mem_cd_iconveh.
29031         * lib/striconveh.h (iconveh_t): New type.
29032         (iconveh_open, iconveh_close): New declarations.
29033         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29034         with a single 'const iconveh_t *' argument.
29035         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
29036         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29037         with a single 'const iconveh_t *' argument.
29038         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
29039         * tests/test-striconveh.c (main): Update.
29040         * NEWS: Mention the change.
29041
29042 2009-08-30  Bruno Haible  <bruno@clisp.org>
29043
29044         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
29045         problem.
29046
29047 2009-08-30  Bruno Haible  <bruno@clisp.org>
29048
29049         Work around iconv_open problem on Solaris.
29050         * lib/iconv_open-solaris.gperf: New file.
29051         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
29052         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
29053         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
29054         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
29055         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
29056         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
29057
29058 2009-08-29  Jim Meyering  <meyering@redhat.com>
29059
29060         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
29061         * top/maint.mk (cvs-check): Remove target; it was just an alias
29062         to the better-named vc-diff-check.
29063         (maintainer-distcheck): Remove rule.  It was used only from
29064         the (alpha/beta/major) target, and all of its commands but one
29065         were coreutils-specific.
29066         (vc-dist): Remove rule.
29067         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
29068         Run vc-diff-check, not vc-dist.
29069         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
29070
29071 2009-08-27  Bruno Haible  <bruno@clisp.org>
29072
29073         * tests/test-bitrotate.c (main): Remove test that uses a shift count
29074         of 0.
29075
29076 2009-08-27  Bruno Haible  <bruno@clisp.org>
29077
29078         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
29079         compilers.
29080         * doc/func.texi: Document the SunPRO C bug.
29081
29082 2009-08-27  Bruno Haible  <bruno@clisp.org>
29083
29084         Fix link error on Solaris.
29085         * tests/test-parse-duration.c (xstrdup): Remove function.
29086
29087 2009-08-26  Pádraig Brady  <P@draigbrady.com>
29088
29089         ignore-value: handle pointer types, too
29090         * lib/ignore-value.h (__attribute__): Remove definition.
29091         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
29092         of a more concise and more-often effective "(void) i" statement.
29093         (ignore_ptr): New function to suppress warnings from functions that
29094         return pointers, and to make it explicit that one function doesn't
29095         handle all cases.
29096
29097 2009-08-25  Bruno Haible  <bruno@clisp.org>
29098
29099         dup2: work around a Linux bug.
29100         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
29101         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
29102         * doc/posix-functions/dup2.texi: Mention the Linux bug.
29103         Reported by Simon Josefsson.
29104
29105 2009-08-25  Jim Meyering  <meyering@redhat.com>
29106
29107         libguestfs uses gnulib
29108         * users.txt: Add libguestfs.
29109
29110 2009-08-24  Eric Blake  <ebb9@byu.net>
29111
29112         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
29113         * lib/pipe2.c (includes): Add binary-io.h.
29114         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
29115
29116 2009-08-24  Bruno Haible  <bruno@clisp.org>
29117
29118         Tolerate declared but missing accept4 syscall.
29119         * lib/accept4.c (accept4): Invoke original accept4 function first, if
29120         available.
29121         * lib/sys_socket.in.h (accept4): If the function is already present,
29122         override it.
29123         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
29124         * modules/accept4 (Makefile.am): Compile accept4.c always.
29125         Reported by Paolo Bonzini and Eric Blake.
29126
29127 2009-08-23  Bruno Haible  <bruno@clisp.org>
29128
29129         New module 'accept4'.
29130         * lib/sys_socket.in.h (accept4): New declaration.
29131         * lib/accept4.c: New file.
29132         * m4/accept4.m4: New file.
29133         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
29134         GNULIB_ACCEPT4, HAVE_ACCEPT4.
29135         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
29136         HAVE_ACCEPT4.
29137         * modules/accept4: New file.
29138         * doc/glibc-functions/accept4.texi: Mention the new module.
29139
29140 2009-08-24  Jim Meyering  <meyering@redhat.com>
29141
29142         progname: also set global program_invocation_name, when possible
29143         Before this change, a libtool-enabled program that calls glibc's
29144         error function would report the program name as
29145         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
29146         * modules/progname (configure.ac): Check for a declaration of
29147         program_invocation_name.
29148         * lib/progname.c:  Include <errno.h>.
29149         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
29150         Set program_invocation_name.
29151
29152 2009-08-23  Bruno Haible  <bruno@clisp.org>
29153
29154         * lib/dup3.c: Include <string.h>.
29155
29156 2009-08-23  Bruno Haible  <bruno@clisp.org>
29157
29158         * lib/dup3.c (dup3): Test only once whether the system actually exists.
29159         * lib/pipe2.c (pipe2): Likewise.
29160         Suggested by Eric Blake.
29161
29162 2009-08-23  Bruno Haible  <bruno@clisp.org>
29163
29164         Tolerate declared but missing dup3 syscall.
29165         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
29166         * lib/unistd.in.h (dup3): If the function is already present,
29167         override it.
29168         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
29169         * modules/dup3 (Makefile.am): Compile dup3.c always.
29170         Reported by Paolo Bonzini.
29171
29172 2009-08-23  Bruno Haible  <bruno@clisp.org>
29173
29174         Tolerate declared but missing pipe2 syscall.
29175         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
29176         available.
29177         * lib/unistd.in.h (pipe2): If the function is already present,
29178         override it.
29179         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
29180         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
29181         Reported by Paolo Bonzini.
29182
29183 2009-08-23  Bruno Haible  <bruno@clisp.org>
29184
29185         * lib/pipe2.c (pipe2): Move #ifs inside function.
29186
29187 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29188
29189         quotearg: document limitations of quote_these_too
29190         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
29191         those limitations are created.
29192         * lib/quotearg.h (set_char_quoting): Document that digits and
29193         letters that are special after backslash are not permitted.
29194         (quotearg_char): Cross-reference set_char_quoting documentation.
29195
29196 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
29197
29198         quotearg: implement custom_quoting_style
29199         * lib/quotearg.c: (struct quoting_options): Add left_quote and
29200         right_quote fields.
29201         (set_custom_quoting): New public function.
29202         (quotearg_buffer_restyled): Add left_quote and right_quote
29203         arguments, handle them very much like locale quoting, and update
29204         all uses.
29205         (quotearg_n_custom): New public function.
29206         (quotearg_n_custom_mem): New public function.
29207         (quotearg_custom): New public function.
29208         (quotearg_custom_mem): New public function.
29209         * lib/quotearg.h: Prototype and document new public functions.
29210         (enum quoting_style): For escape_quoting_style and
29211         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
29212         ignored even though they're otherwise like c_quoting_style.
29213         Add custom_quoting_style member and document with comparison to
29214         clocale_quoting_style.
29215         * tests/test-quotearg.c (custom_quotes): New array.
29216         (custom_results): New array.
29217         (main): Extend to test custom quoting.
29218
29219 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29220
29221         quotearg: fix right quote escaping when it's in quote_these_too
29222         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
29223         quote, be sure to prepend only one backslash.
29224         * tests/test-quotearg.c (use_quote_double_quotes): New function.
29225         (main): Test it.
29226
29227 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29228
29229         quotearg-tests: test escaping of embedded locale quotes
29230         * tests/test-quotearg.c (struct result_strings): Add member for
29231         new input.
29232         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
29233         (inputs): Add new input.
29234         (results_g): Add expected results.
29235         (flag_results): Likewise.
29236         (locale_results): Likewise.
29237         (compare_strings): Check those.
29238
29239 2009-08-23  Bruno Haible  <bruno@clisp.org>
29240
29241         Tests for module 'dup3'.
29242         * modules/dup3-tests: New file.
29243         * tests/test-dup3.c: New file.
29244
29245         New module 'dup3'.
29246         * lib/unistd.in.h (dup3): New declaration.
29247         * lib/dup3.c: New file.
29248         * m4/dup3.m4: New file.
29249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
29250         HAVE_DUP3.
29251         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
29252         * modules/dup3: New file.
29253         * doc/glibc-functions/dup3.texi: Mention the new module.
29254
29255 2009-08-23  Bruno Haible  <bruno@clisp.org>
29256
29257         Tweak the dup2 test.
29258         * tests/test-dup2.c (main): Create the test file empty. Verify that an
29259         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
29260         the test file is still empty. Fix argument order of lseek.
29261
29262 2009-08-23  Bruno Haible  <bruno@clisp.org>
29263
29264         Avoid test link errors when the modules getopt-gnu, gettext are used.
29265         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
29266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29267
29268 2009-08-23  Bruno Haible  <bruno@clisp.org>
29269
29270         Fix getdtablesize() on mingw.
29271         * lib/getdtablesize.c (getdtablesize): Implement differently.
29272         * lib/unistd.in.h (getdtablesize): Improve comment.
29273
29274 2009-08-23  Bruno Haible  <bruno@clisp.org>
29275
29276         New module 'mkostemp'.
29277         Based on Ulrich Drepper's 2007-08-10 change in glibc.
29278         * lib/stdlib.in.h (mksotemp): New declaration.
29279         * lib/mkostemp.c: New file, from glibc with modifications.
29280         * lib/tempname.h (GT_FILE): Remove outdated comment.
29281         (gen_tempname): Add flags argument.
29282         * lib/tempname.c (__GT_BIGFILE): Remove macro.
29283         (__GT_FILE): Map to 1.
29284         (small_open, large_open): Remove macros.
29285         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
29286         * lib/mkstemp.c (mkstemp): Update.
29287         * lib/mkdtemp.c (mkdtemp): Likewise.
29288         * m4/mkostemp.m4: New file.
29289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
29290         HAVE_MKOSTEMP.
29291         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
29292         HAVE_MKOSTEMP.
29293         * modules/mkostemp: New file, based on modules/mkstemp.
29294         * doc/glibc-functions/mkostemp.texi: Mention the new module.
29295         * NEWS: Mention the change.
29296
29297 2009-08-23  Bruno Haible  <bruno@clisp.org>
29298
29299         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
29300         Reported by Eric Blake.
29301
29302 2009-08-23  Bruno Haible  <bruno@clisp.org>
29303
29304         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
29305         Reported by Eric Blake.
29306
29307 2009-08-23  Bruno Haible  <bruno@clisp.org>
29308
29309         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
29310         * modules/pipe2 (Depends-on): Likewise.
29311
29312 2009-08-23  Eric Blake  <ebb9@byu.net>
29313
29314         fcntl-h: add O_TTY_INIT support
29315         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
29316         * tests/test-fcntl-h.c (o): Test it.
29317         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
29318
29319         fcntl-h: rename from fcntl, in preparation for fcntl(2)
29320         * modules/fcntl: Move <fcntl.h> header replacement...
29321         * modules/fcntl-h: ...to new name, so as not to collide with
29322         like-named function.
29323         * tests/test-fcntl.c: Rename...
29324         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
29325         * modules/fcntl-tests: Rename...
29326         * modules/fcntl-h-tests: ...to this.  Update test file name.
29327         * modules/chdir-long (Depends-on): Update clients.
29328         * modules/chdir-safer (Depends-on): Likewise.
29329         * modules/fcntl-safer (Depends-on): Likewise.
29330         * modules/fts (Depends-on): Likewise.
29331         * modules/mkancesdirs (Depends-on): Likewise.
29332         * modules/mkdir-p (Depends-on): Likewise.
29333         * modules/open (Depends-on): Likewise.
29334         * modules/savewd (Depends-on): Likewise.
29335         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
29336         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
29337
29338 2009-08-22  Bruno Haible  <bruno@clisp.org>
29339
29340         * modules/binary-io (License): Relicense under LGPL.
29341         * modules/pipe2 (License): Likewise.
29342
29343 2009-08-22  Bruno Haible  <bruno@clisp.org>
29344
29345         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
29346         return value.
29347         * lib/pipe-filter-gi.c (filter_init): Likewise.
29348         Reported by Eric Blake.
29349
29350 2009-08-22  Bruno Haible  <bruno@clisp.org>
29351
29352         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
29353         * modules/pipe (Depends-on): Add pipe2.
29354
29355 2009-08-22  Bruno Haible  <bruno@clisp.org>
29356
29357         Tests for module 'pipe2'.
29358         * modules/pipe2-tests: New file.
29359         * tests/test-pipe2.c: New file.
29360
29361         New module 'pipe2'.
29362         * lib/unistd.in.h (pipe2): New declaration.
29363         * lib/pipe2.c: New file.
29364         * m4/pipe2.m4: New file.
29365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
29366         HAVE_PIPE2.
29367         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
29368         * modules/pipe2: New file.
29369         * doc/glibc-functions/pipe2.texi: Mention the new module.
29370
29371 2009-08-22  Bruno Haible  <bruno@clisp.org>
29372
29373         Reference some new glibc functions.
29374         * doc/glibc-functions/accept4.texi: New file.
29375         * doc/glibc-functions/dup3.texi: New file.
29376         * doc/glibc-functions/mkostemp.texi: New file.
29377         * doc/glibc-functions/pipe2.texi: New file.
29378         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
29379         (Glibc sys/socket.h): Refer to accept4.
29380         (Glibc unistd.h): Refer to dup3, pipe2.
29381         Reported by Eric Blake.
29382
29383 2009-08-22  Jim Meyering  <meyering@redhat.com>
29384             Bruno Haible  <bruno@clisp.org>
29385
29386         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
29387         This makes it so packages using automake-1.11's silent-rules option
29388         can print e.g., a single "GEN    configmake.h" line, rather than
29389         the 30+ statements that perform the job.  If you want to see the
29390         actual commands, you can still run "make V=1".
29391         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
29392         so that make output is abbreviated when those variables are defined
29393         appropriately.
29394         * modules/argz: Likewise.
29395         * modules/arpa_inet: Likewise.
29396         * modules/byteswap: Likewise.
29397         * modules/configmake: Likewise.
29398         * modules/dirent: Likewise.
29399         * modules/errno: Likewise.
29400         * modules/fcntl: Likewise.
29401         * modules/float: Likewise.
29402         * modules/fnmatch: Likewise.
29403         * modules/getopt-posix: Likewise.
29404         * modules/glob: Likewise.
29405         * modules/iconv_open: Likewise.
29406         * modules/inttypes: Likewise.
29407         * modules/localcharset: Likewise.
29408         * modules/locale: Likewise.
29409         * modules/math: Likewise.
29410         * modules/netdb: Likewise.
29411         * modules/netinet_in: Likewise.
29412         * modules/poll: Likewise.
29413         * modules/posix_spawnp-tests: Likewise.
29414         * modules/sched: Likewise.
29415         * modules/search: Likewise.
29416         * modules/selinux-h: Likewise.
29417         * modules/signal: Likewise.
29418         * modules/spawn: Likewise.
29419         * modules/stdarg: Likewise.
29420         * modules/stdbool: Likewise.
29421         * modules/stddef: Likewise.
29422         * modules/stdint: Likewise.
29423         * modules/stdio: Likewise.
29424         * modules/stdlib: Likewise.
29425         * modules/string: Likewise.
29426         * modules/strings: Likewise.
29427         * modules/sys_file: Likewise.
29428         * modules/sys_ioctl: Likewise.
29429         * modules/sys_select: Likewise.
29430         * modules/sys_socket: Likewise.
29431         * modules/sys_stat: Likewise.
29432         * modules/sys_time: Likewise.
29433         * modules/sys_times: Likewise.
29434         * modules/sys_utsname: Likewise.
29435         * modules/sys_wait: Likewise.
29436         * modules/sysexits: Likewise.
29437         * modules/time: Likewise.
29438         * modules/unistd: Likewise.
29439         * modules/wchar: Likewise.
29440         * modules/wctype: Likewise.
29441
29442 2009-08-22  Jim Meyering  <meyering@redhat.com>
29443
29444         announce-gen: detect write failure
29445         * build-aux/announce-gen: Add Coda at end.
29446         Remove equivalent-but-more-verbose block at top.
29447
29448 2009-08-19  Akim Demaille  <demaille@gostai.com>
29449
29450         bootstrap: --help to stdout.
29451         * bootstrap (usage): Don't send --help to stderr.
29452         Use a here doc instead of a long string.
29453
29454 2009-08-21  Eric Blake  <ebb9@byu.net>
29455
29456         test-popen-safer: split from test-popen
29457         * tests/test-popen.c (main): Move...
29458         * tests/test-popen.h: ...into new file.
29459         * tests/test-popen-safer2.c: New file.
29460         * modules/popen-tests (Files): Add test-popen.h.
29461         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
29462         Suggested by Bruno Haible.
29463
29464         test-fcntl-safer: split from test-open
29465         * tests/test-open.c (main): Move...
29466         * tests/test-open.h: ...into new file.
29467         * tests/test-fcntl-safer.c: New file.
29468         * modules/open-tests (Files): Add test-open.h.
29469         * modules/fcntl-safer-tests: New file.
29470         Suggested by Bruno Haible.
29471
29472         test-fopen-safer: split from test-fopen
29473         * tests/test-fopen.c (main): Move...
29474         * tests/test-fopen.h: ...into new file.
29475         * tests/test-fopen-safer.c: New file.
29476         * modules/fopen-tests (Files): Add test-fopen.h.
29477         * modules/fopen-safer-tests: New file.
29478         Suggested by Bruno Haible.
29479
29480 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
29481
29482         popen-safer: test O_CLOEXEC at run-time.
29483         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
29484
29485 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
29486
29487         fcntl: move more flags to the header
29488         * lib/cloexec.c: Do not define FD_CLOEXEC here.
29489         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
29490         * lib/fcntl.in.h: Do both things here.
29491
29492 2009-08-21  Jim Meyering  <meyering@redhat.com>
29493
29494         consistently remove $@-t before redirecting to it
29495         * modules/argz: Remove $@-t and $@ before redirecting to the former.
29496         * modules/alloca-opt: Likewise.
29497         * modules/byteswap: Likewise.
29498         * modules/fnmatch: Likewise.
29499         * modules/getopt-posix: Likewise.
29500         * modules/glob: Likewise.
29501         * modules/poll: Likewise.
29502         * modules/posix_spawnp-tests: Likewise.
29503         * modules/sys_socket: Likewise.
29504         * modules/sysexits: Likewise.
29505
29506 2009-08-21  Eric Blake  <ebb9@byu.net>
29507
29508         popen: simplify access to original popen
29509         * lib/popen.c (rpl_popen): No need to worry about popen being a
29510         macro.
29511         Reported by Bruno Haible.
29512
29513 2009-08-20  Eric Blake  <ebb9@byu.net>
29514
29515         build: avoid some compiler warnings
29516         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
29517         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
29518         type.
29519         (new_exclude_segment, excluded_file_pattern_p)
29520         (excluded_file_name_p): Reduce scope.
29521         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
29522         old-style declaration.
29523
29524 2009-08-20  Simon Josefsson  <simon@josefsson.org>
29525
29526         * tests/test-exclude1.sh: Handle Windows EOL.
29527         * tests/test-exclude2.sh: Likewise.
29528         * tests/test-exclude3.sh: Likewise.
29529         * tests/test-exclude4.sh: Likewise.
29530         * tests/test-exclude5.sh: Likewise.
29531         * tests/test-exclude6.sh: Likewise.
29532         * tests/test-exclude7.sh: Likewise.
29533
29534 2009-08-19  Akim Demaille  <demaille@gostai.com>
29535
29536         bootstrap: find sha1sum when named gsha1sum.
29537         * bootstrap (find_tool): New.
29538         ($SHA1SUM): New.
29539         Use it.
29540
29541 2009-08-20  Jim Meyering  <meyering@redhat.com>
29542
29543         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
29544         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
29545         expression that converts "." in a file name to "\." in the resulting
29546         regexp.  Start with a dummy statement, so that prior shell variable
29547         definitions are expanded portably.  Reported by Simon Josefsson.
29548
29549 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
29550
29551         Fix polling for writeability of a screen buffer.
29552         * lib/poll.c: Distinguish input and screen buffers for the
29553         Win32 implementation.
29554         * lib/select.c: Likewise.
29555
29556 2009-08-19  Eric Blake  <ebb9@byu.net>
29557
29558         popen-safer: prevent popen from clobbering std descriptors
29559         * modules/popen-safer: New file.
29560         * lib/popen-safer.c: Likewise.
29561         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
29562         * lib/stdio--.h (popen): Provide override.
29563         * lib/stdio-safer.h (popen_safer): Provide declaration.
29564         * tests/test-popen.c (includes): Partially test this.
29565         * modules/popen-safer-tests: New file, for more tests.
29566         * tests/test-popen-safer.c: Likewise.
29567         * MODULES.html.sh (file stream based Input/Output): Mention it.
29568
29569         tests: test some of the *-safer modules
29570         * modules/fopen-safer (Depends-on): Add fopen.
29571         * modules/fcntl-safer (Depends-on): Add fcntl.
29572         * modules/stdlib-safer (Depends-on): Add stdlib.
29573         (configure.ac): Set indicator.
29574         * modules/unistd-safer (configure.ac): Likewise.
29575         * modules/tmpfile-safer (configure.ac): Likewise.
29576         (Depends-on): Add tmpfile.
29577         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
29578         active.
29579         * tests/test-fopen.c (includes): Test safer versions when they are
29580         in use.
29581         * tests/test-open.c (includes): Likewise.
29582
29583         popen: fix cygwin 1.5 bug when stdin closed
29584         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
29585         * modules/popen: New file.
29586         * modules/popen-tests: Likewise.
29587         * tests/test-popen.c: Likewise.
29588         * m4/popen.m4: Likewise.
29589         * lib/popen.c: Likewise.
29590         * lib/stdio.in.h (popen): New declaration.
29591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
29592         * modules/stdio (Makefile.am): Likewise.
29593         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
29594
29595 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
29596
29597         maint.mk: give full control over update-copyright exclusions
29598         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
29599         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
29600         (update-copyright): Don't force inclusion of top-level
29601         ChangeLog.  Don't force exclusion of all COPYING files, but make
29602         them the default exclusion instead.
29603
29604 2009-08-16  Bruno Haible  <bruno@clisp.org>
29605
29606         Fix test failures on Solaris 10.
29607         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
29608         tests when Solaris iconv() is used.
29609         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
29610         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
29611         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
29612         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
29613         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
29614
29615 2009-08-16  Bruno Haible  <bruno@clisp.org>
29616
29617         Fix test failures on Solaris 10.
29618         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
29619         'tr' program and pass it as first argument.
29620         * tests/test-pipe-filter-gi1.sh: Likewise.
29621         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
29622         program as first argument.
29623         * tests/test-pipe-filter-gi1.c (main): Likewise.
29624
29625 2009-08-16  Eric Blake  <ebb9@byu.net>
29626
29627         fpurge: fix previous commits
29628         * modules/fpurge (Makefile.am): Make replacement conditional,
29629         partially reverting 2007-04-29 change; missed in previous
29630         attempt.
29631         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
29632         is missing.
29633
29634 2009-08-16  Bruno Haible  <bruno@clisp.org>
29635
29636         Clarify fpurge's effect on the file position.
29637         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
29638         * tests/test-fpurge.c (main): Make a second pass for checking the file
29639         position.
29640
29641 2009-08-16  Bruno Haible  <bruno@clisp.org>
29642
29643         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
29644         declaration of fpurge is missing.
29645         * tests/test-fpurge.c (main): Check that the file has not more contents
29646         than expected. Close the file before removing it.
29647
29648 2009-08-15  Eric Blake  <ebb9@byu.net>
29649
29650         fpurge: don't wrap working cygwin implementation
29651         * lib/fpurge.c (fpurge): Fix comment typo.
29652         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
29653         1.7 to avoid replacement.
29654         * tests/test-fpurge.c (main): Enhance test.
29655
29656 2009-08-15  Eric Blake  <ebb9@byu.net>
29657         and Jim Meyering  <meyering@redhat.com>
29658
29659         test-update-copyright: skip if perl is insufficient
29660         * tests/test-update-copyright.sh: Failure to run maintainer tool
29661         should not cause testsuite failure on cygwin 1.5.
29662
29663 2009-08-14  Eric Blake  <ebb9@byu.net>
29664
29665         doc: mention more functions added in cygwin 1.7.0
29666         * doc/posix-headers/limits.texi (limits.h): Update for recent
29667         cygwin additions.
29668         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
29669         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
29670         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
29671         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
29672         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
29673
29674 2009-08-14  Eric Blake  <ebb9@byu.net>
29675
29676         maint.mk: simplify update-copyright rule
29677         * top/maint.mk (update-copyright-local): Delete, and document how
29678         to do it in cfg.mk instead.
29679         (update-copyright-exclude-regexp): Delete, and document how to do
29680         it in .x-update-copyright instead.
29681         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
29682         exclude ChangeLog.
29683
29684 2009-08-14  Bruno Haible  <bruno@clisp.org>
29685
29686         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
29687
29688 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29689
29690         maint.mk: support update-copyright-env
29691         * top/maint.mk (update-copyright-env): Define place-holder.
29692         (update-copyright): Expand $(update-copyright-env) before
29693         invoking update-copyright.
29694
29695 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29696
29697         update-copyright: implement forced reformatting
29698         * build-aux/update-copyright: Implement and document
29699         UPDATE_COPYRIGHT_FORCE.
29700         * tests/test-update-copyright.sh: Test it.
29701
29702 2009-08-14  Eric Blake  <ebb9@byu.net>
29703         and Bruno Haible  <bruno@clisp.org>
29704
29705         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
29706         * tests/test-locale.c: Revert previous patch related to NULL.
29707         * tests/test-stdio.c: Likewise.
29708         * tests/test-stdlib.c: Likewise.
29709         * tests/test-string.c: Likewise.
29710         * tests/test-unistd.c: Likewise.
29711         * modules/time-tests (Depends-on): Add verify.
29712         * modules/wchar-tests (Depends-on): Likewise.
29713         * tests/test-time.c: Test for NULL compliance.
29714         * tests/test-wchar.c: Likewise.
29715         * modules/locale (Depends-on): Add stddef.
29716         * modules/stdio (Depends-on): Likewise.
29717         * modules/stdlib (Depends-on): Likewise.
29718         * modules/string (Depends-on): Likewise.
29719         * modules/time (Depends-on): Likewise.
29720         * modules/unistd (Depends-on): Likewise.
29721         * modules/wchar (Depends-on): Likewise.
29722         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
29723         * lib/stdlib.in.h (includes): Likewise.
29724         * lib/string.in.h (includes): Likewise.
29725         * lib/time.in.h (includes): Likewise.
29726         * lib/unistd.in.h (includes): Likewise.
29727         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
29728         replaced.
29729         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29730         * m4/stddef_h.m4: New file.
29731         * modules/stddef: Likewise.
29732         * lib/stddef.in.h: Likewise.
29733         * modules/stddef-tests: Likewise.
29734         * tests/test-stddef.c: Likewise.
29735         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
29736         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
29737         * doc/posix-headers/locale.texi (locale.h): Likewise.
29738         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
29739         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29740         * doc/posix-headers/string.texi (string.h): Likewise.
29741         * doc/posix-headers/time.texi (time.h): Likewise.
29742         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
29743         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
29744
29745 2009-08-14  Eric Blake  <ebb9@byu.net>
29746
29747         doc: improve git diff of texinfo files
29748         * .gitattributes: Add rule for *.texi files, with hint on how to
29749         use it.
29750         Copied from m4, and based on a report by Bruno Haible.
29751
29752 2009-08-14  Bruno Haible  <bruno@clisp.org>
29753
29754         Disable multithread support by default on Cygwin 1.5.x for real.
29755         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
29756
29757 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29758
29759         update-copyright: much ado about intervals
29760         * build-aux/update-copyright: Implement and document
29761         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
29762         of copyright year intervals.
29763         Also, document UPDATE_COPYRIGHT_YEAR.
29764         * tests/test-update-copyright.sh: Test it.
29765
29766         update-copyright: convert 2-digit to 4-digit years
29767         * build-aux/update-copyright: Implement and document.
29768         * tests/test-update-copyright.sh: Update.
29769
29770 2009-08-14  Jim Meyering  <meyering@redhat.com>
29771
29772         test-exclude: avoid coreutils "make check" failure
29773         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
29774         just as in test-argmatch.c.
29775
29776 2009-08-13  Eric Blake  <ebb9@byu.net>
29777
29778         test-dup2: fix bad assumption
29779         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
29780         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
29781
29782         test-version-etc: fix CRLF portability issue
29783         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
29784         recognize \r.
29785         * tests/test-argp-version-etc-1.sh: Likewise.
29786
29787         getopt: update client modules
29788         * modules/argp (Depends-on): Use getopt-gnu.
29789         * modules/git-merge-changelog (Depends-on): Likewise.
29790         * modules/long-options (Depends-on): Likewise.
29791         * modules/xstrtol (Depends-on): Likewise.
29792
29793 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29794
29795         * tests/test-version-etc.sh: Don't fail on different
29796         project/version.  Don't fail on CRLF differences.  Rewrite to use
29797         multiple -e instead of multiple sed forks, suggested by Eric Blake
29798         <ebb9@byu.net>.
29799         * tests/test-argp-version-etc-1.sh: Likewise.
29800
29801 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29802
29803         * tests/test-version-etc.sh: Don't fail on different
29804         project/version.
29805
29806 2009-08-12  Bruno Haible  <bruno@clisp.org>
29807
29808         Tests for modules 'getopt-posix', 'getopt-gnu'.
29809         * modules/getopt-posix-tests: New file.
29810         * tests/test-getopt.c: New file.
29811         * tests/test-getopt.h: New file.
29812         * tests/test-getopt_long.h: New file.
29813
29814         New modules 'getopt-posix', 'getopt-gnu'.
29815         * modules/getopt-gnu: New file, renamed from modules/getopt.
29816         * modules/getopt-posix: New file.
29817         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
29818         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
29819         (gl_GETOPT): Remove macro.
29820         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
29821         Disable the test against BSD systems that declare optreset. Test
29822         against mingw bug. Test against lack of support of optional arguments
29823         on many platforms.
29824         * doc/glibc-headers/getopt.texi: Update module name and list of
29825         relevant platforms.
29826         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
29827         'getopt-gnu' and more portability problems.
29828         * NEWS: Mention the changes.
29829
29830 2009-08-12  Bruno Haible  <bruno@clisp.org>
29831
29832         Ensure that optarg etc. get declared by <unistd.h>.
29833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
29834         AC_USE_SYSTEM_EXTENSIONS.
29835         * modules/getopt (Depends-on): Add 'extensions'.
29836
29837 2009-08-12  Bruno Haible  <bruno@clisp.org>
29838
29839         Avoid test link errors.
29840         * modules/pipe-filter-ii-tests (Makefile.am): Define
29841         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
29842         * modules/pipe-filter-gi-tests (Makefile.am): Define
29843         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
29844         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29845
29846 2009-08-12  Bruno Haible  <bruno@clisp.org>
29847
29848         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
29849         gl_GETOPT_SUBSTITUTE before.
29850         (gl_GETOPT): Use it.
29851         * m4/argp.m4 (gl_ARGP): Update.
29852         Reported by Sergey Poznyakoff.
29853
29854         * m4/getopt.m4: Reorder macros.
29855         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
29856         (gl_GETOPT_SUBSTITUTE): Remove macro.
29857
29858 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29859
29860         Minor improvement in gitlog-to-changelog
29861
29862         * build-aux/gitlog-to-changelog: New option `--format' makes
29863         output format string configurable.
29864
29865 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29866
29867         Optimize exclude: use hash tables for non-wildcard patterns.
29868
29869         * lib/exclude.c: Include hash.h and mbuiter.h
29870         (struct exclude_pattern, exclude_segment): New data types.
29871         (struct exclude): Rewrite.
29872         (fnmatch_pattern_has_wildcards): New function.
29873         (new_exclude_segment, free_exclude_segment): New functions.
29874         (excluded_file_pattern_p, excluded_file_name_p): New functions.
29875         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
29876         * lib/exclude.h (is_fnmatch_pattern): New prototype.
29877         * modules/exclude: Depend on hash and mbuiter.
29878
29879         * modules/exclude-tests: New file.
29880         * tests/test-exclude.c: New file.
29881         * tests/test-exclude1.sh: New file.
29882         * tests/test-exclude2.sh: New file.
29883         * tests/test-exclude3.sh: New file.
29884         * tests/test-exclude4.sh: New file.
29885         * tests/test-exclude5.sh: New file.
29886         * tests/test-exclude6.sh: New file.
29887         * tests/test-exclude7.sh: New file.
29888
29889 2009-08-12  Bruno Haible  <bruno@clisp.org>
29890
29891         Ensure that getopt() gets declared by <unistd.h>.
29892         * lib/unistd.in.h: Conditionally include getopt.h.
29893         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
29894         Set GNULIB_UNISTD_H_GETOPT.
29895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29896         GNULIB_UNISTD_H_GETOPT.
29897         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
29898
29899 2009-08-12  Bruno Haible  <bruno@clisp.org>
29900
29901         Clarify logic.
29902         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
29903         gl_replace_getopt instead of GETOPT_H.
29904
29905 2009-08-12  Bruno Haible  <bruno@clisp.org>
29906
29907         * m4/getopt.m4: Add comments.
29908
29909 2009-08-12  Bruno Haible  <bruno@clisp.org>
29910
29911         Disable multithread support by default on Cygwin 1.5.x.
29912         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
29913         set gl_use_threads=no if not specified otherwise.
29914
29915 2009-08-11  Bruno Haible  <bruno@clisp.org>
29916
29917         Avoid compilation error on NetBSD 5.0.
29918         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
29919         * tests/test-stdio.c: Likewise.
29920         * tests/test-stdlib.c: Likewise.
29921         * tests/test-string.c: Likewise.
29922         * tests/test-unistd.c: Likewise.
29923         Reported by Greg Troxel <gdt@ir.bbn.com>
29924         at <https://savannah.gnu.org/support/?106973>.
29925
29926 2009-08-11  Bruno Haible  <bruno@clisp.org>
29927
29928         * modules/dup2-tests (Depends-on): Remove close.
29929
29930         Undo 2009-07-19 commit.
29931         * modules/acl-tests (Depends-on): Remove close.
29932         * modules/binary-io-tests (Depends-on): Likewise.
29933         * modules/closein-tests (Depends-on): Likewise.
29934         * modules/flock-tests (Depends-on): Likewise.
29935         * modules/fsync-tests (Depends-on): Likewise.
29936         * modules/lseek-tests (Depends-on): Likewise.
29937         * modules/pipe-tests (Depends-on): Likewise.
29938         * modules/posix_spawn-tests (Depends-on): Likewise.
29939         * modules/posix_spawnp-tests (Depends-on): Likewise.
29940         * modules/stat-time-tests (Depends-on): Likewise.
29941         * modules/yesno-tests (Depends-on): Likewise.
29942
29943 2009-08-10  Bruno Haible  <bruno@clisp.org>
29944
29945         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
29946
29947 2009-08-10  Bruno Haible  <bruno@clisp.org>
29948
29949         Fix a gcc warning.
29950         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
29951
29952 2009-08-10  Bruno Haible  <bruno@clisp.org>
29953
29954         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
29955         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
29956         not only the first time.
29957         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
29958         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
29959         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
29960         is 1, not only the the first time.
29961
29962 2009-08-10  Bruno Haible  <bruno@clisp.org>
29963
29964         Make it possible to use module 'gethostname' without module 'close'.
29965         * lib/unistd.in.h (close): Evoke a link error only if
29966         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
29967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29968         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29969         * modules/unistd (Makefile.am): Substitute
29970         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29971         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
29972         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
29973         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29974         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29975         * modules/sys_ioctl (Makefile.am): Substitute
29976         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29977         * modules/socket (configure.ac): On native Windows, set
29978         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
29979         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29980         Reported by Sam Steingold <sds@gnu.org>.
29981
29982 2009-08-10  Bruno Haible  <bruno@clisp.org>
29983
29984         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
29985         * modules/ioctl (configure.ac): Likewise.
29986
29987 2009-08-10  Bruno Haible  <bruno@clisp.org>
29988
29989         Avoid collision between gnulib wrapper and libintl wrapper.
29990         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
29991         already defined in intl/printf.c.
29992         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
29993         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
29994
29995 2009-08-09  Bruno Haible  <bruno@clisp.org>
29996
29997         Make <sys/select.h> really self-contained, also on Solaris 10.
29998         * lib/sys_select.in.h: Include <string.h>.
29999         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
30000         Solaris 10 problem.
30001         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
30002         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
30003         Reported by Jim Meyering.
30004
30005 2009-08-09  Bruno Haible  <bruno@clisp.org>
30006
30007         Avoid warnings from 'aclocal' that are due to a use of macro name
30008         AM_XGETTEXT_OPTION that is not defined in automake.
30009         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
30010         automake.
30011         * modules/error (configure.ac): Likewise.
30012         * modules/propername (configure.ac): Likewise.
30013         * modules/vasprintf (configure.ac): Likewise.
30014         * modules/verror (configure.ac): Likewise.
30015         * modules/xprintf (configure.ac): Likewise.
30016         * modules/xvasprintf (configure.ac): Likewise.
30017
30018 2009-08-08  Bruno Haible  <bruno@clisp.org>
30019
30020         Avoid compilation error in C++ mode.
30021         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
30022         Reported by Sam Steingold <sds@gnu.org>.
30023
30024 2009-08-08  Bruno Haible  <bruno@clisp.org>
30025
30026         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
30027         for the various Unix platforms.
30028         * doc/posix-headers/limits.texi: Update platforms list regarding
30029         HOST_NAME_MAX.
30030         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30031
30032 2009-08-07  Jim Meyering  <meyering@redhat.com>
30033
30034         selinux-at: fix typo in a comment
30035         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
30036         Spotted by Paolo Bonzini.
30037
30038         selinux-at: remove redundant m4 code, add documentation
30039         * modules/selinux-at (configure.ac): Remove redundant code.
30040         LIB_SELINUX is already set via the dependent module, selinux-h.
30041         (Include): Add quotes around selinux-at.h.
30042         * lib/selinux-at.h: Add documentation.
30043         Reported by Bruno Haible in
30044         http://marc.info/?l=gnulib-bug&m=124958988300749
30045
30046 2009-08-07  Bruno Haible  <bruno@clisp.org>
30047
30048         Avoid link error on MacOS X 10.3 and 10.4.
30049         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
30050         on non-ELF systems.
30051         * lib/argp-pv.c (argp_program_version): Likewise.
30052         Reported by Simon Josefsson.
30053
30054 2009-08-07  Simon Josefsson  <simon@josefsson.org>
30055
30056         * tests/test-version-etc.sh: Use $EXEEXT.
30057
30058 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
30059
30060         update-copyright: update documentation to point to maint.mk
30061         * build-aux/update-copyright: Here.
30062
30063 2009-08-06  Jim Meyering  <meyering@redhat.com>
30064
30065         maint.mk: support update-copyright-local
30066         * top/maint.mk (update-copyright-local): Define place-holder.
30067         (update-copyright): Depend on $(update-copyright-local).
30068
30069 2009-08-06  Jim Meyering  <meyering@redhat.com>
30070
30071         selinux-at: new module
30072         Initially written for coreutils, this module will soon be
30073         used by findutils, too.
30074         * MODULES.html.sh [Misc]: Add selinux-at.
30075         * lib/selinux-at.h: New file, from coreutils.
30076         * lib/selinux-at.c: Likewise.
30077         * modules/selinux-at: Likewise.
30078         (License): Change from LGPL to GPL, since it depends
30079         on the GPL'd openat module.
30080
30081         doc: update README
30082         * README: Remove references to cogito.
30083         Remove cvs-repo-updating instructions from 2007.
30084         Don't imply that CVS is better if you have limited disk space.
30085
30086 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30087
30088         update-copyright: support C-style comments
30089         * build-aux/update-copyright: Implement and document.
30090         * tests/test-update-copyright.sh: Test.
30091
30092 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30093
30094         update-copyright: support omitted "(C)"
30095         * build-aux/update-copyright: Implement and document.  Also,
30096         allow variable whitespace before "(C)".
30097         * tests/test-update-copyright.sh: Test.
30098
30099 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30100
30101         update-copyright: don't trip on non-FSF copyright statements
30102         * build-aux/update-copyright: Fix so that the first correctly
30103         formatted FSF copyright statement is recognized no matter what
30104         appears before it.  Update documentation.
30105         * tests/test-update-copyright.sh: Test that.
30106
30107 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30108
30109         update-copyright: clean up code a little
30110         * build-aux/update-copyright: Append "_re" to the name of any
30111         variable holding a regular expression.
30112         Replace "old" and "new" with "stmt" in variable names.
30113         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
30114         handled correctly.
30115         Format code more consistently.
30116
30117 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30118
30119         update-copyright-tests: improve portability
30120         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
30121         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
30122
30123 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
30124
30125         update-copyright: support @copyright{} and &copy;
30126         * build-aux/update-copyright: Implement and document.
30127         * tests/test-update-copyright.sh: Test.
30128
30129 2009-08-04  Jim Meyering  <meyering@redhat.com>
30130
30131         update-copyright-tests: correctly test EOL=\r\n handling
30132         * tests/test-update-copyright.sh: Put \r at the end of some lines
30133         for the dos-eol tests.  Based on a patch by Joel E. Denny.
30134
30135         maint.mk: make update-copyright exclusion list more configurable
30136         * top/maint.mk (update-copyright): Default to excluding COPYING,
30137         but allow an override, in case someone does want to update that file.
30138
30139         maint.mk: don't update copyright date in COPYING
30140         * top/maint.mk (update-copyright): Exclude COPYING.
30141
30142         maint.mk: add a copyright-updating rule
30143         * top/maint.mk (update-copyright): New rule.
30144         Derived from coreutils/Makefile.am.
30145
30146         update-copyright: rename some variables
30147         * build-aux/update-copyright: Rename a few variables for clarity.
30148         Tweak syntax.  List Joel E. Denny as coauthor.
30149
30150 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
30151
30152         update-copyright: fix bug for 2-digit last year and add tests
30153         * build-aux/update-copyright: Fix bug.
30154         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
30155         specified.
30156         * modules/update-copyright-tests: New
30157         * tests/test-update-copyright.sh: New.
30158
30159 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30160
30161         update-copyright: handle leading tabs in line prefix
30162         * build-aux/update-copyright: Count leading tabs as 8 spaces
30163         when computing margin.  This helps with the formatting of
30164         ChangeLogs, for example.
30165         Fix documentation a little.
30166
30167 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30168
30169         update-copyright: support EOL=\r\n
30170         * build-aux/update-copyright: Implement that.
30171
30172 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30173
30174         update-copyright: automatically format copyright statements
30175         * build-aux/update-copyright: Implement that.
30176         Also, be a little more predictable and safer by always failing
30177         when the full copyright format is not perfectly recognized as an
30178         unbroken whole.  Discussed at
30179         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
30180         Rewrite documentation.
30181
30182 2009-08-03  Bruno Haible  <bruno@clisp.org>
30183
30184         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
30185
30186 2009-08-02  Bruno Haible  <bruno@clisp.org>
30187
30188         Tests for module 'uname'.
30189         * modules/uname-tests: New file.
30190         * tests/test-uname.c: New file.
30191
30192         New module 'uname'.
30193         * lib/uname.c: New file.
30194         * m4/uname.m4: New file.
30195         * modules/uname: New file.
30196         * doc/posix-functions/uname.texi: Mention the new module.
30197
30198 2009-08-02  Bruno Haible  <bruno@clisp.org>
30199
30200         Tests for module 'sys_utsname'.
30201         * modules/sys_utsname-tests: New file.
30202         * tests/test-sys_utsname.c: New file.
30203
30204         New module 'sys_utsname'.
30205         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
30206         * m4/sys_utsname_h.m4: New file.
30207         * modules/sys_utsname: New file.
30208         * doc/posix-headers/sys_utsname.texi: Mention the new module.
30209
30210 2009-08-02  Bruno Haible  <bruno@clisp.org>
30211
30212         Implicitly initialize the sockets library.
30213         * lib/gethostname.c: Include sockets.h.
30214         (rpl_gethostname): Invoke gl_sockets_startup.
30215         * lib/socket.c: Include sockets.h.
30216         (rpl_socket): Invoke gl_sockets_startup.
30217         * modules/gethostname (Depends-on): Add sockets.
30218         * modules/socket (Depends-on): Likewise.
30219         * tests/test-poll.c: Don't include sockets.h.
30220         (main): Don't invoke gl_sockets_startup.
30221         * tests/test-select.c: Don't include sockets.h.
30222         (main): Don't invoke gl_sockets_startup.
30223
30224 2009-08-02  Bruno Haible  <bruno@clisp.org>
30225
30226         Allow multiple calls to gl_sockets_startup.
30227         * lib/sockets.c (initialized_sockets_version): New variable.
30228         (gl_sockets_startup): Do nothing if already called for this or a higher
30229         version.
30230         (gl_sockets_cleanup): Reset initialized_sockets_version.
30231
30232 2009-08-03  Simon Josefsson  <simon@josefsson.org>
30233
30234         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
30235         different project/version.
30236
30237 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
30238             Bruno Haible  <bruno@clisp.org>
30239
30240         Tests for module 'pipe-filter-gi'.
30241         * modules/pipe-filter-gi-tests: New file.
30242         * tests/test-pipe-filter-gi1.sh: New file.
30243         * tests/test-pipe-filter-gi1.c: New file.
30244         * tests/test-pipe-filter-gi2.sh: New file.
30245         * tests/test-pipe-filter-gi2-main.c: New file.
30246         * tests/test-pipe-filter-gi2-child.c: New file.
30247
30248         New module 'pipe-filter-gi'.
30249         * lib/pipe-filter-gi.c: New file.
30250         * modules/pipe-filter-gi: New file.
30251
30252 2009-08-02  Bruno Haible  <bruno@clisp.org>
30253             Paolo Bonzini  <bonzini@gnu.org>
30254
30255         Tests for module 'pipe-filter-ii'.
30256         * modules/pipe-filter-ii-tests: New file.
30257         * tests/test-pipe-filter-ii1.sh: New file.
30258         * tests/test-pipe-filter-ii1.c: New file.
30259         * tests/test-pipe-filter-ii2.sh: New file.
30260         * tests/test-pipe-filter-ii2-main.c: New file.
30261         * tests/test-pipe-filter-ii2-child.c: New file.
30262
30263         New module 'pipe-filter-ii'.
30264         * lib/pipe-filter.h: New file.
30265         * lib/pipe-filter-ii.c: New file.
30266         * lib/pipe-filter-aux.h: New file.
30267         * modules/pipe-filter-ii: New file.
30268
30269 2009-08-02  Simon Josefsson  <simon@josefsson.org>
30270
30271         * lib/gc-libgcrypt.c: Change copyright to FSF.
30272         * lib/gc-gnulib.c: Likewise.
30273
30274 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
30275
30276         * lib/gethostname.c: Include limits.h.
30277
30278 2009-08-02  Simon Josefsson  <simon@josefsson.org>
30279             Bruno Haible  <bruno@clisp.org>
30280
30281         Ensure HOST_NAME_MAX as part of the gethostname module.
30282         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
30283         define also HOST_NAME_MAX.
30284         * tests/test-gethostname.c: Include <limits.h>.
30285         (main): Check also HOST_NAME_MAX.
30286         * doc/posix-headers/limits.texi: Document the mingw problem.
30287
30288 2009-08-02  Bruno Haible  <bruno@clisp.org>
30289
30290         * lib/gethostname.c (gethostname): Fix handling of large len argument.
30291         Add comments.
30292
30293 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30294
30295         * lib/gethostname.c: Add Windows wrapper.
30296         * m4/gethostname.m4: Look for gethostname in -lws2_32.
30297         * modules/gethostname: Depend on sys_socket & errno, for also
30298         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
30299         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
30300
30301 2009-07-31  Jim Meyering  <meyering@redhat.com>
30302
30303         getloadavg: fix symbol name in comment
30304         * lib/getloadavg.c: Correct a typo I introduced when adding
30305         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
30306         Matt Kraai spotted the problem.
30307
30308 2009-07-29  Matt Kraai  <mkraai@beckman.com>
30309
30310         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
30311         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
30312         code also if ! defined N_NAME_POINTER.
30313         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
30314         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
30315         but the n_name member is a 12-byte array.
30316
30317 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
30318
30319         update-copyright: generalize comment handling
30320         * build-aux/update-copyright: Handle copyright statements
30321         within more comment styles.
30322         Document usage.
30323         Report any file with an external copyright holder or parse failure.
30324
30325 2009-07-29  Jim Meyering  <meyering@redhat.com>
30326
30327         mktime: correct setting of REPLACE_MKTIME
30328         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
30329
30330         update-copyright: new module
30331         * modules/update-copyright: New file.
30332         * build-aux/update-copyright: New file.
30333         * MODULES.html.sh (maint+release support): Add update-copyright.
30334
30335 2009-07-27  Bruno Haible  <bruno@clisp.org>
30336
30337         Fix compilation error when <ctime> is used and mktime is replaced.
30338         * lib/time.in.h (mktime): New declaration.
30339         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
30340         REPLACE_MKTIME instead of defining mktime in config.h.
30341         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
30342         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
30343         Reported by Ross McFarland <rwmcfa1@neces.com>.
30344
30345 2009-07-27  Bruno Haible  <bruno@clisp.org>
30346
30347         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
30348         Reported by Matt Kraai <mkraai@beckman.com>.
30349
30350 2009-07-25  Jim Meyering  <meyering@redhat.com>
30351
30352         maint.mk: avoid warnings about missing files
30353         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
30354         diagnostic when .prev-version does not exist.
30355         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
30356         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
30357         nonexistent cfg.mk.
30358         Suggestions from Simon Josefsson.
30359
30360 2009-07-25  Bruno Haible  <bruno@clisp.org>
30361
30362         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
30363         defined as macros. Needed on QNX 6.4.1.
30364         Reported by Matt Kraai <mkraai@beckman.com>.
30365
30366 2009-07-23  Jim Meyering  <meyering@redhat.com>
30367
30368         maint.mk: invoke "make dist" with a working value of XZ_OPT
30369         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
30370
30371 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
30372
30373         Make fseeko.c compile on QNX.
30374         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
30375
30376 2009-07-22  Peter Simons  <simons@cryp.to>
30377
30378         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
30379         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
30380         * lib/md4.h: Likewise.
30381         * lib/md5.h: Likewise.
30382         * lib/sha1.h: Likewise.
30383         * lib/sha256.h: Likewise.
30384         * lib/sha512.h: Likewise.
30385
30386         tests-sha1: don't assign literal string to 'char *' variable
30387         * tests/test-sha1.c (main): Declare locals with "const" to match
30388         attributes of the right hand side.
30389
30390 2009-07-21  Eric Blake  <ebb9@byu.net>
30391
30392         dup2: fix more mingw problems
30393         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
30394         fd to itself.
30395         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30396         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
30397         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
30398         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
30399         care of mingw bugs.
30400
30401 2009-07-21  Jim Meyering  <meyering@redhat.com>
30402
30403         vc-list-files: avoid failure when /bin/sh is dash
30404         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
30405         On some Debian based systems, /bin/sh is a symlink to dash, and running
30406         this command would omit the "/" following each 'tests' prefix:
30407           dash -x build-aux/vc-list-files -C . tests
30408         That is because bash and dash work differently:
30409           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
30410           bash ok
30411           dash odd
30412
30413 2009-07-21  Eric Blake  <ebb9@byu.net>
30414
30415         dup2-tests: test previous patch
30416         * modules/dup2-tests: New file.
30417         * tests/test-dup2.c: Likewise.
30418         * tests/test-open.c (main): Avoid unspecified behavior.
30419         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
30420         test.
30421
30422         dup2: work around mingw and cygwin 1.5 bug
30423         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
30424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30425         * modules/unistd (Makefile.am): Substitute it.
30426         * lib/unistd.in.h (dup2): Declare the replacement.
30427         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
30428         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
30429         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
30430         * modules/execute (Depends-on): Add dup2.
30431         * modules/fseterr (Depends-on): Likewise.
30432         * modules/pipe (Depends-on): Likewise.
30433         * modules/posix_spawn-internal (Depends-on): Likewise.
30434
30435 2009-07-21  Bruno Haible  <bruno@clisp.org>
30436
30437         * modules/.gitattributes: New file.
30438
30439 2009-07-20  Bruno Haible  <bruno@clisp.org>
30440
30441         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
30442         (main): Use it.
30443
30444 2009-07-20  Eric Blake  <ebb9@byu.net>
30445
30446         test-pipe: make a bit more robust.
30447         * tests/test-pipe.c (myerr): Allow error messages regardless of
30448         what we do to stderr.
30449         (test_pipe): Rearrange to avoid deadlock.
30450         (child_main): Try a larger read, to ensure we avoided deadlock.
30451         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
30452         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
30453         if misused.
30454
30455 2009-07-19  Jim Meyering  <meyering@redhat.com>
30456
30457         fts: avoid false-positive cycle-detection
30458         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
30459         for each new command line argument.
30460
30461 2009-07-19  Bruno Haible  <bruno@clisp.org>
30462
30463         Fix build error on mingw with the modules sys_select and unistd.
30464         * modules/acl-tests (Depends-on): Add close.
30465         * modules/binary-io-tests (Depends-on): Likewise.
30466         * modules/closein-tests (Depends-on): Likewise.
30467         * modules/flock-tests (Depends-on): Likewise.
30468         * modules/fsync-tests (Depends-on): Likewise.
30469         * modules/lseek-tests (Depends-on): Likewise.
30470         * modules/pipe-tests (Depends-on): Likewise.
30471         * modules/posix_spawn-tests (Depends-on): Likewise.
30472         * modules/posix_spawnp-tests (Depends-on): Likewise.
30473         * modules/stat-time-tests (Depends-on): Likewise.
30474         * modules/yesno-tests (Depends-on): Likewise.
30475
30476 2009-07-19  Bruno Haible  <bruno@clisp.org>
30477
30478         Unify conditionals.
30479         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
30480         macros, not at the compiler macros.
30481         * lib/pipe.c: Likewise.
30482         * lib/execute.c: Likewise.
30483         * lib/spawni.c: Likewise.
30484
30485 2009-07-19  Bruno Haible  <bruno@clisp.org>
30486
30487         Fix handling of closed stdin/stdout/stderr on mingw.
30488         * lib/w32spawn.h: Include unistd.h.
30489         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
30490         file descriptor with O_NOINHERIT flag.
30491         (fd_safer_noinherit): New function, based on fd-safer.c.
30492         (dup_safer_noinherit): New function, based on dup-safer.c.
30493         (undup_safer_noinherit): New function.
30494         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
30495         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
30496         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
30497         instead of fd_safer.
30498         * tests/test-pipe.c: Include <windows.h>.
30499         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
30500         result.
30501
30502         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
30503         from main.
30504         (test_pipe): Pass an extra argument for disambiguation.
30505         (main): Invoke parent_main or child_main.
30506
30507         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
30508         consistently.
30509
30510 2009-07-18  Eric Blake  <ebb9@byu.net>
30511
30512         test-pipe: fix mingw build
30513         * tests/test-pipe.c (main): Avoid fcntl on mingw.
30514
30515 2009-07-18  Bruno Haible  <bruno@clisp.org>
30516
30517         * modules/pipe-tests (Makefile.am): Fix typo.
30518
30519 2009-07-18  Eric Blake  <ebb9@byu.net>
30520
30521         error: fix mingw build
30522         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
30523         Reported by Bruno Haible.
30524
30525         error: avoid undefined use of stdout
30526         * lib/error.c (error, error_at_line): Check that fd 1 is open
30527         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
30528         is handling faults and the close_stdout module wants to report the
30529         detection of closed stdout as an error.
30530
30531 2009-07-17  Eric Blake  <ebb9@byu.net>
30532
30533         pipe: be robust in face of closed fds
30534         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
30535         should cause child to misbehave.
30536         * modules/pipe-tests: New module.
30537         * tests/test-pipe.c: New file.
30538         * tests/test-pipe.sh: New file.
30539         Reported by Akim Demaille.
30540
30541 2009-07-14  Bruno Haible  <bruno@clisp.org>
30542
30543         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
30544         Reported by anonymous kc.
30545
30546 2009-07-07  Jim Meyering  <meyering@redhat.com>
30547
30548         maint.mk: don't look for translatable strings in *.m4 or *.mk
30549         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
30550         when searching for translatable strings.
30551
30552 2009-07-05  Jim Meyering  <meyering@redhat.com>
30553
30554         remove superfluous parentheses in STREQ definition
30555         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
30556         * lib/getugroups.c (STREQ): Likewise.
30557         * lib/fnmatch.c (STREQ): Likewise.
30558         Spotted by Bruno Haible.
30559
30560 2009-07-04  Jim Meyering  <meyering@redhat.com>
30561
30562         argv-iter: new module
30563         * MODULES.html.sh: Add argv-iter.
30564         * lib/argv-iter.c, lib/argv-iter.h: New files.
30565         * modules/argv-iter: New file.
30566         * modules/argv-iter-tests: New file.
30567         * tests/test-argv-iter.c: Test it.
30568
30569 2009-07-04  Bruno Haible  <bruno@clisp.org>
30570
30571         Fix assertion.
30572         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
30573         contains more exact copies of a given entry than file2, leave the extra
30574         copies unpaired rather than aborting.
30575         Reported by Eric Blake.
30576
30577 2009-07-02  Bruno Haible  <bruno@clisp.org>
30578
30579         Speedup git-merge-changelog for git cherry-pick.
30580         * lib/git-merge-changelog.c (struct entries_mapping): New type.
30581         (entries_mapping_get): New function, extracted from compute_mapping.
30582         (entries_mapping_reverse_get): New function.
30583         (compute_mapping): Add a 'full' argument. Return the result in a
30584         'struct entries_mapping'.
30585         (main): Update. Access the mappings through entries_mapping_get.
30586         Reported by Eric Blake.
30587
30588 2009-07-02  Bruno Haible  <bruno@clisp.org>
30589
30590         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
30591         best_i.
30592
30593 2009-07-02  Bruno Haible  <bruno@clisp.org>
30594
30595         Speed up approximate search for matching ChangeLog entries.
30596         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
30597         argument. Call fstrcmp_bounded instead of fstrcmp.
30598         (compute_mapping, try_split_merged_entry, main): Update callers.
30599
30600 2009-07-02  Bruno Haible  <bruno@clisp.org>
30601
30602         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
30603
30604 2009-06-30  Bruno Haible  <bruno@clisp.org>
30605
30606         Reduce the number of uc_is_cased calls.
30607         * lib/unicase.h (casing_suffix_context_t): Add
30608         'first_char_except_ignorable' field.
30609         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
30610         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
30611         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
30612         Update initializer.
30613         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
30614         case-ignorable characters.
30615         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
30616         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
30617         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
30618         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
30619         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
30620
30621 2009-06-30  Bruno Haible  <bruno@clisp.org>
30622
30623         Tests for module 'unicase/ignorable'.
30624         * modules/unicase/ignorable-tests: New file.
30625         * tests/unicase/test-ignorable.c: New file, generated by
30626         gen-uni-tables.
30627
30628         Tests for module 'unicase/cased'.
30629         * modules/unicase/cased-tests: New file.
30630         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
30631         * tests/unicase/test-predicate-part1.h: New file, derived from
30632         tests/unictype/test-predicate-part1.h.
30633         * tests/unicase/test-predicate-part2.h: New file, same as
30634         tests/unictype/test-predicate-part2.h.
30635
30636         Fix evaluation of "Before C" condition of FINAL_SIGMA.
30637         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
30638         (output_casing_properties): New function.
30639         (main): Call it.
30640         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
30641         * lib/unicase/cased.c: Include unictype/bitmap.h.
30642         (uc_is_cased): Define through a bitmap lookup.
30643         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
30644         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
30645         (uc_is_case_ignorable): Define through a bitmap lookup.
30646         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
30647         lib/unictype/bitmap.h.
30648         (Depends-on): Add inline. Clean up.
30649         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
30650         lib/unictype/bitmap.h.
30651         (Depends-on): Add inline. Clean up.
30652         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
30653         recognition.
30654         * tests/unicase/test-u16-tolower.c (main): Likewise.
30655         * tests/unicase/test-u32-tolower.c (main): Likewise.
30656
30657 2009-06-30  Bruno Haible  <bruno@clisp.org>
30658
30659         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
30660         * lib/unicase/u16-casemap.c: Likewise.
30661         * lib/unicase/u32-casemap.c: Likewise.
30662
30663 2009-06-29  Bruno Haible  <bruno@clisp.org>
30664
30665         Define u32_casefold as a wrapper around u32_ct_casefold.
30666         * lib/unicase/u32-casefold.c: Update.
30667         * modules/unicase/u32-casefold (Depends-on): Add
30668         unicase/u32-ct-casefold, unicase/empty-prefix-context,
30669         unicase/empty-suffix-context. Clean up.
30670
30671         Define u16_casefold as a wrapper around u16_ct_casefold.
30672         * lib/unicase/u16-casefold.c: Update.
30673         * modules/unicase/u16-casefold (Depends-on): Add
30674         unicase/u16-ct-casefold, unicase/empty-prefix-context,
30675         unicase/empty-suffix-context. Clean up.
30676
30677         Define u8_casefold as a wrapper around u8_ct_casefold.
30678         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
30679         * lib/unicase/u8-casefold.c: Update.
30680         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
30681         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30682
30683         Define u32_totitle as a wrapper around u32_ct_totitle.
30684         * lib/unicase/u32-totitle.c: Update.
30685         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
30686         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30687
30688         Define u16_totitle as a wrapper around u16_ct_totitle.
30689         * lib/unicase/u16-totitle.c: Update.
30690         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
30691         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30692
30693         Define u8_totitle as a wrapper around u8_ct_totitle.
30694         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
30695         functions.
30696         (FUNC): Delegate to U_CT_TOTITLE.
30697         * lib/unicase/u8-totitle.c: Update.
30698         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
30699         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30700
30701         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
30702         invocation.
30703         * modules/unicase/u32-tolower (Depends-on): Add
30704         unicase/empty-prefix-context, unicase/empty-suffix-context.
30705
30706         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
30707         invocation.
30708         * modules/unicase/u16-tolower (Depends-on): Add
30709         unicase/empty-prefix-context, unicase/empty-suffix-context.
30710
30711         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
30712         * modules/unicase/u8-tolower (Depends-on): Add
30713         unicase/empty-prefix-context, unicase/empty-suffix-context.
30714
30715         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
30716         invocation.
30717         * modules/unicase/u32-toupper (Depends-on): Add
30718         unicase/empty-prefix-context, unicase/empty-suffix-context.
30719
30720         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
30721         invocation.
30722         * modules/unicase/u16-toupper (Depends-on): Add
30723         unicase/empty-prefix-context, unicase/empty-suffix-context.
30724
30725         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
30726         * modules/unicase/u8-toupper (Depends-on): Add
30727         unicase/empty-prefix-context, unicase/empty-suffix-context.
30728
30729         New module 'unicase/u32-ct-casefold'.
30730         * lib/unicase/u32-ct-casefold.c: New file.
30731         * modules/unicase/u32-ct-casefold: New file.
30732
30733         New module 'unicase/u16-ct-casefold'.
30734         * lib/unicase/u16-ct-casefold.c: New file.
30735         * modules/unicase/u16-ct-casefold: New file.
30736
30737         New module 'unicase/u8-ct-casefold'.
30738         * lib/unicase/u8-ct-casefold.c: New file.
30739         * lib/unicase/u-ct-casefold.h: New file, derived from
30740         lib/unicase/u-casefold.h.
30741         * modules/unicase/u8-ct-casefold: New file.
30742
30743         New module 'unicase/u32-ct-totitle'.
30744         * lib/unicase/u32-ct-totitle.c: New file.
30745         * modules/unicase/u32-ct-totitle: New file.
30746
30747         New module 'unicase/u16-ct-totitle'.
30748         * lib/unicase/u16-ct-totitle.c: New file.
30749         * modules/unicase/u16-ct-totitle: New file.
30750
30751         New module 'unicase/u8-ct-totitle'.
30752         * lib/unicase/u8-ct-totitle.c: New file.
30753         * lib/unicase/u-ct-totitle.h: New file, derived from
30754         lib/unicase/u-totitle.h.
30755         * modules/unicase/u8-ct-totitle: New file.
30756
30757         New module 'unicase/u32-ct-tolower'.
30758         * lib/unicase/u32-ct-tolower.c: New file.
30759         * modules/unicase/u32-ct-tolower: New file.
30760
30761         New module 'unicase/u16-ct-tolower'.
30762         * lib/unicase/u16-ct-tolower.c: New file.
30763         * modules/unicase/u16-ct-tolower: New file.
30764
30765         New module 'unicase/u8-ct-tolower'.
30766         * lib/unicase/u8-ct-tolower.c: New file.
30767         * modules/unicase/u8-ct-tolower: New file.
30768
30769         New module 'unicase/u32-ct-toupper'.
30770         * lib/unicase/u32-ct-toupper.c: New file.
30771         * modules/unicase/u32-ct-toupper: New file.
30772
30773         New module 'unicase/u16-ct-toupper'.
30774         * lib/unicase/u16-ct-toupper.c: New file.
30775         * modules/unicase/u16-ct-toupper: New file.
30776
30777         New module 'unicase/u8-ct-toupper'.
30778         * lib/unicase/u8-ct-toupper.c: New file.
30779         * modules/unicase/u8-ct-toupper: New file.
30780
30781         Add context arguments to u*_casemap functions.
30782         * lib/unicase/unicasemap.h: Include unicase.h.
30783         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
30784         suffix_context arguments.
30785         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
30786         functions.
30787         (FUNC): Add prefix_context and suffix_context arguments. Use
30788         uc_is_cased and uc_is_case_ignorable.
30789         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
30790         * lib/unicase/u16-casemap.c: Likewise.
30791         * lib/unicase/u32-casemap.c: Likewise.
30792         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
30793         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30794         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
30795         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30796         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
30797         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30798
30799         New module 'unicase/u32-suffix-context'.
30800         * lib/unicase/u32-suffix-context.c: New file.
30801         * modules/unicase/u32-suffix-context: New file.
30802
30803         New module 'unicase/u16-suffix-context'.
30804         * lib/unicase/u16-suffix-context.c: New file.
30805         * modules/unicase/u16-suffix-context: New file.
30806
30807         New module 'unicase/u8-suffix-context'.
30808         * lib/unicase/u8-suffix-context.c: New file.
30809         * lib/unicase/u-suffix-context.h: New file.
30810         * modules/unicase/u8-suffix-context: New file.
30811
30812         New module 'unicase/empty-suffix-context'.
30813         * lib/unicase/empty-suffix-context.c: New file.
30814         * modules/unicase/empty-suffix-context: New file.
30815
30816         New module 'unicase/u32-prefix-context'.
30817         * lib/unicase/u32-prefix-context.c: New file.
30818         * modules/unicase/u32-prefix-context: New file.
30819
30820         New module 'unicase/u16-prefix-context'.
30821         * lib/unicase/u16-prefix-context.c: New file.
30822         * modules/unicase/u16-prefix-context: New file.
30823
30824         New module 'unicase/u8-prefix-context'.
30825         * lib/unicase/u8-prefix-context.c: New file.
30826         * lib/unicase/u-prefix-context.h: New file.
30827         * lib/unicase/context.h: New file.
30828         * modules/unicase/u8-prefix-context: New file.
30829
30830         New module 'unicase/empty-prefix-context'.
30831         * lib/unicase/empty-prefix-context.c: New file.
30832         * modules/unicase/empty-prefix-context: New file.
30833
30834         New module 'unicase/ignorable'.
30835         * lib/unicase/ignorable.c: New file.
30836         * modules/unicase/ignorable: New file.
30837
30838         New module 'unicase/cased'.
30839         * lib/unicase/caseprop.h: New file.
30840         * lib/unicase/cased.c: New file.
30841         * modules/unicase/cased: New file.
30842
30843         New functions for case mapping of substrings.
30844         * lib/unicase.h (casing_prefix_context_t): New type.
30845         (unicase_empty_prefix_context): New variable.
30846         (u8_casing_prefix_context, u16_casing_prefix_context,
30847         u32_casing_prefix_context, u8_casing_prefixes_context,
30848         u16_casing_prefixes_context, u32_casing_prefixes_context): New
30849         declarations.
30850         (casing_suffix_context_t): New type.
30851         (unicase_empty_suffix_context): New variable.
30852         (u8_casing_suffix_context, u16_casing_suffix_context,
30853         u32_casing_suffix_context, u8_casing_suffixes_context,
30854         u16_casing_suffixes_context, u32_casing_suffixes_context,
30855         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
30856         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
30857         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
30858         declarations.
30859
30860 2009-06-28  Jim Meyering  <meyering@redhat.com>
30861
30862         boostrap: indent only with spaces
30863         * build-aux/bootstrap: Indent only with spaces, never TABs.
30864
30865         bootstrap: split long lines
30866         * build-aux/bootstrap: Keep line length < 80.
30867
30868         bootstrap: sync from coreutils
30869         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
30870         just as autoreconf does.  Verify a list of prerequisite
30871         package-name,version-number pairs if defined in bootstrap.conf.
30872         Refer to README-prereq, if prerequisites are not satisfied.
30873
30874 2009-06-27  Eric Blake  <ebb9@byu.net>
30875
30876         tests: add test for bogus NULL definition
30877         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
30878         * tests/test-stdlib.c: Likewise.
30879         * tests/test-string.c: Likewise.
30880         * tests/test-locale.c: Likewise.
30881         * tests/test-unistd.c: Likewise.
30882         * modules/stdio-tests (Depends-on): Add verify.
30883         * modules/stdlib-tests (Depends-on): Likewise.
30884         * modules/string-tests (Depends-on): Likewise.
30885         * modules/locale-tests (Depends-on): Likewise.
30886         * modules/unistd-tests (Depends-on): Likewise.
30887
30888 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
30889
30890         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
30891         self-explaining comment.
30892         * m4/selinux-selinux-h: Update serial.
30893         (gl_LIBSELINUX): New macro, adding a warning for missing development
30894         packages to code extracted from...
30895         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
30896         Add warning for missing development packages here, too.
30897
30898 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
30899
30900         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
30901
30902 2009-06-25  Eric Blake  <ebb9@byu.net>
30903
30904         version-etc: fix regression
30905         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
30906         gcc.
30907         (version_etc): Use it, to catch bugs with trailing NULL.
30908         * lib/version-etc.c (version_etc_arn): Delete unused argument.
30909         (version_etc_va): Fix logic bug.
30910         * modules/version-etc-tests: Add test.
30911         * tests/test-version-etc.c: New file.
30912         * tests/test-version-etc.sh: Likewise.
30913
30914 2009-06-25  Sam Steingold  <sds@gnu.org>
30915
30916         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
30917         mbtowc declaration.
30918
30919 2009-06-25  Eric Blake  <ebb9@byu.net>
30920
30921         fpurge: migrate into <stdio.h>
30922         * lib/fpurge.h: Delete...
30923         * lib/stdio.in.h (fpurge): ...and declare here, instead.
30924         * lib/fpurge.c (fpurge): Change declaring header.
30925         * modules/fpurge (Files): Drop deleted file.
30926         (Depends-on): Add stdio.
30927         (configure.ac): Set witness.
30928         * modules/stdio (Makefile.am): Support fpurge macros.
30929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30930         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
30931         * lib/fflush.c: Update client.
30932         * tests/test-fpurge.c: Likewise.
30933         * NEWS: Mention the change.
30934
30935 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30936
30937         * lib/argp-version-etc.c (program_authors): Add const
30938         qualifier.
30939         * lib/version-etc.c: Fix typos in the comments.
30940         * modules/argp-version-etc: Depends on version-etc.
30941
30942 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30943
30944         argp-version-etc: new module.
30945
30946         * lib/argp-version-etc.c: New file.
30947         * lib/argp-version-etc.h: New file.
30948         * modules/argp-version-etc: New file.
30949         * modules/argp-version-etc-tests: New file.
30950         * tests/test-argp-version-etc.c: New test.
30951         * tests/test-argp-version-etc-1.sh: New test.
30952
30953 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30954
30955         Provide additional interfaces and documentation for version-etc
30956         module.
30957
30958         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
30959         interfaces.
30960         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
30961         prototypes.
30962
30963 2009-06-24  Bruno Haible  <bruno@clisp.org>
30964
30965         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
30966         HAVE_LIB${NAME} macro.
30967         Reported by Sam Steingold <sds@gnu.org>.
30968
30969 2009-06-23  Simon Josefsson  <simon@josefsson.org>
30970
30971         * modules/hash-tests (test_hash_LDADD): Link to libintl when
30972         needed.
30973
30974 2009-06-21  Bruno Haible  <bruno@clisp.org>
30975
30976         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
30977         work.
30978         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
30979         together with LIB${NAME}, LTLIB${NAME}.
30980         Reported by Sam Steingold <sds@gnu.org>.
30981
30982 2009-06-20  Jim Meyering  <meyering@redhat.com>
30983
30984         tests: make sc_require_test_exit_idiom more generic
30985         * top/maint.mk (Exit_witness_file): New overridable variable.
30986         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
30987         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
30988
30989 2009-06-19  Jim Meyering  <meyering@redhat.com>
30990
30991         hash: reverse order of src/dst parameters in an internal interface
30992         * lib/hash.c (transfer_entries): Reverse order of parameters to
30993         put DST before SRC.  Adjust callers.
30994
30995         tests: test-hash: avoid wholesale duplication
30996         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
30997         Instead, use a loop and add a single conditional.
30998
30999         tests: test-hash: allow seed selection via a command line argument
31000         * tests/test-hash.c (get_seed): New function.
31001         (main): Use it.
31002
31003 2009-06-19  Eric Blake  <ebb9@byu.net>
31004
31005         hash: avoid memory leak on allocation failure
31006         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
31007         failure.  Factor repeated algorithm...
31008         (transfer_entries): ...into new helper routine.
31009         (hash_delete): React to hash_rehash return value.
31010
31011         hash: reduce memory pressure in hash_rehash no-op case
31012         * lib/hash.c (next_prime): Avoid overflow.
31013         (hash_initialize): Factor bucket size computation...
31014         (compute_bucket_size): ...into new helper function.
31015         (hash_rehash): Use new function and open coding to reduce memory
31016         pressure, and avoid a memory leak in USE_OBSTACK code.
31017         Reported by Jim Meyering.
31018
31019 2009-06-18  Eric Blake  <ebb9@byu.net>
31020
31021         hash: make rotation more obvious
31022         * modules/hash (Depends-on): Add bitrotate and stdint.
31023         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
31024         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
31025         (SIZE_MAX): Rely on headers for definition.
31026         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
31027         (raw_hasher): Use rotr_sz.
31028         Suggested by Jim Meyering.
31029
31030         hash: fix memory leak in last patch
31031         * lib/hash.c (hash_rehash): Avoid memory leak.
31032
31033         hash: avoid no-op rehashing
31034         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
31035
31036         hash: provide default callback functions
31037         * lib/hash.c (raw_hasher, raw_comparator): New functions.
31038         (hash_initialize): Use them as defaults.
31039         * tests/test-hash.c (main): Test this.
31040
31041         hash: minor optimization
31042         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
31043         when possible.
31044         (hash_initialize): Document this promise.
31045         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
31046         * tests/test-hash.c (hash_compare_strings): Test this.
31047
31048 2009-06-18  Bruno Haible  <bruno@clisp.org>
31049
31050         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
31051         going to be replaced anyway.
31052
31053 2009-06-18  Bruno Haible  <bruno@clisp.org>
31054
31055         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
31056         in one place.
31057         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
31058         be replaced anyway.
31059
31060 2009-06-18  Eric Blake  <ebb9@byu.net>
31061
31062         hash: check for resize before insertion
31063         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
31064         threshold before insertion, so that a pathological hash_rehash
31065         that fills every bucket can still trigger another rehash.
31066
31067 2009-06-18  Jim Meyering  <meyering@redhat.com>
31068
31069         hash-tests: add a loop around the small tests
31070         * tests/test-hash.c (main): Repeat small tests with selected
31071         small initial table sizes.
31072
31073 2009-06-17  Eric Blake  <ebb9@byu.net>
31074
31075         hash: minor cleanups
31076         * lib/hash.h (hash_entry): Make opaque, by moving...
31077         * lib/hash.c (hash_entry): ...here.
31078         (hash_insert): Clarify restrictions on what can be inserted.
31079         (hash_get_next): Clarify when it is safe to remove an element
31080         during traversal.
31081         (check_tuning): Skip verification when tuning is known safe.
31082         (hash_initialize): Clarify restrictions on tuning.
31083
31084 2009-06-17  Jim Meyering  <jim@meyering.net>
31085         and Eric Blake  <ebb9@byu.net>
31086
31087         hash-tests: new module
31088         * modules/hash-tests: New file.
31089         * tests/test-hash.c: New file.
31090
31091 2009-06-17  Eric Blake  <ebb9@byu.net>
31092
31093         strstr-simple: document new module
31094         * MODULES.html.sh: Document new module.
31095
31096         strstr, strcasestr: replace on platforms with broken memchr
31097         * modules/strstr: Split into...
31098         * modules/strstr-simple: ...new module that does not care about
31099         performance, but does care about glibc bug.
31100         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
31101         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
31102         if platform memchr is broken, per Debian bug 521737.
31103         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
31104         memchr.
31105         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
31106         * doc/posix-functions/strstr.texi (strstr): Document the fix.
31107         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
31108         * modules/mountlist (Depends-on): Add strstr-simple.
31109         * modules/gen-uni-tables (Depends-on): Likewise.
31110         * modules/argz (Depends-on): Add strstr.
31111
31112 2009-06-17  Bruno Haible  <bruno@clisp.org>
31113
31114         * modules/posix_spawn-internal (Depends-on): Add errno.
31115
31116 2009-06-17  Bruno Haible  <bruno@clisp.org>
31117
31118         Define missing ESTALE on Interix 3.5.
31119         * lib/errno.in.h (ESTALE): Assign a value if missing.
31120         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
31121         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
31122         missing.
31123         * doc/posix-headers/errno.texi: Mention the Interix bug.
31124         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
31125
31126 2009-06-15  Eric Blake  <ebb9@byu.net>
31127
31128         memchr, memchr2: add valgrind exception
31129         * lib/memchr.valgrind: New file.
31130         * lib/memchr2.valgrind: New file.
31131         * modules/memchr (Files): Distribute valgrind file.
31132         * modules/memchr2 (Files): Likewise.
31133
31134         docs: memchr is no longer obsolete
31135         * MODULES.html.sh: Move memchr from obsolete to string.h section.
31136         * lib/string.in.h (memchr): Simplify logic.
31137
31138 2009-06-14  Jim Meyering  <meyering@redhat.com>
31139
31140         link-follow: fix the "checking..." message to not mention trailing slash
31141         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
31142         never considered trailing slashes.
31143
31144 2009-06-14  Bruno Haible  <bruno@clisp.org>
31145
31146         * m4/memchr.m4: Mention also the bug on IA-64.
31147         * doc/posix-functions/memchr.texi: Likewise.
31148
31149 2009-06-12  Eric Blake  <ebb9@byu.net>
31150
31151         memchr: detect broken x86_64 and alpha implementations
31152         * modules/memchr-tests (Depends-on): Move mmap detection...
31153         * modules/memchr (Depends-on): ...here.
31154         (configure.ac): Set indicator.
31155         * lib/string.in.h (memchr): Declare replacement.
31156         * modules/string (Makefile.am): Trigger replacement.
31157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31158         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
31159         bugs.
31160         * doc/posix-functions/memchr.texi (memchr): Document the bug.
31161         * modules/getpagesize (License): Relax license.
31162
31163 2009-06-11  Bruno Haible  <bruno@clisp.org>
31164
31165         * lib/idpriv.h: Add more references.
31166
31167 2009-06-08  Bruno Haible  <bruno@clisp.org>
31168
31169         Tests for module 'idpriv-droptemp'.
31170         * modules/idpriv-droptemp-tests: New file.
31171         * tests/test-idpriv-droptemp.sh: New file.
31172         * tests/test-idpriv-droptemp.su.sh: New file.
31173         * tests/test-idpriv-droptemp.c: New file.
31174
31175         New module 'idpriv-droptemp'.
31176         * lib/idpriv-droptemp.c: New file.
31177         * modules/idpriv-droptemp: New file.
31178
31179 2009-06-08  Bruno Haible  <bruno@clisp.org>
31180
31181         Tests for module 'idpriv-drop'.
31182         * modules/idpriv-drop-tests: New file.
31183         * tests/test-idpriv-drop.sh: New file.
31184         * tests/test-idpriv-drop.su.sh: New file.
31185         * tests/test-idpriv-drop.c: New file.
31186
31187         New module 'idpriv-drop'.
31188         * lib/idpriv.h: New file.
31189         * lib-idpriv-drop.c: New file.
31190         * m4/idpriv.m4: New file.
31191         * modules/idpriv-drop: New file.
31192
31193 2009-06-08  Bruno Haible  <bruno@clisp.org>
31194
31195         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
31196         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31197         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31198         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31199         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31200         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31201         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31202
31203 2009-06-08  Eric Blake  <ebb9@byu.net>
31204
31205         test-strstr: use memory fence, when possible
31206         * tests/test-strstr.c (main): Use memory fence, in order to be
31207         more likely to trigger Debian bug 521737.
31208         * modules/strstr-tests (Files): Pull in additional files.
31209
31210         memchr: no longer obsolete, for wider field testing
31211         * modules/memchr (Status, Notice): Delete, this module is no
31212         longer obsolete.
31213         * modules/vasnprintf (Depends-on): Add memchr.
31214
31215 2009-06-07  Jim Meyering  <meyering@redhat.com>
31216
31217         hash: declare some functions with the warn_unused_result attribute
31218         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
31219
31220 2009-06-07  Bruno Haible  <bruno@clisp.org>
31221
31222         * tests/test-alignof.c: Don't test int64_t if it does not exist.
31223         Reported by Eric Blake.
31224
31225 2009-06-06  Eric Blake  <ebb9@byu.net>
31226
31227         test-alignof: fix typo with long double
31228         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
31229         compiler error.
31230
31231 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
31232
31233         Escape non-texinfo { and }s.
31234         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
31235         markup error.
31236
31237 2009-06-04  Jim Meyering  <meyering@redhat.com>
31238
31239         gitlog-to-changelog: don't infloop on an empty commit log
31240         * build-aux/gitlog-to-changelog: Warn about an empty log message.
31241         Reported by Boris Petersen <transacid@centerim.org>.
31242
31243 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
31244
31245         version-etc: extend for packagers
31246         Add three new configure options, intended for packagers:
31247           --with-packager="packager name"
31248           --with-packager-version="packager-specific version"
31249           --with-packager-bug-reports="packager bug reporting"
31250         An example with coreutils:
31251           $ ./configure \
31252             --with-packager=Gentoo \
31253             --with-packager-bug-report=http://bugs.gentoo.org/ \
31254             --with-packager-version="patchset 1.6"
31255           $ ./src/ls --version | head -n2
31256           ls (GNU coreutils) 7.1-dirty
31257           Packaged by Gentoo (patchset 1.6)
31258         Note that the bug reporting info via --help doesn't show up because
31259         coreutils uses its own custom emit_bug_reporting_address() implementation
31260         in src/system.h.  If it didn't, it'd look like:
31261           $ ./src/ls --help | tail -n4
31262           Report bugs to <bug-coreutils@gnu.org>.
31263           Report Gentoo bugs to <http://bugs.gentoo.org/>.
31264           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
31265           General help using GNU software: <http://www.gnu.org/gethelp/>.
31266         * lib/version-etc.c: Print new information, if provided.
31267         * m4/version-etc.m4: New file.
31268         * modules/version-etc (Files): Add m4/version-etc.m4.
31269         (configure.ac): Add gl_VERSION_ETC.
31270
31271 2009-05-31  Bruno Haible  <bruno@clisp.org>
31272
31273         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
31274         and 'int64_t'.
31275         * modules/alignof-tests (Dependencies): Add stdint.
31276         Reported by Eric Blake.
31277
31278 2009-05-31  Bruno Haible  <bruno@clisp.org>
31279
31280         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
31281         restriction due to compiler bugs.
31282         Reported by Eric Blake.
31283
31284 2009-05-31  Simon Josefsson  <simon@josefsson.org>
31285             Bruno Haible  <bruno@clisp.org>
31286
31287         Fix test-alignof failure.
31288         * lib/alignof.h (alignof_slot): New macro.
31289         (alignof_type): New macro, with the same semantics as the previous
31290         'alignof'.
31291         (alignof): Alias to alignof_slot.
31292         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
31293         check that the results are usable as constant expressions.
31294
31295 2009-05-31  Bruno Haible  <bruno@clisp.org>
31296
31297         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
31298         * tests/test-memchr.c (main): Check that memchr does not read past the
31299         first occurrence of the byte.
31300         * tests/test-strstr.c (main): Update comment.
31301         Suggested by Eric Blake.
31302
31303 2009-05-30  Bruno Haible  <bruno@clisp.org>
31304
31305         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
31306         detail how to use dumpbin.
31307         Reported by David Byron <dbyron@dbyron.com>.
31308
31309 2009-06-02  Simon Josefsson  <simon@josefsson.org>
31310
31311         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
31312
31313 2009-06-02  Simon Josefsson  <simon@josefsson.org>
31314
31315         * m4/manywarnings.m4: Add GCC 4.4 warnings.
31316
31317 2009-05-28  Bruno Haible  <bruno@clisp.org>
31318
31319         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
31320         build-aux/ files.
31321
31322 2009-05-28  Simon Josefsson  <simon@josefsson.org>
31323
31324         * gnulib-tool (func_import): Transform license on build-aux/ files too.
31325
31326 2009-05-27  Simon Josefsson  <simon@josefsson.org>
31327
31328         * gnulib-tool (sed_transform_main_lib_file)
31329         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
31330         regexps.
31331
31332 2009-05-26  Simon Josefsson  <simon@josefsson.org>
31333
31334         * tests/test-strstr.c: Add another self-test.
31335         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
31336         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
31337
31338 2009-05-23  Bruno Haible  <bruno@clisp.org>
31339
31340         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
31341         change.
31342
31343 2009-05-21  Bruno Haible  <bruno@clisp.org>
31344
31345         Simplify use of mode_t varargs.
31346         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
31347         uses 'mode_t' or 'int'.
31348         * lib/openat.c (openat): Likewise.
31349         * lib/open-safer.c (open_safer): Likewise.
31350         * m4/mode_t.m4: New file.
31351         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
31352         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
31353         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
31354         * modules/open (Files): Add m4/mode_t.m4.
31355         * modules/openat (Files): Likewise.
31356         * modules/fcntl-safer (Files): Likewise.
31357         Suggested by Eric Blake.
31358
31359 2009-05-21  Pádraig Brady  <P@draigbrady.com>
31360
31361         * doc/glibc-functions/fallocate.texi: New file.
31362         * doc/gnulib.texi: Include it.
31363
31364 2009-05-21  Eric Blake  <ebb9@byu.net>
31365             Bruno Haible  <bruno@clisp.org>
31366
31367         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
31368         invocations.
31369         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31370
31371 2009-05-21  Eric Blake  <ebb9@byu.net>
31372             Bruno Haible  <bruno@clisp.org>
31373
31374         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
31375         include_next. Fix of 2008-11-20 commit.
31376         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
31377         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
31378         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
31379         NEXT_MATH_H.
31380         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
31381         instead of NEXT_MATH_H.
31382
31383 2009-05-21  Bruno Haible  <bruno@clisp.org>
31384
31385         Avoid redefinition warnings for SIZE_MAX.
31386         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
31387         Reported by Simon Josefsson.
31388
31389 2009-05-21  Bruno Haible  <bruno@clisp.org>
31390
31391         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
31392         AC_CACHE_VAL.
31393
31394 2009-05-20  Bruno Haible  <bruno@clisp.org>
31395
31396         Make zeroptr.h work on mingw.
31397         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
31398         mprotect.
31399         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
31400         * modules/memchr2-tests (configure.ac): Likewise.
31401         * modules/memcmp-tests (configure.ac): Likewise.
31402         * modules/memmem-tests (configure.ac): Likewise.
31403         * modules/memrchr-tests (configure.ac): Likewise.
31404         Reported by Simon Josefsson.
31405
31406 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31407
31408         * tests/test-glob.c: Include string.h for strcmp prototype.
31409
31410 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31411
31412         * modules/getdelim (Depends-on): Add explicit stdint, although it
31413         was implicitly already pulled in via realloc-posix.
31414         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
31415
31416 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31417
31418         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
31419         G. Christensen" <tgc@jupiterrise.com>.
31420         * m4/sys_socket_h.m4: Check for sa_family_t.
31421         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
31422         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
31423         * tests/test-sys_socket.c: Check that sa_family_t works.
31424
31425 2009-05-18  Eric Blake  <ebb9@byu.net>
31426
31427         maint.mk: allow gnulib_dir in VPATH build
31428         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
31429
31430 2009-05-15  Jim Meyering  <meyering@redhat.com>
31431
31432         maint.mk: Give gnulib_dir a default definition.
31433         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
31434         Thus, most packages no longer need to specify this variable in cfg.mk
31435
31436 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
31437
31438         rename.m4: fix typos that would make non-mingw cross-configure fail
31439         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
31440
31441 2009-05-13  Eric Blake  <ebb9@byu.net>
31442
31443         mmap-anon: avoid out-of-order autoconf expansion
31444         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
31445         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
31446         * modules/memchr-tests (Depends-on): Add extensions.
31447         * modules/memchr2-tests (Depends-on): Add extensions.
31448         * modules/memcmp-tests (Depends-on): Add extensions.
31449         * modules/memmem-tests (Depends-on): Add extensions.
31450         * modules/memrchr-tests (Depends-on): Add extensions.
31451
31452 2009-05-13  Bruno Haible  <bruno@clisp.org>
31453
31454         Make some tests ISO C 99 compliant.
31455         * tests/zerosize-ptr.h: New file.
31456         * tests/test-memchr.c: Include zerosize-ptr.h.
31457         (main): Use a zero-size object pointer instead of NULL.
31458         * tests/test-memchr2.c: Include zerosize-ptr.h.
31459         (main): Use a zero-size object pointer instead of NULL.
31460         * tests/test-memcmp.c: Include zerosize-ptr.h.
31461         (main): Use a zero-size object pointer instead of NULL.
31462         * tests/test-memmem.c: Include zerosize-ptr.h.
31463         (main): Use a zero-size object pointer instead of NULL.
31464         * tests/test-memrchr.c: Include zerosize-ptr.h.
31465         (main): Use a zero-size object pointer instead of NULL.
31466         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
31467         m4/mmap-anon.m4.
31468         (Depends-on): Add getpagesize.
31469         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31470         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
31471         m4/mmap-anon.m4.
31472         (Depends-on): Add getpagesize.
31473         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31474         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
31475         m4/mmap-anon.m4.
31476         (Depends-on): Add getpagesize.
31477         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31478         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
31479         m4/mmap-anon.m4.
31480         (Depends-on): Add getpagesize.
31481         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31482         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
31483         m4/mmap-anon.m4.
31484         (Depends-on): Add getpagesize.
31485         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31486
31487 2009-05-12  Bruno Haible  <bruno@clisp.org>
31488
31489         Tests for module 'alignof'.
31490         * modules/alignof-tests: New file.
31491         * tests/test-alignof.c: New file.
31492
31493 2009-05-12  Bruno Haible  <bruno@clisp.org>
31494
31495         Fix alignof macro.
31496         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
31497         vendor compilers that are always correct.
31498
31499 2009-05-12  Bruno Haible  <bruno@clisp.org>
31500
31501         Make the MAP_ANONYMOUS detection work on HP-UX 11.
31502         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
31503         not whether its fully works.
31504
31505 2009-05-12  Bruno Haible  <bruno@clisp.org>
31506
31507         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
31508
31509 2009-05-12  Jim Meyering  <meyering@redhat.com>
31510
31511         * top/maint.mk: Adjust backslash alignment.
31512
31513 2009-05-11  Simon Josefsson  <simon@josefsson.org>
31514
31515         * top/maint.mk: Make $(srcdir)/build-aux configurable.
31516
31517 2009-05-11  Eric Blake  <ebb9@byu.net>
31518
31519         argp: avoid undefined behavior
31520         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
31521         macros.
31522
31523 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31524
31525         * tests/test-vc-list-files-git.sh: Do git config of user.email and
31526         user.name to prevent git commit from complaining.
31527
31528 2009-05-10  Bruno Haible  <bruno@clisp.org>
31529
31530         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
31531         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
31532         it rewrites every file name only once.
31533         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
31534
31535 2009-05-08  Bruno Haible  <bruno@clisp.org>
31536
31537         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
31538         instead of 'max'.
31539
31540 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31541
31542         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
31543         sockaddr_storage test.
31544
31545 2009-05-07  Simon Josefsson  <simon@josefsson.org>
31546
31547         * modules/sys_socket (Makefile.am): Substitute
31548         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
31549         * m4/sys_socket_h.m4: Check for sockaddr_storage.
31550         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
31551         * tests/test-sys_socket.c: Check sockaddr_storage.
31552
31553 2009-05-08  Bruno Haible  <bruno@clisp.org>
31554
31555         New module 'alignof'.
31556         * lib/alignof.h: New file.
31557         * modules/alignof: New file.
31558
31559 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31560             Bruno Haible  <bruno@clisp.org>
31561
31562         Fix test-file-has-acl on FreeBSD.
31563         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
31564         mask is implicitly added.
31565         * tests/test-file-has-acl.c: Include <signal.h>.
31566         (main): Terminate the test after 5 seconds.
31567         * modules/acl-tests (configure.ac): Check for alarm function.
31568
31569 2009-05-04  Bruno Haible  <bruno@clisp.org>
31570
31571         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
31572         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
31573         * modules/errno (configure.ac): Drop AC_REQUIRE.
31574         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
31575         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
31576
31577 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31578
31579         * modules/glob-tests: New module.
31580         * tests/test-glob.c: Add.
31581
31582 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31583
31584         * modules/fnmatch-tests: New module.
31585         * tests/test-fnmatch.c: Add.
31586
31587 2009-05-04  Eric Blake  <ebb9@byu.net>
31588
31589         maint: make the new no-submodule-changes rule VPATH-safe
31590         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
31591
31592 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31593             Bruno Haible  <bruno@clisp.org>
31594
31595         acl: Fix infinite loop on FreeBSD.
31596         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
31597         of return value from acl_get_entry.
31598         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
31599         Likewise.
31600
31601 2009-05-03  Bruno Haible  <bruno@clisp.org>
31602
31603         * lib/acl-internal.h (acl_entries): Clarify return value.
31604         * lib/acl_entries.c (acl_entries): Likewise.
31605
31606 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31607
31608         Bug fix in acl module.
31609         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
31610
31611 2009-05-03  Bruno Haible  <bruno@clisp.org>
31612
31613         Create gperf-generated file in the source dir, not in the build dir.
31614         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
31615         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
31616         * modules/unicase/locale-language (unicase/locale-languages.h):
31617         Likewise.
31618         * modules/unicase/special-casing (unicase/special-casing-table.h):
31619         Likewise.
31620         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
31621         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
31622         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
31623         Reported by Ralf Wildenhues.
31624
31625 2009-05-03  Bruno Haible  <bruno@clisp.org>
31626
31627         * modules/fnmatch (Description, configure.ac): Taken from
31628         fnmatch-posix.
31629         * modules/fnmatch-posix: Turn into a symbolic reference to the
31630         'fnmatch' module, and deprecate.
31631         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
31632
31633 2009-05-03  Bruno Haible  <bruno@clisp.org>
31634
31635         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
31636         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
31637         Reported by Ralf Wildenhues.
31638
31639 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31640
31641         * m4/fnmatch.m4: Fix fnmatch re-define.
31642
31643 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31644
31645         priv-set: new module and tests; adapt write-any-file
31646         * lib/priv-set.c: New file.
31647         * lib/priv-set.h: New file.
31648         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
31649         * lib/write-any-file.c: Simplify by using priv-set module.
31650         * m4/priv-set.m4: New file.
31651         * modules/priv-set: New file.
31652         * modules/unlinkdir: Add dependency on priv-set module.
31653         * modules/write-any-file: Likewise.
31654
31655         Tests for module 'priv-set'.
31656         * modules/priv-set-tests: New file.
31657         * tests/test-priv-set.c: New file.
31658
31659 2009-05-03  Jim Meyering  <meyering@redhat.com>
31660             Bruno Haible  <bruno@clisp.org>
31661
31662         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
31663         use the converted UTF-8 variant of the name instead.
31664
31665 2009-05-03  Jim Meyering  <meyering@redhat.com>
31666
31667         tests: tighten some getdate tests
31668         * tests/test-getdate.c (main): Tighten tests: require equality,
31669         not just greater than.  Set TZ envvar to UTC0.
31670
31671 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31672
31673         getdate: correctly interpret "next monday" when run on a Monday
31674         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
31675         that e.g., "next tues" (when run on a tuesday) results in a date
31676         that is one week in the future, and not today's date.
31677         I.e., add a week when the wday is the same as the current one.
31678         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
31679         and earlier by Martin Bernreuther and Jan Minář.
31680         * tests/test-getdate.c (main): Check that "next DAY" is always in
31681         the future and that "last DAY" is always in the past.
31682
31683 2009-05-02  Jim Meyering  <meyering@redhat.com>
31684
31685         build: ensure that a release build fails when a submodule is unclean
31686         * top/maint.mk (no-submodule-changes): New rule.
31687         (alpha beta major): Depend on it.
31688
31689 2009-05-02  Bruno Haible  <bruno@clisp.org>
31690
31691         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
31692         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
31693         shell variable gl_fnmatch_required to detect which variant is
31694         requested.
31695         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
31696         gl_FUNC_FNMATCH_POSIX.
31697         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
31698         exclude fnmatch-posix.
31699
31700 2009-05-02  Bruno Haible  <bruno@clisp.org>
31701
31702         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
31703         * modules/mbsrtowcs (License): Change to LGPLv2+.
31704         * modules/strnlen1 (License): Likewise.
31705         Reported by Simon Josefsson.
31706
31707 2009-05-02  Bruno Haible  <bruno@clisp.org>
31708
31709         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
31710         "cross".
31711         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
31712         gnulib-tool was called with option --source-base=lib.
31713
31714 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31715
31716         Use automake *-local hooks without commands, for extensibility.
31717         * modules/localcharset (Makefile.am): Rename install-exec-local
31718         rule to install-exec-localcharset, and make it a prerequisite of
31719         install-exec-local.  Likewise, rename the uninstall-local rule to
31720         uninstall-localcharset, and make it a prerequisite of the former.
31721
31722 2009-05-01  Bruno Haible  <bruno@clisp.org>
31723
31724         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
31725         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31726         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
31727         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
31728         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
31729         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31730         m4/locale-zh.m4, m4/codeset.m4.
31731
31732         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31733         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
31734         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31735         m4/locale-zh.m4.
31736
31737         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
31738         REPLACE_WCRTOMB if mbstate_t must be replaced.
31739         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
31740         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
31741
31742 2009-05-01  Bruno Haible  <bruno@clisp.org>
31743
31744         Avoid compiler warnings when redefining macros defined by <libintl.h>.
31745         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
31746         dngettext, dcngettext, textdomain, bindtextdomain,
31747         bind_textdomain_codeset): Undefine before redefining.
31748
31749 2009-04-30  Bruno Haible  <bruno@clisp.org>
31750
31751         Fix bug introduced on 2009-04-25.
31752         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
31753         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
31754         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
31755         is defined.
31756         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
31757         is defined.
31758         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
31759         is defined.
31760         Reported by Elbert_Pol <elbert.pol@gmail.com>.
31761
31762 2009-04-28  Bruno Haible  <bruno@clisp.org>
31763
31764         Comment tweaks.
31765         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
31766         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
31767         * lib/unicase.h (u*_casexfrm): Likewise.
31768         Reported by Paolo Bonzini.
31769
31770 2009-04-28  Bruno Haible  <bruno@clisp.org>
31771
31772         Fix a compilation error.
31773         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
31774         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31775         Reported by Jim Meyering.
31776
31777 2009-04-27  Bruno Haible  <bruno@clisp.org>
31778
31779         New module 'libunistring'.
31780         * modules/libunistring: New file.
31781         * m4/libunistring.m4: New file.
31782         * MODULES.html.sh (Unicode string functions): Add it.
31783
31784 2009-04-27  Eric Blake  <ebb9@byu.net>
31785
31786         maint.mk: allow package-specific header to provide <config.h>
31787         * top/maint.mk (sc_require_config_h): New variable.
31788         (sc_require_config_h, sc_require_config_h_first): Use it.
31789
31790 2009-04-27  Simon Josefsson  <simon@josefsson.org>
31791
31792         * top/maint.mk (sc_avoid_if_before_free): Except
31793         useless-if-before-free script.
31794
31795 2009-04-27  Eric Blake  <ebb9@byu.net>
31796
31797         maintainer-makefile: depend on all required helper scripts
31798         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
31799         useless-if-before-free.
31800         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
31801         version, rather than assuming gnulib checkout is available.
31802         Reported by Simen Josefsson.
31803
31804 2009-04-26  Bruno Haible  <bruno@clisp.org>
31805
31806         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
31807         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
31808         "../" or "..".
31809
31810 2009-04-26  Bruno Haible  <bruno@clisp.org>
31811
31812         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
31813         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
31814         AC_LIB_HAVE_LINKFLAGS.
31815
31816 2009-04-26  Bruno Haible  <bruno@clisp.org>
31817
31818         Simplify calling convention of u*_conv_from_encoding.
31819         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
31820         u32_conv_from_encoding): Expect a resultbuf argument and return the
31821         result directly as a pointer.
31822         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
31823         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
31824         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
31825         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
31826         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
31827         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
31828         Update.
31829         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
31830         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
31831         * lib/vasnprintf.c (VASNPRINTF): Update.
31832         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
31833         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
31834         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
31835         * NEWS: Mention the change.
31836
31837 2009-04-26  Bruno Haible  <bruno@clisp.org>
31838
31839         Simplify calling convention of u*_conv_to_encoding.
31840         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
31841         u32_conv_to_encoding): Expect a resultbuf argument and return the
31842         result directly as a pointer.
31843         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
31844         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
31845         freeing scaled_offsets if mem_iconveha failed.
31846         * lib/unicase/u-casexfrm.h (FUNC): Update.
31847         * lib/uninorm/u-normxfrm.h (FUNC): Update.
31848         * lib/vasnprintf.c (VASNPRINTF): Update.
31849         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
31850         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
31851         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
31852         * NEWS: Mention the change.
31853
31854 2009-04-26  Bruno Haible  <bruno@clisp.org>
31855
31856         Avoid test failures on AIX and OSF/1.
31857         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
31858         malloc(0).
31859         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
31860         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
31861         Likewise.
31862         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
31863         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
31864         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
31865         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
31866         * doc/posix-functions/malloc.texi: Document the portability problem
31867         related to malloc(0).
31868
31869 2009-04-26  Bruno Haible  <bruno@clisp.org>
31870
31871         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
31872         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
31873         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
31874
31875 2009-04-25  Bruno Haible  <bruno@clisp.org>
31876
31877         Avoid link error when creating a namespace clean library.
31878         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
31879         as macro with arguments if already defined as an alias.
31880         * lib/signbitf.c (gl_signbitf): Don't undefine.
31881         * lib/signbitd.c (gl_signbitd): Don't undefine.
31882         * lib/signbitl.c (gl_signbitl): Don't undefine.
31883
31884 2009-04-25  Jim Meyering  <meyering@redhat.com>
31885
31886         vc-list-files: fix another quoting bug
31887         * build-aux/vc-list-files: Avoid sed backslash expansion
31888         of pathological directory names.
31889
31890 2009-04-25  Eric Blake  <ebb9@byu.net>
31891
31892         vc-list-files: fix shell quoting error
31893         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
31894         timestamp.
31895
31896 2009-04-25  Jim Meyering  <meyering@redhat.com>
31897
31898         vc-list-files: restore lost functionality with subdir argument
31899         * build-aux/vc-list-files: When given a non-"." sub-directory
31900         argument, substitute the $dir/ prefix back onto each resulting name.
31901         Otherwise, coreutils' root_tests check would fail.
31902
31903 2009-04-24  Eric Blake  <ebb9@byu.net>
31904
31905         vc-list-files: ignore git symlinks
31906         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
31907         than ls-files, to ignore git symlinks.
31908
31909         maint.mk: import improvements from m4
31910         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
31911         (move_if_change): Delete unused macro.
31912         (news-date-check, vc-diff-check): Support VPATH builds.
31913         (announcement): Likewise.  Split --bootstrap-tools list...
31914         (boostrap-tools): ...into separate list, which can be overridden
31915         in cfg.mk.
31916         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
31917         requiring dependency on useless-if-before-free module.
31918         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
31919         Support VPATH builds.
31920
31921 2009-04-24  Jim Meyering  <meyering@redhat.com>
31922
31923         maint.mk: remove coreutils-specific rules and variables
31924         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
31925         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
31926         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
31927
31928         maint.mk: remove obsolete rule
31929         * top/maint.mk (rel-check): Remove rule.
31930         (WGET, WGETFLAGS): Remove now-unused variables.
31931
31932 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31933
31934         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
31935         consistency.
31936
31937         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
31938         '$(PATH_SEPARATOR)' instead of ':'.
31939
31940 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31941
31942         * lib/getopt1.c (main): Use 'const' for static array.
31943
31944 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31945
31946         * top/maint.mk: Sync with coreutils.
31947         * NEWS: Explain incompatibilities.
31948
31949 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31950             Bruno Haible  <bruno@clisp.org>
31951
31952         Fix cross-compilation results.
31953         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
31954         statement, as third argument of AC_TRY_RUN.
31955         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
31956         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
31957         Likewise.
31958         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
31959         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
31960         Likewise.
31961         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31962         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
31963         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
31964
31965 2009-04-20  Bruno Haible  <bruno@clisp.org>
31966
31967         Avoid test failure on mingw.
31968         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
31969
31970 2009-04-20  Bruno Haible  <bruno@clisp.org>
31971
31972         Avoid compilation error on mingw.
31973         * modules/localename-tests (Depends-on): Add locale.
31974
31975 2009-04-19  Bruno Haible  <bruno@clisp.org>
31976
31977         Support for building a shared library on Windows platforms.
31978         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
31979         (main): Test the presence of UNINORM_NFC here.
31980         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
31981         (main): Test the presence of UNINORM_NFD here.
31982         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
31983         (main): Test the presence of UNINORM_NFKC here.
31984         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
31985         (main): Test the presence of UNINORM_NFKD here.
31986
31987 2009-04-19  Bruno Haible  <bruno@clisp.org>
31988
31989         Avoid a compiler warning.
31990         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
31991         Change type of variable 'sequence'.
31992
31993 2009-04-19  Bruno Haible  <bruno@clisp.org>
31994
31995         * modules/configmake (Makefile.am): When the contents of configmake.h
31996         does not change, arrange to preserve its modification time.
31997
31998 2009-04-17  Simon Josefsson  <simon@josefsson.org>
31999
32000         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
32001         gettext domain.
32002
32003 2009-04-16  Jim Meyering  <meyering@redhat.com>
32004
32005         useless-if-before-free: improve conversion code
32006         * build-aux/useless-if-before-free: Adjust code-in-comment to match
32007         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
32008
32009 2009-04-14  Bruno Haible  <bruno@clisp.org>
32010
32011         * modules/fcntl (Depends-on): Add extensions.
32012         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
32013
32014 2009-04-12  Ben Pfaff  <blp@gnu.org>
32015
32016         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
32017         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
32018
32019 2009-03-20  Ben Pfaff  <blp@gnu.org>
32020
32021         Make rename replace existing destinations on Windows.
32022         * m4/rename.m4: Add test for Mingw.
32023         * lib/rename.c: Add rename replacement that uses MoveFileEx with
32024         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
32025         * doc/posix-functions/rename.texi: Document.
32026
32027 2009-04-10  Bruno Haible  <bruno@clisp.org>
32028
32029         New include file "iconveh.h".
32030         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
32031         * lib/striconveh.h: Include it.
32032         (enum iconv_ilseq_handler): Remove definition.
32033         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
32034         striconveh.h.
32035         * lib/striconveha.c: Include striconveh.h.
32036         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
32037         * modules/striconveh (Files): Add lib/iconveh.h.
32038         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
32039         lib/striconveh.h.
32040
32041 2009-04-10  Bruno Haible  <bruno@clisp.org>
32042
32043         * lib/uniconv.h: Update comment.
32044
32045 2009-04-10  Bruno Haible  <bruno@clisp.org>
32046
32047         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
32048         always.
32049         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32050         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32051         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32052         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
32053         "unistring-notinline.h", so that the function gets defined always.
32054         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32055         * lib/unistr/u8-uctomb.c: Likewise.
32056         * lib/unistr/u16-mbtouc.c: Likewise.
32057         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32058         * lib/unistr/u16-uctomb.c: Likewise.
32059         * lib/unistr/u32-mbtouc.c: Likewise.
32060         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32061         * lib/unistr/u32-uctomb.c: Likewise.
32062
32063 2009-04-10  Bruno Haible  <bruno@clisp.org>
32064
32065         Mark 'utime' obsolete.
32066         * modules/utime (Status, Notice): New sections.
32067         Suggested by Jim Meyering.
32068
32069         Fix cross-compile guess for utime test.
32070         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
32071         autoconf.
32072         * doc/posix-functions/utime.texi: Give more precisions.
32073         Reported by Jan <ipif@ymail.com>.
32074
32075 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
32076
32077         filevercmp: correct today's change
32078         * lib/filevercmp.c: Also handle coreutils' test inputs.
32079         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
32080
32081         Fix regression in 'filevercmp' module. Thanks Sven Joachim
32082         for reporting it.
32083         * lib/filevercmp.c: Special handle for "", "." and "..".
32084         * tests/test-filevercmp.c: Enlarge the set suite.
32085
32086 2009-04-07  Jim Meyering  <meyering@redhat.com>
32087
32088         useless-if-before-free: show how to remove braced useless free, too
32089         * build-aux/useless-if-before-free: still only in a comment, though.
32090
32091 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
32092
32093         maint.mk: import changes to syntax-check macros from coreutils
32094         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
32095         Use them in the relevant macros.
32096
32097 2009-04-06  Bruno Haible  <bruno@clisp.org>
32098
32099         Fix unportable use of bit-fields.
32100         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
32101         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
32102         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
32103
32104 2009-04-06  Bruno Haible  <bruno@clisp.org>
32105
32106         Avoid test failures on AIX and OSF/1.
32107         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
32108         that malloc(0) = NULL.
32109         * tests/unicase/test-u8-tolower.c (check): Likewise.
32110         * tests/unicase/test-u8-totitle.c (check): Likewise.
32111         * tests/unicase/test-u8-toupper.c (check): Likewise.
32112         * tests/unicase/test-u16-casefold.c (check): Likewise.
32113         * tests/unicase/test-u16-tolower.c (check): Likewise.
32114         * tests/unicase/test-u16-totitle.c (check): Likewise.
32115         * tests/unicase/test-u16-toupper.c (check): Likewise.
32116         * tests/unicase/test-u32-casefold.c (check): Likewise.
32117         * tests/unicase/test-u32-tolower.c (check): Likewise.
32118         * tests/unicase/test-u32-totitle.c (check): Likewise.
32119         * tests/unicase/test-u32-toupper.c (check): Likewise.
32120         * tests/uninorm/test-u8-nfc.c (check): Likewise.
32121         * tests/uninorm/test-u8-nfd.c (check): Likewise.
32122         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
32123         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
32124         * tests/uninorm/test-u16-nfc.c (check): Likewise.
32125         * tests/uninorm/test-u16-nfd.c (check): Likewise.
32126         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
32127         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
32128         * tests/uninorm/test-u32-nfc.c (check): Likewise.
32129         * tests/uninorm/test-u32-nfd.c (check): Likewise.
32130         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
32131         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
32132
32133 2009-04-05  Bruno Haible  <bruno@clisp.org>
32134
32135         Work around an autoconf limitation.
32136         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
32137         comment line if it would be longer than 3 KB.
32138
32139 2009-04-05  Bruno Haible  <bruno@clisp.org>
32140
32141         Avoid test failure with libiconv-1.13.
32142         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
32143         of the expected test results.
32144
32145 2009-04-05  Bruno Haible  <bruno@clisp.org>
32146
32147         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
32148         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
32149         that it should be installed.
32150
32151 2009-04-05  Bruno Haible  <bruno@clisp.org>
32152
32153         * gnulib-tool: New option --copy-file.
32154         (func_usage): Document it.
32155         (func_dest_tmpfilename): Moved out of func_import.
32156         (func_add_file, func_update_file): New functions, extracted from
32157         func_import.
32158         (func_import): Update.
32159
32160 2009-04-05  Karl Berry  <karl@gnu.org>
32161
32162         * README: prominently mention gnulib-tool.
32163         Rearrange sections so getting the code is near the top.
32164
32165 2009-04-05  Bruno Haible  <bruno@clisp.org>
32166
32167         * lib/unicase.h: Mention u*_cmp2.
32168         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
32169         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
32170         * lib/unicase/ulc-casecmp.c: Likewise.
32171         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
32172         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
32173         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
32174         unistr/u8-cmp.
32175         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
32176         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
32177         unistr/u16-cmp.
32178         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
32179         unistr/u32-cmp.
32180
32181         * lib/uninorm.h: Mention u*_cmp2.
32182         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
32183         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
32184         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
32185         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
32186         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
32187         unistr/u8-cmp.
32188         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
32189         unistr/u16-cmp.
32190         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
32191         unistr/u32-cmp.
32192
32193         New module 'unistr/u32-cmp2'.
32194         * lib/unistr/u32-cmp2.c: New file.
32195         * modules/unistr/u32-cmp2: New file.
32196
32197         New module 'unistr/u16-cmp2'.
32198         * lib/unistr/u16-cmp2.c: New file.
32199         * modules/unistr/u16-cmp2: New file.
32200
32201         New module 'unistr/u8-cmp2'.
32202         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
32203         * lib/unistr/u8-cmp2.c: New file.
32204         * lib/unistr/u-cmp2.h: New file.
32205         * modules/unistr/u8-cmp2: New file.
32206
32207 2009-04-05  Bruno Haible  <bruno@clisp.org>
32208
32209         * lib/unictype.h (uc_property_is_valid): New macro.
32210         * tests/unictype/test-pr_byname.c (main): Use it.
32211
32212         * lib/unistr.h: Doc fixes.
32213         * lib/uniconv.h: Doc fixes.
32214         * lib/unictype.h: Doc fixes.
32215
32216 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
32217
32218         Port coreutils 7.2 to Solaris 8.
32219
32220         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
32221         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
32222         for Solaris 8.  This is a bit of a hack, as it means it's the
32223         caller's responsibility to add -lnsl if needed, but most likely it
32224         won't be needed since only getaddrinfo uses this and getaddrinfo
32225         isn't needed on Solaris 8.
32226
32227         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
32228         problem to Solaris 8 encountered with coreutils 7.2, which
32229         resulted in a message "fnmatch.c:292: warning: passing argument 4
32230         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
32231         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
32232
32233 2009-04-03  Simon Josefsson  <simon@josefsson.org>
32234
32235         * m4/ld-version-script.m4: Add FIXME comment.
32236
32237 2009-04-02  Simon Josefsson  <simon@josefsson.org>
32238
32239         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
32240         SOVERSION variable.
32241
32242 2009-04-02  Bruno Haible  <bruno@clisp.org>
32243
32244         * Makefile (info, html, dvi, pdf): Combine the rules.
32245         Suggested by Jim Meyering.
32246
32247 2009-04-01  Bruno Haible  <bruno@clisp.org>
32248
32249         * Makefile (info, html, dvi, pdf): New targets.
32250         Reported by Reuben Thomas <rrt@sc3d.org>.
32251
32252 2009-04-01  Bruno Haible  <bruno@clisp.org>
32253
32254         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
32255         can be put into PATH.
32256         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
32257
32258 2009-04-01  Bruno Haible  <bruno@clisp.org>
32259
32260         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
32261
32262 2009-04-01  Bruno Haible  <bruno@clisp.org>
32263
32264         Rename module 'visibility'.
32265         * modules/lib-symbol-visibility: Renamed from modules/visibility.
32266         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
32267         * doc/gnulib.texi: Update.
32268         * MODULES.html.sh (Misc): Update.
32269         * NEWS: Mention the change.
32270
32271 2009-04-01  Simon Josefsson  <simon@josefsson.org>
32272
32273         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
32274         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
32275         Eric Blake <ebb9@byu.net> for review.
32276         * MODULES.html.sh: Add lib-msvc-compat.
32277         * doc/gnulib.texi: Link to new section.
32278         * m4/ld-output-def.m4: New file.
32279         * doc/ld-output-def.texi: New file.
32280
32281 2009-04-01  Simon Josefsson  <simon@josefsson.org>
32282
32283         Rename ld-version-script to lib-symbol-versions.  Suggested by
32284         Bruno Haible <bruno@clisp.org>.
32285         * modules/ld-version-script: Renamed to lib-symbol-versions.
32286         * doc/ld-version-script.texi: Fix module name.
32287         * MODULES.html.sh: Add lib-symbol-versions.
32288
32289 2009-03-31  Simon Josefsson  <simon@josefsson.org>
32290
32291         * modules/u64-tests: New file.
32292         * tests/test-u64.c: New file.
32293
32294 2009-03-04  Simon Josefsson  <simon@josefsson.org>
32295
32296         * MODULES.html.sh: Mention u64.
32297         * modules/u64: New module.
32298         * modules/crypto/sha512: Depend on u64 module instead of providing
32299         u64.h.
32300
32301 2009-03-27  Eric Blake  <ebb9@byu.net>
32302
32303         test-strerror: make debugging EAI_SYSTEM easier
32304         * modules/getaddrinfo-tests (Depends-on): Add strerror.
32305         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
32306         failure was EAI_SYSTEM.
32307
32308 2009-03-25  Bruno Haible  <bruno@clisp.org>
32309
32310         Fix a problem with --enable-relocatable on Solaris 7.
32311         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
32312         since 2008-02-24.
32313
32314 2009-03-25  Eric Blake  <ebb9@byu.net>
32315
32316         test-sockets: avoid gcc warning
32317         * tests/test-sockets.c (main): Silence compiler warning.
32318
32319 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
32320
32321         New modules nproc, pthread, contributed by Glen Lenker.
32322
32323         * MODULES.html.sh: Add pthread, nproc.
32324         * lib/nproc.c: New file.
32325         * lib/nproc.h: New file.
32326         * lib/pthread.in.h: New file.
32327         * m4/pthread.m4: New file.
32328         * modules/nproc: New file.
32329         * modules/pthread: New file.
32330
32331 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32332
32333         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
32334         New variable.
32335
32336 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
32337
32338         filevercmp: handle simple~ and numbered.~3~ backup suffixes
32339         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
32340         * tests/test-filevercmp.c: Add tests for backup suffixes.
32341
32342 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32343
32344         * modules/stdlib (Depends-on): Add stdint, needed when defining
32345         struct random_data on, for example, HP-UX 10.20.  Reported by
32346         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32347
32348 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32349
32350         * lib/readline.c (readline): Call fflush on stdout after printing
32351         prompt.
32352
32353 2009-03-20  Bruno Haible  <bruno@clisp.org>
32354
32355         Remove dependency from 'close' module to -lws2_32 on native Windows.
32356         * lib/close-hook.h: New file.
32357         * lib/close-hook.c: New file.
32358         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
32359         w32sock.h.
32360         (_gl_close_fd_maybe_socket): Remove function.
32361         (rpl_close): Invoke execute_all_close_hooks instead of
32362         _gl_close_fd_maybe_socket.
32363         * lib/sockets.c: Include close-hook.h, w32sock.h.
32364         (close_fd_maybe_socket): New function, essentially from lib/close.c.
32365         (close_sockets_hook): New variable.
32366         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
32367         (gl_sockets_cleanup): Unregister it.
32368         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
32369         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
32370         * modules/close-hook: New file.
32371         * modules/close (Files): Remove lib/w32sock.h.
32372         (Depends-on): Add close-hook.
32373         (Link): Remove section.
32374         * modules/sockets (Files): Add lib/w32sock.h.
32375         (Depends-on): Add close-hook.
32376         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
32377         invocation.
32378         * NEWS: Mention that LIB_CLOSE is gone.
32379
32380 2009-03-23  Eric Blake  <ebb9@byu.net>
32381
32382         signal-tests: test previous patch
32383         * tests/test-signal.c: New file.
32384         * modules/signal-tests: Likewise.
32385
32386         signal.h: always support 'volatile sig_atomic_t'
32387         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
32388         (gl_SIGNAL_H_DEFAULTS): Add a default.
32389         * modules/signal (Makefile.am): Substitute if needed.
32390         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
32391         users can blindly add volatile.
32392         * doc/posix-headers/signal.texi (signal.h): Document it.
32393         Reported by Matthew Woehlke.
32394
32395 2009-03-23  Jim Meyering  <meyering@redhat.com>
32396
32397         pathmax: PATH_MAX: use pathconf only when available
32398         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
32399         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
32400         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
32401         This avoids a link failure in a PSP cross-compilation environment
32402         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
32403
32404         * lib/vasnprintf.c (divide): Fix typo in comment.
32405
32406 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32407
32408         * gnulib-tool (func_filter_filelist): Fix comment.
32409
32410 2009-03-20  Bruno Haible  <bruno@clisp.org>
32411
32412         Make sockets.h self-contained.
32413         * lib/sockets.c: Include sockets.h first.
32414         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
32415
32416 2009-03-19  Eric Blake  <ebb9@byu.net>
32417
32418         doc: mention more functions added in cygwin 1.7.0
32419         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
32420         addition.
32421         * doc/posix-functions/log2f.texi: Likewise.
32422
32423 2009-03-19  Jim Meyering  <meyering@redhat.com>
32424
32425         fsusage: avoid syntax error due to statement-before-declaration
32426         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
32427         after all declarations.  Reported by Matthew Woehlke in
32428         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
32429
32430 2009-03-18  Eric Blake  <ebb9@byu.net>
32431
32432         build-aux/compile: sync from automake
32433         * build-aux/compile: New file, from automake.
32434         * config/srclist.txt: Mention build-aux/compile.
32435
32436 2009-03-17  Bruno Haible  <bruno@clisp.org>
32437
32438         * lib/git-merge-changelog.c: Fix typo in comment.
32439         Reported by Reuben Thomas <rrt@sc3d.org>.
32440
32441 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
32442
32443         * m4/regex.m4: update and improve help for
32444         --without-included-regex.
32445
32446 2009-03-17  Simon Josefsson  <simon@josefsson.org>
32447
32448         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
32449         failure on missing include files.
32450
32451 2009-03-17  Eric Blake  <ebb9@byu.net>
32452
32453         doc: mention more functions added in cygwin 1.7.0
32454         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
32455         addition.
32456         * doc/posix-functions/fwscanf.texi: Likewise.
32457         * doc/posix-functions/swprintf.texi: Likewise.
32458         * doc/posix-functions/swscanf.texi: Likewise.
32459         * doc/posix-functions/vfwprintf.texi: Likewise.
32460         * doc/posix-functions/vfwscanf.texi: Likewise.
32461         * doc/posix-functions/vswprintf.texi: Likewise.
32462         * doc/posix-functions/vswscanf.texi: Likewise.
32463         * doc/posix-functions/vwprintf.texi: Likewise.
32464         * doc/posix-functions/vwscanf.texi: Likewise.
32465         * doc/posix-functions/wcscasecmp.texi: Likewise.
32466         * doc/posix-functions/wcsdup.texi: Likewise.
32467         * doc/posix-functions/wcsftime.texi: Likewise.
32468         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32469         * doc/posix-functions/wprintf.texi: Likewise.
32470         * doc/posix-functions/wscanf.texi: Likewise.
32471         * doc/glibc-functions/gethostbyname2.texi: Likewise.
32472
32473 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32474
32475         maint.mk: really add $(AM_MAKEFLAGS)
32476         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
32477         was inadvertently omitted in the last commit.
32478         Spotted by Bruno Haible.
32479
32480         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
32481         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
32482         $(AM_MAKEFLAGS)' rather than plain `make'.
32483
32484         gnulib-tool: execute $MAKE not make
32485         * gnulib-tool: Default $MAKE to 'make'.
32486         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
32487         than make.  Initialize $MAKE in the do-autobuild script.
32488
32489         gnulib-tool: use $MAKE not make in generated files
32490         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
32491         make, in generated files.  Initialize $MAKE in the do-autobuild
32492         script.
32493
32494         * top/GNUmakefile (_have-git-version-gen): Fix typo.
32495
32496         GNUmakefile: disable parallelism only for multiple, recursive targets
32497         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
32498         additions in the Makefile.
32499         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
32500         by Automake.
32501         (.NOTPARALLEL): Only disable parallel builds if multiple targets
32502         are listed on the command line and at least one of them is
32503         listed in $(ALL_RECURSIVE_TARGETS).
32504
32505 2009-03-14  Bruno Haible  <bruno@clisp.org>
32506
32507         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
32508         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
32509         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
32510         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
32511         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
32512         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
32513         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
32514         unistr/u8-uctomb.
32515         * modules/unistr/u8-strchr (Depends-on): Likewise.
32516         * modules/unistr/u8-strrchr (Depends-on): Likewise.
32517         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
32518         unistr/u16-uctomb.
32519         * modules/unistr/u16-strchr (Depends-on): Likewise.
32520         * modules/unistr/u16-strrchr (Depends-on): Likewise.
32521
32522 2009-03-12  Bruno Haible  <bruno@clisp.org>
32523
32524         Work around select() bug on Interix 3.5.
32525         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
32526         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
32527         * m4/select.m4: New file.
32528         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
32529         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
32530         * modules/select (Files): Add m4/select.m4.
32531         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
32532         * modules/nanosleep (Depends-on): Add select.
32533         * modules/poll (Depends-on): Likewise.
32534         * doc/posix-functions/select.texi: Mention the Interix bug.
32535         Reported by Markus Duft <mduft@gentoo.org>.
32536
32537         * lib/select.c: Renamed from lib/winsock-select.c.
32538         * modules/select (Files): Add lib/select.c, remove
32539         lib/winsock-select.c.
32540         (configure.ac): Update.
32541
32542 2009-03-12  Jim Meyering  <meyering@redhat.com>
32543
32544         avoid gcc warnings about unused macro definitions
32545         * lib/readtokens.c (STREQ): Remove unused definition.
32546         * lib/xmalloc.c (SIZE_MAX): Likewise.
32547         * lib/openat-die.c (N_): Likewise.
32548         * lib/mountlist.c (SIZE_MAX): Remove definition.
32549         Instead, include <stdint.h>.
32550         * lib/readutmp.c: Likewise.
32551         * modules/readutmp (Depends-on): Add stdint.
32552         * modules/mountlist (Depends-on): Add stdint.
32553         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
32554
32555 2009-03-10  Bruno Haible  <bruno@clisp.org>
32556
32557         Tests for module 'mbmemcasecoll'.
32558         * modules/mbmemcasecoll-tests: New file.
32559         * tests/test-mbmemcasecoll1.sh: New file.
32560         * tests/test-mbmemcasecoll2.sh: New file.
32561         * tests/test-mbmemcasecoll3.sh: New file.
32562         * tests/test-mbmemcasecoll.c: New file.
32563
32564         New module 'mbmemcasecoll'.
32565         * lib/mbmemcasecoll.h: New file.
32566         * lib/mbmemcasecoll.c: New file.
32567         * modules/mbmemcasecoll: New file.
32568
32569         * tests/test-mbmemcasecmp.h: New file, extracted from
32570         tests/test-mbmemcasecmp.c.
32571         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
32572         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
32573         (main): Update.
32574         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
32575
32576 2009-03-09  Bruno Haible  <bruno@clisp.org>
32577
32578         Tests for module 'mbmemcasecmp'.
32579         * modules/mbmemcasecmp-tests: New file.
32580         * tests/test-mbmemcasecmp1.sh: New file.
32581         * tests/test-mbmemcasecmp2.sh: New file.
32582         * tests/test-mbmemcasecmp3.sh: New file.
32583         * tests/test-mbmemcasecmp.c: New file.
32584
32585         New module 'mbmemcasecmp'.
32586         * lib/mbmemcasecmp.h: New file.
32587         * lib/mbmemcasecmp.c: New file.
32588         * modules/mbmemcasecmp: New file.
32589
32590 2009-03-09  Bruno Haible  <bruno@clisp.org>
32591
32592         Tests for module 'unicase/ulc-casecoll'.
32593         * modules/unicase/ulc-casecoll-tests: New file.
32594         * tests/unicase/test-ulc-casecoll1.sh: New file.
32595         * tests/unicase/test-ulc-casecoll2.sh: New file.
32596         * tests/unicase/test-ulc-casecoll.c: New file.
32597
32598         New module 'unicase/ulc-casecoll'.
32599         * lib/unicase.h (ulc_casecoll): New declaration.
32600         * lib/unicase/ulc-casecoll.c: New file.
32601         * modules/unicase/ulc-casecoll: New file.
32602
32603         New module 'unicase/ulc-casexfrm'.
32604         * lib/unicase.h (ulc_casexfrm): New declaration.
32605         * lib/unicase/ulc-casexfrm.c: New file.
32606         * modules/unicase/ulc-casexfrm: New file.
32607
32608 2009-03-09  Bruno Haible  <bruno@clisp.org>
32609
32610         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
32611         invocations.
32612
32613         * m4/mbscasecmp.m4: Remove file.
32614         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
32615         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
32616
32617         * m4/mbscasestr.m4: Remove file.
32618         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
32619         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
32620
32621         * m4/mbschr.m4: Remove file.
32622         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
32623         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
32624
32625         * m4/mbscspn.m4: Remove file.
32626         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
32627         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
32628
32629         * m4/mbslen.m4: Remove file.
32630         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
32631         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
32632
32633         * m4/mbsncasecmp.m4: Remove file.
32634         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
32635         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
32636
32637         * m4/mbsnlen.m4: Remove file.
32638         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
32639         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
32640
32641         * m4/mbspbrk.m4: Remove file.
32642         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
32643         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
32644
32645         * m4/mbspcasecmp.m4: Remove file.
32646         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
32647         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
32648
32649         * m4/mbsrchr.m4: Remove file.
32650         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
32651         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
32652
32653         * m4/mbssep.m4: Remove file.
32654         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
32655         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
32656
32657         * m4/mbsspn.m4: Remove file.
32658         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
32659         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
32660
32661         * m4/mbsstr.m4: Remove file.
32662         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
32663         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
32664
32665         * m4/mbstok_r.m4: Remove file.
32666         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
32667         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
32668
32669         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
32670
32671         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
32672         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
32673
32674         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
32675
32676 2009-03-08  Bruno Haible  <bruno@clisp.org>
32677
32678         Tests for module 'unicase/ulc-casecmp'.
32679         * modules/unicase/ulc-casecmp-tests: New file.
32680         * tests/unicase/test-ulc-casecmp1.sh: New file.
32681         * tests/unicase/test-ulc-casecmp2.sh: New file.
32682         * tests/unicase/test-ulc-casecmp.c: New file.
32683
32684         New module 'unicase/ulc-casecmp'.
32685         * lib/unicase.h (ulc_casecmp): New declaration.
32686         * lib/unicase/ulc-casecmp.c: New file.
32687         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
32688         'const SRC_UNIT *'.
32689         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
32690         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
32691         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
32692         * modules/unicase/ulc-casecmp: New file.
32693
32694         Tests for module 'unicase/u32-is-cased'.
32695         * modules/unicase/u32-is-cased-tests: New file.
32696         * tests/unicase/test-u32-is-cased.c: New file.
32697
32698         Tests for module 'unicase/u16-is-cased'.
32699         * modules/unicase/u16-is-cased-tests: New file.
32700         * tests/unicase/test-u16-is-cased.c: New file.
32701
32702         Tests for module 'unicase/u8-is-cased'.
32703         * modules/unicase/u8-is-cased-tests: New file.
32704         * tests/unicase/test-u8-is-cased.c: New file.
32705         * tests/unicase/test-is-cased.h: New file.
32706
32707         New module 'unicase/u32-is-cased'.
32708         * lib/unicase/u32-is-cased.c: New file.
32709         * modules/unicase/u32-is-cased: New file.
32710
32711         New module 'unicase/u16-is-cased'.
32712         * lib/unicase/u16-is-cased.c: New file.
32713         * modules/unicase/u16-is-cased: New file.
32714
32715         New module 'unicase/u8-is-cased'.
32716         * lib/unicase/u8-is-cased.c: New file.
32717         * lib/unicase/u-is-cased.h: New file.
32718         * modules/unicase/u8-is-cased: New file.
32719
32720         Tests for module 'unicase/u32-is-casefolded'.
32721         * modules/unicase/u32-is-casefolded-tests: New file.
32722         * tests/unicase/test-u32-is-casefolded.c: New file.
32723
32724         Tests for module 'unicase/u16-is-casefolded'.
32725         * modules/unicase/u16-is-casefolded-tests: New file.
32726         * tests/unicase/test-u16-is-casefolded.c: New file.
32727
32728         Tests for module 'unicase/u8-is-casefolded'.
32729         * modules/unicase/u8-is-casefolded-tests: New file.
32730         * tests/unicase/test-u8-is-casefolded.c: New file.
32731         * tests/unicase/test-is-casefolded.h: New file.
32732
32733         New module 'unicase/u32-is-casefolded'.
32734         * lib/unicase/u32-is-casefolded.c: New file.
32735         * modules/unicase/u32-is-casefolded: New file.
32736
32737         New module 'unicase/u16-is-casefolded'.
32738         * lib/unicase/u16-is-casefolded.c: New file.
32739         * modules/unicase/u16-is-casefolded: New file.
32740
32741         New module 'unicase/u8-is-casefolded'.
32742         * lib/unicase/u8-is-casefolded.c: New file.
32743         * modules/unicase/u8-is-casefolded: New file.
32744
32745         Tests for module 'unicase/u32-is-titlecase'.
32746         * modules/unicase/u32-is-titlecase-tests: New file.
32747         * tests/unicase/test-u32-is-titlecase.c: New file.
32748
32749         Tests for module 'unicase/u16-is-titlecase'.
32750         * modules/unicase/u16-is-titlecase-tests: New file.
32751         * tests/unicase/test-u16-is-titlecase.c: New file.
32752
32753         Tests for module 'unicase/u8-is-titlecase'.
32754         * modules/unicase/u8-is-titlecase-tests: New file.
32755         * tests/unicase/test-u8-is-titlecase.c: New file.
32756         * tests/unicase/test-is-titlecase.h: New file.
32757
32758         New module 'unicase/u32-is-titlecase'.
32759         * lib/unicase/u32-is-titlecase.c: New file.
32760         * modules/unicase/u32-is-titlecase: New file.
32761
32762         New module 'unicase/u16-is-titlecase'.
32763         * lib/unicase/u16-is-titlecase.c: New file.
32764         * modules/unicase/u16-is-titlecase: New file.
32765
32766         New module 'unicase/u8-is-titlecase'.
32767         * lib/unicase/u8-is-titlecase.c: New file.
32768         * modules/unicase/u8-is-titlecase: New file.
32769
32770         Tests for module 'unicase/u32-is-lowercase'.
32771         * modules/unicase/u32-is-lowercase-tests: New file.
32772         * tests/unicase/test-u32-is-lowercase.c: New file.
32773
32774         Tests for module 'unicase/u16-is-lowercase'.
32775         * modules/unicase/u16-is-lowercase-tests: New file.
32776         * tests/unicase/test-u16-is-lowercase.c: New file.
32777
32778         Tests for module 'unicase/u8-is-lowercase'.
32779         * modules/unicase/u8-is-lowercase-tests: New file.
32780         * tests/unicase/test-u8-is-lowercase.c: New file.
32781         * tests/unicase/test-is-lowercase.h: New file.
32782
32783         New module 'unicase/u32-is-lowercase'.
32784         * lib/unicase/u32-is-lowercase.c: New file.
32785         * modules/unicase/u32-is-lowercase: New file.
32786
32787         New module 'unicase/u16-is-lowercase'.
32788         * lib/unicase/u16-is-lowercase.c: New file.
32789         * modules/unicase/u16-is-lowercase: New file.
32790
32791         New module 'unicase/u8-is-lowercase'.
32792         * lib/unicase/u8-is-lowercase.c: New file.
32793         * modules/unicase/u8-is-lowercase: New file.
32794
32795         Tests for module 'unicase/u32-is-uppercase'.
32796         * modules/unicase/u32-is-uppercase-tests: New file.
32797         * tests/unicase/test-u32-is-uppercase.c: New file.
32798
32799         Tests for module 'unicase/u16-is-uppercase'.
32800         * modules/unicase/u16-is-uppercase-tests: New file.
32801         * tests/unicase/test-u16-is-uppercase.c: New file.
32802
32803         Tests for module 'unicase/u8-is-uppercase'.
32804         * modules/unicase/u8-is-uppercase-tests: New file.
32805         * tests/unicase/test-u8-is-uppercase.c: New file.
32806         * tests/unicase/test-is-uppercase.h: New file.
32807
32808         New module 'unicase/u32-is-uppercase'.
32809         * lib/unicase/u32-is-uppercase.c: New file.
32810         * modules/unicase/u32-is-uppercase: New file.
32811
32812         New module 'unicase/u16-is-uppercase'.
32813         * lib/unicase/u16-is-uppercase.c: New file.
32814         * modules/unicase/u16-is-uppercase: New file.
32815
32816         New module 'unicase/u8-is-uppercase'.
32817         * lib/unicase/u8-is-uppercase.c: New file.
32818         * modules/unicase/u8-is-uppercase: New file.
32819
32820         New module 'unicase/u32-is-invariant'.
32821         * lib/unicase/u32-is-invariant.c: New file.
32822         * modules/unicase/u32-is-invariant: New file.
32823
32824         New module 'unicase/u16-is-invariant'.
32825         * lib/unicase/u16-is-invariant.c: New file.
32826         * modules/unicase/u16-is-invariant: New file.
32827
32828         New module 'unicase/u8-is-invariant'.
32829         * lib/unicase/u8-is-invariant.c: New file.
32830         * lib/unicase/invariant.h: New file.
32831         * lib/unicase/u-is-invariant.h: New file.
32832         * modules/unicase/u8-is-invariant: New file.
32833
32834         Tests for module 'unicase/u32-casecoll'.
32835         * modules/unicase/u32-casecoll-tests: New file.
32836         * tests/unicase/test-u32-casecoll.c: New file.
32837
32838         Tests for module 'unicase/u16-casecoll'.
32839         * modules/unicase/u16-casecoll-tests: New file.
32840         * tests/unicase/test-u16-casecoll.c: New file.
32841
32842         Tests for module 'unicase/u8-casecoll'.
32843         * modules/unicase/u8-casecoll-tests: New file.
32844         * tests/unicase/test-u8-casecoll.c: New file.
32845
32846         New module 'unicase/u32-casecoll'.
32847         * lib/unicase/u32-casecoll.c: New file.
32848         * modules/unicase/u32-casecoll: New file.
32849
32850         New module 'unicase/u16-casecoll'.
32851         * lib/unicase/u16-casecoll.c: New file.
32852         * modules/unicase/u16-casecoll: New file.
32853
32854         New module 'unicase/u8-casecoll'.
32855         * lib/unicase/u8-casecoll.c: New file.
32856         * lib/unicase/u-casecoll.h: New file.
32857         * modules/unicase/u8-casecoll: New file.
32858
32859         New module 'unicase/u32-casexfrm'.
32860         * lib/unicase/u32-casexfrm.c: New file.
32861         * modules/unicase/u32-casexfrm: New file.
32862
32863         New module 'unicase/u16-casexfrm'.
32864         * lib/unicase/u16-casexfrm.c: New file.
32865         * modules/unicase/u16-casexfrm: New file.
32866
32867         New module 'unicase/u8-casexfrm'.
32868         * lib/unicase/u8-casexfrm.c: New file.
32869         * lib/unicase/u-casexfrm.h: New file.
32870         * modules/unicase/u8-casexfrm: New file.
32871
32872         Tests for module 'unicase/u32-casecmp'.
32873         * modules/unicase/u32-casecmp-tests: New file.
32874         * tests/unicase/test-u32-casecmp.c: New file.
32875
32876         Tests for module 'unicase/u16-casecmp'.
32877         * modules/unicase/u16-casecmp-tests: New file.
32878         * tests/unicase/test-u16-casecmp.c: New file.
32879
32880         Tests for module 'unicase/u8-casecmp'.
32881         * modules/unicase/u8-casecmp-tests: New file.
32882         * tests/unicase/test-u8-casecmp.c: New file.
32883         * tests/unicase/test-casecmp.h: New file.
32884
32885         New module 'unicase/u32-casecmp'.
32886         * lib/unicase/u32-casecmp.c: New file.
32887         * modules/unicase/u32-casecmp: New file.
32888
32889         New module 'unicase/u16-casecmp'.
32890         * lib/unicase/u16-casecmp.c: New file.
32891         * modules/unicase/u16-casecmp: New file.
32892
32893         New module 'unicase/u8-casecmp'.
32894         * lib/unicase/u8-casecmp.c: New file.
32895         * lib/unicase/u-casecmp.h: New file.
32896         * modules/unicase/u8-casecmp: New file.
32897
32898         Tests for module 'unicase/u32-casefold'.
32899         * modules/unicase/u32-casefold-tests: New file.
32900         * tests/unicase/test-u32-casefold.c: New file.
32901
32902         Tests for module 'unicase/u16-casefold'.
32903         * modules/unicase/u16-casefold-tests: New file.
32904         * tests/unicase/test-u16-casefold.c: New file.
32905
32906         Tests for module 'unicase/u8-casefold'.
32907         * modules/unicase/u8-casefold-tests: New file.
32908         * tests/unicase/test-u8-casefold.c: New file.
32909
32910         New module 'unicase/u32-casefold'.
32911         * lib/unicase/u32-casefold.c: New file.
32912         * modules/unicase/u32-casefold: New file.
32913
32914         New module 'unicase/u16-casefold'.
32915         * lib/unicase/u16-casefold.c: New file.
32916         * modules/unicase/u16-casefold: New file.
32917
32918         New module 'unicase/u8-casefold'.
32919         * lib/unicase/u8-casefold.c: New file.
32920         * lib/unicase/u-casefold.h: New file.
32921         * modules/unicase/u8-casefold: New file.
32922
32923         New module 'unicase/tocasefold'.
32924         * lib/unicase/casefold.h: New file.
32925         * lib/unicase/tocasefold.c: New file.
32926         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
32927         * modules/unicase/tocasefold: New file.
32928
32929         Tests for module 'unicase/u32-totitle'.
32930         * modules/unicase/u32-totitle-tests: New file.
32931         * tests/unicase/test-u32-totitle.c: New file.
32932
32933         Tests for module 'unicase/u16-totitle'.
32934         * modules/unicase/u16-totitle-tests: New file.
32935         * tests/unicase/test-u16-totitle.c: New file.
32936
32937         Tests for module 'unicase/u8-totitle'.
32938         * modules/unicase/u8-totitle-tests: New file.
32939         * tests/unicase/test-u8-totitle.c: New file.
32940
32941         New module 'unicase/u32-totitle'.
32942         * lib/unicase/u32-totitle.c: New file.
32943         * modules/unicase/u32-totitle: New file.
32944
32945         New module 'unicase/u16-totitle'.
32946         * lib/unicase/u16-totitle.c: New file.
32947         * modules/unicase/u16-totitle: New file.
32948
32949         New module 'unicase/u8-totitle'.
32950         * lib/unicase/u8-totitle.c: New file.
32951         * lib/unicase/u-totitle.h: New file.
32952         * modules/unicase/u8-totitle: New file.
32953
32954         Tests for module 'unicase/u32-tolower'.
32955         * modules/unicase/u32-tolower-tests: New file.
32956         * tests/unicase/test-u32-tolower.c: New file.
32957
32958         Tests for module 'unicase/u16-tolower'.
32959         * modules/unicase/u16-tolower-tests: New file.
32960         * tests/unicase/test-u16-tolower.c: New file.
32961
32962         Tests for module 'unicase/u8-tolower'.
32963         * modules/unicase/u8-tolower-tests: New file.
32964         * tests/unicase/test-u8-tolower.c: New file.
32965
32966         New module 'unicase/u32-tolower'.
32967         * lib/unicase/u32-tolower.c: New file.
32968         * modules/unicase/u32-tolower: New file.
32969
32970         New module 'unicase/u16-tolower'.
32971         * lib/unicase/u16-tolower.c: New file.
32972         * modules/unicase/u16-tolower: New file.
32973
32974         New module 'unicase/u8-tolower'.
32975         * lib/unicase/u8-tolower.c: New file.
32976         * modules/unicase/u8-tolower: New file.
32977
32978         Tests for module 'unicase/u32-toupper'.
32979         * modules/unicase/u32-toupper-tests: New file.
32980         * tests/unicase/test-u32-toupper.c: New file.
32981
32982         Tests for module 'unicase/u16-toupper'.
32983         * modules/unicase/u16-toupper-tests: New file.
32984         * tests/unicase/test-u16-toupper.c: New file.
32985
32986         Tests for module 'unicase/u8-toupper'.
32987         * modules/unicase/u8-toupper-tests: New file.
32988         * tests/unicase/test-u8-toupper.c: New file.
32989
32990         New module 'unicase/u32-toupper'.
32991         * lib/unicase/u32-toupper.c: New file.
32992         * modules/unicase/u32-toupper: New file.
32993
32994         New module 'unicase/u16-toupper'.
32995         * lib/unicase/u16-toupper.c: New file.
32996         * modules/unicase/u16-toupper: New file.
32997
32998         New module 'unicase/u8-toupper'.
32999         * lib/unicase/u8-toupper.c: New file.
33000         * modules/unicase/u8-toupper: New file.
33001
33002         New module 'unicase/u32-casemap'.
33003         * lib/unicase/u32-casemap.c: New file.
33004         * modules/unicase/u32-casemap: New file.
33005
33006         New module 'unicase/u16-casemap'.
33007         * lib/unicase/u16-casemap.c: New file.
33008         * modules/unicase/u16-casemap: New file.
33009
33010         New module 'unicase/u8-casemap'.
33011         * lib/unicase/unicasemap.h: New file.
33012         * lib/unicase/u8-casemap.c: New file.
33013         * lib/unicase/u-casemap.h: New file.
33014         * modules/unicase/u8-casemap: New file.
33015
33016         New module 'unicase/special-casing'.
33017         * lib/unicase/special-casing.h: New file.
33018         * lib/unicase/special-casing.c: New file.
33019         * lib/unicase/special-casing-table.gperf: New file, generated by
33020         gen-uni-tables.c.
33021         * modules/unicase/special-casing: New file.
33022
33023         Tests for module 'unicase/locale-language'.
33024         * modules/unicase/locale-language-tests: New file.
33025         * tests/unicase/test-locale-language.sh: New file.
33026         * tests/unicase/test-locale-language.c: New file.
33027
33028         New module 'unicase/locale-language'.
33029         * lib/unicase/locale-language.c: New file.
33030         * lib/unicase/locale-languages.gperf: New file.
33031         * modules/unicase/locale-language: New file.
33032
33033         Generate more tables for case conversion and case folding.
33034         * lib/gen-uni-tables.c (SCC_*): New enum items.
33035         (struct special_casing_rule): New type.
33036         (casing_rules, num_casing_rules, allocated_casing_rules): New
33037         variables.
33038         (add_casing_rule, fill_casing_rules): New functions.
33039         (struct casefold_rule): New type.
33040         (casefolding_rules, num_casefolding_rules,
33041         allocated_casefolding_rules): New variables.
33042         (fill_casefolding_rules): New function.
33043         (unicode_casefold): New variable.
33044         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
33045         sort_casing_rules, output_casing_rules): New functions.
33046         (main): Accept to more arguments: SpecialCasing.txt and
33047         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
33048         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
33049         Output mapping for casefolding.
33050
33051         * lib/unicase.h: Include stdbool.h, uninorm.h.
33052         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
33053         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
33054         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
33055         arguments.
33056         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
33057         resultp arguments.
33058         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
33059         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
33060         resultp arguments.
33061         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
33062         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
33063         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
33064         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
33065         declarations.
33066         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
33067
33068 2009-03-08  Bruno Haible  <bruno@clisp.org>
33069
33070         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
33071         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
33072         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
33073         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
33074
33075 2009-03-07  Bruno Haible  <bruno@clisp.org>
33076
33077         Adjust u*_normcmp, u*_normcoll API.
33078         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
33079         u16_normcoll, u32_normcoll): Change failure conventions.
33080         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
33081         errno and return -1.
33082         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
33083
33084 2009-03-07  Bruno Haible  <bruno@clisp.org>
33085
33086         Tests for module 'uninorm/u32-normcoll'.
33087         * modules/uninorm/u32-normcoll-tests: New file.
33088         * tests/uninorm/test-u32-normcoll.c: New file.
33089
33090         Tests for module 'uninorm/u16-normcoll'.
33091         * modules/uninorm/u16-normcoll-tests: New file.
33092         * tests/uninorm/test-u16-normcoll.c: New file.
33093
33094         Tests for module 'uninorm/u8-normcoll'.
33095         * modules/uninorm/u8-normcoll-tests: New file.
33096         * tests/uninorm/test-u8-normcoll.c: New file.
33097
33098 2009-03-07  Bruno Haible  <bruno@clisp.org>
33099
33100         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
33101         tests/uninorm/test-u32-normcmp.c.
33102         * tests/uninorm/test-u32-normcmp.c: Include it.
33103         (test_nonascii): New function, extracted from main. Add some more
33104         tests.
33105         (main): Invoke test_ascii and test_nonascii.
33106         * modules/uninorm/u32-normcmp-tests (Files): Add
33107         tests/uninorm/test-u32-normcmp.h.
33108         (Depends-on): Remove uninorm/u32-normcmp.
33109
33110         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
33111         tests/uninorm/test-u16-normcmp.c.
33112         * tests/uninorm/test-u16-normcmp.c: Include it.
33113         (test_nonascii): New function, extracted from main. Add some more
33114         tests.
33115         (main): Invoke test_ascii and test_nonascii.
33116         * modules/uninorm/u16-normcmp-tests (Files): Add
33117         tests/uninorm/test-u16-normcmp.h.
33118         (Depends-on): Remove uninorm/u16-normcmp.
33119
33120         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
33121         tests/uninorm/test-u8-normcmp.c.
33122         * tests/uninorm/test-u8-normcmp.c: Include it.
33123         (test_nonascii): New function, extracted from main. Add some more
33124         tests.
33125         (main): Invoke test_ascii and test_nonascii.
33126         * modules/uninorm/u8-normcmp-tests (Files): Add
33127         tests/uninorm/test-u8-normcmp.h.
33128         (Depends-on): Remove uninorm/u8-normcmp.
33129
33130 2009-03-07  Bruno Haible  <bruno@clisp.org>
33131
33132         New module 'uninorm/u32-normcoll'.
33133         * lib/uninorm/u32-normcoll.c: New file.
33134         * modules/uninorm/u32-normcoll: New file.
33135
33136         New module 'uninorm/u16-normcoll'.
33137         * lib/uninorm/u16-normcoll.c: New file.
33138         * modules/uninorm/u16-normcoll: New file.
33139
33140         New module 'uninorm/u8-normcoll'.
33141         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
33142         declarations.
33143         * lib/uninorm/u8-normcoll.c: New file.
33144         * lib/uninorm/u-normcoll.h: New file.
33145         * modules/uninorm/u8-normcoll: New file.
33146
33147         New module 'uninorm/u32-normxfrm'.
33148         * lib/uninorm/u32-normxfrm.c: New file.
33149         * modules/uninorm/u32-normxfrm: New file.
33150
33151         New module 'uninorm/u16-normxfrm'.
33152         * lib/uninorm/u16-normxfrm.c: New file.
33153         * modules/uninorm/u16-normxfrm: New file.
33154
33155         New module 'uninorm/u8-normxfrm'.
33156         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
33157         declarations.
33158         * lib/uninorm/u8-normxfrm.c: New file.
33159         * lib/uninorm/u-normxfrm.h: New file.
33160         * modules/uninorm/u8-normxfrm: New file.
33161
33162 2009-03-07  Bruno Haible  <bruno@clisp.org>
33163
33164         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
33165         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
33166         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
33167
33168 2009-03-07  Bruno Haible  <bruno@clisp.org>
33169
33170         New module 'memxfrm'.
33171         * lib/memxfrm.h: New file.
33172         * lib/memxfrm.c: New file.
33173         * modules/memxfrm: New file.
33174
33175 2009-03-07  Bruno Haible  <bruno@clisp.org>
33176
33177         New module 'memcmp2'.
33178         * lib/memcmp2.h: New file.
33179         * lib/memcmp2.c: New file.
33180         * modules/memcmp2: New file.
33181
33182 2009-03-07  Bruno Haible  <bruno@clisp.org>
33183
33184         Tests for module 'uninorm/decomposing-form'.
33185         * modules/uninorm/decomposing-form-tests: New file.
33186         * tests/uninorm/test-decomposing-form.c: New file.
33187
33188         New module 'uninorm/decomposing-form'.
33189         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
33190         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
33191         Add 'decomposing_variant' field.
33192         * lib/uninorm/decomposing-form.c: New file.
33193         * lib/uninorm/nfc.c (uninorm_nfc): Update.
33194         * lib/uninorm/nfd.c (uninorm_nfd): Update.
33195         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
33196         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
33197         * modules/uninorm/decomposing-form: New file.
33198         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
33199         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
33200
33201 2009-03-07  Bruno Haible  <bruno@clisp.org>
33202
33203         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
33204         strings.
33205
33206 2009-03-06  Bruno Haible  <bruno@clisp.org>
33207
33208         Tests for module 'uninorm/u32-normcmp'.
33209         * tests/uninorm/test-u32-normcmp.c: New file.
33210         * modules/uninorm/u32-normcmp-tests: New file.
33211
33212         Tests for module 'uninorm/u16-normcmp'.
33213         * tests/uninorm/test-u16-normcmp.c: New file.
33214         * modules/uninorm/u16-normcmp-tests: New file.
33215
33216         Tests for module 'uninorm/u8-normcmp'.
33217         * tests/uninorm/test-u8-normcmp.c: New file.
33218         * modules/uninorm/u8-normcmp-tests: New file.
33219
33220         New module 'uninorm/u32-normcmp'.
33221         * lib/uninorm/u32-normcmp.c: New file.
33222         * modules/uninorm/u32-normcmp: New file.
33223
33224         New module 'uninorm/u16-normcmp'.
33225         * lib/uninorm/u16-normcmp.c: New file.
33226         * modules/uninorm/u16-normcmp: New file.
33227
33228         New module 'uninorm/u8-normcmp'.
33229         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
33230         declarations.
33231         * lib/uninorm/u8-normcmp.c: New file.
33232         * lib/uninorm/u-normcmp.h: New file.
33233         * modules/uninorm/u8-normcmp: New file.
33234
33235 2009-03-06  Bruno Haible  <bruno@clisp.org>
33236
33237         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
33238         Reported by Eric Blake.
33239
33240 2009-03-06  Eric Blake  <ebb9@byu.net>
33241             Bruno Haible  <bruno@clisp.org>
33242
33243         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
33244         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
33245         condition.
33246         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
33247         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
33248         condition.
33249         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
33250
33251 2009-03-06  Eric Blake  <ebb9@byu.net>
33252
33253         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
33254         to avoid compiler warnings.
33255         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
33256
33257 2009-03-05  Bruno Haible  <bruno@clisp.org>
33258
33259         * tests/test-ftell.c (main): Disable test beyond end of file on
33260         FreeMiNT.
33261         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
33262
33263 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
33264
33265         * lib/filevercmp.c: Move hidden files up in ordering.
33266         * tests/test-filevercmp.c: Add tests for hidden files.
33267
33268 2009-03-04  Bruno Haible  <bruno@clisp.org>
33269
33270         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
33271         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
33272         AM_CFLAGS.
33273         Reported by Simon Josefsson.
33274
33275 2009-03-03  Bruno Haible  <bruno@clisp.org>
33276
33277         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
33278         Reported by Simon Josefsson.
33279
33280         * doc/ld-version-script.texi: Update node reference.
33281
33282 2009-03-03  Bruno Haible  <bruno@clisp.org>
33283
33284         * modules/visibility (License): Change to 'unlimited'.
33285         Suggested by Simon Josefsson.
33286
33287 2009-03-03  Jim Meyering  <meyering@redhat.com>
33288
33289         unlinkdir: cannot_unlink_dir may modify process state
33290         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
33291         it's neither thread-safe nor appropriate for use in a library.
33292
33293 2009-03-03  Eric Blake  <ebb9@byu.net>
33294
33295         test-closein: silence test under Darwin
33296         * tests/test-closein.sh: Ignore stderr from cat, since we don't
33297         care if it dies from EPIPE or EBADF.
33298
33299 2009-03-03  Bruno Haible  <bruno@clisp.org>
33300
33301         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
33302         earlier.
33303         * doc/visibility.texi: Fix @node and @section.
33304
33305 2009-03-03  Simon Josefsson  <simon@josefsson.org>
33306
33307         * doc/gnulib.texi: Link to sections for ld version script and
33308         visibility.
33309         * doc/visibility.texi: Add @node and @section.
33310         * modules/ld-version-script: New module.
33311         * m4/ld-version-script.m4: New file.
33312         * doc/ld-version-script.texi: New file.
33313
33314 2009-03-02  David Lutterkort  <lutter@redhat.com>
33315
33316         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
33317         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33318
33319 2009-03-02  Bruno Haible  <bruno@clisp.org>
33320
33321         * doc/visibility.texi: Mention libtool's -export-symbols option.
33322
33323 2009-03-02  Jim Meyering  <meyering@redhat.com>
33324
33325         announce-gen: new option: --no-print-checksums
33326         * build-aux/announce-gen (usage): Describe it.
33327         (print_checksums): Print a newline here, not in the [*] footnote.
33328         (main): Honor it.
33329
33330 2009-03-01  Bruno Haible  <bruno@clisp.org>
33331
33332         Use socklen_t in the native Windows replacements prototypes.
33333         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
33334         instead of 'int'.
33335         * lib/getsockopt.c (rpl_getsockopt): Likewise.
33336         * lib/setsockopt.c (rpl_setsockopt): Likewise.
33337         * modules/getsockopt (Depends-on): Add socklen.
33338         * modules/setsockopt (Depends-on): Add socklen.
33339
33340 2009-03-01  Bruno Haible  <bruno@clisp.org>
33341
33342         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
33343         least 4.2.
33344
33345 2009-03-01  Eric Blake  <ebb9@byu.net>
33346             Bruno Haible  <bruno@clisp.org>
33347
33348         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
33349         error messages.
33350         * lib/wait-process.c (wait_subprocess): Omit error message about
33351         deadly signal sent to the child of termsigp != NULL.
33352
33353 2009-03-01  Eric Blake  <ebb9@byu.net>
33354
33355         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
33356
33357 2009-03-01  Bruno Haible  <bruno@clisp.org>
33358
33359         Avoid a gcc warning.
33360         * tests/test-sched.c (b): Make global.
33361         Reported by Eric Blake.
33362
33363 2009-01-19  Martin Lambers  <marlam@marlam.de>
33364
33365         Provide POSIX semantics for socket timeout options on W32.
33366         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
33367         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
33368         * modules/setsockopt: Depend on sys_time module for struct timeval.
33369         * modules/getsockopt: Depend on sys_time module for struct timeval.
33370
33371 2009-03-01  Simon Josefsson  <simon@josefsson.org>
33372
33373         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
33374         __USE_GNU, for consistency with netdb.in.h.
33375         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33376
33377 2009-03-01  Bruno Haible  <bruno@clisp.org>
33378
33379         More support for FreeMiNT.
33380         * lib/fseeko.c (rpl_fseeko): Complete last commit.
33381         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33382
33383 2009-03-01  Bruno Haible  <bruno@clisp.org>
33384
33385         More support for FreeMiNT.
33386         * lib/fpurge.c (fpurge): Correct last commit.
33387         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33388
33389 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33390
33391         Fix unportable awk script in vc-list-files.
33392         * build-aux/vc-list-files: In the replacement awk script, use
33393         substr with a second argument of 1, not zero.
33394         Report by Simon Josefsson.
33395
33396 2009-02-28  Bruno Haible  <bruno@clisp.org>
33397
33398         More support for FreeMiNT.
33399         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
33400         to FreeMiNT today.
33401         * lib/fwriting.c (fwriting): Likewise.
33402         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
33403
33404 2009-02-28  Bruno Haible  <bruno@clisp.org>
33405
33406         * tests/test-freadseek.c (main): Disable test beyond end of file on
33407         FreeMiNT.
33408         * tests/test-ftello.c (main): Likewise.
33409         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
33410
33411 2009-02-28  Bruno Haible  <bruno@clisp.org>
33412
33413         Add tentative support for FreeMiNT.
33414         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
33415         * lib/fpurge.c (fpurge): Likewise.
33416         * lib/freadable.c (freadable): Likewise.
33417         * lib/freading.c (freading): Likewise.
33418         * lib/freadptr.c (freadptr): Likewise.
33419         * lib/freadseek.c (freadptrinc): Likewise.
33420         * lib/fseeko.c (rpl_fseeko): Likewise.
33421         * lib/fseterr.c (fseterr): Likewise.
33422         * lib/fwritable.c (fwritable): Likewise.
33423         * lib/fwriting.c (fwriting): Likewise.
33424         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
33425         Hourihane.
33426         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33427
33428 2009-02-28  Bruno Haible  <bruno@clisp.org>
33429
33430         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
33431         SIGCHLD.
33432         Reported by Jim Meyering.
33433
33434 2009-02-28  Bruno Haible  <bruno@clisp.org>
33435
33436         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
33437         Mention the results of these tests on various platforms.
33438         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
33439         order.
33440         * doc/posix-functions/printf.texi: Likewise.
33441         * doc/posix-functions/snprintf.texi: Likewise.
33442         * doc/posix-functions/sprintf.texi: Likewise.
33443         * doc/posix-functions/vfprintf.texi: Likewise.
33444         * doc/posix-functions/vprintf.texi: Likewise.
33445         * doc/posix-functions/vsnprintf.texi: Likewise.
33446         * doc/posix-functions/vsprintf.texi: Likewise.
33447         * doc/glibc-functions/obstack_printf.texi: Likewise.
33448         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
33449
33450 2009-02-28  Bruno Haible  <bruno@clisp.org>
33451
33452         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
33453         Reported by Loïc Minier <lool@dooz.org>.
33454
33455 2009-02-27  Bruno Haible  <bruno@clisp.org>
33456
33457         * gnulib-tool (func_import): Make the sed expression used to create the
33458         sed script for updating the .gitignore file POSIX compliant.
33459         Reported by Eric Blake.
33460
33461 2009-02-27  Bruno Haible  <bruno@clisp.org>
33462
33463         * gnulib-tool (sed): Don't alias as "sed --posix".
33464         Reported by Eric Blake.
33465
33466 2009-02-27  Bruno Haible  <bruno@clisp.org>
33467
33468         Avoid test link errors.
33469         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
33470         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
33471         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
33472         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
33473         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33474
33475 2009-02-27  Bruno Haible  <bruno@clisp.org>
33476
33477         Avoid spurious "(cached)" in configure output.
33478         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
33479         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
33480         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33481         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33482         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33483         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
33484         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33485         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
33486         Reported by Eric Blake.
33487
33488 2009-02-27  Eric Blake  <ebb9@byu.net>
33489
33490         printf: fix regression in previous patch
33491         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
33492
33493 2009-02-27  Bruno Haible  <bruno@clisp.org>
33494
33495         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
33496         value.
33497         * lib/stdint.in.h: Likewise.
33498         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
33499
33500 2009-02-27  Eric Blake  <ebb9@byu.net>
33501
33502         doc: mention more functions added in cygwin 1.7.0
33503         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
33504         addition.
33505         * doc/posix-functions/open_wmemstream.texi: Likewise.
33506         * doc/posix-functions/wcsnlen.texi: Likewise.
33507         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33508         * doc/posix-functions/wcstod.texi: Likewise.
33509         * doc/posix-functions/wcstof.texi: Likewise.
33510         * doc/posix-functions/wcstoimax.texi: Likewise.
33511         * doc/posix-functions/wcstok.texi: Likewise.
33512         * doc/posix-functions/wcstoumax.texi: Likewise.
33513
33514         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
33515         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
33516         * doc/posix-functions/fprintf.texi: Update.
33517         * doc/posix-functions/printf.texi: Update.
33518         * doc/posix-functions/snprintf.texi: Update.
33519         * doc/posix-functions/sprintf.texi: Update.
33520         * doc/posix-functions/vfprintf.texi: Update.
33521         * doc/posix-functions/vprintf.texi: Update.
33522         * doc/posix-functions/vsnprintf.texi: Update.
33523         * doc/posix-functions/vsprintf.texi: Update.
33524         * doc/glibc-functions/obstack_printf.texi: Update.
33525         * doc/glibc-functions/obstack_vprintf.texi: Update.
33526
33527 2009-02-26  Eric Blake  <ebb9@byu.net>
33528
33529         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
33530         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
33531         compilation bug by using runtime conversion.
33532         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
33533         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
33534         * modules/ceill-tests (Files): Use nan.h.
33535         * modules/floorl-tests (Files): Likewise.
33536         * modules/frexpl-tests (Files): Likewise.
33537         * modules/isnanl-tests (Files): Likewise.
33538         * modules/ldexpl-tests (Files): Likewise.
33539         * modules/roundl-tests (Files): Likewise.
33540         * modules/truncl-tests (Files): Likewise.
33541         * tests/test-ceill.c (main): Use a working NaN.
33542         * tests/test-floorl.c (main): Likewise.
33543         * tests/test-frexpl.c (main): Likewise.
33544         * tests/test-isnan.c (test_long_double): Likewise.
33545         * tests/test-isnanl.h (main): Likewise.
33546         * tests/test-ldexpl.h (main): Likewise.
33547         * tests/test-roundl.h (main): Likewise.
33548         * tests/test-truncl.h (main): Likewise.
33549         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
33550
33551 2009-02-26  Eric Blake  <ebb9@byu.net>
33552             Bruno Haible  <bruno@clisp.org>
33553
33554         Work around a *printf bug with %ls on Solaris.
33555         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
33556         precision is specified, sprintf stops converting the wide string
33557         argument when the number of bytes that have been produced by this
33558         conversion equals or exceeds the precision.
33559         * doc/posix-functions/fprintf.texi: Update.
33560         * doc/posix-functions/printf.texi: Update.
33561         * doc/posix-functions/snprintf.texi: Update.
33562         * doc/posix-functions/sprintf.texi: Update.
33563         * doc/posix-functions/vfprintf.texi: Update.
33564         * doc/posix-functions/vprintf.texi: Update.
33565         * doc/posix-functions/vsnprintf.texi: Update.
33566         * doc/posix-functions/vsprintf.texi: Update.
33567         * doc/glibc-functions/obstack_printf.texi: Update.
33568         * doc/glibc-functions/obstack_vprintf.texi: Update.
33569
33570 2009-02-26  Eric Blake  <ebb9@byu.net>
33571
33572         stdlib: favor compiler check of random.h
33573         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
33574         to avoid an ObjC random.h installed by Swarm.
33575
33576 2009-02-26  Bruno Haible  <bruno@clisp.org>
33577
33578         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
33579         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
33580         Reported by Gary V. Vaughan <gary@gnu.org>.
33581
33582 2009-02-26  Bruno Haible  <bruno@clisp.org>
33583
33584         Fix *printf behaviour regarding the %ls directive.
33585         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
33586         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
33587         NEED_PRINTF_DIRECTIVE_LS.
33588         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
33589         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33590         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33591         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
33592         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
33593         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
33594         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
33595         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33596         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33597         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33598         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33599         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
33600         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33601         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33602         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33603         * doc/posix-functions/fprintf.texi: Update.
33604         * doc/posix-functions/printf.texi: Update.
33605         * doc/posix-functions/snprintf.texi: Update.
33606         * doc/posix-functions/sprintf.texi: Update.
33607         * doc/posix-functions/vfprintf.texi: Update.
33608         * doc/posix-functions/vprintf.texi: Update.
33609         * doc/posix-functions/vsnprintf.texi: Update.
33610         * doc/posix-functions/vsprintf.texi: Update.
33611         * doc/glibc-functions/obstack_printf.texi: Update.
33612         * doc/glibc-functions/obstack_vprintf.texi: Update.
33613         Reported by Eric Blake.
33614
33615 2009-02-25  Bruno Haible  <bruno@clisp.org>
33616
33617         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
33618         with known value.
33619         Reported by Gary V. Vaughan <gary@gnu.org>.
33620
33621 2009-02-25  Bruno Haible  <bruno@clisp.org>
33622
33623         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
33624         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
33625         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
33626         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
33627         Reported by Gary V. Vaughan <gary@gnu.org>.
33628
33629 2009-02-25  Bruno Haible  <bruno@clisp.org>
33630
33631         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
33632         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
33633         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
33634         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
33635         Reported by Gary V. Vaughan <gary@gnu.org>.
33636
33637 2009-02-25  Eric Blake  <ebb9@byu.net>
33638
33639         tests: skip fseek/ftell tests if ungetc is broken
33640         * m4/ungetc.m4: New file.
33641         * modules/fseek-tests: Split test, so ungetc dependency is
33642         separate from rest of test.
33643         * modules/fseeko-tests: Likewise.
33644         * modules/ftell-tests: Likewise.
33645         * modules/ftello-tests: Likewise.
33646         * tests/test-fseek.c (main): Isolate ungetc dependency.
33647         * tests/test-fseeko.c (main): Likewise.
33648         * tests/test-ftell.c (main): Likewise.
33649         * tests/test-ftello.c (main): Likewise.
33650         * tests/test-fseek2.sh: New file.
33651         * tests/test-fseeko2.sh: Likewise.
33652         * tests/test-ftell2.sh: Likewise.
33653         * tests/test-ftello2.sh: Likewise.
33654
33655 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
33656
33657         test-getaddrinfo: fix usage of skip return code 77
33658         * tests/test-gettaddrinfo.c: Return skip code 77 only
33659         for first occurance of skip (4x77 is not 77)
33660
33661 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
33662
33663         strtod: avoid C99 decl-after-statement
33664         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
33665
33666 2009-02-24  Eric Blake  <ebb9@byu.net>
33667
33668         strtod: detect HP-UX 11.31 bug
33669         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
33670         Reported by Gary V. Vaughan.
33671
33672 2009-02-23  Bruno Haible  <bruno@clisp.org>
33673
33674         Fix invalid read past end of memory block.
33675         * lib/vasnprintf.c (DCHAR_SET): Define.
33676         (local_wcslen): Define only when needed.
33677         (local_strnlen, local_wcsnlen): New functions.
33678         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
33679         directives that involve a conversion ourselves.
33680         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
33681         wcsnlen, mbrtowc, wcrtomb.
33682         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
33683         * tests/test-vasprintf-posix.c (test_function): Likewise.
33684         * tests/test-snprintf-posix.h (test_function): Likewise.
33685         * tests/test-sprintf-posix.h (test_function): Likewise.
33686         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33687
33688 2009-02-22  Bruno Haible  <bruno@clisp.org>
33689
33690         Implement new clarified decomposition of Hangul syllables.
33691         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
33692         of type LTV, return only a pairwise decomposition.
33693         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
33694         Likewise.
33695         * tests/uninorm/test-decomposition.c (main): Updated expected result.
33696         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
33697         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
33698
33699 2009-02-22  Bruno Haible  <bruno@clisp.org>
33700
33701         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
33702         zero-length results and shrink excess allocated memory.
33703         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
33704         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
33705         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
33706         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
33707         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
33708         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
33709         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
33710         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
33711         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
33712         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
33713         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
33714         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
33715
33716 2009-02-21  Bruno Haible  <bruno@clisp.org>
33717
33718         * doc/gnulib.texi: Include safe-alloc.texi earlier.
33719         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
33720         spaces after a period. Put a space between a macro name and its
33721         argument list. Trivial rewordings.
33722         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
33723         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
33724         (main): Return 0 explicitly.
33725
33726 2009-02-21  Bruno Haible  <bruno@clisp.org>
33727
33728         Tests for module 'uninorm/filter'.
33729         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
33730         * modules/uninorm/filter-tests: New file.
33731
33732         New module 'uninorm/filter'.
33733         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
33734         uninorm_filter_flush, uninorm_filter_free): New declarations.
33735         * lib/uninorm/uninorm-filter.c: New file.
33736         * modules/uninorm/filter: New file.
33737
33738 2009-02-21  Bruno Haible  <bruno@clisp.org>
33739
33740         Tests for module 'uninorm/nfkc'.
33741         * tests/uninorm/test-nfkc.c: New file.
33742         * tests/uninorm/test-u8-nfkc.c: New file.
33743         * tests/uninorm/test-u16-nfkc.c: New file.
33744         * tests/uninorm/test-u32-nfkc.c: New file.
33745         * tests/uninorm/test-u32-nfkc-big.sh: New file.
33746         * tests/uninorm/test-u32-nfkc-big.c: New file.
33747         * modules/uninorm/nfkc-tests: New file.
33748
33749         New module 'uninorm/nfkc'.
33750         * lib/uninorm/nfkc.c: New file.
33751         * modules/uninorm/nfkc: New file.
33752
33753         Tests for module 'uninorm/nfkd'.
33754         * tests/uninorm/test-nfkd.c: New file.
33755         * tests/uninorm/test-u8-nfkd.c: New file.
33756         * tests/uninorm/test-u16-nfkd.c: New file.
33757         * tests/uninorm/test-u32-nfkd.c: New file.
33758         * tests/uninorm/test-u32-nfkd-big.sh: New file.
33759         * tests/uninorm/test-u32-nfkd-big.c: New file.
33760         * modules/uninorm/nfkd-tests: New file.
33761
33762         New module 'uninorm/nfkd'.
33763         * lib/uninorm/nfkd.c: New file.
33764         * modules/uninorm/nfkd: New file.
33765
33766         Tests for module 'uninorm/nfc'.
33767         * tests/uninorm/test-nfc.c: New file.
33768         * tests/uninorm/test-u8-nfc.c: New file.
33769         * tests/uninorm/test-u16-nfc.c: New file.
33770         * tests/uninorm/test-u32-nfc.c: New file.
33771         * tests/uninorm/test-u32-nfc-big.sh: New file.
33772         * tests/uninorm/test-u32-nfc-big.c: New file.
33773         * modules/uninorm/nfc-tests: New file.
33774
33775         New module 'uninorm/nfc'.
33776         * lib/uninorm/nfc.c: New file.
33777         * modules/uninorm/nfc: New file.
33778
33779         Tests for module 'uninorm/nfd'.
33780         * tests/uninorm/test-nfd.c: New file.
33781         * tests/uninorm/test-u8-nfd.c: New file.
33782         * tests/uninorm/test-u16-nfd.c: New file.
33783         * tests/uninorm/test-u32-nfd.c: New file.
33784         * tests/uninorm/test-u32-nfd-big.sh: New file.
33785         * tests/uninorm/test-u32-nfd-big.c: New file.
33786         * tests/uninorm/test-u32-normalize-big.h: New file.
33787         * tests/uninorm/test-u32-normalize-big.c: New file.
33788         * tests/uninorm/NormalizationTest.txt: New file, created from
33789         Unicode 5.1.0 NormalizationTest.txt.
33790         * modules/uninorm/nfd-tests: New file.
33791
33792         New module 'uninorm/nfd'.
33793         * lib/uninorm/nfd.c: New file.
33794         * modules/uninorm/nfd: New file.
33795
33796         New module 'uninorm/u32-normalize'.
33797         * lib/uninorm/u32-normalize.c: New file.
33798         * modules/uninorm/u32-normalize: New file.
33799
33800         New module 'uninorm/u16-normalize'.
33801         * lib/uninorm/u16-normalize.c: New file.
33802         * modules/uninorm/u16-normalize: New file.
33803
33804         New module 'uninorm/u8-normalize'.
33805         * lib/uninorm/u8-normalize.c: New file.
33806         * lib/uninorm/normalize-internal.h: New file.
33807         * lib/uninorm/u-normalize-internal.h: New file.
33808         * modules/uninorm/u8-normalize: New file.
33809
33810         New module 'uninorm/decompose-internal'.
33811         * lib/uninorm/decompose-internal.c: New file.
33812         * modules/uninorm/decompose-internal: New file.
33813
33814         Tests for module 'uninorm/composition'.
33815         * tests/uninorm/test-composition.c: New file.
33816         * modules/uninorm/composition-tests: New file.
33817
33818         New module 'uninorm/composition'.
33819         * lib/uninorm/composition.c: New file.
33820         * lib/uninorm/composition-table.gperf: New file, generated by
33821         gen-uni-tables.
33822         * modules/uninorm/composition: New file.
33823
33824         Tests for module 'uninorm/compat-decomposition'.
33825         * tests/uninorm/test-compat-decomposition.c: New file.
33826         * modules/uninorm/compat-decomposition-tests: New file.
33827
33828         New module 'uninorm/compat-decomposition'.
33829         * lib/uninorm/decompose-internal.h: New file.
33830         * lib/uninorm/compat-decomposition.c: New file.
33831         * modules/uninorm/compat-decomposition: New file.
33832
33833         Tests for module 'uninorm/canonical-decomposition'.
33834         * tests/uninorm/test-canonical-decomposition.c: New file.
33835         * modules/uninorm/canonical-decomposition-tests: New file.
33836
33837         New module 'uninorm/canonical-decomposition'.
33838         * lib/uninorm/canonical-decomposition.c: New file.
33839         * modules/uninorm/canonical-decomposition: New file.
33840
33841         Tests for module 'uninorm/decomposition'.
33842         * tests/uninorm/test-decomposition.c: New file.
33843         * modules/uninorm/decomposition-tests: New file.
33844
33845         New module 'uninorm/decomposition'.
33846         * lib/uninorm/decomposition.c: New file.
33847         * modules/uninorm/decomposition: New file.
33848
33849         New module 'uninorm/decomposition-table'.
33850         * lib/uninorm/decomposition-table.h: New file.
33851         * lib/uninorm/decomposition-table.c: New file.
33852         * lib/uninorm/decomposition-table1.h: New file, generated by
33853         gen-uni-tables.
33854         * lib/uninorm/decomposition-table2.h: New file, generated by
33855         gen-uni-tables.
33856         * modules/uninorm/decomposition-table: New file.
33857
33858         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
33859         (UC_DECOMP_*): New enumeration items.
33860         (get_decomposition): New function.
33861         (struct decomp_table): New type.
33862         (output_decomposition, output_decomposition_tables): New functions.
33863         (unicode_composition_exclusions): New variable.
33864         (fill_composition_exclusions, debug_output_composition_tables): New
33865         functions.
33866         (main): Accept one more argument. Invoke fill_composition_exclusions.
33867         Output decomposition and composition tables.
33868
33869         New module 'uninorm/base'.
33870         * lib/uninorm.h: New file.
33871         * lib/unictype.h: Update comment.
33872         * modules/uninorm/base: New file.
33873
33874 2009-02-21  David Lutterkort  <lutter@redhat.com>
33875
33876         Tests for module 'safe-alloc'.
33877         * tests/test-safe-alloc.c: New file.
33878         * modules/safe-alloc-tests: New file.
33879
33880         New module 'safe-alloc'.
33881         * lib/safe-alloc.h: New file.
33882         * lib/safe-alloc.c: New file.
33883         * m4/safe-alloc.m4: New file.
33884         * modules/safe-alloc: New file.
33885         * doc/safe-alloc.texi: New file.
33886         * doc/gnulib.texi: Include it.
33887         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
33888         safe-alloc.
33889
33890 2009-02-18  Bruno Haible  <bruno@clisp.org>
33891
33892         Fix link error on non-glibc systems.
33893         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
33894         variable.
33895         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33896
33897 2009-02-18  Jim Meyering  <meyering@redhat.com>
33898
33899         fts: avoid used-uninitialized error due to recent change
33900         * lib/fts.c (fts_read): Guard uses of the new member,
33901         parent->fts_n_dirs_remaining, since it's not relevant for
33902         the parent of a directory specified on the command-line.
33903
33904 2009-02-17  James Youngman  <jay@gnu.org>
33905             Bruno Haible  <bruno@clisp.org>
33906
33907         * m4/include_next.m4: Reformulate comment.
33908
33909 2009-02-16  Jim Meyering  <meyering@redhat.com>
33910
33911         fts: add #if guards so that the fts_lgpl module still builds
33912         * lib/fts.c: Guard just-added hash-table-using parts with
33913         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
33914         Reported by Simon Josefsson.
33915
33916 2009-02-15  Bruno Haible  <bruno@clisp.org>
33917
33918         * modules/array-mergesort-tests: New file.
33919         * tests/test-array-mergesort.c: New file.
33920
33921         New module 'array-mergesort'.
33922         * modules/array-mergesort: New file.
33923         * lib/array-mergesort.h: New file.
33924
33925 2009-02-15  Bruno Haible  <bruno@clisp.org>
33926
33927         Fix 2009-02-07 commit.
33928         * lib/gen-uni-tables.c (output_predicate, output_category,
33929         output_combclass, output_bidi_category, output_decimal_digit,
33930         output_digit, output_numeric, output_mirror, output_scripts,
33931         output_ident_category, output_simple_mapping): Fix format directives.
33932         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
33933
33934 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
33935
33936         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
33937         fixes are available from IBM.
33938
33939 2009-02-13  Jim Meyering  <meyering@redhat.com>
33940
33941         fts: arrange not to stat non-directories in more cases
33942         This makes GNU find (when it doesn't need to stat each file)
33943         *much* more efficient at traversing reiserfs file systems.
33944         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
33945         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
33946         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
33947         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
33948         (leaf_optimization_applies): New function.
33949         (LCO_hash, LCO_compare): New helper functions.
33950         (link_count_optimize_ok): New function.
33951         (fts_stat): Initialize new member (if dir).
33952         (fts_read): Decrement parent's fts_n_dirs_remaining count if
33953         we've just stat'ed a directory.  Skip the stat call when possible.
33954         ---
33955         Note this AFS-related exchange:
33956         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
33957         and note find's pioctl call in find/fstype.c.
33958         But that is necessary only if you want to enable the
33959         optimization for AFS, and for now, I don't.
33960
33961         fts: move a function definition "up" (no semantic change)
33962         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
33963         "up" to precede upcoming use of a related function.
33964
33965 2009-02-11  Jim Meyering  <meyering@redhat.com>
33966
33967         fts: correct internal computation of nlinks (optimization-related)
33968         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
33969         whether the current entry is a directory, so don't test it.
33970
33971 2009-02-10  Bruno Haible  <bruno@clisp.org>
33972
33973         Tests for module 'uniwbrk/ulc-wordbreaks'.
33974         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
33975         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
33976         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
33977
33978         Tests for module 'uniwbrk/u32-wordbreaks'.
33979         * modules/uniwbrk/u32-wordbreaks-tests: New file.
33980         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
33981
33982         Tests for module 'uniwbrk/u16-wordbreaks'.
33983         * modules/uniwbrk/u16-wordbreaks-tests: New file.
33984         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
33985
33986         Tests for module 'uniwbrk/u8-wordbreaks'.
33987         * modules/uniwbrk/u8-wordbreaks-tests: New file.
33988         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
33989
33990 2009-02-10  Bruno Haible  <bruno@clisp.org>
33991
33992         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
33993         property.
33994         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
33995         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
33996         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
33997
33998 2009-02-10  Simon Josefsson  <simon@josefsson.org>
33999
34000         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
34001         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
34002
34003 2009-02-10  Bruno Haible  <bruno@clisp.org>
34004
34005         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
34006         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
34007         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
34008         * lib/unilbrk/u8-possible-linebreaks.c: Update.
34009         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
34010         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
34011
34012 2009-02-09  Simon Josefsson  <simon@josefsson.org>
34013
34014         * lib/sockets.h (gl_fd_to_handle): New function.
34015
34016         * tests/test-sockets.c: Call gl_fd_to_handle.
34017
34018 2009-02-09  Bruno Haible  <bruno@clisp.org>
34019
34020         * doc/havelib.texi: Document the conventions on bi-arch systems.
34021
34022 2009-02-08  Bruno Haible  <bruno@clisp.org>
34023
34024         Document the AC_LIB_LINKFLAGS macro.
34025         * doc/havelib.texi: New file, mostly written on 2005-05-24.
34026         * doc/gnulib.texi: Include it.
34027
34028 2009-02-08  Bruno Haible  <bruno@clisp.org>
34029
34030         Fix wrong order of sections, compared to TOC.
34031         * doc/gnulib.texi: Include relocatable-maint.texi after the
34032         "Regular expressions" node, not before.
34033
34034 2009-02-08  Bruno Haible  <bruno@clisp.org>
34035
34036         Tests for module 'unicase/totitle'.
34037         * modules/unicase/totitle-tests: New file.
34038
34039         Tests for module 'unicase/tolower'.
34040         * modules/unicase/tolower-tests: New file.
34041
34042         Tests for module 'unicase/toupper'.
34043         * modules/unicase/toupper-tests: New file.
34044         * tests/unicase/test-mapping-part1.h: New file.
34045         * tests/unicase/test-mapping-part2.h: New file.
34046
34047         New module 'unicase/totitle'.
34048         * modules/unicase/totitle: New file.
34049         * lib/unicase/totitle.c: New file.
34050
34051         New module 'unicase/tolower'.
34052         * modules/unicase/tolower: New file.
34053         * lib/unicase/tolower.c: New file.
34054
34055         New module 'unicase/toupper'.
34056         * modules/unicase/toupper: New file.
34057         * lib/unicase/toupper.c: New file.
34058         * lib/unicase/simple-mapping.h: New file.
34059
34060         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
34061         (mapping_table): New structure.
34062         (output_simple_mapping): New function.
34063         (main): Invoke output_simple_mapping_test and output_simple_mapping.
34064         * modules/gen-uni-tables (Description): Update.
34065         * lib/unicase/toupper.h: New file, automatically generated by
34066         gen-uni-tables.
34067         * lib/unicase/tolower.h: New file, automatically generated by
34068         gen-uni-tables.
34069         * lib/unicase/totitle.h: New file, automatically generated by
34070         gen-uni-tables.
34071         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
34072         gen-uni-tables.
34073         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
34074         gen-uni-tables.
34075         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
34076         gen-uni-tables.
34077
34078         New module 'unicase/base'.
34079         * modules/unicase/base: New file.
34080         * lib/unicase.h: New file.
34081
34082 2009-02-08  Bruno Haible  <bruno@clisp.org>
34083
34084         New module 'uniwbrk/ulc-wordbreaks'.
34085         * modules/uniwbrk/ulc-wordbreaks: New file.
34086         * lib/uniwbrk/ulc-wordbreaks.c: New file.
34087
34088         New module 'uniwbrk/u32-wordbreaks'.
34089         * modules/uniwbrk/u32-wordbreaks: New file.
34090         * lib/uniwbrk/u32-wordbreaks.c: New file.
34091
34092         New module 'uniwbrk/u16-wordbreaks'.
34093         * modules/uniwbrk/u16-wordbreaks: New file.
34094         * lib/uniwbrk/u16-wordbreaks.c: New file.
34095
34096         New module 'uniwbrk/u8-wordbreaks'.
34097         * modules/uniwbrk/u8-wordbreaks: New file.
34098         * lib/uniwbrk/u8-wordbreaks.c: New file.
34099         * lib/uniwbrk/u-wordbreaks.h: New file.
34100
34101         New module 'uniwbrk/table'.
34102         * modules/uniwbrk/table: New file.
34103         * lib/uniwbrk/wbrktable.h: New file.
34104         * lib/uniwbrk/wbrktable.c: New file.
34105
34106         New module 'uniwbrk/wordbreak-property'.
34107         * modules/uniwbrk/wordbreak-property: New file.
34108         * lib/uniwbrk/wordbreak-property.c: New file.
34109
34110         * lib/gen-uni-tables.c (WBP_*): New enum items.
34111         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
34112         (unicode_org_wbp): New variable.
34113         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
34114         New functions.
34115         (wbp_table): New structure.
34116         (output_wbp, output_wbrk_tables): New functions.
34117         (main): Accept additional argument. Invoke fill_org_wbp,
34118         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
34119         output_wbrk_tables.
34120         * modules/gen-uni-tables (Description): Update.
34121         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
34122         gen-uni-tables.
34123
34124         New module 'uniwbrk/base'.
34125         * modules/uniwbrk/base: New file.
34126         * lib/uniwbrk.h: New file.
34127
34128 2009-02-08  Bruno Haible  <bruno@clisp.org>
34129
34130         Update to Unicode 5.1.0.
34131         * lib/gen-uni-tables.c (is_property_alphabetic): Include
34132         U+2185..U+2188.
34133         (is_property_default_ignorable_code_point): Don't include characters
34134         of category Cc or Cs and not-a-characters.
34135         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
34136         U+0D79, U+109E, U+109F, U+A60C.
34137         * lib/unictype/bidi_of.h: Regenerated.
34138         * lib/unictype/blocks.h: Regenerated.
34139         * lib/unictype/categ_C.h: Regenerated.
34140         * lib/unictype/categ_Cf.h: Regenerated.
34141         * lib/unictype/categ_Cn.h: Regenerated.
34142         * lib/unictype/categ_L.h: Regenerated.
34143         * lib/unictype/categ_Ll.h: Regenerated.
34144         * lib/unictype/categ_Lm.h: Regenerated.
34145         * lib/unictype/categ_Lo.h: Regenerated.
34146         * lib/unictype/categ_Lu.h: Regenerated.
34147         * lib/unictype/categ_M.h: Regenerated.
34148         * lib/unictype/categ_Mc.h: Regenerated.
34149         * lib/unictype/categ_Me.h: Regenerated.
34150         * lib/unictype/categ_Mn.h: Regenerated.
34151         * lib/unictype/categ_N.h: Regenerated.
34152         * lib/unictype/categ_Nd.h: Regenerated.
34153         * lib/unictype/categ_Nl.h: Regenerated.
34154         * lib/unictype/categ_No.h: Regenerated.
34155         * lib/unictype/categ_P.h: Regenerated.
34156         * lib/unictype/categ_Pd.h: Regenerated.
34157         * lib/unictype/categ_Pe.h: Regenerated.
34158         * lib/unictype/categ_Pf.h: Regenerated.
34159         * lib/unictype/categ_Pi.h: Regenerated.
34160         * lib/unictype/categ_Po.h: Regenerated.
34161         * lib/unictype/categ_Ps.h: Regenerated.
34162         * lib/unictype/categ_S.h: Regenerated.
34163         * lib/unictype/categ_Sk.h: Regenerated.
34164         * lib/unictype/categ_Sm.h: Regenerated.
34165         * lib/unictype/categ_So.h: Regenerated.
34166         * lib/unictype/categ_of.h: Regenerated.
34167         * lib/unictype/combining.h: Regenerated.
34168         * lib/unictype/ctype_alnum.h: Regenerated.
34169         * lib/unictype/ctype_alpha.h: Regenerated.
34170         * lib/unictype/ctype_graph.h: Regenerated.
34171         * lib/unictype/ctype_lower.h: Regenerated.
34172         * lib/unictype/ctype_print.h: Regenerated.
34173         * lib/unictype/ctype_punct.h: Regenerated.
34174         * lib/unictype/ctype_upper.h: Regenerated.
34175         * lib/unictype/decdigit.h: Regenerated.
34176         * lib/unictype/digit.h: Regenerated.
34177         * lib/unictype/mirror.h: Regenerated.
34178         * lib/unictype/numeric.h: Regenerated.
34179         * lib/unictype/pr_alphabetic.h: Regenerated.
34180         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
34181         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
34182         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
34183         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
34184         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
34185         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
34186         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
34187         * lib/unictype/pr_combining.h: Regenerated.
34188         * lib/unictype/pr_dash.h: Regenerated.
34189         * lib/unictype/pr_decimal_digit.h: Regenerated.
34190         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
34191         * lib/unictype/pr_deprecated.h: Regenerated.
34192         * lib/unictype/pr_diacritic.h: Regenerated.
34193         * lib/unictype/pr_extender.h: Regenerated.
34194         * lib/unictype/pr_format_control.h: Regenerated.
34195         * lib/unictype/pr_grapheme_base.h: Regenerated.
34196         * lib/unictype/pr_grapheme_extend.h: Regenerated.
34197         * lib/unictype/pr_grapheme_link.h: Regenerated.
34198         * lib/unictype/pr_id_continue.h: Regenerated.
34199         * lib/unictype/pr_id_start.h: Regenerated.
34200         * lib/unictype/pr_ideographic.h: Regenerated.
34201         * lib/unictype/pr_ignorable_control.h: Regenerated.
34202         * lib/unictype/pr_lowercase.h: Regenerated.
34203         * lib/unictype/pr_math.h: Regenerated.
34204         * lib/unictype/pr_numeric.h: Regenerated.
34205         * lib/unictype/pr_other_alphabetic.h: Regenerated.
34206         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
34207         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
34208         * lib/unictype/pr_other_id_continue.h: Regenerated.
34209         * lib/unictype/pr_other_lowercase.h: Regenerated.
34210         * lib/unictype/pr_other_math.h: Regenerated.
34211         * lib/unictype/pr_punctuation.h: Regenerated.
34212         * lib/unictype/pr_sentence_terminal.h: Regenerated.
34213         * lib/unictype/pr_soft_dotted.h: Regenerated.
34214         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
34215         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
34216         * lib/unictype/pr_unified_ideograph.h: Regenerated.
34217         * lib/unictype/pr_uppercase.h: Regenerated.
34218         * lib/unictype/pr_xid_continue.h: Regenerated.
34219         * lib/unictype/pr_xid_start.h: Regenerated.
34220         * lib/unictype/pr_zero_width.h: Regenerated.
34221         * lib/unictype/scripts.h: Regenerated.
34222         * lib/unictype/scripts_byname.gperf: Regenerated.
34223         * lib/unictype/sy_java_ident.h: Regenerated.
34224         * lib/unilbrk/lbrkprop1.h: Regenerated.
34225         * lib/unilbrk/lbrkprop2.h: Regenerated.
34226         * tests/unictype/test-categ_C.c: Regenerated.
34227         * tests/unictype/test-categ_Cf.c: Regenerated.
34228         * tests/unictype/test-categ_Cn.c: Regenerated.
34229         * tests/unictype/test-categ_L.c: Regenerated.
34230         * tests/unictype/test-categ_Ll.c: Regenerated.
34231         * tests/unictype/test-categ_Lm.c: Regenerated.
34232         * tests/unictype/test-categ_Lo.c: Regenerated.
34233         * tests/unictype/test-categ_Lu.c: Regenerated.
34234         * tests/unictype/test-categ_M.c: Regenerated.
34235         * tests/unictype/test-categ_Mc.c: Regenerated.
34236         * tests/unictype/test-categ_Me.c: Regenerated.
34237         * tests/unictype/test-categ_Mn.c: Regenerated.
34238         * tests/unictype/test-categ_N.c: Regenerated.
34239         * tests/unictype/test-categ_Nd.c: Regenerated.
34240         * tests/unictype/test-categ_Nl.c: Regenerated.
34241         * tests/unictype/test-categ_No.c: Regenerated.
34242         * tests/unictype/test-categ_P.c: Regenerated.
34243         * tests/unictype/test-categ_Pd.c: Regenerated.
34244         * tests/unictype/test-categ_Pe.c: Regenerated.
34245         * tests/unictype/test-categ_Pf.c: Regenerated.
34246         * tests/unictype/test-categ_Pi.c: Regenerated.
34247         * tests/unictype/test-categ_Po.c: Regenerated.
34248         * tests/unictype/test-categ_Ps.c: Regenerated.
34249         * tests/unictype/test-categ_S.c: Regenerated.
34250         * tests/unictype/test-categ_Sk.c: Regenerated.
34251         * tests/unictype/test-categ_Sm.c: Regenerated.
34252         * tests/unictype/test-categ_So.c: Regenerated.
34253         * tests/unictype/test-ctype_alnum.c: Regenerated.
34254         * tests/unictype/test-ctype_alpha.c: Regenerated.
34255         * tests/unictype/test-ctype_graph.c: Regenerated.
34256         * tests/unictype/test-ctype_lower.c: Regenerated.
34257         * tests/unictype/test-ctype_print.c: Regenerated.
34258         * tests/unictype/test-ctype_punct.c: Regenerated.
34259         * tests/unictype/test-ctype_upper.c: Regenerated.
34260         * tests/unictype/test-decdigit.h: Regenerated.
34261         * tests/unictype/test-digit.h: Regenerated.
34262         * tests/unictype/test-numeric.h: Regenerated.
34263         * tests/unictype/test-pr_alphabetic.c: Regenerated.
34264         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
34265         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
34266         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
34267         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
34268         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
34269         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
34270         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
34271         * tests/unictype/test-pr_combining.c: Regenerated.
34272         * tests/unictype/test-pr_dash.c: Regenerated.
34273         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
34274         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
34275         * tests/unictype/test-pr_deprecated.c: Regenerated.
34276         * tests/unictype/test-pr_diacritic.c: Regenerated.
34277         * tests/unictype/test-pr_extender.c: Regenerated.
34278         * tests/unictype/test-pr_format_control.c: Regenerated.
34279         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
34280         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
34281         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
34282         * tests/unictype/test-pr_id_continue.c: Regenerated.
34283         * tests/unictype/test-pr_id_start.c: Regenerated.
34284         * tests/unictype/test-pr_ideographic.c: Regenerated.
34285         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
34286         * tests/unictype/test-pr_lowercase.c: Regenerated.
34287         * tests/unictype/test-pr_math.c: Regenerated.
34288         * tests/unictype/test-pr_numeric.c: Regenerated.
34289         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
34290         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
34291         Regenerated.
34292         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
34293         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
34294         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
34295         * tests/unictype/test-pr_other_math.c: Regenerated.
34296         * tests/unictype/test-pr_punctuation.c: Regenerated.
34297         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
34298         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
34299         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
34300         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
34301         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
34302         * tests/unictype/test-pr_uppercase.c: Regenerated.
34303         * tests/unictype/test-pr_xid_continue.c: Regenerated.
34304         * tests/unictype/test-pr_xid_start.c: Regenerated.
34305         * tests/unictype/test-pr_zero_width.c: Regenerated.
34306
34307         Update to Unicode 5.1.0.
34308         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
34309         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
34310         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
34311         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
34312         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
34313         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
34314         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
34315         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
34316         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
34317         (nonspacing_table_ind): Update.
34318         * tests/uniwidth/test-uc_width2.sh: Update expected result.
34319
34320         Update to Unicode 5.1.0.
34321         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
34322         code transform.
34323         * lib/uniname/uniname.c (unicode_character_name,
34324         unicode_name_character): Add the range 0x1Fxxx to the code transform.
34325         * lib/uniname/uninames.h: Regenerated.
34326         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
34327
34328 2009-02-07  Bruno Haible  <bruno@clisp.org>
34329
34330         Merge gen-ctype and gen-lbrk into a single program.
34331         * lib/gen-uni-tables.c: New file, incorporating
34332         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
34333         Add directory prefixes to the names of the generated files.
34334         * lib/unictype/gen-ctype.c: Remove file.
34335         * lib/unilbrk/gen-lbrk.c: Remove file.
34336         * modules/gen-uni-tables: New file.
34337         * modules/unictype/gen-ctype: Remove file.
34338         * modules/unilbrk/gen-lbrk: Remove file.
34339
34340 2009-02-07  Bruno Haible  <bruno@clisp.org>
34341
34342         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
34343
34344         New module 'unistr/u32-strcoll'.
34345         * modules/unistr/u32-strcoll: New file.
34346         * lib/unistr/u32-strcoll.c: New file.
34347
34348         New module 'unistr/u16-strcoll'.
34349         * modules/unistr/u16-strcoll: New file.
34350         * lib/unistr/u16-strcoll.c: New file.
34351
34352         New module 'unistr/u8-strcoll'.
34353         * modules/unistr/u8-strcoll: New file.
34354         * lib/unistr/u8-strcoll.c: New file.
34355         * lib/unistr/u-strcoll.h: New file.
34356
34357 2009-02-07  Bruno Haible  <bruno@clisp.org>
34358
34359         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
34360         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
34361         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
34362         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
34363         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
34364         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
34365
34366 2009-02-07  Bruno Haible  <bruno@clisp.org>
34367
34368         Make 64-bit clean.
34369         * lib/unictype/gen-ctype.c (output_predicate, output_category,
34370         output_combclass, output_bidi_category, output_decimal_digit,
34371         output_digit, output_numeric, output_mirror, output_scripts,
34372         output_ident_category): Use proper width specifier in format strings.
34373
34374 2009-02-07  Bruno Haible  <bruno@clisp.org>
34375
34376         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
34377         failure behaviour.
34378
34379 2009-02-07  Jim Meyering  <meyering@redhat.com>
34380
34381         regex: avoid compilation failure with upcoming gcc-4.4
34382         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
34383         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
34384         "... error: integer overflow in preprocessor expression".
34385
34386 2009-02-05  Ben Pfaff  <blp@gnu.org>
34387
34388         Fix link errors on Windows when close module is used.
34389         * modules/close: Add $(LIB_CLOSE) to Link section.
34390         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
34391         $(LIB_CLOSE) on Windows.
34392
34393 2009-02-05  Jim Meyering  <meyering@redhat.com>
34394
34395         still avoid unused-parameter warnings, but do it cleanly
34396         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
34397         (get_fs_usage): Cast to void instead.
34398         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
34399         (dev_from_mount_options, read_file_system_list): Cast to void.
34400         Prompted by Bruno Haible.
34401
34402 2009-02-04  Jim Meyering  <meyering@redhat.com>
34403
34404         fsusage.c: correct copyright year
34405         * lib/fsusage.c: Reflect year in which the change is pushed into
34406
34407         avoid misc. warnings
34408         * lib/fsusage.c (UNUSED_PARAM): Define.
34409         (get_fs_usage): Mark parameter "disk" as unused.
34410         * lib/getugroups.c (getgrent): Use "void" in prototype.
34411         * lib/mountlist.c: Mark unused parameters.
34412         (read_file_system_list): Declare a local with "const".
34413         * lib/nanosleep.c (getnow): Declare static.
34414         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
34415
34416         dirfd: set errno upon failure
34417         * lib/dirfd.c: Include <errno.h>.
34418         Set errno to ENOTSUP when returning -1.
34419         * modules/dirfd (Depends-on): Add errno.
34420         Suggested by John Kodis <kodis@comcast.net>.
34421
34422 2009-02-01  Bruno Haible  <bruno@clisp.org>
34423
34424         Don't assume sizeof (long) >= sizeof (void *).
34425         * lib/memcmp.c: Include stdint.h.
34426         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
34427         srcp2 to 'const byte *'.
34428         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
34429         types to uintptr_t.
34430         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
34431         * modules/memcmp (Depends-on): Add stdint.
34432         Reported by Ozkan Sezer <sezeroz@gmail.com>.
34433
34434 2009-01-30  Eric Blake  <ebb9@byu.net>
34435
34436         fix more require-before-expand issues
34437         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
34438         expand, AC_PROG_AWK.
34439         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
34440
34441 2009-01-28  Eric Blake  <ebb9@byu.net>
34442
34443         version-etc: use consistent URL formatting
34444         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
34445         Improve formatting.  Use fputs for string without %.
34446
34447 2009-01-28  Jim Meyering  <meyering@redhat.com>
34448
34449         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
34450         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
34451         "underquoted definition of NAME" from autoconf-2.59.
34452
34453 2009-01-28  Bruno Haible  <bruno@clisp.org>
34454
34455         * doc/gnulib.texi: Add "Obsolete modules" to index.
34456
34457 2009-01-28  Jim Meyering  <meyering@redhat.com>
34458
34459         useless-if-before-free: recognize more variants
34460         * build-aux/useless-if-before-free: Also recognize e.g.,
34461         if (NULL != p) free (p);
34462
34463 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
34464
34465         test-getaddrinfo: skip (don't fail) this test when there's no network
34466         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
34467         on the presumption that it means you lack network access.
34468
34469 2009-01-26  Jim Meyering  <meyering@redhat.com>
34470
34471         fflush: avoid warnings on modern systems
34472         * lib/fflush.c (rpl_fflush): Move declarations of locals,
34473         pos and result, into scopes where they're used.
34474
34475 2009-01-26  Eric Blake  <ebb9@byu.net>
34476
34477         Silence warning reintroduced by recent extensions patch.
34478         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
34479         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
34480         autoconf.
34481
34482         Backport improved autoconf semantics of AC_DEFUN_ONCE.
34483         * m4/00gnulib.m4: New file.
34484         * gnulib-tool (func_get_filelist): Always use it.
34485         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
34486         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
34487
34488 2009-01-25  Bruno Haible  <bruno@clisp.org>
34489
34490         Make test-quotearg work on MacOS X and AIX.
34491         * tests/test-quotearg.sh: New file.
34492         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
34493         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
34494         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
34495         include <libintl.h>.
34496         (fake_locale): Remove variable.
34497         (gettext, dgettext, dcgettext): Remove functions.
34498         (main): Instead of setting a fake locale, set a real locale. Call
34499         textdomain and bindtextdomain.
34500         * modules/quotearg-tests (Files): Add the new files.
34501         (Depends-on): Add gettext, setenv, unsetenv.
34502         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
34503         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
34504         Augment TESTS_ENVIRONMENT.
34505
34506 2009-01-25  Bruno Haible  <bruno@clisp.org>
34507
34508         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
34509         fr_FR.ISO8859-1 locale on MacOS X.
34510         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
34511         ja_JP.eucJP locale on MacOS X.
34512         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
34513         zh_CN.GB18030 locale on MacOS X.
34514
34515 2009-01-25  Bruno Haible  <bruno@clisp.org>
34516
34517         Avoid link errors on MacOS X 10.3.
34518         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
34519         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
34520
34521 2009-01-25  Bruno Haible  <bruno@clisp.org>
34522
34523         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34524         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
34525         * modules/pipe (Files): Remove m4/posix_spawn.m4.
34526         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34527         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
34528         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34529         posix_spawnattr_init, posix_spawnattr_setsigmask,
34530         posix_spawnattr_setflags, posix_spawnattr_destroy.
34531
34532         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34533         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
34534         * modules/execute (Files): Remove m4/posix_spawn.m4.
34535         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34536         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34537         posix_spawnattr_init, posix_spawnattr_setsigmask,
34538         posix_spawnattr_setflags, posix_spawnattr_destroy.
34539
34540 2009-01-25  Bruno Haible  <bruno@clisp.org>
34541
34542         * lib/glthread/threadlib.c: Include <stdlib.h>.
34543
34544 2009-01-25  Bruno Haible  <bruno@clisp.org>
34545
34546         * lib/glthread/threadlib.c (dummy): New declaration.
34547
34548 2009-01-25  Bruno Haible  <bruno@clisp.org>
34549
34550         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
34551         multibyte characters also for the GB18030 encoding. Don't crash when
34552         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
34553
34554 2009-01-25  Bruno Haible  <bruno@clisp.org>
34555
34556         Avoid redefining 'struct random_data' on OSF/1 5.1.
34557         * lib/stdlib.in.h: Include <random.h> if it exists.
34558         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
34559         HAVE_RANDOM_H. Include <random.h> when testing whether
34560         'struct random_data' exists.
34561         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
34562
34563 2009-01-25  Bruno Haible  <bruno@clisp.org>
34564
34565         Don't install charset.alias on MacOS X >= 10.3.
34566         * lib/localcharset.c (DARWIN7): New macro.
34567         (get_charset_aliases): Hardcode the result for Darwin7.
34568         * modules/localcharset (install-exec-local): Don't install
34569         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
34570
34571 2009-01-25  Bruno Haible  <bruno@clisp.org>
34572
34573         Don't install charset.alias on mingw and Cygwin.
34574         * modules/localcharset (install-exec-local): Don't install
34575         charset.alias on mingw and Cygwin, if the file does not yet exist.
34576         The result for these platforms is hardcoded in localcharset.c.
34577
34578 2009-01-25  Bruno Haible  <bruno@clisp.org>
34579
34580         Make it possible again to use AC_GNU_SOURCE together with gnulib.
34581         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
34582         before requiring AC_USE_SYSTEM_EXTENSIONS.
34583
34584 2009-01-25  Jim Meyering  <meyering@redhat.com>
34585
34586         c-strtod: avoid warnings
34587         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
34588         "assignment discards qualifiers from pointer target type" warnings.
34589
34590 2009-01-24  Bruno Haible  <bruno@clisp.org>
34591
34592         Add support for non-UTF-8 locales on MacOS X.
34593         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
34594         canonical encodings. For Darwin 7 and newer, don't map traditional
34595         encodings to UTF-8.
34596         Reported by Vincent Lefevre <vincent@vinc17.org>
34597         at <http://savannah.gnu.org/bugs/?25235>.
34598
34599 2009-01-24  Bruno Haible  <bruno@clisp.org>
34600
34601         * doc/gnulib.texi (Obsolete modules): New section.
34602         Reported by Mike Frysinger <vapier@gentoo.org>.
34603
34604 2009-01-24  Bruno Haible  <bruno@clisp.org>
34605
34606         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
34607         (%.dvi): New rule.
34608
34609 2009-01-24  Bruno Haible  <bruno@clisp.org>
34610
34611         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
34612         Reported by Eric Blake.
34613
34614 2009-01-24  Bruno Haible  <bruno@clisp.org>
34615
34616         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
34617         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
34618         Reported by Gary V. Vaughan <gary@gnu.org>.
34619
34620 2009-01-24  Bruno Haible  <bruno@clisp.org>
34621
34622         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
34623
34624 2009-01-23  Bruno Haible  <bruno@clisp.org>
34625
34626         Make c-strtod, c-strtold usable in libraries.
34627         * lib/c-strtod.c: Include string.h instead of xalloc.h.
34628         (C_STRTOD): Call strdup instead of xstrdup.
34629         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
34630         * modules/c-strtold (Depends-on): Likewise.
34631         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
34632         * NEWS: Mention the change.
34633         Reported by Michael Gold <mgold@ncf.ca>.
34634
34635 2009-01-23  Jim Meyering  <meyering@redhat.com>
34636
34637         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
34638         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
34639         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
34640
34641 2009-01-23  Simon Josefsson  <simon@josefsson.org>
34642
34643         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
34644         GNU CoreUtils.
34645         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
34646         * modules/version-etc (Description): Update.
34647
34648 2009-01-22  Bruno Haible  <bruno@clisp.org>
34649
34650         Cache the C locale object.
34651         * lib/c-strtod.c (c_locale_cache): New variable.
34652         (c_locale): New function.
34653         (C_STRTOD): Use it, and don't call freelocale.
34654         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
34655         Suggested by Paolo Bonzini.
34656
34657 2009-01-21  Bruno Haible  <bruno@clisp.org>
34658
34659         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
34660         conditions other than overflow.
34661
34662 2009-01-21  Bruno Haible  <bruno@clisp.org>
34663
34664         * lib/c-strtod.c: Include errno.h.
34665         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
34666         value from STRTOD_L and STRTOD.
34667
34668 2009-01-21  Bruno Haible  <bruno@clisp.org>
34669         and Jim Meyering  <meyering@redhat.com>
34670
34671         nanosleep: skip configure test (fail it) for apple universal builds
34672         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
34673         universal builds, assume that nanosleep does not work.
34674         * modules/nanosleep (Depends-on): Add multiarch.
34675
34676         mktime: skip configure test (fail it) for apple universal builds
34677         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
34678         universal builds, assume that mktime does not work.
34679         * modules/mktime (Depends-on): Add multiarch.
34680
34681 2009-01-21  Eric Blake  <ebb9@byu.net>
34682
34683         multiarch: avoid expand-before-require warning
34684         * modules/multiarch (configure.ac): Require, rather than expand,
34685         gl_MULTIARCH.
34686         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
34687         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
34688         enforce that all clients require it.  Partial reversion of
34689         2008-12-29 patch.
34690
34691         error: avoid expand-before-require warning
34692         * modules/errno (configure.ac): Require, rather than expand,
34693         gl_HEADER_ERRNO_H.
34694         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
34695         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
34696         enforce that all clients require it.
34697
34698         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
34699         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
34700         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
34701         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
34702
34703 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
34704
34705         Revert:
34706         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34707
34708         regex: do not depend on obsolete modules.
34709         * modules/regex: Remove memcmp and memmove.
34710
34711 2009-01-20  Bruno Haible  <bruno@clisp.org>
34712
34713         Make the 'link' module link on Windows NT 4.
34714         * lib/link.c (_WIN32_WINNT): Don't define.
34715         (CreateHardLinkFuncType): New type.
34716         (CreateHardLinkFunc, initialized): New variables.
34717         (initialize): New function.
34718         (link): Invoke CreateHardLink indirectly through the function pointer.
34719
34720 2009-01-20  Bruno Haible  <bruno@clisp.org>
34721
34722         Fix compilation failure on mingw.
34723         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
34724
34725 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
34726
34727         * doc/c-strtod.texi: Mention a couple of restrictions.
34728
34729 2009-01-20  Jim Meyering  <meyering@redhat.com>
34730
34731         gettimeofday: move more declarations out of functions
34732         * lib/gettimeofday.c: Move extern declarations of tzset and
34733         gmtime out of containing functions.  Prompted by Bruno Haible.
34734
34735 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34736
34737         regex: do not depend on obsolete modules.
34738         * modules/regex: Remove memcmp and memmove.
34739
34740 2009-01-19  Bruno Haible  <bruno@clisp.org>
34741
34742         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34743         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
34744         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34745         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
34746         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
34747
34748 2009-01-19  Bruno Haible  <bruno@clisp.org>
34749
34750         * tests/test-link.c: Include <errno.h>.
34751         (main): Exit with code 77 when a hard link cannot be created due to
34752         the file system.
34753         * tests/test-link.sh: Skip test when a hard link cannot be created due
34754         to the file system.
34755         Suggested by Eric Blake.
34756
34757 2009-01-19  Martin Lambers  <marlam@marlam.de>
34758
34759         * modules/link-tests: New file.
34760         * tests/test-link.sh: New file.
34761         * tests/test-link.c: New file.
34762
34763 2009-01-19  Eric Blake  <ebb9@byu.net>
34764
34765         doc: mention another function added in cygwin 1.7.0
34766         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
34767         Another new function in cygwin 1.7.
34768
34769 2009-01-19  Bruno Haible  <bruno@clisp.org>
34770
34771         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34772         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
34773         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
34774         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34775         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34776         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
34777         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
34778         * m4/md4.m4 (gl_MD4): Likewise.
34779         * m4/md5.m4 (gl_MD5): Likewise.
34780         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
34781         * m4/sha1.m4 (gl_SHA1): Likewise.
34782         * m4/sha256.m4 (gl_SHA256): Likewise.
34783         * m4/sha512.m4 (gl_SHA512): Likewise.
34784
34785 2009-01-19  Bruno Haible  <bruno@clisp.org>
34786
34787         * modules/uniname/uniname-tests (Depends-on): Add progname.
34788         * tests/uniname/test-uninames.c: Include progname.h.
34789         (main): Call set_program_name.
34790
34791         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
34792         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
34793         (main): Call set_program_name.
34794
34795         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
34796         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
34797         (main): Call set_program_name.
34798
34799         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
34800         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
34801         (main): Call set_program_name.
34802
34803         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
34804         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
34805         (main): Call set_program_name.
34806
34807         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
34808         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
34809         (main): Call set_program_name.
34810
34811         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
34812         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
34813         (main): Call set_program_name.
34814
34815         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
34816         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
34817         (main): Call set_program_name.
34818
34819         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
34820         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
34821         (main): Call set_program_name.
34822
34823 2009-01-19  Eric Blake  <ebb9@byu.net>
34824
34825         test-unistd: test previous patch
34826         * tests/test-unistd.c: Test *_FILENO macros.
34827
34828         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
34829         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34830         Guarantee a definition.
34831         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
34832         * modules/unistd-safer (Depends-on): Add dependency on unistd.
34833         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
34834         * lib/dup-safer.c (STDERR_FILENO): Likewise.
34835         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34836         Likewise.
34837         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
34838         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
34839         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34840         Likewise.
34841         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
34842         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
34843         (STDERR_FILENO): Likewise.
34844         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
34845         (STDERR_FILENO): Likewise.
34846         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
34847         (STDERR_FILENO): Likewise.
34848         Reported by Elbert Pol.
34849
34850 2009-01-19  Eric Blake  <ebb9@byu.net>
34851
34852         doc: mention more functions added in cygwin 1.7.0
34853         * doc/posix-functions/abort.texi (abort): Update wording related
34854         to cygwin.
34855         * doc/posix-functions/daylight.texi (daylight): Likewise.
34856         * doc/posix-functions/optarg.texi (optarg): Likewise.
34857         * doc/posix-functions/optarg.texi (opterr): Likewise.
34858         * doc/posix-functions/optarg.texi (optind): Likewise.
34859         * doc/posix-functions/optarg.texi (optopt): Likewise.
34860         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
34861         worked in 1.5.x, and was withdrawn in 1.7.
34862         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
34863         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
34864         cygwin versions.
34865         * doc/posix-functions/perror.texi (perror): Likewise.
34866         * doc/posix-functions/printf.texi (printf): Likewise.
34867         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
34868         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
34869         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
34870         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
34871         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34872         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
34873         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
34874         Likewise.
34875         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
34876         Likewise.
34877         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
34878         this function.
34879         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
34880         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
34881         Likewise.
34882         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
34883         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
34884         * doc/posix-functions/confstr.texi (confstr): Likewise.
34885         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
34886         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
34887         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
34888         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
34889         * doc/posix-functions/fputws.texi (fputws): Likewise.
34890         * doc/posix-functions/fwide.texi (fwide): Likewise.
34891         * doc/posix-functions/getwc.texi (getwc): Likewise.
34892         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
34893         * doc/posix-functions/putwc.texi (putwc): Likewise.
34894         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
34895         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
34896         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
34897         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
34898         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
34899         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
34900         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
34901         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
34902         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
34903         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
34904         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
34905
34906 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
34907
34908         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
34909         * lib/ioctl.c: Include <sys/ioctl.h>.
34910
34911 2009-01-19  Simon Josefsson  <simon@josefsson.org>
34912
34913         * modules/getdate-tests (Depends-on): Add progname.
34914         * tests/test-getdate.c: Use progname module, to avoid link errors
34915         on non-glibc systems.
34916
34917 2009-01-18  Simon Josefsson  <simon@josefsson.org>
34918
34919         * modules/filenamecat-tests (Depends-on): Add progname.
34920         * modules/fstrcmp-tests (Depends-on): Likewise.
34921
34922         * tests/test-filenamecat.c: Use progname module, to avoid link
34923         errors on non-glibc systems.
34924         * tests/test-fstrcmp.c: Likewise.
34925
34926 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
34927
34928         gettimeofday: avoid warning: nested extern declaration of 'localtime'
34929         * lib/gettimeofday.c: Move extern declaration out of function.
34930
34931 2009-01-18  Bruno Haible  <bruno@clisp.org>
34932
34933         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
34934         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
34935         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
34936
34937 2009-01-18  Bruno Haible  <bruno@clisp.org>
34938
34939         * lib/strftime.c (MEMPCPY): Remove unused macro.
34940         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
34941
34942 2009-01-18  Martin Lambers  <marlam@marlam.de>
34943
34944         New module 'link'.
34945         * lib/unistd.in.h (link): New declaration.
34946         * lib/link.c: New file.
34947         * m4/link.m4: New file.
34948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
34949         HAVE_LINK.
34950         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
34951         * modules/link: New file.
34952         * doc/posix-functions/link.texi: Mention the new module.
34953
34954 2009-01-18  Bruno Haible  <bruno@clisp.org>
34955
34956         * tests/test-avltree_list.c (main): Call set_program_name.
34957         * tests/test-avltree_oset.c (main): Likewise.
34958         * tests/test-obstack-printf.c: Include progname.h.
34959         (main): Call set_program_name.
34960         * tests/test-quotearg.c: Include progname.h.
34961         (main): Call set_program_name.
34962         * tests/test-xmemdup0.c: Include progname.h.
34963         (main): Call set_program_name.
34964
34965 2009-01-18  Bruno Haible  <bruno@clisp.org>
34966
34967         New module 'alphasort'.
34968         * lib/dirent.in.h (alphasort): New declaration.
34969         * lib/alphasort.c: New file, from glibc with modifications.
34970         * m4/alphasort.m4: New file.
34971         * modules/alphasort: New file.
34972         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
34973         HAVE_ALPHASORT.
34974         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
34975         HAVE_ALPHASORT.
34976         * doc/posix-functions/alphasort.texi: Mention the new module and the
34977         portability problems.
34978
34979 2009-01-18  Bruno Haible  <bruno@clisp.org>
34980
34981         New module 'scandir'.
34982         * lib/dirent.in.h (scandir): New declaration.
34983         * lib/scandir.c: New file, from glibc with modifications.
34984         * m4/scandir.m4: New file.
34985         * modules/scandir: New file.
34986         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
34987         HAVE_SCANDIR.
34988         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
34989         HAVE_SCANDIR.
34990         * doc/posix-functions/scandir.texi: Mention the new module and the
34991         portability problems.
34992
34993 2009-01-17  Bruno Haible  <bruno@clisp.org>
34994
34995         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
34996         Update documentation.
34997         (func_remove_suffix): Escape all dots in the suffix. Update
34998         documentation.
34999         (func_filter_filelist): Update documentation.
35000         Reported by Ralf Wildenhues.
35001
35002 2009-01-17  Bruno Haible  <bruno@clisp.org>
35003
35004         * modules/dprintf-posix-tests: New file.
35005         * tests/test-dprintf-posix.sh: New file.
35006         * tests/test-dprintf-posix.c: New file.
35007
35008         New modules 'dprintf', 'dprintf-posix'.
35009         * lib/stdio.in.h (dprintf): New declaration.
35010         * lib/dprintf.c: New file.
35011         * m4/dprintf.m4: New file.
35012         * m4/dprintf-posix.m4: New file.
35013         * modules/dprintf: New file.
35014         * modules/dprintf-posix: New file.
35015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
35016         HAVE_DPRINTF, REPLACE_DPRINTF.
35017         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
35018         HAVE_DPRINTF, REPLACE_DPRINTF.
35019         * doc/posix-functions/dprintf.texi: Mention the new modules.
35020
35021 2009-01-17  Bruno Haible  <bruno@clisp.org>
35022
35023         * modules/vdprintf-posix-tests: New file.
35024         * tests/test-vdprintf-posix.sh: New file.
35025         * tests/test-vdprintf-posix.c: New file.
35026
35027         New modules 'vdprintf', 'vdprintf-posix'.
35028         * lib/stdio.in.h (vdprintf): New declaration.
35029         * lib/vdprintf.c: New file.
35030         * m4/vdprintf.m4: New file.
35031         * m4/vdprintf-posix.m4: New file.
35032         * modules/vdprintf: New file.
35033         * modules/vdprintf-posix: New file.
35034         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
35035         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35036         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
35037         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35038         * doc/posix-functions/vdprintf.texi: Mention the new modules.
35039
35040 2009-01-17  Bruno Haible  <bruno@clisp.org>
35041
35042         Fix replacement of fopen on mingw.
35043         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
35044         mingw.
35045
35046 2009-01-17  Bruno Haible  <bruno@clisp.org>
35047
35048         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
35049         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
35050
35051 2009-01-17  Bruno Haible  <bruno@clisp.org>
35052
35053         Avoid test-fflush2.sh failure on mingw.
35054         * tests/test-fflush2.c: Include binary-io.h.
35055         (main): Put standard input into binary mode.
35056         * modules/fflush-tests (Depends-on): Add binary-io.
35057
35058 2009-01-17  Bruno Haible  <bruno@clisp.org>
35059
35060         * lib/wchar.in.h: In another particular situation, include only the
35061         system's <wchar.h> file.
35062         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
35063         Reported by Albert Chin-A-Young <china@thewrittenword.com>
35064         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
35065
35066 2009-01-17  Bruno Haible  <bruno@clisp.org>
35067
35068         Support for stripping executables in --enable-relocatable.
35069         * build-aux/install-reloc: Expect one more argument, or an environment
35070         variable RELOC_STRIP_PROG. If set, strip the destination program and
35071         its wrapper.
35072         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
35073         RELOC_STRIP_PROG.
35074         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
35075         to set RELOCATABLE_STRIP.
35076         * NEWS: Mention the new Makefile requirement.
35077
35078 2009-01-17  Bruno Haible  <bruno@clisp.org>
35079
35080         * build-aux/install-reloc: Remove debugging information left over by
35081         C compiler on MacOS X.
35082
35083 2009-01-17  Bruno Haible  <bruno@clisp.org>
35084
35085         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
35086         * lib/progreloc.c (find_executable): Fix type of pointer passed to
35087         _NSGetExecutablePath.
35088
35089 2009-01-16  Jim Meyering  <meyering@redhat.com>
35090
35091         strerror: avoid warnings about discarding "const"
35092         * lib/strerror.c (rpl_strerror): Instead of returning a const
35093         string from each and every "case", use a variable, and add a single
35094         cast after the switch.
35095
35096 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
35097
35098         * lib/arpa_inet.in.h: Add extern "C" block for C++.
35099
35100 2009-01-16  Bruno Haible  <bruno@clisp.org>
35101
35102         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
35103         array initializer syntax that also works in C++ mode.
35104         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35105
35106 2009-01-16  Jim Meyering  <meyering@redhat.com>
35107
35108         poll: suppress a warning
35109         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
35110         to ignore "...unsigned expression < 0 is always false" warnings.
35111
35112 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
35113
35114         poll: remove declarations of unused variables
35115         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
35116         sockbuf and optlen.
35117
35118 2009-01-15  Bruno Haible  <bruno@clisp.org>
35119
35120         Make fflush-after-ungetc POSIX compliant on BSD systems.
35121         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
35122         (clear_ungetc_buffer): Implement also for other systems.
35123         (rpl_fflush): On glibc systems, invoke
35124         clear_ungetc_buffer_preserving_position. Otherwise, invoke
35125         clear_ungetc_buffer after fetching the stream's position, not before.
35126
35127 2009-01-15  Bruno Haible  <bruno@clisp.org>
35128
35129         Make fflush-after-ungetc POSIX compliant on glibc systems.
35130         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
35131         after ungetc.
35132         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
35133         (rpl_fflush): On glibc systems, simply call the system's fflush
35134         function after clearing the ungetc buffer.
35135         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
35136         Instead, lseek only to the end of file, then use the system's fseeko
35137         for the rest. On glibc systems, reset the EOF indicator bit.
35138
35139 2009-01-15  Jim Meyering  <meyering@redhat.com>
35140
35141         openmp.m4: revert quote-adding change, for portability to older autoconf
35142         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
35143         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
35144         Simon Josefsson noticed the problem when using autoconf-2.61.
35145
35146 2009-01-15  Bruno Haible  <bruno@clisp.org>
35147
35148         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
35149         * tests/test-fflush2.c (ASSERT): Always fail.
35150         (main): Add two tests for fflush() after ungetc(), taking into account
35151         the Austin Group's clarification.
35152         Suggested by Eric Blake.
35153
35154 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
35155
35156         mktime.m4: remove K&R-style function prototypes
35157         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
35158         for the Sun C++ compiler.
35159
35160 2009-01-14  Bruno Haible  <bruno@clisp.org>
35161
35162         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
35163         while including <wchar.h>.
35164         * lib/wchar.in.h: In two particular situations on HP-UX, include only
35165         the system's <wchar.h> file.
35166         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35167
35168 2009-01-14  Bruno Haible  <bruno@clisp.org>
35169
35170         * m4/csharp.m4: Don't mention gettext on the serial number line.
35171         * m4/csharpexec.m4: Likewise.
35172         * m4/eaccess.m4: Likewise.
35173         * m4/javaexec.m4: Likewise.
35174         * m4/sig_atomic_t.m4: Likewise.
35175         * m4/tmpdir.m4: Likewise.
35176         * m4/intldir.m4: Bump gettext version.
35177         * m4/lib-ld.m4: Likewise.
35178
35179 2009-01-14  Bruno Haible  <bruno@clisp.org>
35180
35181         * lib/progname.c (set_program_name): Add more comments.
35182         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
35183
35184 2009-01-14  Simon Josefsson  <simon@josefsson.org>
35185
35186         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
35187         were sys/stat.h does not define it.
35188
35189 2009-01-14  Jim Meyering  <meyering@redhat.com>
35190
35191         many *.m4 files: improve m4 quoting
35192         99% of this change was performed by running the following commands:
35193         git ls-files | grep '\.m4$' | xargs perl -pi \
35194           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
35195           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35196           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35197           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
35198         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
35199         The remainder were to add Copyright dates, increment serial numbers,
35200         undo some changes in comments, exclude m4/intl.m4, and add quotes
35201         around the "1" in ",1" where the unusual spacing prohibited the
35202         above regexps from doing the job.  For more details, see
35203         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
35204         * m4/acl.m4: Modified.
35205         * m4/afs.m4: Likewise.
35206         * m4/alloca.m4: Likewise.
35207         * m4/argp.m4: Likewise.
35208         * m4/argz.m4: Likewise.
35209         * m4/atexit.m4: Likewise.
35210         * m4/bison-i18n.m4: Likewise.
35211         * m4/bison.m4: Likewise.
35212         * m4/byteswap.m4: Likewise.
35213         * m4/c-stack.m4: Likewise.
35214         * m4/c-strtod.m4: Likewise.
35215         * m4/calloc.m4: Likewise.
35216         * m4/canonicalize-lgpl.m4: Likewise.
35217         * m4/chown.m4: Likewise.
35218         * m4/clock_time.m4: Likewise.
35219         * m4/codeset.m4: Likewise.
35220         * m4/copy-file.m4: Likewise.
35221         * m4/csharp.m4: Likewise.
35222         * m4/csharpcomp.m4: Likewise.
35223         * m4/csharpexec.m4: Likewise.
35224         * m4/d-ino.m4: Likewise.
35225         * m4/d-type.m4: Likewise.
35226         * m4/dirfd.m4: Likewise.
35227         * m4/double-slash-root.m4: Likewise.
35228         * m4/eaccess.m4: Likewise.
35229         * m4/eealloc.m4: Likewise.
35230         * m4/environ.m4: Likewise.
35231         * m4/errno_h.m4: Likewise.
35232         * m4/euidaccess.m4: Likewise.
35233         * m4/execute.m4: Likewise.
35234         * m4/fatal-signal.m4: Likewise.
35235         * m4/fchdir.m4: Likewise.
35236         * m4/fcntl_h.m4: Likewise.
35237         * m4/fileblocks.m4: Likewise.
35238         * m4/filenamecat.m4: Likewise.
35239         * m4/findprog.m4: Likewise.
35240         * m4/flexmember.m4: Likewise.
35241         * m4/fnmatch.m4: Likewise.
35242         * m4/fopen.m4: Likewise.
35243         * m4/fpending.m4: Likewise.
35244         * m4/fprintf-posix.m4: Likewise.
35245         * m4/free.m4: Likewise.
35246         * m4/frexp.m4: Likewise.
35247         * m4/frexpl.m4: Likewise.
35248         * m4/fsusage.m4: Likewise.
35249         * m4/ftruncate.m4: Likewise.
35250         * m4/gc-camellia.m4: Likewise.
35251         * m4/gc-random.m4: Likewise.
35252         * m4/gc.m4: Likewise.
35253         * m4/getaddrinfo.m4: Likewise.
35254         * m4/getcwd-abort-bug.m4: Likewise.
35255         * m4/getcwd-path-max.m4: Likewise.
35256         * m4/getdate.m4: Likewise.
35257         * m4/getdomainname.m4: Likewise.
35258         * m4/getgroups.m4: Likewise.
35259         * m4/gethostname.m4: Likewise.
35260         * m4/gethrxtime.m4: Likewise.
35261         * m4/getline.m4: Likewise.
35262         * m4/getloadavg.m4: Likewise.
35263         * m4/getndelim2.m4: Likewise.
35264         * m4/getpass.m4: Likewise.
35265         * m4/gettext.m4: Likewise.
35266         * m4/gettime.m4: Likewise.
35267         * m4/gettimeofday.m4: Likewise.
35268         * m4/gnulib-common.m4: Likewise.
35269         * m4/group-member.m4: Likewise.
35270         * m4/host-os.m4: Likewise.
35271         * m4/iconv.m4: Likewise.
35272         * m4/iconv_open.m4: Likewise.
35273         * m4/inet_ntop.m4: Likewise.
35274         * m4/inet_pton.m4: Likewise.
35275         * m4/inline.m4: Likewise.
35276         * m4/intldir.m4: Likewise.
35277         * m4/intlmacosx.m4: Likewise.
35278         * m4/intmax.m4: Likewise.
35279         * m4/intmax_t.m4: Likewise.
35280         * m4/inttypes.m4: Likewise.
35281         * m4/inttypes_h.m4: Likewise.
35282         * m4/inttypes-pri.m4: Likewise.
35283         * m4/isapipe.m4: Likewise.
35284         * m4/isnand.m4: Likewise.
35285         * m4/isnanf.m4: Likewise.
35286         * m4/isnanl.m4: Likewise.
35287         * m4/javacomp.m4: Likewise.
35288         * m4/javaexec.m4: Likewise.
35289         * m4/jm-winsz1.m4: Likewise.
35290         * m4/jm-winsz2.m4: Likewise.
35291         * m4/lchown.m4: Likewise.
35292         * m4/lcmessage.m4: Likewise.
35293         * m4/ldexpl.m4: Likewise.
35294         * m4/lib-ld.m4: Likewise.
35295         * m4/lib-link.m4: Likewise.
35296         * m4/libsigsegv.m4: Likewise.
35297         * m4/link-follow.m4: Likewise.
35298         * m4/localcharset.m4: Likewise.
35299         * m4/locale-fr.m4: Likewise.
35300         * m4/locale-ja.m4: Likewise.
35301         * m4/locale-tr.m4: Likewise.
35302         * m4/locale-zh.m4: Likewise.
35303         * m4/lock.m4: Likewise.
35304         * m4/longlong.m4: Likewise.
35305         * m4/ls-mntd-fs.m4: Likewise.
35306         * m4/lstat.m4: Likewise.
35307         * m4/malloc.m4: Likewise.
35308         * m4/mathl.m4: Likewise.
35309         * m4/mbrtowc.m4: Likewise.
35310         * m4/mbstate_t.m4: Likewise.
35311         * m4/mbswidth.m4: Likewise.
35312         * m4/memchr.m4: Likewise.
35313         * m4/memcmp.m4: Likewise.
35314         * m4/memcpy.m4: Likewise.
35315         * m4/memmem.m4: Likewise.
35316         * m4/memmove.m4: Likewise.
35317         * m4/mempcpy.m4: Likewise.
35318         * m4/memrchr.m4: Likewise.
35319         * m4/memset.m4: Likewise.
35320         * m4/minmax.m4: Likewise.
35321         * m4/mkdir-slash.m4: Likewise.
35322         * m4/mkdtemp.m4: Likewise.
35323         * m4/mktime.m4: Likewise.
35324         * m4/mmap-anon.m4: Likewise.
35325         * m4/mountlist.m4: Likewise.
35326         * m4/nanosleep.m4: Likewise.
35327         * m4/nls.m4: Likewise.
35328         * m4/nocrash.m4: Likewise.
35329         * m4/open.m4: Likewise.
35330         * m4/openat.m4: Likewise.
35331         * m4/openmp.m4: Likewise.
35332         * m4/pathmax.m4: Likewise.
35333         * m4/perl.m4: Likewise.
35334         * m4/physmem.m4: Likewise.
35335         * m4/pipe.m4: Likewise.
35336         * m4/po.m4: Likewise.
35337         * m4/poll.m4: Likewise.
35338         * m4/posixtm.m4: Likewise.
35339         * m4/posixver.m4: Likewise.
35340         * m4/printf-frexp.m4: Likewise.
35341         * m4/printf-frexpl.m4: Likewise.
35342         * m4/printf-posix.m4: Likewise.
35343         * m4/printf-posix-rpl.m4: Likewise.
35344         * m4/printf.m4: Likewise.
35345         * m4/progtest.m4: Likewise.
35346         * m4/putenv.m4: Likewise.
35347         * m4/readline.m4: Likewise.
35348         * m4/readlink.m4: Likewise.
35349         * m4/readutmp.m4: Likewise.
35350         * m4/realloc.m4: Likewise.
35351         * m4/regex.m4: Likewise.
35352         * m4/relocatable.m4: Likewise.
35353         * m4/relocatable-lib.m4: Likewise.
35354         * m4/rename-dest-slash.m4: Likewise.
35355         * m4/rename.m4: Likewise.
35356         * m4/rmdir-errno.m4: Likewise.
35357         * m4/rmdir.m4: Likewise.
35358         * m4/roundf.m4: Likewise.
35359         * m4/roundl.m4: Likewise.
35360         * m4/rpmatch.m4: Likewise.
35361         * m4/save-cwd.m4: Likewise.
35362         * m4/selinux-selinux-h.m4: Likewise.
35363         * m4/setenv.m4: Likewise.
35364         * m4/settime.m4: Likewise.
35365         * m4/sig2str.m4: Likewise.
35366         * m4/sig_atomic_t.m4: Likewise.
35367         * m4/signalblocking.m4: Likewise.
35368         * m4/signbit.m4: Likewise.
35369         * m4/sigpipe.m4: Likewise.
35370         * m4/sockets.m4: Likewise.
35371         * m4/sockpfaf.m4: Likewise.
35372         * m4/st_dm_mode.m4: Likewise.
35373         * m4/stat-time.m4: Likewise.
35374         * m4/stdbool.m4: Likewise.
35375         * m4/stdint.m4: Likewise.
35376         * m4/stdint_h.m4: Likewise.
35377         * m4/stpcpy.m4: Likewise.
35378         * m4/stpncpy.m4: Likewise.
35379         * m4/strcase.m4: Likewise.
35380         * m4/strchrnul.m4: Likewise.
35381         * m4/strcspn.m4: Likewise.
35382         * m4/strdup.m4: Likewise.
35383         * m4/strftime.m4: Likewise.
35384         * m4/strndup.m4: Likewise.
35385         * m4/strnlen.m4: Likewise.
35386         * m4/strpbrk.m4: Likewise.
35387         * m4/strptime.m4: Likewise.
35388         * m4/strsep.m4: Likewise.
35389         * m4/strtod.m4: Likewise.
35390         * m4/strtoimax.m4: Likewise.
35391         * m4/strtok_r.m4: Likewise.
35392         * m4/strtol.m4: Likewise.
35393         * m4/strtoll.m4: Likewise.
35394         * m4/strtoul.m4: Likewise.
35395         * m4/strtoull.m4: Likewise.
35396         * m4/strtoumax.m4: Likewise.
35397         * m4/strverscmp.m4: Likewise.
35398         * m4/threadlib.m4: Likewise.
35399         * m4/timegm.m4: Likewise.
35400         * m4/tm_gmtoff.m4: Likewise.
35401         * m4/tmpdir.m4: Likewise.
35402         * m4/tmpfile.m4: Likewise.
35403         * m4/tzset.m4: Likewise.
35404         * m4/uintmax_t.m4: Likewise.
35405         * m4/unlinkdir.m4: Likewise.
35406         * m4/unlocked-io.m4: Likewise.
35407         * m4/uptime.m4: Likewise.
35408         * m4/userspec.m4: Likewise.
35409         * m4/utimbuf.m4: Likewise.
35410         * m4/utime.m4: Likewise.
35411         * m4/utimes-null.m4: Likewise.
35412         * m4/utimes.m4: Likewise.
35413         * m4/vararrays.m4: Likewise.
35414         * m4/vasnprintf.m4: Likewise.
35415         * m4/vfprintf-posix.m4: Likewise.
35416         * m4/vprintf-posix.m4: Likewise.
35417         * m4/wait-process.m4: Likewise.
35418         * m4/wchar_t.m4: Likewise.
35419         * m4/wint_t.m4: Likewise.
35420         * m4/write-any-file.m4: Likewise.
35421         * m4/yield.m4: Likewise.
35422
35423 2009-01-13  Bruno Haible  <bruno@clisp.org>
35424
35425         Avoid test-copy-file.sh failures when ACL support insufficient.
35426         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
35427         TESTS_ENVIRONMENT.
35428         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
35429         Reported by Jim Meyering.
35430
35431 2009-01-13  Bruno Haible  <bruno@clisp.org>
35432
35433         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
35434         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
35435         * modules/unistdio/u8-printf-parse (Files): Likewise.
35436         * modules/unistdio/u32-printf-parse (Files): Likewise.
35437         * modules/unistdio/ulc-printf-parse (Files): Likewise.
35438
35439 2009-01-13  Simon Josefsson  <simon@josefsson.org>
35440
35441         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
35442         and m4/inttypes_h.m4 too.
35443
35444 2009-01-12  Eric Blake  <ebb9@byu.net>
35445
35446         tests: IRIX 6.2 cc can't compile -0.0 into .data
35447         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
35448         rather than at compile-time.
35449         * tests/test-floorl.c (minus_zero): Likewise.
35450         * tests/test-frexpl.c (minus_zero): Likewise.
35451         * tests/test-isnan.c (minus_zerol): Likewise.
35452         * tests/test-isnanl.h (minus_zero): Likewise.
35453         * tests/test-ldexpl.c (minus_zero): Likewise.
35454         * tests/test-roundl.c (minus_zero): Likewise.
35455         * tests/test-signbit.c (minus_zerol): Likewise.
35456         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
35457         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
35458         * tests/test-truncl.c (minus_zero): Likewise.
35459         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
35460         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
35461         Reported by Tom G. Christensen and Nelson H. F. Beebe.
35462
35463 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35464
35465         regex: fix glibc bug 9697
35466         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
35467         handling.
35468
35469 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35470
35471         regex: fix glibc bug 697
35472         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
35473         being NULL also if there are no backreferences.
35474
35475 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35476
35477         regex: merge glibc changes
35478         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
35479         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
35480         re_string_skip_chars, re_string_reconstruct): Likewise.
35481         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
35482
35483 2009-01-07  Jim Meyering  <meyering@redhat.com>
35484
35485         poll: filter through cppi
35486         * lib/poll.c: Indent cpp directives to reflect nesting.
35487
35488 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
35489
35490         poll: don't return uninitialized
35491         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
35492
35493 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
35494
35495         avoid compile failure on AIX 6.1
35496         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
35497         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
35498
35499 2009-01-04  Jim Meyering  <meyering@redhat.com>
35500
35501         remove duplicate inclusion of <stdio.h>
35502         * tests/test-fprintf-posix.c: Likewise.
35503         * tests/test-printf-posix.c: Likewise.
35504         * tests/test-snprintf-posix.c: Likewise.
35505         * tests/test-sprintf-posix.c: Likewise.
35506         * tests/test-vasprintf-posix.c: Likewise.
35507         * tests/test-vfprintf-posix.c: Likewise.
35508         * tests/test-vprintf-posix.c: Likewise.
35509         * tests/test-vsnprintf-posix.c: Likewise.
35510         * tests/test-vsprintf-posix.c: Likewise.
35511
35512 2009-01-03  Jim Meyering  <meyering@redhat.com>
35513
35514         gnulib-tool: fix sed-based filtering
35515         * gnulib-tool (func_filter_filelist): Remove extra backslash
35516         in sed_fff_filter definition.
35517
35518 2009-01-02  Jim Meyering  <meyering@redhat.com>
35519
35520         strftime: avoid compilation failure on Solaris 2.6
35521         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
35522         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
35523         Don't #define mbrlen or mbsinit, since now they're guaranteed to
35524         be available.  Reported by Tom G. Christensen.  Details in
35525         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
35526
35527 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35528             Bruno Haible  <bruno@clisp.org>
35529
35530         Speed up gnulib-tool by doing more string processing through shell
35531         built-ins.
35532         * gnulib-tool (fast_func_append): New variable.
35533         (func_remove_prefix, func_remove_suffix): New functions.
35534         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
35535         (func_filter_filelist): New function.
35536         (func_get_dependencies): Use func_remove_suffix instead of sed.
35537         (func_get_automake_snippet): Use func_filter_filelist instead of a
35538         subshell and sed invocation.
35539
35540 2009-01-01  Bruno Haible  <bruno@clisp.org>
35541
35542         Fix a security bug.
35543         * gnulib-tool (func_import, import, update): Don't allow the characters
35544         '"', '$', '`', '\' in macro arguments that become part of commands that
35545         are evaluated.
35546
35547 2009-01-01  Bruno Haible  <bruno@clisp.org>
35548
35549         * gnulib-tool (func_reset_sigpipe): Add more comments.
35550
35551 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35552
35553         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
35554         func_emit_tests_Makefile_am, func_import): Abort loops early if we
35555         already know the answer.
35556
35557 2009-01-01  Jim Meyering  <meyering@redhat.com>
35558
35559         * lib/version-etc.c (version_etc_va): Update copyright year.
35560
35561 2008-12-30  Bruno Haible  <bruno@clisp.org>
35562
35563         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
35564         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
35565         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
35566
35567 2008-12-29  Eric Blake  <ebb9@byu.net>
35568
35569         multiarch: avoid autoconf AC_REQUIRE bug
35570         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
35571         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
35572         2.63 and older.
35573         Reported by Bruno Haible, and analyzed in
35574         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
35575
35576 2008-12-29  Bruno Haible  <bruno@clisp.org>
35577
35578         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
35579         files in subdirectories correctly.
35580         Reported by Ralf Wildenhues.
35581
35582 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35583
35584         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
35585         rather than 'join FILE -', for Solaris join.
35586
35587 2008-12-29  Bruno Haible  <bruno@clisp.org>
35588
35589         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
35590         quoting.
35591         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
35592         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
35593         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
35594         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
35595         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
35596         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
35597         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
35598         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
35599         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
35600         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
35601         * m4/nls.m4 (AM_NLS): Likewise.
35602         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
35603         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
35604         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
35605         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
35606         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
35607         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
35608         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
35609         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
35610         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
35611         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
35612         * m4/xsize.m4 (gl_XSIZE): Likewise.
35613         Suggested by Jim Meyering.
35614
35615 2008-11-17  Bruce Korb  <bkorb@gnu.org>
35616
35617         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
35618         * lib/parse-duration.c: use a switch instead of cascading if's.
35619
35620 2008-12-29  Eric Blake  <ebb9@byu.net>
35621
35622         wchar.h: supply WEOF on Irix 5.3
35623         * lib/wchar.in.h (wint_t): Also supply WEOF.
35624         * lib/wctype.in.h (wint_t): Likewise.
35625         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
35626         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
35627         Reported by Tom G. Christensen.
35628
35629 2008-12-26  Bruno Haible  <bruno@clisp.org>
35630
35631         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
35632         i486, i586, i686.
35633
35634 2008-12-26  Bruno Haible  <bruno@clisp.org>
35635
35636         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
35637
35638 2008-12-26  Bruno Haible  <bruno@clisp.org>
35639
35640         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
35641         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
35642         not __STDC_CONSTANT_MACROS.
35643         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35644
35645 2008-12-25  Bruno Haible  <bruno@clisp.org>
35646
35647         Add support for universal builds to vasnprintf.
35648         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
35649         universal builds, guess no.
35650         * modules/vasnprintf-posix (Depends-on): Add multiarch.
35651         * modules/vasprintf-posix (Depends-on): Likewise.
35652         * modules/fprintf-posix (Depends-on): Likewise.
35653         * modules/vfprintf-posix (Depends-on): Likewise.
35654         * modules/snprintf-posix (Depends-on): Likewise.
35655         * modules/vsnprintf-posix (Depends-on): Likewise.
35656         * modules/sprintf-posix (Depends-on): Likewise.
35657         * modules/vsprintf-posix (Depends-on): Likewise.
35658         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35659         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35660         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35661         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35662         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35663         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35664         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35665
35666         Add support for universal builds to <inttypes.h>.
35667         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
35668         _SCNu64_PREFIX): In Apple
35669         universal builds, define directly, using _LP64.
35670         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
35671         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
35672         * modules/inttypes (Depends-on): Add multiarch.
35673         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35674
35675         Add support for universal builds to <stdint.h>.
35676         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
35677         universal builds, define directly, using _LP64.
35678         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
35679         Apple universal builds, don't test for the size and suffix of ptrdiff_t
35680         and size_t.
35681         * modules/stdint (Depends-on): Add multiarch.
35682         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35683
35684         New module 'multiarch'.
35685         * modules/multiarch: New file.
35686         * m4/multiarch.m4: New file.
35687
35688 2008-12-25  Bruno Haible  <bruno@clisp.org>
35689
35690         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
35691
35692 2008-12-25  Bruno Haible  <bruno@clisp.org>
35693
35694         * modules/btowc (License): Relicense under LGPLv2+.
35695         * modules/mbsinit (License): Likewise.
35696         * modules/mbrtowc (License): Likewise.
35697         * modules/wcrtomb (License): Likewise.
35698         * modules/streq (License): Likewise.
35699         Reported by David Lutterkort <lutter@redhat.com>.
35700
35701 2008-12-23  Bruno Haible  <bruno@clisp.org>
35702
35703         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
35704
35705 2008-12-23  Bruno Haible  <bruno@clisp.org>
35706
35707         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
35708         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
35709         GETADDRINFO_LIB, not in LIBS.
35710         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
35711         * modules/canon-host (Link): Likewise.
35712         * NEWS: Mention the change.
35713         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
35714         GETADDRINFO_LIB.
35715
35716 2008-12-22  Bruno Haible  <bruno@clisp.org>
35717
35718         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
35719         * doc/posix-functions/iswalpha_l.texi: Likewise.
35720         * doc/posix-functions/iswblank_l.texi: Likewise.
35721         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35722         * doc/posix-functions/iswctype_l.texi: Likewise.
35723         * doc/posix-functions/iswdigit_l.texi: Likewise.
35724         * doc/posix-functions/iswgraph_l.texi: Likewise.
35725         * doc/posix-functions/iswlower_l.texi: Likewise.
35726         * doc/posix-functions/iswprint_l.texi: Likewise.
35727         * doc/posix-functions/iswpunct_l.texi: Likewise.
35728         * doc/posix-functions/iswspace_l.texi: Likewise.
35729         * doc/posix-functions/iswupper_l.texi: Likewise.
35730         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35731         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
35732         * doc/posix-functions/open_wmemstream.texi: Likewise.
35733         * doc/posix-functions/swscanf.texi: Likewise.
35734         * doc/posix-functions/towctrans_l.texi: Likewise.
35735         * doc/posix-functions/towlower.texi: Likewise.
35736         * doc/posix-functions/towlower_l.texi: Likewise.
35737         * doc/posix-functions/towupper.texi: Likewise.
35738         * doc/posix-functions/towupper_l.texi: Likewise.
35739         * doc/posix-functions/vfwprintf.texi: Likewise.
35740         * doc/posix-functions/vfwscanf.texi: Likewise.
35741         * doc/posix-functions/vswscanf.texi: Likewise.
35742         * doc/posix-functions/vwprintf.texi: Likewise.
35743         * doc/posix-functions/vwscanf.texi: Likewise.
35744         * doc/posix-functions/wcpcpy.texi: Likewise.
35745         * doc/posix-functions/wcpncpy.texi: Likewise.
35746         * doc/posix-functions/wcscasecmp.texi: Likewise.
35747         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
35748         * doc/posix-functions/wcscoll_l.texi: Likewise.
35749         * doc/posix-functions/wcsdup.texi: Likewise.
35750         * doc/posix-functions/wcsncasecmp.texi: Likewise.
35751         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
35752         * doc/posix-functions/wcsnlen.texi: Likewise.
35753         * doc/posix-functions/wcsnrtombs.texi: Likewise.
35754         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35755         * doc/posix-functions/wctrans_l.texi: Likewise.
35756         * doc/posix-functions/wctype_l.texi: Likewise.
35757         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
35758         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
35759         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
35760         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
35761         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
35762         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
35763         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
35764         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
35765         * doc/glibc-functions/wcschrnul.texi: Likewise.
35766         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35767         * doc/glibc-functions/wcstod_l.texi: Likewise.
35768         * doc/glibc-functions/wcstof_l.texi: Likewise.
35769         * doc/glibc-functions/wcstol_l.texi: Likewise.
35770         * doc/glibc-functions/wcstold_l.texi: Likewise.
35771         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35772         * doc/glibc-functions/wcstoq.texi: Likewise.
35773         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35774         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35775         * doc/glibc-functions/wcstouq.texi: Likewise.
35776         * doc/glibc-functions/wmempcpy.texi: Likewise.
35777
35778 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
35779             Eric Blake  <ebb9@byu.net>
35780             Paolo Bonzini  <bonzini@gnu.org>
35781             Bruno Haible  <bruno@clisp.org>
35782
35783         Make c-stack work on Haiku.
35784         * lib/c-stack.c (SA_ONSTACK): Define fallback.
35785         (c_stack_action): Use SA_ONSTACK flag.
35786
35787 2008-12-22  Bruno Haible  <bruno@clisp.org>
35788
35789         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
35790
35791 2008-12-22  Bruno Haible  <bruno@clisp.org>
35792
35793         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
35794         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
35795         being overridden.
35796         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
35797         New macros.
35798         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
35799         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
35800         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
35801         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
35802
35803 2008-12-22  Bruno Haible  <bruno@clisp.org>
35804
35805         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
35806         from test code.
35807
35808 2008-12-22  Eric Blake  <ebb9@byu.net>
35809
35810         Avoid gcc warnings on cygwin.
35811         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
35812         Avoid unused variable.
35813         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
35814         Likewise.
35815
35816 2008-12-22  Bruno Haible  <bruno@clisp.org>
35817
35818         Remove HAVE_MBRTOWC conditionals.
35819         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
35820         (mbscasecmp): Assume mbrtowc function.
35821         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
35822         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
35823         * lib/mbschr.c: Include mbuiter.h unconditionally.
35824         (mbschr): Assume mbrtowc function.
35825         * lib/mbscspn.c: Include mbuiter.h unconditionally.
35826         (mbscspn): Assume mbrtowc function.
35827         * lib/mbslen.c: Include mbuiter.h unconditionally.
35828         (mbslen): Assume mbrtowc function.
35829         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
35830         (mbsncasecmp): Assume mbrtowc function.
35831         * lib/mbsnlen.c: Include mbiter.h unconditionally.
35832         (mbsnlen): Assume mbrtowc function.
35833         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
35834         (mbspbrk): Assume mbrtowc function.
35835         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
35836         (mbspcasecmp): Assume mbrtowc function.
35837         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
35838         (mbsrchr): Assume mbrtowc function.
35839         * lib/mbssep.c: Include mbuiter.h unconditionally.
35840         (mbssep): Assume mbrtowc function.
35841         * lib/mbsspn.c: Include mbuiter.h unconditionally.
35842         (mbsspn): Assume mbrtowc function.
35843         * lib/mbsstr.c: Include mbuiter.h unconditionally.
35844         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
35845         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
35846         (mbstok_r): Assume mbrtowc function.
35847         * lib/propername.c: Include mbuiter.h unconditionally.
35848         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
35849         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
35850         (trim2): Assume mbrtowc function.
35851         * lib/mbswidth.c (mbsinit): Remove fallback definition.
35852         (mbsnwidth): Assume mbrtowc function.
35853         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
35854         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
35855         fallback definitions.
35856         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
35857
35858 2008-12-22  Bruno Haible  <bruno@clisp.org>
35859
35860         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
35861
35862 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
35863
35864         * modules/regex: Request emulations for the mb*/wc* functions we need.
35865         * m4/regex.m4: Don't look for those functions here.
35866         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
35867
35868 2008-12-22  Bruno Haible  <bruno@clisp.org>
35869
35870         * modules/fnmatch (Depends-on): Remove duplicated dependency.
35871
35872 2008-12-21  Bruno Haible  <bruno@clisp.org>
35873
35874         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
35875         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
35876         (Include): Remove conditionalization.
35877         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
35878         (Include): Remove conditionalization.
35879         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
35880         (Include): Remove conditionalization.
35881         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
35882         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35883         * NEWS: Mention the change.
35884         Reported by Alan Hourihane <alanh@fairlite.co.uk>
35885         via Sergey Poznyakoff <gray@gnu.org.ua>.
35886
35887 2008-12-21  Bruno Haible  <bruno@clisp.org>
35888
35889         * MODULES.html.sh (Extended multibyte and wide character utilities
35890         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
35891         wcrtomb, wcsrtombs.
35892         (Support for systems lacking POSIX:2008): Add accept, bind, close,
35893         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
35894         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
35895         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
35896
35897 2008-12-21  Bruno Haible  <bruno@clisp.org>
35898
35899         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
35900
35901 2008-12-21  Bruno Haible  <bruno@clisp.org>
35902
35903         * modules/wcsnrtombs-tests: New file.
35904         * tests/test-wcsnrtombs1.sh: New file.
35905         * tests/test-wcsnrtombs2.sh: New file.
35906         * tests/test-wcsnrtombs3.sh: New file.
35907         * tests/test-wcsnrtombs4.sh: New file.
35908         * tests/test-wcsnrtombs.c: New file.
35909
35910         New module 'wcsnrtombs'.
35911         * lib/wchar.in.h (wcsnrtombs): New declaration.
35912         * lib/wcsnrtombs.c: New file.
35913         * lib/wcsrtombs-state.c: New file.
35914         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
35915         (internal_state): Remove variable.
35916         * m4/wcsnrtombs.m4: New file.
35917         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
35918         compilation units.
35919         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
35920         HAVE_WCSNRTOMBS.
35921         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
35922         HAVE_WCSNRTOMBS.
35923         * modules/wcsnrtombs: New file.
35924         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
35925         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
35926
35927 2008-12-21  Bruno Haible  <bruno@clisp.org>
35928
35929         * modules/wcsrtombs-tests: New file.
35930         * tests/test-wcsrtombs1.sh: New file.
35931         * tests/test-wcsrtombs2.sh: New file.
35932         * tests/test-wcsrtombs3.sh: New file.
35933         * tests/test-wcsrtombs4.sh: New file.
35934         * tests/test-wcsrtombs.c: New file.
35935
35936         New module 'wcsrtombs'.
35937         * lib/wchar.in.h (wcsrtombs): New declaration.
35938         * lib/wcsrtombs.c: New file.
35939         * m4/wcsrtombs.m4: New file.
35940         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
35941         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
35942         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
35943         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
35944         * modules/wcsrtombs: New file.
35945         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
35946         bugs.
35947
35948 2008-12-21  Bruno Haible  <bruno@clisp.org>
35949
35950         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
35951         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
35952         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
35953         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
35954         if not correct.
35955         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
35956         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
35957         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35958         m4/locale-zh.m4, m4/codeset.m4.
35959         * doc/posix-functions/wcrtomb.texi: Document the bug.
35960
35961 2008-12-21  Bruno Haible  <bruno@clisp.org>
35962
35963         Work around a btowc() bug on IRIX 6.5.
35964         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
35965         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
35966         REPLACE_WTOBC if not.
35967         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
35968         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
35969         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
35970
35971 2008-12-21  Bruno Haible  <bruno@clisp.org>
35972
35973         * modules/wcrtomb-tests: New file.
35974         * tests/test-wcrtomb.sh: New file.
35975         * tests/test-wcrtomb.c: New file.
35976
35977         New module 'wcrtomb'.
35978         * lib/wchar.in.h (wcrtomb): New declaration.
35979         * lib/wcrtomb.c: New file.
35980         * m4/wcrtomb.m4: New file.
35981         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
35982         HAVE_WCRTOMB.
35983         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
35984         HAVE_WCRTOMB.
35985         * modules/wcrtomb: New file.
35986         * doc/posix-functions/wcrtomb.texi: Mention the new module.
35987
35988 2008-12-21  Bruno Haible  <bruno@clisp.org>
35989
35990         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
35991         * modules/mbsrtowcs (Files): Likewise.
35992         * modules/wctob (Files): Likewise.
35993         * modules/c-strcase-tests (Files): Likewise.
35994         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35995         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35996         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35997         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35998         * modules/vasnprintf-posix-tests (Files): Likewise.
35999
36000 2008-12-21  William Pursell  <bill.pursell@gmail.com>
36001
36002         gitlog-to-changelog: pass all command-line arguments to git-log
36003         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
36004         it is sometimes convenient to filter the commits in various ways.
36005         gitlog-to-changelog only allows --since to specify a start date,
36006         but git-log itself supports many other filtering mechanisms.
36007         At the moment, I want to filter by branch name.  Rather than
36008         adding a --branch option to gitlog-to-changelog, it seems more
36009         flexible to simply pass all options directly to git-log and let
36010         git do the work.  Notice that this effectively makes --since a
36011         redundant option for gitlog-to-changelog, but removing it would
36012         require current usage to change since calls would then require
36013         an additional '--'.
36014
36015 2008-12-21  Bruno Haible  <bruno@clisp.org>
36016
36017         * modules/mbsnrtowcs-tests: New file.
36018         * tests/test-mbsnrtowcs1.sh: New file.
36019         * tests/test-mbsnrtowcs2.sh: New file.
36020         * tests/test-mbsnrtowcs3.sh: New file.
36021         * tests/test-mbsnrtowcs4.sh: New file.
36022         * tests/test-mbsnrtowcs.c: New file.
36023
36024         New module 'mbsnrtowcs'.
36025         * lib/wchar.in.h (mbsnrtowcs): New declaration.
36026         * lib/mbsnrtowcs.c: New file.
36027         * lib/mbsrtowcs-state.c: New file.
36028         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
36029         (internal_state): Remove variable.
36030         * m4/mbsnrtowcs.m4: New file.
36031         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
36032         compilation units.
36033         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
36034         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36035         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
36036         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36037         * modules/mbsnrtowcs: New file.
36038         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
36039         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
36040         portability problem.
36041
36042 2008-12-21  Bruno Haible  <bruno@clisp.org>
36043
36044         Work around mbsrtowcs bug.
36045         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
36046         (gl_FUNC_MBSRTOWCS): Invoke it.
36047         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36048         m4/locale-zh.m4.
36049         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
36050
36051 2008-12-21  Bruno Haible  <bruno@clisp.org>
36052
36053         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
36054
36055 2008-12-21  Bruno Haible  <bruno@clisp.org>
36056
36057         Update doc for AIX.
36058         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
36059         16-bit wchar_t type.
36060         * doc/posix-functions/btowc.texi: Likewise.
36061         * doc/posix-functions/fgetwc.texi: Likewise.
36062         * doc/posix-functions/fgetws.texi: Likewise.
36063         * doc/posix-functions/fputwc.texi: Likewise.
36064         * doc/posix-functions/fputws.texi: Likewise.
36065         * doc/posix-functions/fwide.texi: Likewise.
36066         * doc/posix-functions/fwprintf.texi: Likewise.
36067         * doc/posix-functions/fwscanf.texi: Likewise.
36068         * doc/posix-functions/getwchar.texi: Likewise.
36069         * doc/posix-functions/getwc.texi: Likewise.
36070         * doc/posix-functions/iswalnum.texi: Likewise.
36071         * doc/posix-functions/iswalpha.texi: Likewise.
36072         * doc/posix-functions/iswblank.texi: Likewise.
36073         * doc/posix-functions/iswcntrl.texi: Likewise.
36074         * doc/posix-functions/iswctype.texi: Likewise.
36075         * doc/posix-functions/iswdigit.texi: Likewise.
36076         * doc/posix-functions/iswgraph.texi: Likewise.
36077         * doc/posix-functions/iswlower.texi: Likewise.
36078         * doc/posix-functions/iswprint.texi: Likewise.
36079         * doc/posix-functions/iswpunct.texi: Likewise.
36080         * doc/posix-functions/iswspace.texi: Likewise.
36081         * doc/posix-functions/iswupper.texi: Likewise.
36082         * doc/posix-functions/iswxdigit.texi: Likewise.
36083         * doc/posix-functions/mbrtowc.texi: Likewise.
36084         * doc/posix-functions/mbsrtowcs.texi: Likewise.
36085         * doc/posix-functions/mbstowcs.texi: Likewise.
36086         * doc/posix-functions/mbtowc.texi: Likewise.
36087         * doc/posix-functions/putwchar.texi: Likewise.
36088         * doc/posix-functions/putwc.texi: Likewise.
36089         * doc/posix-functions/swprintf.texi: Likewise.
36090         * doc/posix-functions/tolower.texi: Likewise.
36091         * doc/posix-functions/toupper.texi: Likewise.
36092         * doc/posix-functions/towctrans.texi: Likewise.
36093         * doc/posix-functions/ungetwc.texi: Likewise.
36094         * doc/posix-functions/vswprintf.texi: Likewise.
36095         * doc/posix-functions/wcrtomb.texi: Likewise.
36096         * doc/posix-functions/wcscat.texi: Likewise.
36097         * doc/posix-functions/wcschr.texi: Likewise.
36098         * doc/posix-functions/wcscmp.texi: Likewise.
36099         * doc/posix-functions/wcscoll.texi: Likewise.
36100         * doc/posix-functions/wcscpy.texi: Likewise.
36101         * doc/posix-functions/wcscspn.texi: Likewise.
36102         * doc/posix-functions/wcsftime.texi: Likewise.
36103         * doc/posix-functions/wcslen.texi: Likewise.
36104         * doc/posix-functions/wcsncat.texi: Likewise.
36105         * doc/posix-functions/wcsncmp.texi: Likewise.
36106         * doc/posix-functions/wcsncpy.texi: Likewise.
36107         * doc/posix-functions/wcspbrk.texi: Likewise.
36108         * doc/posix-functions/wcsrchr.texi: Likewise.
36109         * doc/posix-functions/wcsrtombs.texi: Likewise.
36110         * doc/posix-functions/wcsspn.texi: Likewise.
36111         * doc/posix-functions/wcsstr.texi: Likewise.
36112         * doc/posix-functions/wcstod.texi: Likewise.
36113         * doc/posix-functions/wcstof.texi: Likewise.
36114         * doc/posix-functions/wcstoimax.texi: Likewise.
36115         * doc/posix-functions/wcstok.texi: Likewise.
36116         * doc/posix-functions/wcstold.texi: Likewise.
36117         * doc/posix-functions/wcstoll.texi: Likewise.
36118         * doc/posix-functions/wcstol.texi: Likewise.
36119         * doc/posix-functions/wcstombs.texi: Likewise.
36120         * doc/posix-functions/wcstoull.texi: Likewise.
36121         * doc/posix-functions/wcstoul.texi: Likewise.
36122         * doc/posix-functions/wcstoumax.texi: Likewise.
36123         * doc/posix-functions/wcswidth.texi: Likewise.
36124         * doc/posix-functions/wcsxfrm.texi: Likewise.
36125         * doc/posix-functions/wctob.texi: Likewise.
36126         * doc/posix-functions/wctomb.texi: Likewise.
36127         * doc/posix-functions/wctrans.texi: Likewise.
36128         * doc/posix-functions/wctype.texi: Likewise.
36129         * doc/posix-functions/wcwidth.texi: Likewise.
36130         * doc/posix-functions/wmemchr.texi: Likewise.
36131         * doc/posix-functions/wmemcmp.texi: Likewise.
36132         * doc/posix-functions/wmemcpy.texi: Likewise.
36133         * doc/posix-functions/wmemmove.texi: Likewise.
36134         * doc/posix-functions/wmemset.texi: Likewise.
36135         * doc/posix-functions/wprintf.texi: Likewise.
36136         * doc/posix-functions/wscanf.texi: Likewise.
36137
36138 2008-12-21  Bruno Haible  <bruno@clisp.org>
36139
36140         Update doc for HP-UX 11.11.
36141         * doc/posix-functions/btowc.texi: Clarify that the function is missing
36142         in HP-UX version 11.00, not in all versions of HP-UX 11.
36143         * doc/posix-functions/fwide.texi: Likewise.
36144         * doc/posix-functions/fwprintf.texi: Likewise.
36145         * doc/posix-functions/fwscanf.texi: Likewise.
36146         * doc/posix-functions/inet_ntop.texi: Likewise.
36147         * doc/posix-functions/inet_pton.texi: Likewise.
36148         * doc/posix-functions/mbrlen.texi: Likewise.
36149         * doc/posix-functions/mbrtowc.texi: Likewise.
36150         * doc/posix-functions/mbsinit.texi: Likewise.
36151         * doc/posix-functions/mbsrtowcs.texi: Likewise.
36152         * doc/posix-functions/swprintf.texi: Likewise.
36153         * doc/posix-functions/swscanf.texi: Likewise.
36154         * doc/posix-functions/towctrans.texi: Likewise.
36155         * doc/posix-functions/vfwprintf.texi: Likewise.
36156         * doc/posix-functions/vswprintf.texi: Likewise.
36157         * doc/posix-functions/vwprintf.texi: Likewise.
36158         * doc/posix-functions/wcrtomb.texi: Likewise.
36159         * doc/posix-functions/wcsrtombs.texi: Likewise.
36160         * doc/posix-functions/wcsstr.texi: Likewise.
36161         * doc/posix-functions/wctob.texi: Likewise.
36162         * doc/posix-functions/wctrans.texi: Likewise.
36163         * doc/posix-functions/wmemchr.texi: Likewise.
36164         * doc/posix-functions/wmemcmp.texi: Likewise.
36165         * doc/posix-functions/wmemcpy.texi: Likewise.
36166         * doc/posix-functions/wmemmove.texi: Likewise.
36167         * doc/posix-functions/wmemset.texi: Likewise.
36168         * doc/posix-functions/wprintf.texi: Likewise.
36169         * doc/posix-functions/wscanf.texi: Likewise.
36170
36171 2008-12-21  Bruno Haible  <bruno@clisp.org>
36172
36173         Work around a portability problem.
36174         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
36175         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
36176
36177 2008-12-20  Bruno Haible  <bruno@clisp.org>
36178
36179         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
36180         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
36181         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
36182         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
36183         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
36184
36185         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
36186         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
36187         set.
36188         (GNULIB_defined_mbstate_t): New macro.
36189         (mbsinit): Redefine if REPLACE_MBSINIT is set.
36190         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
36191         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
36192         reuses the system's mbrtowc function but works around the bugs.
36193         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
36194         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
36195         macros.
36196         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
36197         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
36198         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
36199         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
36200         REPLACE_MBSINIT if mbsinit needs to be overridden.
36201         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
36202         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36203         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
36204         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36205         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36206         m4/locale-zh.m4.
36207         (Depends): Add mbsinit.
36208         * modules/mbsinit (Depends): Add mbrtowc.
36209         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
36210
36211 2008-12-20  Bruno Haible  <bruno@clisp.org>
36212
36213         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
36214         so that there are no conversion errors on AIX.
36215         * tests/test-mbsrtowcs.c (main): LIkewise.
36216
36217 2008-12-20  Bruno Haible  <bruno@clisp.org>
36218
36219         Work around wctob bug on Solaris <= 9.
36220         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
36221         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
36222         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
36223         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
36224         * modules/wctob (Files): Add m4/locale-fr.m4.
36225         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
36226
36227 2008-12-20  Bruno Haible  <bruno@clisp.org>
36228
36229         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
36230         /dev/null.
36231         * tests/test-select-in.sh: Likewise.
36232         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36233
36234 2008-12-20  Bruno Haible  <bruno@clisp.org>
36235
36236         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
36237         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
36238         Cygwin 1.5.x.
36239
36240 2008-12-20  Bruno Haible  <bruno@clisp.org>
36241
36242         Ensure mbstate_t is defined on HP-UX 11.11.
36243         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
36244         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
36245         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
36246         AC_USE_SYSTEM_EXTENSIONS.
36247         * modules/fnmatch (Depends-on): Add extensions.
36248         * modules/mbrlen (Depends-on): Likewise.
36249         * modules/mbrtowc (Depends-on): Likewise.
36250         * modules/mbsinit (Depends-on): Likewise.
36251         * modules/mbsrtowcs (Depends-on): Likewise.
36252         * modules/mbswidth (Depends-on): Likewise.
36253         * modules/quotearg (Depends-on): Likewise.
36254         * modules/strftime (Depends-on): Likewise.
36255
36256 2008-12-20  Bruno Haible  <bruno@clisp.org>
36257
36258         Ensure wctob is declared on IRIX 6.5.
36259         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
36260         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
36261         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
36262         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
36263         of HAVE_WCTOB.
36264         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
36265         HAVE_WCTOB.
36266         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
36267
36268 2008-12-19  Bruno Haible  <bruno@clisp.org>
36269
36270         * modules/mbsrtowcs-tests: New file.
36271         * tests/test-mbsrtowcs1.sh: New file.
36272         * tests/test-mbsrtowcs2.sh: New file.
36273         * tests/test-mbsrtowcs3.sh: New file.
36274         * tests/test-mbsrtowcs4.sh: New file.
36275         * tests/test-mbsrtowcs.c: New file.
36276
36277         New module 'mbsrtowcs'.
36278         * lib/wchar.in.h (mbsrtowcs): New declaration.
36279         * lib/mbsrtowcs.c: New file.
36280         * m4/mbsrtowcs.m4: New file.
36281         * modules/mbsrtowcs: New file.
36282         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
36283         HAVE_MBSRTOWCS.
36284         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
36285         HAVE_MBSRTOWCS.
36286         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
36287
36288 2008-12-19  Bruno Haible  <bruno@clisp.org>
36289
36290         New module 'mbrlen'.
36291         * lib/wchar.in.h (mbrlen): New declaration.
36292         * lib/mbrlen.c: New file.
36293         * m4/mbrlen.m4: New file.
36294         * modules/mbrlen: New file.
36295         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
36296         HAVE_MBRLEN.
36297         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
36298         HAVE_MBRLEN.
36299         * doc/posix-functions/mbrlen.texi: Document the new module.
36300
36301 2008-12-19  Bruno Haible  <bruno@clisp.org>
36302
36303         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
36304         * modules/mbrtowc (Depends-on): Add verify.
36305         Suggested by Paul Eggert.
36306
36307 2008-12-18  Bruno Haible  <bruno@clisp.org>
36308
36309         * modules/mbsinit-tests: New file.
36310         * tests/test-mbsinit.sh: New file.
36311         * tests/test-mbsinit.c: New file.
36312
36313 2008-12-18  Bruno Haible  <bruno@clisp.org>
36314
36315         * modules/mbrtowc-tests: New file.
36316         * tests/test-mbrtowc1.sh: New file.
36317         * tests/test-mbrtowc2.sh: New file.
36318         * tests/test-mbrtowc3.sh: New file.
36319         * tests/test-mbrtowc4.sh: New file.
36320         * tests/test-mbrtowc.c: New file.
36321
36322         New module 'mbrtowc'.
36323         * lib/wchar.in.h (mbstate_t): Override when the system does not have
36324         mbsinit and mbrtowc.
36325         (mbrtowc): New declaration.
36326         * lib/mbrtowc.c: New file.
36327         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
36328         * modules/mbrtowc: New file.
36329         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
36330         HAVE_MBRTOWC.
36331         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
36332         HAVE_MBRTOWC.
36333         * doc/posix-functions/mbrtowc.texi: Document the new module.
36334
36335 2008-12-18  Bruno Haible  <bruno@clisp.org>
36336
36337         New module 'wctob'.
36338         * lib/wchar.in.h (wctob): New declaration.
36339         * lib/wctob.c: New file.
36340         * m4/wctob.m4: New file.
36341         * modules/wctob: New file.
36342         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
36343         HAVE_WCTOB.
36344         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
36345         * doc/posix-functions/wctob.texi: Document the new module.
36346
36347 2008-12-18  Bruno Haible  <bruno@clisp.org>
36348
36349         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
36350         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
36351
36352 2008-12-18  Simon Josefsson  <simon@josefsson.org>
36353
36354         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
36355         G. Christensen" <tgc@jupiterrise.com>.
36356
36357         * lib/flock.c: Need to include errno.h.  Reported by "Tom
36358         G. Christensen" <tgc@jupiterrise.com>.
36359
36360         * lib/flock.c: Need to include string.h.  Reported by "Tom
36361         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
36362         <ebb9@byu.net>.
36363
36364 2008-12-18  Bruno Haible  <bruno@clisp.org>
36365
36366         * m4/locale-ja.m4: New file, from GNU gettext.
36367
36368 2008-12-17  Bruno Haible  <bruno@clisp.org>
36369
36370         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
36371         Suggested by Eric Blake.
36372
36373 2008-12-17  Bruno Haible  <bruno@clisp.org>
36374
36375         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
36376
36377 2008-12-17  Bruno Haible  <bruno@clisp.org>
36378
36379         * lib/mbsinit.c: Include verify.h. Verify an assumption.
36380         * modules/mbsinit (Depends-on): Add verify.
36381         Suggested by Paul Eggert.
36382
36383 2008-12-17  Bruno Haible  <bruno@clisp.org>
36384
36385         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
36386         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
36387         gl_FUNC_MBRTOWC.
36388         * m4/mbiter.m4 (gl_MBITER): LIkewise.
36389         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
36390         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
36391         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
36392         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
36393         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
36394         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
36395         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
36396         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
36397         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
36398         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
36399         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
36400         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
36401         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
36402         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
36403         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
36404         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
36405         * modules/trim (configure.ac): Likewise.
36406
36407 2008-12-17  Bruno Haible  <bruno@clisp.org>
36408
36409         * modules/btowc-tests: New file.
36410         * tests/test-btowc1.sh: New file.
36411         * tests/test-btowc2.sh: New file.
36412         * tests/test-btowc.c: New file.
36413
36414         New module 'btowc'.
36415         * lib/wchar.in.h (btowc): New declaration.
36416         * lib/btowc.c: New file.
36417         * m4/btowc.m4: New file.
36418         * modules/btowc: New file.
36419         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
36420         HAVE_BTOWC.
36421         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
36422         * doc/posix-functions/btowc.texi: Document the new module.
36423
36424 2008-12-17  Bruno Haible  <bruno@clisp.org>
36425
36426         New module 'mbsinit'.
36427         * lib/wchar.in.h (mbsinit): New declaration.
36428         * lib/mbsinit.c: New file.
36429         * m4/mbsinit.m4: New file.
36430         * modules/mbsinit: New file.
36431         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
36432         HAVE_MBSINIT.
36433         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
36434         HAVE_MBSINIT.
36435         * doc/posix-functions/mbsinit.texi: Document the new module.
36436
36437 2008-12-16  Bruno Haible  <bruno@clisp.org>
36438
36439         * lib/unistd.in.h: Add comment.
36440         * tests/test-environ.c: Don't include <stdlib.h>.
36441
36442 2008-12-16  Bruno Haible  <bruno@clisp.org>
36443
36444         * lib/parse-duration.h (parse_duration): Document return value
36445         convention.
36446         * lib/parse-duration.c: Include specification header first. Add
36447         comments.
36448         (_): Remove macro.
36449         (parse_year_month_day, parse_hour_minute_second): Move side effects
36450         outside of strchr call.
36451         (parse_non_iso8601): Move side effects outside of isspace call.
36452         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
36453         call.
36454
36455 2008-12-16  Bruno Haible  <bruno@clisp.org>
36456
36457         * tests/test-parse-duration.sh: Produce no output when the test
36458         succeeds.
36459
36460 2008-12-16  Bruno Haible  <bruno@clisp.org>
36461
36462         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
36463         expressions.
36464
36465 2008-12-15  Bruno Haible  <bruno@clisp.org>
36466
36467         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
36468         * doc/glibc-functions/flistxattr.texi: Likewise.
36469         * doc/glibc-functions/fopencookie.texi: Likewise.
36470         * doc/glibc-functions/fremovexattr.texi: Likewise.
36471         * doc/glibc-functions/fsetxattr.texi: Likewise.
36472         * doc/glibc-functions/getxattr.texi: Likewise.
36473         * doc/glibc-functions/lgetxattr.texi: Likewise.
36474         * doc/glibc-functions/listxattr.texi: Likewise.
36475         * doc/glibc-functions/llistxattr.texi: Likewise.
36476         * doc/glibc-functions/lremovexattr.texi: Likewise.
36477         * doc/glibc-functions/lsetxattr.texi: Likewise.
36478         * doc/glibc-functions/removexattr.texi: Likewise.
36479         * doc/glibc-functions/setxattr.texi: Likewise.
36480         * doc/posix-functions/open_memstream.texi: Likewise.
36481
36482 2008-12-15  Eric Blake  <ebb9@byu.net>
36483
36484         Update doc for cygwin 1.7.
36485         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
36486         functions.
36487         * doc/posix-functions/fchmodat.texi: Likewise.
36488         * doc/posix-functions/fchownat.texi: Likewise.
36489         * doc/posix-functions/fdopendir.texi: Likewise.
36490         * doc/posix-functions/fmemopen.texi: Likewise.
36491         * doc/posix-functions/freeaddrinfo.texi: Likewise.
36492         * doc/posix-functions/fstatat.texi: Likewise.
36493         * doc/posix-functions/futimens.texi: Likewise.
36494         * doc/posix-functions/gai_strerror.texi: Likewise.
36495         * doc/posix-functions/getaddrinfo.texi: Likewise.
36496         * doc/posix-functions/getnameinfo.texi: Likewise.
36497         * doc/posix-functions/if_freenameindex.texi: Likewise.
36498         * doc/posix-functions/if_indextoname.texi: Likewise.
36499         * doc/posix-functions/if_nameindex.texi: Likewise.
36500         * doc/posix-functions/if_nametoindex.texi: Likewise.
36501         * doc/posix-functions/insque.texi: Likewise.
36502         * doc/posix-functions/linkat.texi: Likewise.
36503         * doc/posix-functions/llrint.texi: Likewise.
36504         * doc/posix-functions/llrintf.texi: Likewise.
36505         * doc/posix-functions/llrintl.texi: Likewise.
36506         * doc/posix-functions/lockf.texi: Likewise.
36507         * doc/posix-functions/lrintl.texi: Likewise.
36508         * doc/posix-functions/mkdirat.texi: Likewise.
36509         * doc/posix-functions/mkfifoat.texi: Likewise.
36510         * doc/posix-functions/mknodat.texi: Likewise.
36511         * doc/posix-functions/mq_close.texi: Likewise.
36512         * doc/posix-functions/mq_getattr.texi: Likewise.
36513         * doc/posix-functions/mq_notify.texi: Likewise.
36514         * doc/posix-functions/mq_open.texi: Likewise.
36515         * doc/posix-functions/mq_receive.texi: Likewise.
36516         * doc/posix-functions/mq_send.texi: Likewise.
36517         * doc/posix-functions/mq_setattr.texi: Likewise.
36518         * doc/posix-functions/mq_timedreceive.texi: Likewise.
36519         * doc/posix-functions/mq_timedsend.texi: Likewise.
36520         * doc/posix-functions/mq_unlink.texi: Likewise.
36521         * doc/posix-functions/open_memstream.texi: Likewise.
36522         * doc/posix-functions/openat.texi: Likewise.
36523         * doc/posix-functions/posix_fadvise.texi: Likewise.
36524         * doc/posix-functions/posix_fallocate.texi: Likewise.
36525         * doc/posix-functions/posix_madvise.texi: Likewise.
36526         * doc/posix-functions/posix_memalign.texi: Likewise.
36527         * doc/posix-functions/posix_openpt.texi: Likewise.
36528         * doc/posix-functions/readlinkat.texi: Likewise.
36529         * doc/posix-functions/remque.texi: Likewise.
36530         * doc/posix-functions/renameat.texi: Likewise.
36531         * doc/posix-functions/rintl.texi: Likewise.
36532         * doc/posix-functions/sem_unlink.texi: Likewise.
36533         * doc/posix-functions/shm_open.texi: Likewise.
36534         * doc/posix-functions/shm_unlink.texi: Likewise.
36535         * doc/posix-functions/signgam.texi: Likewise.
36536         * doc/posix-functions/sigset.texi: Likewise.
36537         * doc/posix-functions/stpcpy.texi: Likewise.
36538         * doc/posix-functions/stpncpy.texi: Likewise.
36539         * doc/posix-functions/strerror.texi: Likewise.
36540         * doc/posix-functions/strtod.texi: Likewise.
36541         * doc/posix-functions/symlinkat.texi: Likewise.
36542         * doc/posix-functions/unlinkat.texi: Likewise.
36543         * doc/posix-functions/utimensat.texi: Likewise.
36544         * doc/glibc-functions/bindresvport.texi: Likewise.
36545         * doc/glibc-functions/dn_expand.texi: Likewise.
36546         * doc/glibc-functions/exp10.texi: Likewise.
36547         * doc/glibc-functions/exp10f.texi: Likewise.
36548         * doc/glibc-functions/fgetxattr.texi: Likewise.
36549         * doc/glibc-functions/flistxattr.texi: Likewise.
36550         * doc/glibc-functions/fopencookie.texi: Likewise.
36551         * doc/glibc-functions/freeifaddrs.texi: Likewise.
36552         * doc/glibc-functions/fremovexattr.texi: Likewise.
36553         * doc/glibc-functions/fsetxattr.texi: Likewise.
36554         * doc/glibc-functions/getifaddrs.texi: Likewise.
36555         * doc/glibc-functions/getxattr.texi: Likewise.
36556         * doc/glibc-functions/lgetxattr.texi: Likewise.
36557         * doc/glibc-functions/listxattr.texi: Likewise.
36558         * doc/glibc-functions/llistxattr.texi: Likewise.
36559         * doc/glibc-functions/lremovexattr.texi: Likewise.
36560         * doc/glibc-functions/lsetxattr.texi: Likewise.
36561         * doc/glibc-functions/pow10.texi: Likewise.
36562         * doc/glibc-functions/pow10f.texi: Likewise.
36563         * doc/glibc-functions/rcmd_af.texi: Likewise.
36564         * doc/glibc-functions/removexattr.texi: Likewise.
36565         * doc/glibc-functions/res_init.texi: Likewise.
36566         * doc/glibc-functions/res_mkquery.texi: Likewise.
36567         * doc/glibc-functions/res_query.texi: Likewise.
36568         * doc/glibc-functions/res_querydomain.texi: Likewise.
36569         * doc/glibc-functions/res_send.texi: Likewise.
36570         * doc/glibc-functions/rresvport_af.texi: Likewise.
36571         * doc/glibc-functions/setxattr.texi: Likewise.
36572         * doc/glibc-functions/strcasestr.texi: Likewise.
36573
36574 2008-12-15  Bruno Haible  <bruno@clisp.org>
36575
36576         Fix compilation error on OSF/1 4.0.
36577         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
36578         <sys/time.h>, simply delegate to the system header.
36579         Reported by Daniel Richard G. <oss@teragram.com>.
36580
36581 2008-12-15  Bruno Haible  <bruno@clisp.org>
36582
36583         * doc/posix-functions/openat.texi: Mention the 'openat' module.
36584         * doc/posix-functions/fchmodat.texi: Likewise.
36585         * doc/posix-functions/fchownat.texi: Likewise.
36586         * doc/posix-functions/fdopendir.texi: Likewise.
36587         * doc/posix-functions/fstatat.texi: Likewise.
36588         * doc/posix-functions/mkdirat.texi: Likewise.
36589         * doc/posix-functions/unlinkat.texi: Likewise.
36590
36591 2008-12-14  Bruno Haible  <bruno@clisp.org>
36592
36593         Update doc for POSIX:2008.
36594         * doc/posix-functions/faccessat.texi: New file.
36595         * doc/posix-functions/fchmodat.texi: New file.
36596         * doc/posix-functions/fchownat.texi: New file.
36597         * doc/posix-functions/fdopendir.texi: New file.
36598         * doc/posix-functions/fstatat.texi: New file.
36599         * doc/posix-functions/futimens.texi: New file.
36600         * doc/posix-functions/linkat.texi: New file.
36601         * doc/posix-functions/mkdirat.texi: New file.
36602         * doc/posix-functions/mkfifoat.texi: New file.
36603         * doc/posix-functions/mknodat.texi: New file.
36604         * doc/posix-functions/open_wmemstream.texi: New file.
36605         * doc/posix-functions/openat.texi: New file.
36606         * doc/posix-functions/psiginfo.texi: New file.
36607         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
36608         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
36609         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
36610         * doc/posix-functions/readlinkat.texi: New file.
36611         * doc/posix-functions/renameat.texi: New file.
36612         * doc/posix-functions/strerror_l.texi: New file.
36613         * doc/posix-functions/symlinkat.texi: New file.
36614         * doc/posix-functions/unlinkat.texi: New file.
36615         * doc/posix-functions/utimensat.texi: New file.
36616         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36617
36618 2008-12-14  Bruno Haible  <bruno@clisp.org>
36619
36620         Update doc for POSIX:2008.
36621         * doc/posix-functions/alphasort.texi: Renamed from
36622         doc/glibc-functions/alphasort.texi.
36623         * doc/posix-functions/dirfd.texi: Renamed from
36624         doc/glibc-functions/dirfd.texi.
36625         * doc/posix-functions/dprintf.texi: Renamed from
36626         doc/glibc-functions/dprintf.texi.
36627         * doc/posix-functions/duplocale.texi: Renamed from
36628         doc/glibc-functions/duplocale.texi.
36629         * doc/posix-functions/fexecve.texi: Renamed from
36630         doc/glibc-functions/fexecve.texi.
36631         * doc/posix-functions/fmemopen.texi: Renamed from
36632         doc/glibc-functions/fmemopen.texi.
36633         * doc/posix-functions/freelocale.texi: Renamed from
36634         doc/glibc-functions/freelocale.texi.
36635         * doc/posix-functions/getdate_err.texi: Renamed from
36636         doc/glibc-functions/getdate_err.texi.
36637         * doc/posix-functions/isalnum_l.texi: Renamed from
36638         doc/glibc-functions/isalnum_l.texi.
36639         * doc/posix-functions/isalpha_l.texi: Renamed from
36640         doc/glibc-functions/isalpha_l.texi.
36641         * doc/posix-functions/isblank_l.texi: Renamed from
36642         doc/glibc-functions/isblank_l.texi.
36643         * doc/posix-functions/iscntrl_l.texi: Renamed from
36644         doc/glibc-functions/iscntrl_l.texi.
36645         * doc/posix-functions/isdigit_l.texi: Renamed from
36646         doc/glibc-functions/isdigit_l.texi.
36647         * doc/posix-functions/isgraph_l.texi: Renamed from
36648         doc/glibc-functions/isgraph_l.texi.
36649         * doc/posix-functions/islower_l.texi: Renamed from
36650         doc/glibc-functions/islower_l.texi.
36651         * doc/posix-functions/isprint_l.texi: Renamed from
36652         doc/glibc-functions/isprint_l.texi.
36653         * doc/posix-functions/ispunct_l.texi: Renamed from
36654         doc/glibc-functions/ispunct_l.texi.
36655         * doc/posix-functions/isspace_l.texi: Renamed from
36656         doc/glibc-functions/isspace_l.texi.
36657         * doc/posix-functions/isupper_l.texi: Renamed from
36658         doc/glibc-functions/isupper_l.texi.
36659         * doc/posix-functions/iswalnum_l.texi: Renamed from
36660         doc/glibc-functions/iswalnum_l.texi.
36661         * doc/posix-functions/iswalpha_l.texi: Renamed from
36662         doc/glibc-functions/iswalpha_l.texi.
36663         * doc/posix-functions/iswblank_l.texi: Renamed from
36664         doc/glibc-functions/iswblank_l.texi.
36665         * doc/posix-functions/iswcntrl_l.texi: Renamed from
36666         doc/glibc-functions/iswcntrl_l.texi.
36667         * doc/posix-functions/iswctype_l.texi: Renamed from
36668         doc/glibc-functions/iswctype_l.texi.
36669         * doc/posix-functions/iswdigit_l.texi: Renamed from
36670         doc/glibc-functions/iswdigit_l.texi.
36671         * doc/posix-functions/iswgraph_l.texi: Renamed from
36672         doc/glibc-functions/iswgraph_l.texi.
36673         * doc/posix-functions/iswlower_l.texi: Renamed from
36674         doc/glibc-functions/iswlower_l.texi.
36675         * doc/posix-functions/iswprint_l.texi: Renamed from
36676         doc/glibc-functions/iswprint_l.texi.
36677         * doc/posix-functions/iswpunct_l.texi: Renamed from
36678         doc/glibc-functions/iswpunct_l.texi.
36679         * doc/posix-functions/iswspace_l.texi: Renamed from
36680         doc/glibc-functions/iswspace_l.texi.
36681         * doc/posix-functions/iswupper_l.texi: Renamed from
36682         doc/glibc-functions/iswupper_l.texi.
36683         * doc/posix-functions/iswxdigit_l.texi: Renamed from
36684         doc/glibc-functions/iswxdigit_l.texi.
36685         * doc/posix-functions/isxdigit_l.texi: Renamed from
36686         doc/glibc-functions/isxdigit_l.texi.
36687         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
36688         doc/glibc-functions/mbsnrtowcs.texi.
36689         * doc/posix-functions/mkdtemp.texi: Renamed from
36690         doc/glibc-functions/mkdtemp.texi.
36691         * doc/posix-functions/newlocale.texi: Renamed from
36692         doc/glibc-functions/newlocale.texi.
36693         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
36694         doc/glibc-functions/nl_langinfo_l.texi.
36695         * doc/posix-functions/open_memstream.texi: Renamed from
36696         doc/glibc-functions/open_memstream.texi.
36697         * doc/posix-functions/opterr.texi: Renamed from
36698         doc/glibc-functions/opterr.texi.
36699         * doc/posix-functions/optind.texi: Renamed from
36700         doc/glibc-functions/optind.texi.
36701         * doc/posix-functions/optopt.texi: Renamed from
36702         doc/glibc-functions/optopt.texi.
36703         * doc/posix-functions/psignal.texi: Renamed from
36704         doc/glibc-functions/psignal.texi.
36705         * doc/posix-functions/scandir.texi: Renamed from
36706         doc/glibc-functions/scandir.texi.
36707         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
36708         doc/glibc-functions/sched_get_priority_min.texi.
36709         * doc/posix-functions/signgam.texi: Renamed from
36710         doc/glibc-functions/signgam.texi.
36711         * doc/posix-functions/stpcpy.texi: Renamed from
36712         doc/glibc-functions/stpcpy.texi.
36713         * doc/posix-functions/stpncpy.texi: Renamed from
36714         doc/glibc-functions/stpncpy.texi.
36715         * doc/posix-functions/strcasecmp_l.texi: Renamed from
36716         doc/glibc-functions/strcasecmp_l.texi.
36717         * doc/posix-functions/strcoll_l.texi: Renamed from
36718         doc/glibc-functions/strcoll_l.texi.
36719         * doc/posix-functions/strfmon_l.texi: Renamed from
36720         doc/glibc-functions/strfmon_l.texi.
36721         * doc/posix-functions/strftime_l.texi: Renamed from
36722         doc/glibc-functions/strftime_l.texi.
36723         * doc/posix-functions/strncasecmp_l.texi: Renamed from
36724         doc/glibc-functions/strncasecmp_l.texi.
36725         * doc/posix-functions/strndup.texi: Renamed from
36726         doc/glibc-functions/strndup.texi.
36727         * doc/posix-functions/strnlen.texi: Renamed from
36728         doc/glibc-functions/strnlen.texi.
36729         * doc/posix-functions/strsignal.texi: Renamed from
36730         doc/glibc-functions/strsignal.texi.
36731         * doc/posix-functions/strxfrm_l.texi: Renamed from
36732         doc/glibc-functions/strxfrm_l.texi.
36733         * doc/posix-functions/timer_gettime.texi: Renamed from
36734         doc/glibc-functions/timer_gettime.texi.
36735         * doc/posix-functions/tolower_l.texi: Renamed from
36736         doc/glibc-functions/tolower_l.texi.
36737         * doc/posix-functions/toupper_l.texi: Renamed from
36738         doc/glibc-functions/toupper_l.texi.
36739         * doc/posix-functions/towctrans_l.texi: Renamed from
36740         doc/glibc-functions/towctrans_l.texi.
36741         * doc/posix-functions/towlower_l.texi: Renamed from
36742         doc/glibc-functions/towlower_l.texi.
36743         * doc/posix-functions/towupper_l.texi: Renamed from
36744         doc/glibc-functions/towupper_l.texi.
36745         * doc/posix-functions/uselocale.texi: Renamed from
36746         doc/glibc-functions/uselocale.texi.
36747         * doc/posix-functions/vdprintf.texi: Renamed from
36748         doc/glibc-functions/vdprintf.texi.
36749         * doc/posix-functions/wcpcpy.texi:
36750         Renamed from doc/glibc-functions/wcpcpy.texi.
36751         * doc/posix-functions/wcpncpy.texi: Renamed from
36752         doc/glibc-functions/wcpncpy.texi.
36753         * doc/posix-functions/wcscasecmp.texi: Renamed from
36754         doc/glibc-functions/wcscasecmp.texi.
36755         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
36756         doc/glibc-functions/wcscasecmp_l.texi.
36757         * doc/posix-functions/wcscoll_l.texi: Renamed from
36758         doc/glibc-functions/wcscoll_l.texi.
36759         * doc/posix-functions/wcsdup.texi: Renamed from
36760         doc/glibc-functions/wcsdup.texi.
36761         * doc/posix-functions/wcsncasecmp.texi: Renamed from
36762         doc/glibc-functions/wcsncasecmp.texi.
36763         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
36764         doc/glibc-functions/wcsncasecmp_l.texi.
36765         * doc/posix-functions/wcsnlen.texi: Renamed from
36766         doc/glibc-functions/wcsnlen.texi.
36767         * doc/posix-functions/wcsnrtombs.texi: Renamed from
36768         doc/glibc-functions/wcsnrtombs.texi.
36769         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
36770         doc/glibc-functions/wcsxfrm_l.texi.
36771         * doc/posix-functions/wctrans_l.texi: Renamed from
36772         doc/glibc-functions/wctrans_l.texi.
36773         * doc/posix-functions/wctype_l.texi: Renamed from
36774         doc/glibc-functions/wctype_l.texi.
36775         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36776         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
36777         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
36778         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
36779         these subsections.
36780         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
36781         Remove sections.
36782
36783 2008-12-14  Bruno Haible  <bruno@clisp.org>
36784
36785         Update doc for POSIX:2008.
36786         * doc/posix-functions/*.texi: Update URL of POSIX specification.
36787
36788 2008-12-14  Bruno Haible  <bruno@clisp.org>
36789
36790         Update doc for POSIX:2008.
36791         * doc/pastposix-functions/bcmp.texi: Renamed from
36792         doc/posix-functions/bcmp.texi.
36793         * doc/pastposix-functions/bcopy.texi: Renamed from
36794         doc/posix-functions/bcopy.texi.
36795         * doc/pastposix-functions/bsd_signal.texi: Renamed from
36796         doc/posix-functions/bsd_signal.texi.
36797         * doc/pastposix-functions/bzero.texi: Renamed from
36798         doc/posix-functions/bzero.texi.
36799         * doc/pastposix-functions/ecvt.texi: Renamed from
36800         doc/posix-functions/ecvt.texi.
36801         * doc/pastposix-functions/fcvt.texi: Renamed from
36802         doc/posix-functions/fcvt.texi.
36803         * doc/pastposix-functions/ftime.texi: Renamed from
36804         doc/posix-functions/ftime.texi.
36805         * doc/pastposix-functions/gcvt.texi: Renamed from
36806         doc/posix-functions/gcvt.texi.
36807         * doc/pastposix-functions/getcontext.texi: Renamed from
36808         doc/posix-functions/getcontext.texi.
36809         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
36810         doc/posix-functions/gethostbyaddr.texi.
36811         * doc/pastposix-functions/gethostbyname.texi: Renamed from
36812         doc/posix-functions/gethostbyname.texi.
36813         * doc/pastposix-functions/getwd.texi: Renamed from
36814         doc/posix-functions/getwd.texi.
36815         * doc/pastposix-functions/h_errno.texi: Renamed from
36816         doc/posix-functions/h_errno.texi.
36817         * doc/pastposix-functions/index.texi: Renamed from
36818         doc/posix-functions/index.texi.
36819         * doc/pastposix-functions/makecontext.texi: Renamed from
36820         doc/posix-functions/makecontext.texi.
36821         * doc/pastposix-functions/mktemp.texi: Renamed from
36822         doc/posix-functions/mktemp.texi.
36823         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
36824         doc/posix-functions/pthread_attr_getstackaddr.texi.
36825         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
36826         doc/posix-functions/pthread_attr_setstackaddr.texi.
36827         * doc/pastposix-functions/rindex.texi: Renamed from
36828         doc/posix-functions/rindex.texi.
36829         * doc/pastposix-functions/scalb.texi: Renamed from
36830         doc/posix-functions/scalb.texi.
36831         * doc/pastposix-functions/setcontext.texi: Renamed from
36832         doc/posix-functions/setcontext.texi.
36833         * doc/pastposix-functions/swapcontext.texi: Renamed from
36834         doc/posix-functions/swapcontext.texi.
36835         * doc/pastposix-functions/ualarm.texi: Renamed from
36836         doc/posix-functions/ualarm.texi.
36837         * doc/pastposix-functions/usleep.texi: Renamed from
36838         doc/posix-functions/usleep.texi.
36839         * doc/pastposix-functions/vfork.texi: Renamed from
36840         doc/posix-functions/vfork.texi.
36841         * doc/pastposix-functions/wcswcs.texi: Renamed from
36842         doc/posix-functions/wcswcs.texi.
36843         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
36844         (Function Substitutes): Update.
36845
36846 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36847
36848         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
36849         m4/strerror.m4.
36850
36851 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36852             Bruno Haible  <bruno@clisp.org>
36853
36854         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
36855
36856 2008-12-13  Bruno Haible  <bruno@clisp.org>
36857
36858         * modules/strtoull (Depends-on): Remove unistd.
36859
36860 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36861
36862         * modules/strtoull (Depends-on): Add stdlib.
36863
36864 2008-12-11  Simon Josefsson  <simon@josefsson.org>
36865
36866         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
36867
36868 2008-12-10  Jim Meyering  <meyering@redhat.com>
36869
36870         gl_ASSERT: don't say assertions are disabled when they're not
36871         * m4/assert.m4 (gl_ASSERT): Do not make configure report
36872         "checking whether to enable assertions... no", when they are in
36873         fact enabled.  This is solely a bug in the output of configure.
36874         In spite of saying "no", NDEBUG was not defined in that case.
36875         Also, as noted by Eric Blake, leave assertions enabled upon
36876         --enable-assert=INVALID.
36877
36878 2008-12-10  Bruno Haible  <bruno@clisp.org>
36879
36880         Change MODULES.html to refer to POSIX:2008 where possible.
36881         * MODULES.html.sh (POSIX2008_URL): New variable.
36882         (posix_headers): Remove sys/timeb, ucontext.
36883         (posix2001_headers): New variable.
36884         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
36885         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
36886         index, makecontext, mktemp, pthread_attr_getstackaddr,
36887         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
36888         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
36889         (posix2001_functions): New variable.
36890         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
36891         otherwise.
36892
36893 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36894
36895         add missing include to parse-duration.c
36896         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
36897         * modules/parse-duration (Depends-on): Add xalloc.
36898
36899         fix sed script reading maint.mk
36900         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
36901         (syntax-check-rules): Use it.
36902
36903 2008-12-09  Bruno Haible  <bruno@clisp.org>
36904
36905         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
36906         MacOS X 10.4/PowerPC.
36907         Reported by Simon Josefsson.
36908
36909 2008-12-08  Jim Meyering  <meyering@redhat.com>
36910
36911         work around mingw's lack of some S_IF definitions
36912         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
36913         Reported by Simon Josefsson.
36914
36915 2008-12-08  Bruno Haible  <bruno@clisp.org>
36916
36917         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
36918         applied to variables. Needed on MacOS X 10.4/PowerPC.
36919         Reported by Simon Josefsson.
36920
36921 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
36922         and Eric Blake  <ebb9@byu.net>
36923
36924         assert: honor --enable-assert
36925         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
36926         order to honor --enable-assert, rather than treating it as a
36927         synonym for --disable-assert.
36928
36929 2008-12-08  Jim Meyering  <meyering@redhat.com>
36930
36931         * lib/posixtm.c: Remove now-useless declaration of mktime.
36932
36933         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
36934
36935 2008-12-07  Bruno Haible  <bruno@clisp.org>
36936
36937         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
36938         test_once): Mark functions as static.
36939         * tests/test-tls.c (test_tls): Likewise.
36940
36941 2008-12-07  Bruno Haible  <bruno@clisp.org>
36942
36943         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
36944         iconv_register_autodetect.
36945
36946 2008-12-07  Jim Meyering  <meyering@redhat.com>
36947
36948         posixtm.c: avoid a warning
36949         * lib/posixtm.c (posixtime): Don't initialize tm0.
36950         It's no longer needed to placate gcc4's -Wuninitialized,
36951         and the attempt to placate would elicit a new warning.
36952
36953         unicodeio.c: mark unused parameters
36954         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
36955         (fallback_failure_callback): Likewise.
36956
36957 2008-12-07  Bruno Haible  <bruno@clisp.org>
36958
36959         * gnulib-tool (func_create_testdir): When building the tests
36960         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
36961         Reported by Simon Josefsson.
36962
36963 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36964
36965         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
36966
36967 2008-12-06  Bruno Haible  <bruno@clisp.org>
36968
36969         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
36970         Suggested by Eric Blake.
36971
36972 2008-12-06  Bruno Haible  <bruno@clisp.org>
36973
36974         Fix a c-stack test failure on MacOS X.
36975         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
36976         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
36977         handler for SIGBUS as well.
36978         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
36979         install a signal handler for SIGBUS as well.
36980         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
36981
36982 2008-12-06  Bruno Haible  <bruno@clisp.org>
36983
36984         Advocacy documentation.
36985         * doc/gnulib-intro.texi (Benefits): New section.
36986         * doc/gnulib.texi: Update.
36987
36988 2008-12-06  Bruno Haible  <bruno@clisp.org>
36989
36990         Document the 'manywarnings' module.
36991         * doc/manywarnings.texi: New file.
36992         * doc/gnulib.texi: Include it.
36993
36994 2008-12-05  Eric Blake  <ebb9@byu.net>
36995
36996         tests: silence some gcc warnings
36997         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
36998         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
36999         type mismatches.
37000
37001 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37002             Bruno Haible  <bruno@clisp.org>
37003
37004         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
37005
37006 2008-11-29  Jim Meyering  <meyering@redhat.com>
37007
37008         unicodeio.c: mark unused parameters
37009         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
37010         (fallback_failure_callback): Likewise.
37011
37012         fts: fix a thinko
37013         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
37014         (set_stat_type): Return S_IF*-valued "type" directly.
37015         Prompted by James Youngman's spotting a related bug.
37016         Confirmed by further testing through find.
37017
37018         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
37019         * lib/fts.c (D_TYPE): Define.
37020         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
37021         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
37022         (s_ifmt_shift_bits): New function.
37023         (set_stat_type): New function.
37024         (fts_build): When not calling fts_stat, call set_stat_type
37025         to propagate dirent.d_type info to fts_read caller.
37026         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
37027         fts_statp->st_mode type information may be valid.
37028
37029 2008-11-28  Simon Josefsson  <simon@josefsson.org>
37030
37031         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
37032         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
37033         <sds@gnu.org>.
37034
37035 2008-11-20  Bruno Haible  <bruno@clisp.org>
37036
37037         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
37038         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
37039         INCLUDE_NEXT.
37040         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
37041         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
37042         * modules/math (Makefile.am): Substitute
37043         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
37044         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37045
37046 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37047             Bruno Haible  <bruno@clisp.org>
37048
37049         * lib/stdint.in.h: Define all type macros so that their expansion is
37050         a single typedef'ed token. Fixes a compilation failure in Boost which
37051         does "using ::int8_t;".
37052
37053 2008-11-18  Simon Josefsson  <simon@josefsson.org>
37054
37055         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
37056         gl_MANYWARN_ALL_GCC.
37057         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
37058         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
37059         * modules/manywarnings: New file.
37060         * MODULES.html.sh: Mention manywarnings module.
37061
37062 2008-11-18  Bruno Haible  <bruno@clisp.org>
37063
37064         * doc/gnulib-tool.texi (Unit tests): New section.
37065
37066 2008-11-18  Simon Josefsson  <simon@josefsson.org>
37067
37068         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
37069         paths like 'lib/po/foo.po'.
37070
37071 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37072
37073         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
37074         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
37075
37076 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37077
37078         * m4/warnings.m4: Use CPPFLAGS to really check whether the
37079         parameter works.
37080
37081 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37082
37083         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
37084
37085 2008-11-17  Bruce Korb  <bkorb@gnu.org>
37086
37087         * modules/parse-duration-tests: New file.
37088         * tests/test-parse-duration.sh: New file.
37089         * tests/test-parse-duration.c: New file.
37090
37091         New module 'parse-duration'.
37092         * lib/parse-duration.h: New file.
37093         * lib/parse-duration.c: New file.
37094         * modules/parse-duration: New file.
37095
37096 2008-11-17  Bruno Haible  <bruno@clisp.org>
37097
37098         * tests/test-select-out.sh: Comment out the first pipe test.
37099         Reported by Simon Josefsson.
37100
37101 2008-11-17  Bruno Haible  <bruno@clisp.org>
37102
37103         * modules/getaddrinfo (Depends-on): Add servent, hostent.
37104         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
37105         gl_HOSTENT.
37106
37107 2008-11-17  Bruno Haible  <bruno@clisp.org>
37108
37109         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
37110         -lnetwork and -lnet. Needed for Haiku and BeOS.
37111
37112 2008-11-16  Bruno Haible  <bruno@clisp.org>
37113
37114         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
37115
37116 2008-11-16  Bruno Haible  <bruno@clisp.org>
37117
37118         Avoid test failure on Haiku.
37119         * tests/test-fsync.c: Include <errno.h>.
37120         (main): Don't require that fsync (0) fails.
37121
37122 2008-11-15  Bruno Haible  <bruno@clisp.org>
37123
37124         New module 'hostent'.
37125         * modules/hostent: New file.
37126         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
37127
37128 2008-11-15  Bruno Haible  <bruno@clisp.org>
37129
37130         New module 'servent'.
37131         * modules/servent: New file.
37132         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
37133
37134 2008-11-15  Bruno Haible  <bruno@clisp.org>
37135
37136         Avoid generating same test program with two different rules.
37137         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
37138         test-frexp to test-frexp-nolibm.
37139         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
37140         test-frexpl to test-frexpl-nolibm.
37141
37142 2008-11-15  Bruno Haible  <bruno@clisp.org>
37143
37144         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
37145         $(FREXPL_LIBM).
37146
37147 2008-11-15  Bruno Haible  <bruno@clisp.org>
37148
37149         * lib/netdb.in.h: Activate the definitions also when the system's
37150         <netdb.h> has 'struct addrinfo'.
37151         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
37152         EAI_OVERFLOW or AI_NUMERICSERV.
37153         * doc/posix-headers/netdb.texi: Document the problem.
37154
37155 2008-11-15  Bruno Haible  <bruno@clisp.org>
37156
37157         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
37158
37159         Make the 'sched' module work on platforms where <sched.h> exists but
37160         is incomplete (such as Haiku).
37161         * lib/sched.in.h; Include the system's <sched.h> if it exists.
37162         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
37163         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
37164         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
37165         HAVE_STRUCT_SCHED_PARAM.
37166         * modules/sched (Depends-on): Add include_next.
37167         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
37168         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
37169         * doc/posix-headers/sched.texi: Document the issue.
37170
37171 2008-11-13  Jim Meyering  <meyering@redhat.com>
37172
37173         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
37174         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
37175         test would fail due to the difference in the Report bugs to ...
37176         line.  The expected address is empty, "<>", while the actual
37177         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
37178
37179 2008-11-12  Bruno Haible  <bruno@clisp.org>
37180
37181         lstat: don't compile lstat.c on systems lacking lstat
37182         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
37183         which don't have lstat; this is handled by lib/sys_stat.in.h already.
37184         Reported by Daniel P. Berrange via Jim Meyering.
37185
37186 2008-11-12  Jim Meyering  <meyering@redhat.com>
37187
37188         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
37189
37190 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37191
37192         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
37193         instead.
37194
37195 2008-11-12  Bruno Haible  <bruno@clisp.org>
37196
37197         * lib/unicodeio.c: Include unistr.h.
37198         (utf8_wctomb): Remove function.
37199         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
37200
37201 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37202
37203         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
37204         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
37205         <bruno@clisp.org>.
37206         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
37207
37208 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37209
37210         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
37211         * doc/gnulib.texi: Add section for warnings.
37212
37213 2008-11-11  Bruno Haible  <bruno@clisp.org>
37214
37215         * lib/sockets.h: Add a comment.
37216
37217 2008-11-11  Karl Berry  <karl@gnu.org>
37218
37219         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
37220
37221 2008-11-11  Eric Blake  <ebb9@byu.net>
37222
37223         fdl.texi: avoid git symlinks
37224         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
37225
37226 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37227
37228         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
37229
37230 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37231
37232         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
37233         (gl_WARN_ADD): Substitute $2 if literal.
37234
37235 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37236
37237         * m4/warning.m4: Remove.
37238
37239 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37240
37241         * m4/warnings.m4: Almost complete rewrite. :-)
37242
37243 2008-11-10  Simon Josefsson  <simon@josefsson.org>
37244
37245         * modules/warnings: New module.
37246         * m4/warnings.m4: New file.
37247         * MODULES.html.sh: Mention warnings module.
37248         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
37249         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37250
37251 2008-11-10  Eric Blake  <ebb9@byu.net>
37252
37253         fdl.texi: make a symlink to the latest version
37254         * doc/standards.texi: Revert today's earlier change.
37255         * doc/fdl-1.2.texi: Rename from old fdl.texi...
37256         * doc/fdl.texi: ...and replace this with a symlink to the newer
37257         fdl-1.3.texi.
37258
37259 2008-11-10  Bruno Haible  <bruno@clisp.org>
37260
37261         * tests/test-select-fd.c (main): Accept the result file name as fourth
37262         argument.
37263         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
37264         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
37265
37266 2008-11-10  Bruno Haible  <bruno@clisp.org>
37267
37268         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
37269         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
37270         as autoconf-substituted macros.
37271         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
37272         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
37273         gl_NETDB_H_DEFAULTS. Set these variables.
37274         * modules/netdb (Makefile.am): Substitute these variables.
37275
37276 2008-11-10  Eric Blake  <ebb9@byu.net>
37277
37278         standards.texi: include correct file for FDL 1.3
37279         * doc/standards.texi (GNU Free Documentation License): Change
37280         include file to pull in FDL 1.3, not 1.2.
37281
37282         fdl.texi: revert accidental change to license
37283         * doc/fdl.texi: This is FDL 1.2, not 1.3.
37284
37285 2008-11-10  Bruno Haible  <bruno@clisp.org>
37286
37287         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
37288         cross-compiling guesses also when the native compile gives no result.
37289
37290 2008-11-10  Bruno Haible  <bruno@clisp.org>
37291
37292         * lib/spawni.c (__spawni): Force variable into the stack.
37293
37294 2008-11-10  Bruno Haible  <bruno@clisp.org>
37295
37296         Add support for Haiku.
37297         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
37298         glibc and BeOS, but also on Haiku.
37299         * lib/fpurge.c (fpurge): Likewise.
37300         * lib/freadable.c (freadable): Likewise.
37301         * lib/freadahead.c (freadahead): Likewise.
37302         * lib/freading.c (freading): Likewise.
37303         * lib/freadptr.c (freadptr): Likewise.
37304         * lib/freadseek.c (freadptrinc): Likewise.
37305         * lib/fseeko.c (rpl_fseeko): Likewise.
37306         * lib/fseterr.c (fseterr): Likewise.
37307         * lib/fwritable.c (fwritable): Likewise.
37308         * lib/fwriting.c (fwriting): Likewise.
37309         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
37310
37311 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
37312
37313         * lib/config.charset: Treat Haiku like BeOS.
37314
37315 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
37316
37317         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
37318         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
37319
37320 2008-11-08  Bruno Haible  <bruno@clisp.org>
37321
37322         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
37323         AC_CACHE_CHECK.
37324
37325 2008-11-08  Bruno Haible  <bruno@clisp.org>
37326
37327         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
37328
37329 2008-11-08  Bruno Haible  <bruno@clisp.org>
37330
37331         * tests/test-select-fd.c: New file.
37332         * tests/test-select-in.sh: New file.
37333         * tests/test-select-out.sh: New file.
37334         * tests/test-select-stdin.c: New file.
37335         * modules/select-tests (Files): Add the new files.
37336         (Depends-on): Add gettimeofday.
37337         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
37338         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
37339         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
37340
37341 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
37342             Bruno Haible  <bruno@clisp.org>
37343
37344         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
37345
37346 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
37347
37348         * build-aux/pmccabe2html: Added support for C++ source files.
37349
37350 2008-11-05  Ben Pfaff  <blp@gnu.org>
37351
37352         Fix lib/close.c build on Windows.
37353         * modules/close (Files): Add lib/w32sock.h.
37354
37355 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
37356
37357         Accept Bison's NEWS format.
37358         * build-aux/announce-gen (print_news_deltas): Tweak
37359         $re_prefix.
37360
37361 2008-11-04  Bruno Haible  <bruno@clisp.org>
37362
37363         * modules/random_r (Maintainer): Add glibc.
37364
37365 2008-11-04  Simon Josefsson  <simon@josefsson.org>
37366
37367         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
37368         by karl@freefriends.org (Karl Berry).
37369         * doc/alloca.texi: Likewise.
37370         * doc/c-ctype.texi: Likewise.
37371         * doc/c-strcase.texi: Likewise.
37372         * doc/c-strcaseeq.texi: Likewise.
37373         * doc/c-strcasestr.texi: Likewise.
37374         * doc/c-strstr.texi: Likewise.
37375         * doc/c-strtod.texi: Likewise.
37376         * doc/c-strtold.texi: Likewise.
37377         * doc/ctime.texi: Likewise.
37378         * doc/error.texi: Likewise.
37379         * doc/fdl.texi: Likewise.
37380         * doc/gcd.texi: Likewise.
37381         * doc/getdate.texi: Likewise.
37382         * doc/gnulib-intro.texi: Likewise.
37383         * doc/gnulib-tool.texi: Likewise.
37384         * doc/gnulib.texi: Likewise.
37385         * doc/inet_ntoa.texi: Likewise.
37386         * doc/maintain.texi: Likewise.
37387         * doc/make-stds.texi: Likewise.
37388         * doc/quote.texi: Likewise.
37389         * doc/regexprops-generic.texi: Likewise.
37390         * doc/standards.texi: Likewise.
37391         * doc/verify.texi: Likewise.
37392         * doc/visibility.texi: Likewise.
37393         * doc/gnulib.texi (GNU Free Documentation License): Include
37394         fdl-1.3.texi instead of fdl.texi.
37395
37396 2008-11-04  Simon Josefsson  <simon@josefsson.org>
37397
37398         * doc/fdl-1.3.texi: New file, from
37399         <http://www.gnu.org/licenses/fdl-1.3.texi>.
37400         * modules/fdl-1.3: Add.
37401         * MODULES.html.sh: Add fdl-1.3.
37402
37403 2008-11-03  Bruno Haible  <bruno@clisp.org>
37404
37405         Make determination of absolute name of header file work with AIX xlc.
37406         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
37407         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
37408         preprocessing.
37409         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37410         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
37411
37412 2008-11-03  Simon Josefsson  <simon@josefsson.org>
37413
37414         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
37415         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
37416         <ludo@gnu.org>.
37417
37418 2008-11-02  Bruno Haible  <bruno@clisp.org>
37419
37420         Mark 'strpbrk' obsolete.
37421         * modules/strpbrk (Status, Notice): New sections.
37422         * modules/strtok_r (Depends-on): Add strpbrk.
37423
37424 2008-11-02  Bruno Haible  <bruno@clisp.org>
37425
37426         Mark 'strdup' obsolete.
37427         * modules/strdup (Status, Notice): New sections.
37428         * modules/findprog (Depends-on): Add strdup.
37429         * modules/getaddrinfo (Depends-on): Likewise.
37430         * modules/localename (Depends-on): Likewise.
37431         * modules/relocatable-lib (Depends-on): Likewise.
37432         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
37433         * modules/relocatable-prog (Depends-on): Likewise.
37434         * modules/trim (Depends-on): Likewise.
37435         * modules/unictype/gen-ctype (Depends-on): Likewise.
37436         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
37437
37438 2008-11-02  Bruno Haible  <bruno@clisp.org>
37439
37440         Mark 'strcspn' obsolete.
37441         * modules/strcspn (Status, Notice): New sections.
37442
37443 2008-11-02  Bruno Haible  <bruno@clisp.org>
37444
37445         Mark 'rmdir' obsolete.
37446         * modules/rmdir (Status, Notice): New sections.
37447         * modules/clean-temp (Depends-on): Add rmdir.
37448         * modules/openat (Depends-on): Likewise.
37449
37450 2008-11-02  Bruno Haible  <bruno@clisp.org>
37451
37452         Mark 'raise' obsolete.
37453         * modules/raise (Status, Notice): New sections.
37454         (Include): Specify <signal.h>.
37455         * modules/stdio (Depends-on): Add raise.
37456         * modules/write (Depends-on): Likewise.
37457
37458 2008-11-02  Bruno Haible  <bruno@clisp.org>
37459
37460         Mark 'memset' obsolete.
37461         * modules/memset (Status, Notice): New sections.
37462
37463 2008-11-02  Bruno Haible  <bruno@clisp.org>
37464
37465         Mark 'memmove' obsolete.
37466         * modules/memmove (Status, Notice): New sections.
37467         * modules/argp (Depends-on): Add memmove.
37468         * modules/argz (Depends-on): Likewise.
37469         * modules/canonicalize (Depends-on): Likewise.
37470         * modules/canonicalize-lgpl (Depends-on): Likewise.
37471         * modules/fts (Depends-on): Likewise.
37472         * modules/getcwd (Depends-on): Likewise.
37473         * modules/human (Depends-on): Likewise.
37474         * modules/regex (Depends-on): Likewise.
37475         * modules/striconveh (Depends-on): Likewise.
37476         * modules/trim (Depends-on): Likewise.
37477         * modules/unistr/u8-move (Depends-on): Likewise.
37478         * modules/unistr/u16-move (Depends-on): Likewise.
37479         * modules/unistr/u32-move (Depends-on): Likewise.
37480
37481 2008-11-02  Bruno Haible  <bruno@clisp.org>
37482
37483         Mark 'memcpy' obsolete.
37484         * modules/memcpy (Status, Notice): New sections.
37485
37486 2008-11-02  Bruno Haible  <bruno@clisp.org>
37487
37488         Mark 'memcmp' obsolete.
37489         * modules/memcmp (Status, Notice): New sections.
37490         * modules/argmatch (Depends-on): Add memchr.
37491         * modules/backupfile (Depends-on): Likewise.
37492         * modules/c-strcasestr (Depends-on): Likewise.
37493         * modules/crypto/des (Depends-on): Likewise.
37494         * modules/csharpcomp (Depends-on): Likewise.
37495         * modules/fnmatch (Depends-on): Likewise.
37496         * modules/git-merge-changelog (Depends-on): Likewise.
37497         * modules/isnand (Depends-on): Likewise.
37498         * modules/isnand-nolibm (Depends-on): Likewise.
37499         * modules/isnanf (Depends-on): Likewise.
37500         * modules/isnanf-nolibm (Depends-on): Likewise.
37501         * modules/isnanl (Depends-on): Likewise.
37502         * modules/isnanl-nolibm (Depends-on): Likewise.
37503         * modules/mbchar (Depends-on): Likewise.
37504         * modules/memcoll (Depends-on): Likewise.
37505         * modules/quotearg (Depends-on): Likewise.
37506         * modules/regex (Depends-on): Likewise.
37507         * modules/relocatable-prog (Depends-on): Likewise.
37508         * modules/same (Depends-on): Likewise.
37509         * modules/signbit (Depends-on): Likewise.
37510         * modules/strcasestr-simple (Depends-on): Likewise.
37511         * modules/unictype/gen-ctype (Depends-on): Likewise.
37512         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
37513         * modules/uniname/uniname (Depends-on): Likewise.
37514         * modules/unistr/u8-cmp (Depends-on): Likewise.
37515
37516 2008-11-02  Bruno Haible  <bruno@clisp.org>
37517
37518         Mark 'memchr' obsolete.
37519         * modules/memchr (Status, Notice): New sections.
37520         * modules/argp (Depends-on): Add memchr.
37521         * modules/base64 (Depends-on): Likewise.
37522         * modules/c-strcasestr (Depends-on): Likewise.
37523         * modules/chdir-long (Depends-on): Likewise.
37524         * modules/fnmatch (Depends-on): Likewise.
37525         * modules/getsubopt (Depends-on): Likewise.
37526         * modules/git-merge-changelog (Depends-on): Likewise.
37527         * modules/glob (Depends-on): Likewise.
37528         * modules/strcasestr-simple (Depends-on): Likewise.
37529         * modules/strnlen (Depends-on): Likewise.
37530
37531 2008-11-02  Bruno Haible  <bruno@clisp.org>
37532
37533         Mark 'atexit' obsolete.
37534         * modules/atexit (Status, Notice): New sections.
37535         * modules/chdir-long (Depends-on): Add atexit.
37536         * modules/wait-process (Depends-on): Likewise.
37537
37538 2008-11-02  Bruno Haible  <bruno@clisp.org>
37539
37540         * gnulib-tool: New option --with-obsolete.
37541         (func_usage): Document it.
37542         (func_modules_transitive_closure): Drop obsolete dependencies if
37543         incobsolete is not true.
37544         (func_import): Read and save the incobsolete variable to the cache.
37545
37546 2008-11-02  Bruno Haible  <bruno@clisp.org>
37547
37548         * modules/TEMPLATE-EXTENDED: New field 'Status'.
37549         * gnulib-tool: New option --extract-status.
37550         (func_usage): Document it.
37551         (sed_extract_prog): Recognize it.
37552         (func_get_status): New function.
37553
37554 2008-10-30  Simon Josefsson  <simon@josefsson.org>
37555
37556         * modules/sockets (License): Change from LGPL to LGPLv2+.
37557
37558 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37559
37560         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
37561
37562 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37563
37564         * MODULES.html.sh (Support for systems lacking POSIX:2001):
37565         Mention times and sys_times.
37566         * modules/sys_times, modules/sys_times-tests: New modules.
37567         * modules/times, modules/times-tests: Likewise
37568         * m4/sys_times_h.m4: New file.
37569         * lib/sys_times.in.h: Likewise
37570         * lib/times.c: Likewise.
37571         * tests/test-sys_times.c: Likewise.
37572         * tests/test-times.c: Likewise.
37573         * doc/posix-headers/sys_times.texi: Update.
37574         * doc/posix-functions/times.texi: Update.
37575
37576 2008-10-28  Jim Meyering  <meyering@redhat.com>
37577
37578         * modules/tempname (Depends-on): Add lstat.
37579
37580         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
37581
37582 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37583
37584         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
37585         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
37586         using idiom used elsewhere in gnulib.
37587
37588 2008-10-27  Jim Meyering  <meyering@redhat.com>
37589
37590         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
37591
37592 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37593
37594         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
37595         TESTS_ENVIRONMENT, for shell scripts that needs to call built
37596         programs.
37597         * tests/test-argp-2.sh: Use $EXEEXT when needed.
37598
37599 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37600
37601         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
37602
37603 2008-10-27  Bruno Haible  <bruno@clisp.org>
37604
37605         * tests/test-lstat.c: Include <stdio.h>.
37606
37607 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37608
37609         * modules/lstat-tests: New module.
37610         * tests/test-lstat.c: New file.
37611
37612 2008-10-26  Jim Meyering  <meyering@redhat.com>
37613
37614         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
37615
37616 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37617             Bruno Haible  <bruno@clisp.org>
37618
37619         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
37620         * modules/configmake (Include): Add a note that the include must come
37621         after all system headers.
37622         * lib/javaversion.c: Include configmake.h after all other includes.
37623
37624 2008-10-26  Bruno Haible  <bruno@clisp.org>
37625
37626         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
37627         HAVE_STRUCT_RANDOM_DATA to 1.
37628         (gl_STDLIB_H): Simplify.
37629
37630 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37631
37632         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
37633         substitute HAVE_STRUCT_RANDOM_DATA.
37634         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
37635         random_data.
37636         * modules/stdlib (Makefile.am): Substitute
37637         HAVE_STRUCT_RANDOM_DATA.
37638
37639 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37640
37641         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
37642         * doc/gnulib-intro.texi (Copyright): Likewise.
37643
37644 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37645
37646         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
37647         findings.
37648
37649 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
37650             Bruno Haible  <bruno@clisp.org>
37651
37652         * lib/unistd.in.h: Include <winsock2.h>.
37653         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
37654         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
37655         Provide dummy declarations.
37656         (gethostname): Override.
37657         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
37658         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
37659         gl_PREREQ_SYS_H_WINSOCK2.
37660         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
37661         * doc/posix-functions/gethostname.texi: More details.
37662
37663 2008-10-25  Bruno Haible  <bruno@clisp.org>
37664
37665         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
37666         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
37667         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
37668
37669         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
37670         here ...
37671         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
37672         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
37673         gl_UNISTD_H_DEFAULTS.
37674
37675 2008-10-25  Eric Blake  <ebb9@byu.net>
37676
37677         signbit: avoid spurious compiler failure
37678         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
37679         declarations inside function.
37680
37681 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37682             Bruno Haible  <bruno@clisp.org>
37683
37684         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
37685         * modules/random_r (Depends-on): Add stdint.
37686
37687 2008-10-24  Bruno Haible  <bruno@clisp.org>
37688
37689         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
37690         Eggert.
37691         * modules/strerror (License): Likewise.
37692
37693 2008-10-24  Jim Meyering  <meyering@redhat.com>
37694
37695         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
37696         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
37697
37698 2008-10-24  Eric Blake  <ebb9@byu.net>
37699
37700         getgroups: fix compilation when getgroups is available
37701         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
37702         but with <config.h> override of getgroups disabled.
37703
37704 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37705
37706         * doc/gnulib.texi (Header files): Add note about C++ problems.
37707         Explained by Bruno Haible <bruno@clisp.org>.
37708
37709 2008-10-23  Bruno Haible  <bruno@clisp.org>
37710
37711         Define a dummy SA_NODEFER macro on Interix.
37712         * lib/signal.in.h (SA_NODEFER): Define fallback.
37713         Reported by Aleksey Cheusov <cheusov@tut.by> via
37714         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
37715
37716 2008-10-23  Bruno Haible  <bruno@clisp.org>
37717
37718         * modules/freadahead (License): Change to LGPLv2+.
37719         Suggested by Simon Josefsson.
37720
37721 2008-10-23  Jim Meyering  <meyering@redhat.com>
37722
37723         random_r: new module
37724         * modules/random_r: New file.
37725         * m4/random_r.m4: New file.
37726         * lib/random_r.c: New file, from glibc.
37727         * modules/random_r-tests: New file.
37728         * tests/test-random_r.c: New file.
37729         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
37730          Declare.
37731         (RAND_MAX): Define.
37732         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
37733         * modules/stdlib: Substitute them, too.
37734         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
37735         * doc/glibc-functions/initstate_r.texi: Mention the new module.
37736         * doc/glibc-functions/random_r.texi: Likewise.
37737         * doc/glibc-functions/setstate_r.texi: Likewise.
37738         * doc/glibc-functions/srandom_r.texi: Likewise.
37739         * config/srclist.txt: Mention it.
37740
37741 2008-10-23  David Lutterkort  <lutter@redhat.com>
37742
37743         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
37744         link requirement
37745
37746 2008-10-23  Jim Meyering  <meyering@redhat.com>
37747
37748         selinux-h: mark parameters of stub functions as intentionally unused
37749         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
37750         * lib/se-context.in.h: Likewise.
37751
37752 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37753
37754         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
37755
37756 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37757
37758         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
37759
37760 2008-10-22  Eric Blake  <ebb9@byu.net>
37761
37762         glthread/thread: avoid compiler warning
37763         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
37764         Add unreachable abort to silence compiler.
37765
37766 2008-10-22  Eric Blake  <ebb9@byu.net>
37767
37768         netdb: also supply struct addrinfo for cygwin 1.5.x
37769         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
37770         older cygwin.
37771         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
37772         cygwin.
37773         * doc/posix-headers/netdb.texi (netdb.h): Document this.
37774
37775 2008-10-22  Bruno Haible  <bruno@clisp.org>
37776
37777         * users.txt: Update entry about pspp.
37778
37779 2008-10-21  Bruno Haible  <bruno@clisp.org>
37780
37781         Simplification.
37782         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
37783         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
37784
37785         Simplification.
37786         * lib/ioctl.c (ioctl): Don't undefine.
37787         * lib/socket.c (socket): Don't undefine.
37788
37789         Remove unused module indicator macros.
37790         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
37791         GNULIB_$1 as a C macro.
37792
37793         * doc/posix-functions/close.texi: Undo last change.
37794         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
37795         Windows platforms.
37796
37797 2008-10-21  Bruno Haible  <bruno@clisp.org>
37798
37799         Add gethostname() declaration to <unistd.h>.
37800         * lib/unistd.in.h (gethostname): New declaration.
37801         * lib/gethostname.c: Include <unistd.h>.
37802         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
37803         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
37804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
37805         and HAVE_GETHOSTNAME.
37806         * modules/gethostname (Depends-on): Add unistd.
37807         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37808         (Include): Specify <unistd.h>.
37809         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
37810         HAVE_GETHOSTNAME.
37811         * tests/test-gethostname.c: Include <unistd.h> first.
37812
37813 2008-10-21  Bruno Haible  <bruno@clisp.org>
37814
37815         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
37816         * modules/select-tests (Depends-on): Likewise.
37817         Reported by Simon Josefsson.
37818
37819 2008-10-21  Simon Josefsson  <simon@josefsson.org>
37820
37821         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
37822         * lib/accept.c: New file, based on winsock.c.
37823         * lib/bind.c: New file, based on winsock.c.
37824         * lib/connect.c: New file, based on winsock.c.
37825         * lib/getpeername.c: New file, based on winsock.c.
37826         * lib/getsockname.c: New file, based on winsock.c.
37827         * lib/getsockopt.c: New file, based on winsock.c.
37828         * lib/ioctl.c: New file, based on winsock.c.
37829         * lib/listen.c: New file, based on winsock.c.
37830         * lib/recv.c: New file, based on winsock.c.
37831         * lib/recvfrom.c: New file, based on winsock.c.
37832         * lib/send.c: New file, based on winsock.c.
37833         * lib/sendto.c: New file, based on winsock.c.
37834         * lib/setsockopt.c: New file, based on winsock.c.
37835         * lib/shutdown.c: New file, based on winsock.c.
37836         * lib/socket.c: New file, based on winsock.c.
37837         * lib/w32sock.h: New file, based on winsock.c.
37838         * lib/winsock.c: Remove file.
37839         * modules/accept: Likewise.
37840         * modules/bind: Likewise.
37841         * modules/connect: Likewise.
37842         * modules/getpeername: Likewise.
37843         * modules/getsockname: Likewise.
37844         * modules/getsockopt: Likewise.
37845         * modules/ioctl: Likewise.
37846         * modules/listen: Likewise.
37847         * modules/recv: Likewise.
37848         * modules/recvfrom: Likewise.
37849         * modules/send: Likewise.
37850         * modules/sendto: Likewise.
37851         * modules/setsockopt: Likewise.
37852         * modules/shutdown: Likewise.
37853         * modules/socket: Use socket.c instead of winsock.c.
37854         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
37855         * doc/posix-functions/accept.texi: Doc fix.
37856         * doc/posix-functions/bind.texi: Doc fix.
37857         * doc/posix-functions/close.texi: Doc fix.
37858         * doc/posix-functions/connect.texi: Doc fix.
37859         * doc/posix-functions/getpeername.texi: Doc fix.
37860         * doc/posix-functions/getsockname.texi: Doc fix.
37861         * doc/posix-functions/getsockopt.texi: Doc fix.
37862         * doc/posix-functions/ioctl.texi: Doc fix.
37863         * doc/posix-functions/listen.texi: Doc fix.
37864         * doc/posix-functions/recv.texi: Doc fix.
37865         * doc/posix-functions/recvfrom.texi: Doc fix.
37866         * doc/posix-functions/send.texi: Doc fix.
37867         * doc/posix-functions/sendto.texi: Doc fix.
37868         * doc/posix-functions/setsockopt.texi: Doc fix.
37869         * doc/posix-functions/shutdown.texi: Doc fix.
37870         * doc/posix-functions/socket.texi: Doc fix.
37871
37872 2008-10-20  Bruno Haible  <bruno@clisp.org>
37873
37874         Take into account the role of SIGABRT_COMPAT on Windows 2008.
37875         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
37876         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
37877         as an alias for SIGABRT.
37878         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
37879         (sigaction): Map it to SIGABRT.
37880         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
37881
37882 2008-10-20  Bruno Haible  <bruno@clisp.org>
37883
37884         * lib/fts.c: Don't include lstat.h.
37885         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
37886
37887         Move the lstat() declaration to <sys/stat.h>.
37888         * lib/lstat.h: Remove file.
37889         * lib/sys_stat.in.h: Add special invocation convention.
37890         (lstat): New declaration.
37891         * lib/lstat.c (orig_lstat): New function.
37892         (rpl_lstat): Use orig_lstat instead of lstat.
37893         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
37894         AC_C_INLINE. Set REPLACE_LSTAT.
37895         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
37896         and REPLACE_LSTAT.
37897         * modules/lstat (Files): Remove lib/lstat.h.
37898         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
37899         (Include): Specify <sys/stat.h> instead of lstat.h.
37900         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
37901         REPLACE_LSTAT.
37902         * NEWS: Mention the change.
37903
37904 2008-10-20  Bruno Haible  <bruno@clisp.org>
37905
37906         * modules/posix_spawn-tests: New file.
37907         * tests/test-posix_spawn3.c: New file.
37908
37909 2008-10-20  Bruno Haible  <bruno@clisp.org>
37910
37911         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
37912         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
37913         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
37914         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
37915         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
37916
37917 2008-10-20  Bruno Haible  <bruno@clisp.org>
37918
37919         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
37920         of posix_spawn on AIX 5.3.
37921
37922 2008-10-20  Bruno Haible  <bruno@clisp.org>
37923
37924         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
37925
37926 2008-10-20  Bruno Haible  <bruno@clisp.org>
37927
37928         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
37929         of AC_LANG_PROGRAM.
37930
37931 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37932
37933         * lib/netdb.in.h: Don't define GNU specific constants until they
37934         are supported or needed.  Reported by Bruno Haible
37935         <bruno@clisp.org>.
37936
37937 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37938
37939         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
37940
37941 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37942
37943         * lib/getaddrinfo.h: Remove file.
37944         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
37945         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
37946         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
37947         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
37948         * modules/netdb: Substitute GNULIB_GETADDRINFO.
37949         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
37950         * tests/test-getaddrinfo.c: Likewise.
37951         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
37952         * NEWS: Mention change.
37953
37954 2008-10-19  Bruno Haible  <bruno@clisp.org>
37955
37956         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
37957
37958 2008-10-19  Bruno Haible  <bruno@clisp.org>
37959
37960         * lib/wait-process.c: Include simply <sys/wait.h>.
37961         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
37962         WIFSTOPPED): Remove fallback definitions.
37963         * modules/wait-process (Depends-on): Add sys_wait.
37964
37965         New module 'sys_wait'.
37966         * modules/sys_wait: New file.
37967         * lib/sys_wait.in.h: New file, partially copied from
37968         lib/wait-process.c.
37969         * m4/sys_wait_h.m4: New file.
37970         * doc/posix-headers/sys_wait.texi: Mention the new module.
37971
37972 2008-10-19  Bruno Haible  <bruno@clisp.org>
37973
37974         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
37975
37976 2008-10-19  Bruno Haible  <bruno@clisp.org>
37977
37978         Assume that waitpid() fills an 'int' status, not a 'union wait'.
37979         * lib/wait-process.c (WAIT_T): Remove type.
37980         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
37981         (wait_subprocess): Update.
37982
37983 2008-10-19  Bruno Haible  <bruno@clisp.org>
37984
37985         New module 'atoll'.
37986         * modules/atoll: New file.
37987         * lib/stdlib.in.h (atoll): New declaration.
37988         * lib/atoll.c: New file, from glibc with modifications.
37989         * m4/atoll.m4: New file.
37990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
37991         HAVE_ATOLL.
37992         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
37993         * doc/posix-functions/atoll.texi: Mention the new module.
37994
37995 2008-10-19  Bruno Haible  <bruno@clisp.org>
37996
37997         Add strtoull() declaration to <stdlib.h>.
37998         * lib/stdlib.in.h (strtoull): New declaration.
37999         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38000         Set HAVE_STRTOULL.
38001         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
38002         HAVE_STRTOULL.
38003         * modules/strtoull (Depends-on): Add stdlib.
38004         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38005         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
38006         HAVE_STRTOULL.
38007
38008 2008-10-19  Bruno Haible  <bruno@clisp.org>
38009
38010         Add strtoll() declaration to <stdlib.h>.
38011         * lib/stdlib.in.h (strtoll): New declaration.
38012         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38013         Set HAVE_STRTOLL.
38014         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
38015         HAVE_STRTOLL.
38016         * modules/strtoll (Depends-on): Add stdlib.
38017         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38018         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
38019
38020 2008-10-19  Bruno Haible  <bruno@clisp.org>
38021
38022         * modules/bcopy (Depends-on): Add strings.
38023         (Include): Specify <strings.h>.
38024
38025 2008-10-19  Bruno Haible  <bruno@clisp.org>
38026
38027         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
38028
38029 2008-10-19  Bruno Haible  <bruno@clisp.org>
38030
38031         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
38032         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
38033         mingw.
38034
38035 2008-10-19  Bruno Haible  <bruno@clisp.org>
38036
38037         * lib/atanl.c: Don't include isnanl.h.
38038         * lib/cosl.c: Likewise.
38039         * lib/ldexpl.c: Likewise.
38040         * lib/logl.c: Likewise.
38041         * lib/sinl.c: Likewise.
38042         * lib/sqrtl.c: Likewise.
38043         * lib/tanl.c: Likewise.
38044
38045         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
38046         * lib/isnanf.h: Remove file.
38047         * lib/isnand.h: Remove file.
38048         * lib/isnanl.h: Remove file.
38049         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
38050         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
38051         macros.
38052         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
38053         HAVE_ISNANF, don't define it as a C macro.
38054         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
38055         HAVE_ISNAND, don't define it as a C macro.
38056         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
38057         HAVE_ISNANL, don't define it as a C macro.
38058         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
38059         HAVE_ISNAN[FDL].
38060         * modules/isnanf (Files): Remove lib/isnanf.h.
38061         (Depends-on): Add math.
38062         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38063         (Include): Specify <math.h> instead of isnanf.h.
38064         * modules/isnand (Files): Remove lib/isnand.h.
38065         (Depends-on): Add math.
38066         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38067         (Include): Specify <math.h> instead of isnand.h.
38068         * modules/isnanl (Files): Remove lib/isnanl.h.
38069         (Depends-on): Add math.
38070         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38071         (Include): Specify <math.h> instead of isnanl.h.
38072         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
38073         HAVE_ISNAN[FDL].
38074         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
38075         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
38076         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
38077         * NEWS: Mention the change.
38078
38079 2008-10-18  Bruno Haible  <bruno@clisp.org>
38080
38081         Add getusershell(), setusershell(), endusershell() declarations to
38082         <unistd.h>.
38083         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
38084         declarations.
38085         * lib/getusershell.c: Include unistd.h.
38086         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
38087         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
38088         HAVE_GETUSERSHELL.
38089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
38090         and HAVE_GETUSERSHELL.
38091         * modules/getusershell (Depends-on): Add unistd, extensions.
38092         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38093         (Include): Specify <unistd.h>.
38094         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
38095         HAVE_GETUSERSHELL.
38096
38097 2008-10-18  Bruno Haible  <bruno@clisp.org>
38098
38099         Add a getloadavg() declaration to <stdlib.h>.
38100         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
38101         getloadavg declaration.
38102         (getloadavg): New declaration.
38103         * lib/getloadavg.c: Include <stdlib.h> first.
38104         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
38105         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
38106         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
38107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
38108         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
38109         * modules/getloadavg (Depends-on): Add stdlib, extensions.
38110         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38111         (Include): Specify <stdlib.h>.
38112         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
38113         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
38114
38115 2008-10-18  Bruno Haible  <bruno@clisp.org>
38116
38117         * lib/dirchownmod.c: Don't include lchmod.h.
38118
38119         Move the lchmod() declaration to <sys/stat.h>.
38120         * lib/lchmod.h: Remove file.
38121         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
38122         (lchmod): New declaration, moved here from lib/lchown.h.
38123         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
38124         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
38125         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
38126         and HAVE_LCHMOD.
38127         * modules/lchmod (Files): Remove lib/lchmod.h.
38128         (Depends-on): Add sys_stat, extensions.
38129         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
38130         (Include): Specify <sys/stat.h> instead of lchmod.h.
38131         * modules/sys_stat (Depends-on): Add link-warning.
38132         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
38133         definition of GL_LINK_WARNING.
38134         * NEWS: Mention the change.
38135
38136 2008-10-18  Bruno Haible  <bruno@clisp.org>
38137
38138         * lib/fchdir.c: Don't include dirfd.h.
38139         * lib/fts.c: Likewise.
38140         * lib/getcwd.c: Likewise.
38141         * lib/glob.c: Likewise.
38142
38143         Move the dirfd() declaration to <dirent.h>.
38144         * lib/dirfd.h: Remove file.
38145         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
38146         (dirfd): New declaration.
38147         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
38148         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
38149         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
38150         HAVE_DECL_DIRFD.
38151         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
38152         HAVE_DECL_DIRFD.
38153         * modules/dirfd (Files): Remove lib/dirfd.h.
38154         (Depends-on): Add dirent, extensions.
38155         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
38156         (Include): Specify <dirent.h> instead of dirfd.h.
38157         * modules/dirent (Depends-on): Add link-warning.
38158         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
38159         definition of GL_LINK_WARNING.
38160         * NEWS: Mention the change.
38161
38162 2008-10-18  Bruno Haible  <bruno@clisp.org>
38163
38164         Move the euidaccess() declaration to <unistd.h>.
38165         * lib/euidaccess.h: Remove file.
38166         * lib/unistd.in.h (euidaccess): New declaration.
38167         * lib/euidaccess.c: Don't include euidaccess.h.
38168         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
38169         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
38170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
38171         and HAVE_EUIDACCESS.
38172         * modules/euidaccess (Files): Remove lib/euidaccess.h.
38173         (Depends-on): Add unistd.
38174         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38175         (Include): Specify <unistd.h> instead of euidaccess.h.
38176         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
38177         HAVE_EUIDACCESS.
38178         * NEWS: Mention the change.
38179
38180 2008-10-18  Bruno Haible  <bruno@clisp.org>
38181
38182         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
38183
38184         Move the getdomainname() declaration to <unistd.h>.
38185         * lib/getdomainname.h: Remove file.
38186         * lib/unistd.in.h (getdomainname): New declaration.
38187         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
38188         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
38189         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
38190         HAVE_GETDOMAINNAME.
38191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38192         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
38193         * modules/getdomainname (Files): Remove lib/getdomainname.h.
38194         (Depends-on): Add unistd, extensions.
38195         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38196         (Includes): Specify <unistd.h> instead of getdomainname.h.
38197         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
38198         HAVE_GETDOMAINNAME.
38199         * NEWS: Mention the change.
38200
38201 2008-10-18  Bruno Haible  <bruno@clisp.org>
38202
38203         * modules/dirent: New file.
38204         * m4/dirent_h.m4: New file.
38205         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
38206         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
38207         * modules/fchdir (Files): Remove lib/dirent.in.h.
38208         (Depends-on): Add dirent.
38209         (Makefile.am): Move rules to modules/dirent.
38210         * doc/posix-headers/dirent.texi: Mention the new module.
38211
38212 2008-10-18  Bruno Haible  <bruno@clisp.org>
38213
38214         Avoid -Wunused-parameter warnings in public gnulib header files.
38215         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
38216         macro.
38217         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
38218
38219 2008-10-18  Bruno Haible  <bruno@clisp.org>
38220
38221         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
38222         * doc/glibc-functions/error.texi: Mention the module 'error'.
38223         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
38224         * doc/glibc-functions/getdomainname.texi: Mention the module
38225         'getdomainname'.
38226         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
38227         * doc/glibc-functions/getpagesize.texi: Mention the module
38228         'getpagesize'.
38229         * doc/glibc-functions/getusershell.texi: Mention the module
38230         'getusershell'.
38231         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
38232         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
38233         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
38234         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
38235         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
38236         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
38237         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
38238         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
38239         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
38240         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
38241         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
38242         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
38243         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
38244         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
38245
38246 2008-10-17  Bruno Haible  <bruno@clisp.org>
38247
38248         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
38249         HP-UX and IRIX, use -0.0L.
38250         * tests/test-ceill.c (minus_zero): Likewise.
38251         * tests/test-floorl.c (minus_zero): Likewise.
38252         * tests/test-frexpl.c (minus_zero): Likewise.
38253         * tests/test-isnan.c (minus_zerol): Likewise.
38254         * tests/test-isnanl.h (minus_zero): Likewise.
38255         * tests/test-ldexpl.c (minus_zero): Likewise.
38256         * tests/test-roundl.c (minus_zero): Likewise.
38257         * tests/test-signbit.c (minus_zerol): Likewise.
38258         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
38259         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
38260         * tests/test-truncl.c (minus_zero): Likewise.
38261         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
38262         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
38263         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
38264         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
38265
38266 2008-10-17  Bruno Haible  <bruno@clisp.org>
38267
38268         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
38269         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
38270         that it gets activated only for gcc >= 3.0.
38271         * lib/dirent.in.h: Likewise.
38272         * lib/errno.in.h: Likewise.
38273         * lib/fcntl.in.h: Likewise.
38274         * lib/float.in.h: Likewise.
38275         * lib/iconv.in.h: Likewise.
38276         * lib/inttypes.in.h: Likewise.
38277         * lib/locale.in.h: Likewise.
38278         * lib/math.in.h: Likewise.
38279         * lib/netdb.in.h: Likewise.
38280         * lib/netinet_in.in.h: Likewise.
38281         * lib/search.in.h: Likewise.
38282         * lib/signal.in.h: Likewise.
38283         * lib/spawn.in.h: Likewise.
38284         * lib/stdarg.in.h: Likewise.
38285         * lib/stdint.in.h: Likewise.
38286         * lib/stdio.in.h: Likewise.
38287         * lib/stdlib.in.h: Likewise.
38288         * lib/string.in.h: Likewise.
38289         * lib/strings.in.h: Likewise.
38290         * lib/sys_file.in.h: Likewise.
38291         * lib/sys_ioctl.in.h: Likewise.
38292         * lib/sys_select.in.h: Likewise.
38293         * lib/sys_socket.in.h: Likewise.
38294         * lib/sys_stat.in.h: Likewise.
38295         * lib/sys_time.in.h: Likewise.
38296         * lib/sysexits.in.h: Likewise.
38297         * lib/time.in.h: Likewise.
38298         * lib/unistd.in.h: Likewise.
38299         * lib/wchar.in.h: Likewise.
38300         * lib/wctype.in.h: Likewise.
38301         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38302
38303 2008-10-17  Jim Meyering  <meyering@redhat.com>
38304
38305         ignore-value: don't depend on inline module
38306         * modules/ignore-value (Depends-on): Remove 'inline'.
38307         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
38308         Suggestion from Bruno Haible.
38309
38310 2008-10-17  Bruno Haible  <bruno@clisp.org>
38311
38312         New implementation of condition variables for Win32.
38313         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
38314         (gl_linked_waitqueue_t): New type.
38315         (gl_cond_t): Use it.
38316         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
38317         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
38318         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
38319         (glthread_cond_init_func, glthread_cond_wait_func,
38320         glthread_cond_timedwait_func, glthread_cond_signal_func,
38321         glthread_cond_broadcast_func, glthread_cond_destroy_func):
38322         Reimplemented on the basis of gl_linked_waitqueue_t.
38323         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
38324         gl_waitqueue_t.
38325         (gl_rwlock_t): Update.
38326         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
38327
38328 2008-10-17  Simon Josefsson  <simon@josefsson.org>
38329
38330         * modules/recvfrom (Depends-on): Add dependency on getpeername.
38331         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38332
38333 2008-10-17  Jim Meyering  <meyering@redhat.com>
38334
38335         ignore-value: new module
38336         * modules/ignore-value: New file.
38337         * lib/ignore-value.h: New file.
38338         * MODULES.html.sh (Compiler warning management): New section,
38339         just for this module.  More to come.
38340
38341 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38342
38343         open-safer.c: avoid 'signed and unsigned in conditional...' warning
38344         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
38345         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
38346
38347 2008-10-16  Jim Meyering  <meyering@redhat.com>
38348
38349         openat-die.c: avoid 'no previous prototype' warning
38350         * lib/openat-die.c: Include "openat.h".
38351         Reported by Reuben Thomas <rrt@sc3d.org>.
38352
38353 2008-10-16  Simon Josefsson  <simon@josefsson.org>
38354
38355         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
38356         * lib/netdb.in.h: Fix typo.
38357         Reported by Bruno Haible  <bruno@clisp.org>
38358
38359         * lib/netdb.in.h: Include sys/socket.h for platforms without
38360         netdb.h, to get structures like hostent on MinGW.
38361         * modules/netdb (Depends-on): Add sys_socket.
38362
38363 2008-10-15  Simon Josefsson  <simon@josefsson.org>
38364
38365         * modules/netdb, modules/netdb-tests: New file.
38366         * m4/netdb_h.m4: New file.
38367         * lib/netdb.in.h: Add, currently just an empty file pending
38368         definitions.
38369         * tests/test-netdb.c: New file.
38370         * doc/posix-headers/netdb.texi: Mention that we replace it if
38371         needed.
38372         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38373         netdb.
38374
38375 2008-10-15  Simon Josefsson  <simon@josefsson.org>
38376
38377         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
38378         with code.
38379
38380 2008-10-13  Bruno Haible  <bruno@clisp.org>
38381
38382         * lib/glthread/cond.c (glthread_cond_wait_func,
38383         glthread_cond_timedwait_func): Add a comment.
38384
38385 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
38386
38387         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
38388         * tests/test-select.c: Likewise,
38389
38390 2008-10-13  Bruno Haible  <bruno@clisp.org>
38391
38392         * lib/glthread/cond.c (glthread_cond_wait_func,
38393         glthread_cond_timedwait_func): Fix variable name.
38394         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38395
38396 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
38397
38398         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
38399         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
38400         struct sockaddr.sa_len.
38401         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
38402
38403 2008-10-13  Simon Josefsson  <simon@josefsson.org>
38404
38405         * build-aux/pmccabe2html: Add css and css_url parameters.
38406
38407 2008-10-12  Bruno Haible  <bruno@clisp.org>
38408
38409         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
38410         calling aclx_get.
38411         Reported by Rainer Tammer <tammer@tammer.net>.
38412
38413 2008-10-12  Bruno Haible  <bruno@clisp.org>
38414
38415         Use msvcrt aware primitives for creation/termination of Win32 threads.
38416         * lib/glthread/thread.c: Include <process.h>.
38417         (glthread_create_func): Use _beginthreadex instead of CreateThread.
38418         (wrapper_func): Update signature.
38419         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
38420
38421 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
38422             Bruno Haible  <bruno@clisp.org>
38423
38424         Provide a Win32 implementation of the 'cond' module.
38425         * lib/glthread/cond.h [USE_WIN32]: New implementation.
38426         * lib/glthread/cond.c (glthread_cond_init_func,
38427         glthread_cond_wait_func, glthread_cond_timedwait_func,
38428         glthread_cond_signal_func, glthread_cond_broadcast_func,
38429         glthread_cond_destroy_func) [USE_WIN32]: New functions.
38430         * modules/cond (Dependencies): Add gettimeofday.
38431
38432 2008-10-11  Bruno Haible  <bruno@clisp.org>
38433
38434         Make sleep work on older versions of mingw.
38435         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
38436         only whether it exists.
38437         * doc/posix-functions/sleep.texi: Mention the problem with older
38438         versions of mingw.
38439
38440 2008-10-11  Bruno Haible  <bruno@clisp.org>
38441
38442         New module 'shutdown'.
38443         * modules/shutdown: New file.
38444         * lib/sys_socket.in.h (shutdown): New declaration.
38445         * lib/winsock.c (shutdown): New function.
38446         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38447         GNULIB_SHUTDOWN.
38448         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
38449         * doc/posix-functions/shutdown.texi: Document the new module.
38450
38451 2008-10-11  Jim Meyering  <meyering@redhat.com>
38452
38453         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
38454
38455 2008-10-11  Bruno Haible  <bruno@clisp.org>
38456
38457         New module 'fclose'.
38458         * modules/fclose: New file.
38459         * lib/stdio.in.h (fclose): New declaration.
38460         * lib/fclose.c: New file.
38461         * m4/fclose.m4: New file.
38462         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
38463         REPLACE_FCLOSE.
38464         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
38465         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
38466         REPLACE_FCLOSE.
38467         * modules/close (Depends-on): fclose.
38468         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
38469
38470 2008-10-11  Bruno Haible  <bruno@clisp.org>
38471
38472         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
38473         set errno and don't call _close.
38474
38475 2008-10-10  Bruno Haible  <bruno@clisp.org>
38476
38477         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
38478         ACL, not afterwards. Fixes test failure on Cygwin.
38479
38480 2008-10-09  Ben Pfaff  <blp@gnu.org>
38481
38482         * build-aux/announce-gen: Fix gnulib version related part of usage
38483         message.  Die with a useful error message if no tarballs are
38484         found.
38485
38486 2008-10-10  Jim Meyering  <meyering@redhat.com>
38487
38488         bootstrap: use git's --depth=N option only if it's supported
38489         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
38490         recognize the --depth option.  Reported by Pádraig Brady.
38491
38492 2008-10-09  Bruno Haible  <bruno@clisp.org>
38493
38494         New module 'ioctl'.
38495         * modules/ioctl: New file.
38496         * lib/sys_socket.in.h (ioctl): Remove declaration.
38497         * lib/winsock.c: Include <sys/ioctl.h>.
38498         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
38499         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
38500         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
38501         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
38502         * doc/posix-functions/ioctl.texi: Mention the new module.
38503
38504 2008-10-09  Bruno Haible  <bruno@clisp.org>
38505
38506         New module 'sys_ioctl'.
38507         * lib/sys_ioctl.in.h: New file.
38508         * m4/sys_ioctl_h.m4: New file.
38509         * modules/sys_ioctl: New file.
38510         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
38511
38512 2008-10-09  Bruno Haible  <bruno@clisp.org>
38513
38514         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
38515         * lib/winsock.c: Include <stdarg.h>.
38516         (rpl_ioctl): Change to second argument 'int' and then varargs.
38517
38518 2008-10-09  Bruno Haible  <bruno@clisp.org>
38519
38520         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
38521         when the sys_socket module is present and the system has <winsock2.h>.
38522
38523 2008-10-09  Bruno Haible  <bruno@clisp.org>
38524
38525         * doc/posix-functions/close.texi: Mention module 'close' instead of
38526         module 'sys_socket'.
38527
38528 2008-10-09  Bruno Haible  <bruno@clisp.org>
38529
38530         * doc/glibc-headers/sys_ioctl.texi: New file.
38531         * doc/gnulib.texi: Include it.
38532
38533 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38534             Bruno Haible  <bruno@clisp.org>
38535
38536         Combine the two replacements of 'close'.
38537         * lib/sys_socket.in.h (close): Define to a reminder to include
38538         <unistd.h>.
38539         (_gl_close_fd_maybe_socket): New declaration.
38540         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
38541         * lib/winsock.c (close): Remove undefinition.
38542         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
38543         needed for the gnulib module 'close'.
38544         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
38545         define to an error symbol or to a warning, if suitable.
38546         * lib/close.c: Include <sys/socket.h>.
38547         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
38548         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
38549         UNISTD_H_HAVE_WINSOCK2_H.
38550         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
38551         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38552         UNISTD_H_HAVE_WINSOCK2_H.
38553         * modules/sys_socket (Files): Add m4/unistd_h.m4.
38554         (configure.ac): Set a module indicator.
38555         (Makefile.am): Substitute GNULIB_CLOSE.
38556         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
38557         * modules/poll-tests (Depends-on): Add close.
38558         * modules/select-tests (Depends-on): Likewise.
38559
38560 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38561             Bruno Haible  <bruno@clisp.org>
38562
38563         New module 'close'.
38564         * modules/close: New file.
38565         * lib/unistd.in.h (close): Move declaration out of the
38566         FCHDIR_REPLACEMENT scope.
38567         (_gl_unregister_fd): New declaration.
38568         * lib/close.c: New file.
38569         * lib/fchdir.c (rpl_close): Remove function.
38570         * m4/close.m4: New file.
38571         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38572         close.
38573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
38574         REPLACE_CLOSE.
38575         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
38576         REPLACE_CLOSE.
38577         * modules/fchdir (Depends-on): Add close.
38578
38579 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38580             Bruno Haible  <bruno@clisp.org>
38581
38582         * lib/fcntl.in.h (open): Simplify conditionals.
38583         (_gl_register_fd): New declaration.
38584         * lib/fchdir.c (rpl_open): Remove function.
38585         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
38586         also.
38587         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
38588         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38589         open.
38590
38591 2008-10-09  Jim Meyering  <meyering@redhat.com>
38592
38593         GNUmakefile: use the more name-space-friendly "_version"
38594         * top/GNUmakefile (_dummy): Update.
38595         (_version): Rename from "version".
38596
38597 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38598             Bruno Haible  <bruno@clisp.org>
38599
38600         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
38601         rpl_close.
38602         (_gl_register_fd): New function, extracted from rpl_open.
38603         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
38604         (rpl_open, rpl_opendir): Use _gl_register_fd.
38605
38606 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38607
38608         Fix organization of 'open' replacement.
38609         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
38610         (gl_FUNC_OPEN): Use it.
38611         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
38612
38613 2008-10-08  Bruno Haible  <bruno@clisp.org>
38614
38615         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
38616
38617 2008-10-08  Simon Josefsson  <simon@josefsson.org>
38618
38619         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
38620         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
38621         listen).
38622
38623 2008-10-08  Eric Blake  <ebb9@byu.net>
38624
38625         GNUmakefile: add 'make version' target
38626         * top/GNUmakefile (_curr-ver): Split version update rules...
38627         (version): ...into a target.
38628
38629 2008-10-07  Bruno Haible  <bruno@clisp.org>
38630
38631         Use a more portable replacement expression for -0.0L.
38632         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
38633         instead of -0.0L. Fix m4 quotation.
38634
38635         * tests/test-signbit.c: Include <float.h>.
38636         (minus_zero): New variable.
38637         (test_signbitl): Use minus_zero instead of -zero.
38638         * modules/signbit-tests (Depends-on): Add float.
38639
38640         * tests/test-ceill.c: Include <float.h>.
38641         (zero): Remove variable.
38642         (minus_zero): New variable.
38643         (main): Use minus_zero instead of -zero.
38644         * modules/ceill-tests (Depends-on): Add float.
38645
38646         * tests/test-floorl.c: Include <float.h>.
38647         (zero): Remove variable.
38648         (minus_zero): New variable.
38649         (main): Use minus_zero instead of -zero.
38650         * modules/floorl-tests (Depends-on): Add float.
38651
38652         * tests/test-roundl.c: Include <float.h>.
38653         (zero): Remove variable.
38654         (minus_zero): New variable.
38655         (main): Use minus_zero instead of -zero.
38656         * modules/roundl-tests (Depends-on): Add float.
38657
38658         * tests/test-truncl.c: Include <float.h>.
38659         (zero): Remove variable.
38660         (minus_zero): New variable.
38661         (main): Use minus_zero instead of -zero.
38662         * modules/truncl-tests (Depends-on): Add float.
38663
38664         * tests/test-frexpl.c (zero): Remove variable.
38665         (minus_zero): New variable.
38666         (main): Use minus_zero instead of -zero.
38667         * modules/frexpl-tests (Depends-on): Add float.
38668
38669         * tests/test-isnan.c (zerol): Remove variable.
38670         (minus_zerol): New variable.
38671         (test_long_double): Use minus_zerol instead of -zerol.
38672         * modules/isnan-tests (Depends-on): Add float.
38673
38674         * tests/test-isnanl.h (zero): Remove variable.
38675         (minus_zero): New variable.
38676         (main): Use minus_zero instead of -zero.
38677         * modules/isnanl-nolibm-tests (Depends-on): Add float.
38678         * modules/isnanl-tests (Depends-on): Add float.
38679
38680         * tests/test-ldexpl.c (zero): Remove variable.
38681         (minus_zero): New variable.
38682         (main): Use minus_zero instead of -zero.
38683         * modules/ldexpl-tests (Depends-on): Add float.
38684
38685         * tests/test-snprintf-posix.h (zerol): Remove variable.
38686         (minus_zerol): New variable.
38687         (test_function): Use minus_zerol instead of -zerol.
38688         * modules/snprintf-posix-tests (Depends-on): Add float.
38689         * modules/vsnprintf-posix-tests (Depends-on): Add float.
38690
38691         * tests/test-sprintf-posix.h (zerol): Remove variable.
38692         (minus_zerol): New variable.
38693         (test_function): Use minus_zerol instead of -zerol.
38694         * modules/sprintf-posix-tests (Depends-on): Add float.
38695         * modules/vsprintf-posix-tests (Depends-on): Add float.
38696
38697         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
38698         (minus_zerol): New variable.
38699         (test_function): Use minus_zerol instead of -zerol.
38700         * modules/vasnprintf-posix-tests (Depends-on): Add float.
38701
38702         * tests/test-vasprintf-posix.c (zerol): Remove variable.
38703         (minus_zerol): New variable.
38704         (test_function): Use minus_zerol instead of -zerol.
38705         * modules/vasprintf-posix-tests (Depends-on): Add float.
38706
38707 2008-10-07  Simon Josefsson  <simon@josefsson.org>
38708
38709         * MODULES.html.sh (Support for building documentation): Mention
38710         pmccabe2html.  Sort entries.
38711
38712         Add pmccabe2html module, from gnupdf.
38713         * build-aux/pmccabe.css: New file.
38714         * build-aux/pmccabe2html: New file.
38715         * m4/pmccabe2html.m4: New file.
38716         * modules/pmccabe2html: New file.
38717
38718 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
38719
38720         flock: new module
38721         * MODULES.html.sh: Add to list of modules.
38722         * lib/flock.c: flock implementation for Windows and Unix systems
38723         which have fcntl.
38724         * doc/glibc-functions/flock.texi: Update documentation.
38725         * lib/sys_file.in.h: <sys/file.h> header file.
38726         * m4/flock.m4: M4 macros.
38727         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
38728         * modules/flock: flock module.
38729         * modules/flock-tests: flock tests module.
38730         * modules/sys_file: sys/file.h module.
38731         * tests/test-flock.c: test suite for flock.
38732
38733 2008-10-06  Jim Meyering  <meyering@redhat.com>
38734
38735         bootstrap: check for LT_INIT more portably still ;-)
38736         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
38737         Spotted by Bruno Haible.
38738
38739 2008-10-06  Eric Blake  <ebb9@byu.net>
38740
38741         test-signbit: avoid tripping Irix cc bug on -0.0L
38742         * tests/test-signbit.c (minus_zerol): Delete, and replace with
38743         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
38744         entire testsuite consistent and avoids an Irix 6.2 bug.
38745
38746 2008-10-05  Bruno Haible  <bruno@clisp.org>
38747             Jim Meyering  <jim@meyering.net>
38748
38749         Add an option for ignoring EPIPE during close_stdout.
38750         * lib/closeout.h: Include <stdbool.h>.
38751         (close_stdout_set_ignore_EPIPE): New declaration.
38752         * lib/closeout.c: Include <stdbool.h>.
38753         (ignore_EPIPE): New variable.
38754         (close_stdout_set_ignore_EPIPE): New function.
38755         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
38756         * lib/close-stream.c (close_stream): Mention the possible EPIPE
38757         failure.
38758         * modules/closeout (Depends-on): Add stdbool.
38759
38760 2008-10-05  Bruno Haible  <bruno@clisp.org>
38761
38762         * modules/accept: New file.
38763         * modules/bind: New file.
38764         * modules/connect: New file.
38765         * modules/getpeername: New file.
38766         * modules/getsockname: New file.
38767         * modules/getsockopt: New file.
38768         * modules/listen: New file.
38769         * modules/recv: New file.
38770         * modules/recvfrom: New file.
38771         * modules/send: New file.
38772         * modules/sendto: New file.
38773         * modules/setsockopt: New file.
38774         * modules/socket: New file.
38775         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
38776         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
38777         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
38778         the particular module is requested. Add a link warning when the
38779         particular module is not requested.
38780         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
38781         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
38782         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
38783         the particular module is requested.
38784         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
38785         gl_SYS_SOCKET_H_DEFAULTS): New macros.
38786         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
38787         * modules/sys_socket (Depends-on): Add link-warning.
38788         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
38789         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
38790         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
38791         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
38792         GL_LINK_WARNING.
38793         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
38794         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
38795         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
38796         * doc/posix-functions/getpeername.texi: Mention the new module
38797         'getpeername'.
38798         * doc/posix-functions/getsockname.texi: Mention the new module
38799         'getsockname'.
38800         * doc/posix-functions/getsockopt.texi: Mention the new module
38801         'getsockopt'.
38802         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
38803         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
38804         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
38805         * doc/posix-functions/send.texi: Mention the new module 'send'.
38806         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
38807         * doc/posix-functions/setsockopt.texi: Mention the new module
38808         'setsockopt'.
38809         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
38810         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
38811         listen, connect, accept.
38812         * modules/select-tests (Depends-on): Likewise.
38813
38814 2008-10-05  Bruno Haible  <bruno@clisp.org>
38815
38816         * lib/winsock.c (strerror): Remove unused #undef.
38817         (rpl_close): Remove unused local variable.
38818
38819         * modules/sys_socket (Depends-on); Add errno.
38820
38821 2008-10-05  Bruno Haible  <bruno@clisp.org>
38822
38823         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
38824         (select): Add a link warning when the 'select' module is not used.
38825         * modules/sys_select (Depends-on): Add link-warning.
38826         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
38827         Suggested by Paolo Bonzini.
38828
38829 2008-10-05  Jim Meyering  <meyering@redhat.com>
38830
38831         bootstrap: check for LT_INIT more portably
38832         * build-aux/bootstrap: Avoid using grep -E, since it's not
38833         portable enough.  Suggestion from Bruno Haible.
38834
38835 2008-10-05  Bruno Haible  <bruno@clisp.org>
38836
38837         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
38838         as being fixed by gnulib.
38839
38840 2008-10-05  Bruno Haible  <bruno@clisp.org>
38841
38842         * modules/select-tests: New file, mostly copied from
38843         modules/sys_select-tests.
38844         * tests/test-select.c: New file, mostly copied from
38845         tests/test-sys_select.c.
38846         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
38847         * modules/sys_select-tests (Depends-on): Remove all dependencies.
38848         (Makefile.am): Remove test_sys_select_LDADD.
38849
38850         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
38851         to an undefined symbol, for an error message.
38852         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
38853         (gl_SYS_SELECT_H_DEFAULTS): New macro.
38854         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
38855         winsock-select.c here.
38856         * modules/sys_select (Files): Remove lib/winsock-select.c.
38857         (Depends-on): Remove alloca.
38858         (Makefile.am): Substitute GNULIB_SELECT.
38859         * modules/select: New file.
38860         * doc/posix-functions/select.texi: Update.
38861
38862 2008-10-05  Bruno Haible  <bruno@clisp.org>
38863
38864         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
38865         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
38866         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
38867         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
38868         getdtablesize.
38869         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
38870         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
38871
38872 2008-10-05  Bruno Haible  <bruno@clisp.org>
38873
38874         * modules/getdtablesize-tests: New file.
38875         * tests/test-getdtablesize.c: New file.
38876
38877         New module 'getdtablesize'.
38878         * lib/unistd.in.h (getdtablesize): New declaration.
38879         * lib/getdtablesize.c: New file.
38880         * m4/getdtablesize.m4: New file.
38881         * modules/getdtablesize: New file.
38882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38883         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
38884         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
38885         HAVE_GETDTABLESIZE.
38886         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
38887
38888 2008-10-05  Bruno Haible  <bruno@clisp.org>
38889
38890         * modules/sched (Makefile.am): Fix typo.
38891         Reported by Simon Josefsson.
38892
38893 2008-10-05  Jim Meyering  <meyering@redhat.com>
38894
38895         bootstrap: check for LT_INIT, too
38896         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
38897         are deprecated.  Suggestion from Ralf Wildenhues.
38898
38899 2008-10-05  Bruno Haible  <bruno@clisp.org>
38900
38901         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
38902         overriding them by ours.
38903         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
38904
38905 2008-10-05  Jim Meyering  <meyering@redhat.com>
38906
38907         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
38908         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
38909         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
38910
38911 2008-10-04  Bruno Haible  <bruno@clisp.org>
38912
38913         * modules/dup2 (License): Change to LGPLv2+.
38914         * modules/sleep (License): Likewise.
38915         * modules/perror (License): Likewise.
38916         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
38917         Blake.
38918         * modules/signal (License): Likewise.
38919         * modules/sigprocmask (License): Likewise.
38920         * modules/raise (License): Change to LGPLv2+, with approval by Jim
38921         Meyering.
38922
38923 2008-10-04  Bruno Haible  <bruno@clisp.org>
38924
38925         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
38926         Reported by Rainer Tammer <tammer@tammer.net>.
38927
38928 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
38929             Bruno Haible  <bruno@clisp.org>
38930
38931         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
38932         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
38933         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
38934
38935 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
38936
38937         filevercmp: new module
38938         * lib/filevercmp.h: New function filevercmp comparing version strings.
38939         * lib/filevercmp.c: Implementation of filevercmp function.
38940         * modules/filevercmp: Module metadata.
38941         * tests/test-filevercmp.c: Unit test for new module.
38942         * modules/filevercmp-tests: Unit test metadata.
38943         * MODULES.html.sh: Add filevercmp module.
38944
38945 2008-10-03  Bruno Haible  <bruno@clisp.org>
38946
38947         * lib/c-ctype.h: Add comment.
38948         Reported by Jim Meyering.
38949
38950 2008-10-02  Bruno Haible  <bruno@clisp.org>
38951
38952         * modules/posix_spawn-internal (Depends-on): Add 'open'.
38953
38954 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38955
38956         * build-aux/bootstrap: Allow renaming bootstrap, and change the
38957         name of bootstrap.conf accordingly.
38958
38959 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38960
38961         * build-aux/bootstrap: Install git-merge-changelog configuration
38962         items into .gitconfig if needed.
38963
38964 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38965
38966         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
38967         git repository, and initialize/update it accordingly.
38968
38969 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
38970
38971         * modules/fsync-tests: New file.
38972         * tests/test-fsync.c: New file.
38973
38974         New module 'fsync'.
38975         * lib/fsync.c: New file.
38976         * m4/fsync.m4: New file.
38977         * modules/fsync: New file.
38978         * lib/unistd.in.h (fsync): New declaration.
38979         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
38980         GNULIB_FSYNC and HAVE_FSYNC.
38981         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
38982         * MODULES.html.sh (posix_functions): Add fsync.
38983         * doc/posix-functions/fsync.texi: Mention the new module.
38984
38985 2008-10-02  Jim Meyering  <meyering@redhat.com>
38986
38987         fts.c: sync with similar code from coreutils' remove.c
38988         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
38989         Guard also with "#if defined __linux__", since for now at least,
38990         this code is Linux-kernel-specific.
38991
38992 2008-10-02  Jim Meyering  <meyering@redhat.com>
38993
38994         fts: bug fixes
38995         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
38996         Include <sys/vfs.h>, not <sys/statfs.h>.
38997
38998         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
38999         Include <sys/vfs.h>, not <sys/statfs.h>.
39000
39001 2008-10-01  Bruno Haible  <bruno@clisp.org>
39002
39003         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
39004         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
39005         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
39006         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
39007         * doc/posix-functions/posix_spawnp.texi: Likewise.
39008         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
39009         whether posix_spawn actually works.
39010         * m4/pipe.m4 (gl_PIPE): Likewise.
39011         * modules/execute (Files): Add m4/posix_spawn.m4.
39012         * modules/pipe (Files): Add m4/posix_spawn.m4.
39013         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
39014
39015 2008-10-01  Jim Meyering  <meyering@redhat.com>
39016
39017         remove trailing spaces
39018         * NEWS: Likewise.
39019         * lib/poll.c (poll): Likewise.
39020         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
39021         * lib/winsock.c (rpl_close): Likewise.
39022         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
39023         * modules/yield: Likewise.
39024         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
39025         * tests/test-sys_select.c (connect_to_socket): Likewise.
39026
39027         fts.c: adjust a new interface to be more generally useful
39028         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
39029         (fts_build): Adjust caller.
39030
39031 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39032
39033         * modules/cond-tests: New file.
39034         * tests/test-cond.c: New file.
39035
39036 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39037             Bruno Haible  <bruno@clisp.org>
39038
39039         * modules/cond (Dependencies): Add errno, time.
39040         * lib/glthread/cond.h: Include <time.h>.
39041         (gl_cond_define, gl_cond_define_initialized): Use the same definition
39042         across platforms.
39043
39044 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39045             Bruno Haible  <bruno@clisp.org>
39046
39047         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
39048
39049 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39050             Bruno Haible  <bruno@clisp.org>
39051
39052         * modules/tls-tests (Depends-on): Add thread, yield.
39053         (configure.ac): Remove all checks.
39054         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
39055         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
39056         gl_thread_self): Remove definitions. Include glthread/thread.h and
39057         glthread/yield.h instead.
39058         (test_tls): Pass an additional NULL argument to gl_thread_join.
39059
39060 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39061             Bruno Haible  <bruno@clisp.org>
39062
39063         * modules/lock-tests (Depends-on): Add thread, yield.
39064         (configure.ac): Remove all checks.
39065         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
39066         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
39067         gl_thread_self): Remove definitions. Include glthread/thread.h and
39068         glthread/yield.h instead.
39069         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
39070         additional NULL argument to gl_thread_join.
39071
39072 2008-09-30  Bruno Haible  <bruno@clisp.org>
39073
39074         Fix the Win32 implementation of the 'thread' module.
39075         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
39076         pointer type.
39077         (gl_thread_self): Invoke gl_thread_self_func.
39078         (gl_thread_self_func): New declaration.
39079         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
39080         (do_init_self_key, init_self_key): New functions.
39081         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
39082         Remove some fields.
39083         (running_threads, running_lock): Remove variables.
39084         (get_current_thread_handle): New function.
39085         (gl_thread_self_func, wrapper_func, glthread_create_func,
39086         glthread_join_func, gl_thread_exit_func): Largely rewritten and
39087         simplified.
39088
39089 2008-09-30  Bruno Haible  <bruno@clisp.org>
39090
39091         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
39092         files.
39093
39094 2008-09-30  Jim Meyering  <meyering@redhat.com>
39095
39096         fts.m4: correct the test for statfs.f_type
39097         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
39098         when checking for statfs.f_type.
39099
39100 2008-09-15  Simon Josefsson  <simon@josefsson.org>
39101
39102         tests: avoid some compiler warnings
39103         * tests/test-memchr.c (main): Pass NULL indirectly.
39104         * tests/test-getdate.c (main): Remove unused variable 'ret'.
39105
39106 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
39107
39108         getdate.y: disallow countable dayshifts like "4 yesterday ago"
39109         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
39110         exactly specified dayshifts.
39111         (dayshift): New rule.
39112         (rel): Add dayshift.
39113         (relative_time_table) [tomorrow, yesterday, today, now]:
39114         Use tDAY_SHIFT in place of tDAY_UNIT.
39115         * tests/test-getdate.c: Add tests for now-disallowed countable
39116         dayshifts, e.g., "4 yesterday ago".
39117
39118 2008-09-29  Bruno Haible  <bruno@clisp.org>
39119
39120         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
39121         * tests/test-posix_spawn1.in.sh: Renamed from
39122         tests/test-posix_spawn.in.sh.
39123         * tests/test-posix_spawn2.c: New file.
39124         * tests/test-posix_spawn2.in.sh: New file.
39125         * modules/posix_spawnp-tests (Files): Update.
39126         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
39127
39128 2008-09-29  Bruno Haible  <bruno@clisp.org>
39129
39130         Propagate effects of putenv/setenv/unsetenv to child processes.
39131         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
39132         * lib/pipe.c (create_pipe): Likewise.
39133
39134 2008-09-29  Bruno Haible  <bruno@clisp.org>
39135
39136         Enable use of shell scripts as executables in mingw.
39137         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
39138         run the program as a shell script.
39139         * lib/pipe.c (create_pipe): Likewise.
39140         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
39141         resulting array.
39142
39143 2008-09-29  Eric Blake  <ebb9@byu.net>
39144
39145         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
39146
39147 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
39148
39149         * doc/posix-functions/accept.texi: Update mingw problems.
39150         * doc/posix-functions/bind.texi: Update mingw problems.
39151         * doc/posix-functions/close.texi: Update mingw problems.
39152         * doc/posix-functions/connect.texi: Update mingw problems.
39153         * doc/posix-functions/getpeername.texi: Update mingw problems.
39154         * doc/posix-functions/getsockname.texi: Update mingw problems.
39155         * doc/posix-functions/getsockopt.texi: Update mingw problems.
39156         * doc/posix-functions/ioctl.texi: Update mingw problems.
39157         * doc/posix-functions/listen.texi: Update mingw problems.
39158         * doc/posix-functions/recv.texi: Update mingw problems.
39159         * doc/posix-functions/recvfrom.texi: Update mingw problems.
39160         * doc/posix-functions/select.texi: Update mingw problems.
39161         * doc/posix-functions/send.texi: Update mingw problems.
39162         * doc/posix-functions/sendto.texi: Update mingw problems.
39163         * doc/posix-functions/setsockopt.texi: Update mingw problems.
39164         * doc/posix-functions/socket.texi: Update mingw problems.
39165
39166 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
39167             Bruno Haible  <bruno@clisp.org>
39168
39169         * lib/sys_select.in.h: Include sys/time.h.
39170         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
39171         * modules/sys_select: Depend on sys_time.
39172         * tests/test-sys_select.c: Test that sys/select.h defines struct
39173         timeval fully.
39174
39175 2008-09-29  Bruno Haible  <bruno@clisp.org>
39176
39177         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
39178         * lib/sys_select.in.h: Likewise.
39179
39180 2008-09-29  Bruno Haible  <bruno@clisp.org>
39181
39182         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
39183
39184 2008-09-29  Bruno Haible  <bruno@clisp.org>
39185
39186         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
39187         Set LIBSOCKET instead of augmenting LIBS.
39188         * modules/sockets (Link): New section.
39189         * modules/sockets-tests (test_sockets_LDADD): New variable.
39190         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
39191         * modules/poll-tests (test_poll_LDADD): New variable.
39192         * NEWS: Document the change.
39193
39194 2008-09-29  Bruno Haible  <bruno@clisp.org>
39195
39196         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
39197         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
39198         ARPA_INET_H directly.
39199         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39200
39201 2008-09-28  Bruno Haible  <bruno@clisp.org>
39202
39203         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
39204         from gl_HEADER_SYS_SOCKET.
39205         (gl_HEADER_SYS_SOCKET): Invoke it.
39206         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39207
39208 2008-09-28  Bruno Haible  <bruno@clisp.org>
39209
39210         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
39211         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
39212         Needed on OSF/1 4.0.
39213
39214 2008-09-28  Bruno Haible  <bruno@clisp.org>
39215
39216         Override open more carefully.
39217         * lib/open.c (orig_open): New function.
39218         (rpl_open): Use orig_open instead of open.
39219         * lib/fcntl.in.h: Add special invocation convention.
39220         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
39221         (gl_FUNC_OPEN): Invoke it.
39222
39223         Override freopen more carefully.
39224         * lib/freopen.c (orig_freopen): New function.
39225         (rpl_freopen): Use orig_freopen instead of freopen.
39226         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
39227         (gl_FUNC_FREOPEN): Invoke it.
39228
39229         Override fopen more carefully.
39230         * lib/fopen.c (orig_fopen): New function.
39231         (rpl_fopen): Use orig_fopen instead of fopen.
39232         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
39233         (gl_FUNC_FOPEN): Invoke it.
39234         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
39235
39236 2008-09-28  Bruno Haible  <bruno@clisp.org>
39237
39238         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
39239         SIGPIPE.
39240
39241 2008-09-28  Bruno Haible  <bruno@clisp.org>
39242
39243         * tests/test-sigaction.c (handler, main): Disable the check whether
39244         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
39245         glibc systems with LinuxThreads.
39246
39247 2008-09-28  Bruno Haible  <bruno@clisp.org>
39248
39249         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
39250
39251         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
39252         with AIX xlc.
39253         * lib/fcntl.in.h (open): Likewise.
39254         Reported by Rainer Tammer <tammer@tammer.net>.
39255
39256 2008-09-28  Bruno Haible  <bruno@clisp.org>
39257
39258         * modules/posix_spawnp-tests: New file.
39259         * tests/test-posix_spawn.c: New file.
39260         * tests/test-posix_spawn.in.sh: New file.
39261
39262         New module 'posix_spawnp'.
39263         * modules/posix_spawnp: New file.
39264         * lib/spawnp.c: New file, from GNU libc with modifications.
39265         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
39266
39267         New module 'posix_spawn'.
39268         * modules/posix_spawn: New file.
39269         * lib/spawn.c: New file, from GNU libc with modifications.
39270         * doc/posix-functions/posix_spawn.texi: Mention the new module.
39271
39272         New module 'posix_spawnattr_destroy'.
39273         * modules/posix_spawnattr_destroy: New file.
39274         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
39275         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
39276         module.
39277
39278         New module 'posix_spawnattr_setsigmask'.
39279         * modules/posix_spawnattr_setsigmask: New file.
39280         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
39281         modifications.
39282         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
39283         new module.
39284
39285         New module 'posix_spawnattr_getsigmask'.
39286         * modules/posix_spawnattr_getsigmask: New file.
39287         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
39288         modifications.
39289         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
39290         new module.
39291
39292         New module 'posix_spawnattr_setsigdefault'.
39293         * modules/posix_spawnattr_setsigdefault: New file.
39294         * lib/spawnattr_setdefault.c: New file, from GNU libc with
39295         modifications.
39296         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
39297         new module.
39298
39299         New module 'posix_spawnattr_getsigdefault'.
39300         * modules/posix_spawnattr_getsigdefault: New file.
39301         * lib/spawnattr_getdefault.c: New file, from GNU libc with
39302         modifications.
39303         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
39304         new module.
39305
39306         New module 'posix_spawnattr_setschedpolicy'.
39307         * modules/posix_spawnattr_setschedpolicy: New file.
39308         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
39309         modifications.
39310         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
39311         new module.
39312
39313         New module 'posix_spawnattr_getschedpolicy'.
39314         * modules/posix_spawnattr_getschedpolicy: New file.
39315         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
39316         modifications.
39317         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
39318         new module.
39319
39320         New module 'posix_spawnattr_setschedparam'.
39321         * modules/posix_spawnattr_setschedparam: New file.
39322         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
39323         modifications.
39324         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
39325         new module.
39326
39327         New module 'posix_spawnattr_getschedparam'.
39328         * modules/posix_spawnattr_getschedparam: New file.
39329         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
39330         modifications.
39331         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
39332         new module.
39333
39334         New module 'posix_spawnattr_setpgroup'.
39335         * modules/posix_spawnattr_setpgroup: New file.
39336         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
39337         modifications.
39338         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
39339         module.
39340
39341         New module 'posix_spawnattr_getpgroup'.
39342         * modules/posix_spawnattr_getpgroup: New file.
39343         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
39344         modifications.
39345         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
39346         module.
39347
39348         New module 'posix_spawnattr_setflags'.
39349         * modules/posix_spawnattr_setflags: New file.
39350         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
39351         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
39352         module.
39353
39354         New module 'posix_spawnattr_getflags'.
39355         * modules/posix_spawnattr_getflags: New file.
39356         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
39357         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
39358         module.
39359
39360         New module 'posix_spawnattr_init'.
39361         * modules/posix_spawnattr_init: New file.
39362         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
39363         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
39364         module.
39365
39366         New module 'posix_spawn_file_actions_destroy'.
39367         * modules/posix_spawn_file_actions_destroy: New file.
39368         * lib/spawn_faction_destroy.c: New file, from GNU libc with
39369         modifications.
39370         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
39371         the new module.
39372
39373         New module 'posix_spawn_file_actions_addopen'.
39374         * modules/posix_spawn_file_actions_addopen: New file.
39375         * lib/spawn_faction_addopen.c: New file, from GNU libc with
39376         modifications.
39377         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
39378         the new module.
39379
39380         New module 'posix_spawn_file_actions_adddup2'.
39381         * modules/posix_spawn_file_actions_adddup2: New file.
39382         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
39383         modifications.
39384         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
39385         the new module.
39386
39387         New module 'posix_spawn_file_actions_addclose'.
39388         * modules/posix_spawn_file_actions_addclose: New file.
39389         * lib/spawn_faction_addclose.c: New file, from GNU libc with
39390         modifications.
39391         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
39392         the new module.
39393
39394         New module 'posix_spawn_file_actions_init'.
39395         * modules/posix_spawn_file_actions_init: New file.
39396         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
39397         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
39398         new module.
39399
39400         New module 'posix_spawn-internal'.
39401         * modules/posix_spawn-internal: New file.
39402         * lib/spawn_int.h: New file, from GNU libc with modifications.
39403         * lib/spawni.c: New file, from GNU libc with modifications.
39404         * m4/posix_spawn.m4: New file.
39405
39406         New module 'spawn'.
39407         * modules/spawn: New file.
39408         * lib/spawn.in.h: New file, from GNU libc with modifications.
39409         * m4/spawn_h.m4: New file.
39410         * doc/posix-headers/spawn.texi: Mention the new module.
39411
39412 2008-09-28  Bruno Haible  <bruno@clisp.org>
39413
39414         * modules/sched-tests: New file.
39415         * tests/test-sched.c: New file.
39416
39417         New module 'sched'.
39418         * modules/sched: New file.
39419         * lib/sched.in.h: New file.
39420         * m4/sched_h.m4: New file.
39421         * doc/posix-headers/sched.texi: Mention the new module.
39422
39423 2008-09-27  Eric Blake  <ebb9@byu.net>
39424
39425         Fix previous patch, and tweak references to $0.
39426         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
39427         (func_version, func_gnulib_dir): Don't call this program
39428         gnulib-tool.
39429         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
39430         with using $0 in function.
39431         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
39432         (func_fatal_error): Reuse the name the user invoked us with.
39433
39434 2008-09-27  Bruno Haible  <bruno@clisp.org>
39435
39436         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
39437         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
39438         (gl_ICONV_H): Not here.
39439         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
39440         instead of assigning ICONV_H directly.
39441
39442         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
39443         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
39444         WCHAR_H directly.
39445
39446 2008-09-27  Bruno Haible  <bruno@clisp.org>
39447
39448         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
39449         * modules/arpa_inet (Depends-on): Add link-warning.
39450         (Makefile.am): Insert the definition of GL_LINK-WARNING.
39451         * modules/unistd (Makefile.am): Likewise.
39452
39453 2008-09-26  Bruno Haible  <bruno@clisp.org>
39454
39455         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
39456         variables.
39457         (func_version): Essentially copied from gnulib-tool.
39458         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
39459         func_readlink): Copied from gnulib-tool.
39460
39461 2008-09-26  Bruno Haible  <bruno@clisp.org>
39462
39463         * gnulib-tool (func_version): Change directory to $gnulib_dir before
39464         invoking git-version-gen.
39465
39466 2008-09-26  Bruno Haible  <bruno@clisp.org>
39467
39468         * posix-modules: Update to directory names changed on 2008-01-19.
39469         Remove commas in output before splitting into words. No more need to
39470         avoid 'ftruncate' since 2007-02-19.
39471
39472 2008-09-26  Bruno Haible  <bruno@clisp.org>
39473
39474         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
39475
39476 2008-09-26  Bruno Haible  <bruno@clisp.org>
39477
39478         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
39479         * modules/fwriteerror (Depends-on): Add errno.
39480
39481 2008-09-26  Bruno Haible  <bruno@clisp.org>
39482
39483         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
39484         * tests/test-vc-list-files-cvs.sh: Likewise.
39485
39486 2008-09-26  Bruno Haible  <bruno@clisp.org>
39487
39488         * doc/posix-headers/sys_resource.texi: Reorder items.
39489
39490 2008-09-26  Jim Meyering  <meyering@redhat.com>
39491
39492         fts: tweak inode comparison function
39493         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
39494         inode numbers, as documented.
39495
39496         fts: sort dirent entries on inode number before traversing
39497         This avoids a quadratic, seek-related performance penalty when
39498         operating on a directory containing many entries (measurable at 10k;
39499         3.5 hours at 2 million entries with a cold cache) on certain types
39500         of file systems, including ext3 and ext4, but not tmpfs.
39501         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
39502         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
39503         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
39504         (fs_handles_readdir_ordered_dirents_efficiently): New function.
39505         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
39506         (fts_build): Set the stat.st_ino member from D_INO.
39507         If it is likely to be useful, sort dirent entries on inode number.
39508
39509         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
39510         and the struct statfs.f_type member.
39511         * modules/fts (Depends-on): Add d-ino.
39512
39513 2008-09-26  Bruno Haible  <bruno@clisp.org>
39514
39515         * modules/sigpipe-die (Depends-on): Add sigpipe.
39516
39517         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
39518         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
39519         and GNULIB_STDIO_H_SIGPIPE are set.
39520         * lib/stdio-write.c: New file.
39521         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
39522         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39523         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39524         REPLACE_STDIO_WRITE_FUNCS.
39525         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
39526         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39527         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39528         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39529         * modules/stdio (Files): Add lib/stdio-write.c.
39530         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
39531         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39532         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39533         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39534         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
39535         REPLACE_FPRINTF_POSIX.
39536         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
39537         REPLACE_PRINTF_POSIX.
39538         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
39539         REPLACE_VFPRINTF_POSIX.
39540         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
39541         REPLACE_VPRINTF_POSIX.
39542         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
39543         SIGPIPE issue.
39544         * doc/posix-functions/fputc.texi: Likewise.
39545         * doc/posix-functions/fputs.texi: Likewise.
39546         * doc/posix-functions/fwrite.texi: Likewise.
39547         * doc/posix-functions/printf.texi: Likewise.
39548         * doc/posix-functions/putc.texi: Likewise.
39549         * doc/posix-functions/putchar.texi: Likewise.
39550         * doc/posix-functions/puts.texi: Likewise.
39551         * doc/posix-functions/vfprintf.texi: Likewise.
39552         * doc/posix-functions/vprintf.texi: Likewise.
39553
39554         * modules/safe-write (Depends-on): Add write.
39555
39556         * modules/sigpipe-tests: New file.
39557         * tests/test-sigpipe.c: New file.
39558         * tests/test-sigpipe.sh: New file.
39559
39560         * modules/write: New file.
39561         * lib/unistd.in.h: Include <sys/types.h>.
39562         (write): New declaration.
39563         * lib/write.c: New file.
39564         * m4/write.m4: New file.
39565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39566         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
39567         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
39568         GNULIB_WRITE, REPLACE_WRITE.
39569         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
39570         and the SIGPIPE issue.
39571
39572         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
39573         (raise): New declaration.
39574         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
39575         (ext_signal): New function.
39576         (rpl_raise): New function.
39577         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
39578         GNULIB_SIGNAL_H_SIGPIPE.
39579         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
39580         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
39581
39582         * modules/sigpipe: New file.
39583         * m4/sigpipe.m4: New file.
39584
39585 2008-09-25  Derek Price  <derek@ximbiot.com>
39586             Bruno Haible  <bruno@clisp.org>
39587
39588         * gnulib-tool (func_import): Report all license incompatibilities, not
39589         just the first one.
39590
39591 2008-09-25  Bruno Haible  <bruno@clisp.org>
39592
39593         * gnulib-tool (func_import): When computing the edits, consider not
39594         only the Makefile.ams that exist but also those that will be generated.
39595
39596 2008-09-25  Simon Josefsson  <simon@josefsson.org>
39597
39598         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
39599         fixes gnulib-tool --test warning about duplicate dependency.
39600
39601 2008-09-25  Bruno Haible  <bruno@clisp.org>
39602
39603         * gnulib-tool: Don't ask the user to perform edits in the generated
39604         Makefile.ams.
39605         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
39606         apply to the Makefile.am being generated.
39607         (func_emit_tests_Makefile_am): Execute edits that apply to the
39608         Makefile.am being generated.
39609         (func_import): Setup list of Makefile.am edits before emitting the
39610         Makefile.ams, not at the end.
39611         (func_create_testdir): Update.
39612         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39613
39614 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39615
39616         * gnulib-tool (func_import): Store the --tests-base option in the
39617         comment in gnulib-cache.m4.
39618
39619 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
39620
39621         * NEWS: Document increased portability that sys_select now provides.
39622
39623         * lib/sys_select.in.h: Install select wrapper.
39624         * lib/sys_socket.in.h: Use more descriptive name when there is no
39625         select wrapper.
39626         * lib/winsock-select.c: New.
39627         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
39628         Require gl_HEADER_SYS_SOCKET.
39629         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
39630         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
39631         * tests/test-sys_select.c: Add functional tests.
39632
39633 2008-09-24  Eric Blake  <ebb9@byu.net>
39634
39635         open, fopen: close fd leak in last patch
39636         * lib/open.c (rpl_open): Close fd before returning error.
39637         * lib/fopen.c (rpl_fopen): Close fd before returning error.
39638         * doc/posix-functions/open.texi (open): Document that Irix also
39639         has the bug.
39640         * doc/posix-functions/fopen.texi (fopen): Likewise.
39641         Reported by Paolo Bonzini.
39642
39643 2008-09-24  Bruno Haible  <bruno@clisp.org>
39644
39645         Ensure that a filename ending in a slash cannot be used to access a
39646         non-directory.
39647         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
39648         to check whether it's really a directory.
39649         * lib/fopen.c: Include fcntl.h, unistd.h.
39650         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
39651         and fdopen().
39652         * modules/fopen (Depends-on): Add unistd.
39653         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
39654         * tests/test-fopen.c (main): Likewise.
39655         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
39656         * doc/posix-functions/fopen.texi: Likewise.
39657         Reported by Eric Blake.
39658
39659 2008-09-23  Eric Blake  <ebb9@byu.net>
39660
39661         c-stack: avoid compiler optimizations when provoking overflow
39662         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
39663         recursion harder to optimize, to ensure a stack overflow occurs.
39664         * tests/test-c-stack.c (recurse): Likewise.
39665         Borrowed from libsigsegv.
39666
39667         c-stack: work around Irix sigaltstack bug
39668         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
39669         whether sigaltstack uses wrong end of stack_t (copied in part from
39670         libsigsegv).
39671         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
39672         Irix bug, without requiring an over-allocation.
39673         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
39674         bug.
39675
39676         fopen: document mingw bug on directories
39677         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
39678         not allowing a stream visiting a directory, even though reading
39679         from such a stream is not portable.
39680
39681 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39682
39683         * lib/poll.c: Rewrite.
39684         * modules/poll: Depend on alloca.
39685
39686 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39687
39688         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
39689         instead define prototypes for a full set of wrappers.  Ensure
39690         that Cygwin does not use the compatibility code, which is only
39691         for MinGW.
39692         * lib/winsock.c: New.
39693         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
39694         * modules/sys_socket: Add lib/winsock.c.
39695
39696         * modules/poll-tests: Add errno and perror.
39697         * tests/test-poll.c: Use ioctl, not ioctlsocket.
39698
39699 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39700
39701         * tests/test-poll.c: Downgrade minimum needed Winsock version.
39702
39703 2008-09-23  Bruno Haible  <bruno@clisp.org>
39704
39705         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
39706         * doc/glibc-functions/*: Likewise.
39707
39708 2008-09-23  Simon Josefsson  <simon@josefsson.org>
39709
39710         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
39711         success.
39712
39713 2008-09-22  Eric Blake  <ebb9@byu.net>
39714             Bruno Haible  <bruno@clisp.org>
39715
39716         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
39717         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
39718         supply %A but mishandle pseudo-NaN.
39719         Reported by Simon Josefsson.
39720
39721 2008-09-21  Bruno Haible  <bruno@clisp.org>
39722
39723         * tests/test-lock.c (main): Tweak skip message.
39724         * tests/test-tls.c (main): Likewise.
39725
39726 2008-09-21  Bruno Haible  <bruno@clisp.org>
39727
39728         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
39729         whether 'struct sigaction' has sa_sigaction here...
39730         (gl_PREREQ_SIG_HANDLER_H): ... not here.
39731         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
39732
39733 2008-09-21  Bruno Haible  <bruno@clisp.org>
39734
39735         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
39736         section.
39737         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
39738         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
39739         the new section.
39740         (Support for obsolete systems lacking POSIX:2001): New section.
39741         (String handling <string.h>): Move strdup to the new section.
39742         Suggested by Simon Josefsson and Paolo Bonzini.
39743
39744 2008-09-21  Bruno Haible  <bruno@clisp.org>
39745
39746         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
39747         exponents in %e and %g results on 'long double'. Needed for mingw's
39748         improved *printf functions.
39749         * tests/test-vasprintf-posix.c (test_function): Likewise.
39750         * tests/test-snprintf-posix.h (test_function): Likewise.
39751         * tests/test-sprintf-posix.h (test_function): Likewise.
39752         Reported by Eric Blake.
39753
39754 2008-09-21  Bruno Haible  <bruno@clisp.org>
39755
39756         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
39757         * tests/test-sprintf-posix.h (test_function): Likewise.
39758
39759 2008-09-21  Bruno Haible  <bruno@clisp.org>
39760
39761         * modules/getpass (Depends-on): Add strdup-posix.
39762
39763         New module 'strdup-posix'.
39764         * modules/strdup-posix: New file.
39765         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
39766         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
39767         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39768         REPLACE_STRDUP.
39769         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
39770         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
39771         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39772         strdup-posix.
39773
39774         * modules/strdup (Depends-on): Remove malloc-posix.
39775
39776 2008-09-20  Bruno Haible  <bruno@clisp.org>
39777
39778         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
39779         Wildenhues.
39780
39781 2008-09-20  Bruno Haible  <bruno@clisp.org>
39782
39783         Ensure that wint_t gets defined on IRIX 5.3.
39784         * lib/wchar.in.h (wint_t): Define if not defined by the system.
39785         * lib/wctype.in.h (wint_t): Likewise.
39786         (__wctype_wint_t): Remove type.
39787         (isw*): Use wint_t instead of __wctype_wint_t.
39788         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
39789         * modules/wchar (Files): Add m4/wint_t.m4.
39790         (Makefile.am): Substitute HAVE_WINT_T.
39791         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
39792         * tests/test-wctype.c: Check that wint_t is defined.
39793         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
39794         * doc/posix-headers/wctype.texi: Likewise.
39795         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39796
39797 2008-09-18  Bruno Haible  <bruno@clisp.org>
39798
39799         * gnulib-tool (func_exit): Update comment.
39800
39801 2008-09-18  Simon Josefsson  <simon@josefsson.org>
39802
39803         * modules/getaddrinfo (Depends-on): Remove strdup, this module
39804         assumes strdup exists and does not depend on strdup to return
39805         ENOMEM on out of memory conditions.
39806
39807 2008-09-18  Bruno Haible  <bruno@clisp.org>
39808
39809         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
39810         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
39811         digits for the exponent.
39812
39813 2008-09-18  Jim Meyering  <meyering@redhat.com>
39814             Bruno Haible  <bruno@clisp.org>
39815
39816         * lib/vasnprintf.c (decimal_point_char): Define also if
39817         NEED_PRINTF_INFINITE_LONG_DOUBLE.
39818
39819 2008-09-16  Bruno Haible  <bruno@clisp.org>
39820         and Eric Blake  <ebb9@byu.net>
39821
39822         vasnprintf: support Irix 5.3
39823         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
39824         that mishandle long double infinity.
39825         Reported by Tom G. Christensen.
39826
39827 2008-09-16  Bruno Haible  <bruno@clisp.org>
39828
39829         * doc/glibc-functions/scandir.texi: Mention the function is missing on
39830         Solaris 9.
39831         * doc/glibc-functions/alphasort.texi: Likewise.
39832         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
39833
39834 2008-09-16  Jim Meyering  <meyering@redhat.com>
39835
39836         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
39837         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
39838         a umask modification leak out of a subshell.  Otherwise, the
39839         opensolaris /bin/sh would be accepted and thus cause unwarranted
39840         failures in the coreutils test suite.
39841
39842 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
39843
39844         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
39845         to succeed.
39846
39847 2008-09-16  Jim Meyering  <meyering@redhat.com>
39848
39849         avoid spurious test failure when library is built without ACL support
39850         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
39851         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
39852         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
39853         * tests/test-copy-acl.sh: Likewise.
39854
39855 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39856
39857         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
39858         based on character occurrence counts.
39859
39860 2008-09-15  Eric Blake  <ebb9@byu.net>
39861
39862         tests: avoid some compiler warnings
39863         * tests/test-memchr.c (main): Pass NULL indirectly.
39864         * tests/test-closein.c (main): Avoid unused variable.
39865
39866 2008-09-15  Bruno Haible  <bruno@clisp.org>
39867
39868         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
39869         are missing on OpenBSD 4.0 individually.
39870         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39871
39872 2008-09-15  Bruno Haible  <bruno@clisp.org>
39873
39874         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
39875         * doc/posix-functions/strerror.texi: Mention also Cygwin.
39876         * doc/posix-functions/perror.texi: Likewise.
39877         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
39878         is missing.
39879         Reported by Eric Blake.
39880
39881         * lib/errno.in.h: Use replacement values >= 2000.
39882         Reported by Eric Blake.
39883
39884 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39885
39886         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
39887         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
39888         limit.
39889         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
39890         compareseq was aborted.
39891
39892 2008-09-14  Bruno Haible  <bruno@clisp.org>
39893
39894         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
39895         yvec_edit_count.
39896         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
39897         (fstrcmp_bounded): Simplify result computation accordingly.
39898
39899 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39900
39901         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
39902         (fstrcmp): Define in terms of fstrcmp_bounded.
39903         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
39904         lower_bound argument.
39905         Return quickly if the result is certainly < lower_bound.
39906         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
39907
39908 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39909
39910         * lib/diffseq.h (EARLY_ABORT): New macro.
39911         (compareseq): Change return type to bool. Return true when EARLY_ABORT
39912         evaluates to true.
39913
39914 2008-09-14  Bruno Haible  <bruno@clisp.org>
39915
39916         * modules/perror-tests: New file.
39917         * tests/test-perror.sh: New file.
39918         * tests/test-perror.c: New file.
39919
39920         New module 'perror'.
39921         * lib/stdio.in.h (perror): New declaration.
39922         * lib/perror.c: New file.
39923         * m4/perror.m4: New file.
39924         * modules/perror: New file.
39925         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
39926         * doc/posix-functions/perror.texi: Mention the perror module.
39927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
39928         REPLACE_PERROR.
39929         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
39930         REPLACE_PERROR.
39931
39932 2008-09-14  Bruno Haible  <bruno@clisp.org>
39933
39934         * modules/stdio (Makefile.am): Reorder to match the order in
39935         lib/stdio.in.h.
39936         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39937
39938 2008-09-13  Bruno Haible  <bruno@clisp.org>
39939
39940         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
39941
39942 2008-09-13  Bruno Haible  <bruno@clisp.org>
39943
39944         Extend strerror to cover the added errno values.
39945         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
39946         (rpl_strerror): Provide error messages for the added errno values and
39947         for the WSA* values.
39948         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
39949         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
39950         strerror.
39951         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
39952         * modules/strerror (Depends-on): Add errno.
39953         * doc/posix-functions/strerror.texi: Document the change.
39954         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
39955         and EOVERFLOW.
39956
39957 2008-09-13  Bruno Haible  <bruno@clisp.org>
39958
39959         * modules/EOVERFLOW: Remove file.
39960         * m4/eoverflow.m4: Remove file.
39961         * modules/EOVERFLOW-tests: Remove file.
39962         * tests/test-EOVERFLOW.c: Remove file.
39963         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
39964         * modules/ftell (Depends-on): Likewise.
39965         * modules/getdelim (Depends-on): Likewise.
39966         * modules/getugroups (Depends-on): Likewise.
39967         * modules/poll (Depends-on): Likewise.
39968         * modules/snprintf (Depends-on): Likewise.
39969         * modules/sprintf-posix (Depends-on): Likewise.
39970         * modules/vasnprintf (Depends-on): Likewise.
39971         * modules/vasprintf (Depends-on): Likewise.
39972         * modules/vfprintf-posix (Depends-on): Likewise.
39973         * modules/vsnprintf (Depends-on): Likewise.
39974         * modules/vsprintf-posix (Depends-on): Likewise.
39975         * modules/xvasprintf (Depends-on): Likewise.
39976         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39977         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
39978         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
39979         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
39980         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39981         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
39982         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
39983         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
39984         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39985         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
39986         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
39987         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
39988         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39989         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
39990         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
39991         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
39992         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39993         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
39994         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
39995         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
39996         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39997         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
39998         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
39999         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
40000         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
40001         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40002         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
40003         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
40004         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
40005         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
40006         * MODULES.html.sh: Remove EOVERFLOW.
40007         * NEWS: Mention the change.
40008
40009 2008-09-13  Bruno Haible  <bruno@clisp.org>
40010
40011         * modules/errno-tests: New file.
40012         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
40013
40014         * lib/errno.in.h: New file.
40015         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
40016         * modules/errno: New file.
40017         * doc/posix-headers/errno.texi: Update documentation.
40018         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
40019
40020 2008-09-13  Bruno Haible  <bruno@clisp.org>
40021
40022         * tests/test-poll.c: Use #if for native Windows, rather than testing
40023         __MSVCRT__.
40024
40025 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40026             Bruno Haible  <bruno@clisp.org>
40027
40028         * lib/glob.c: Don't include <pwd.h> on native Windows.
40029         (WINDOWS32): New macro.
40030         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
40031
40032 2008-09-13  Bruno Haible  <bruno@clisp.org>
40033
40034         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
40035         (ETIMEDOUT): Remove macro.
40036         (glthread_cond_timedwait_multithreaded): New declaration.
40037         (glthread_cond_timedwait): Use it.
40038         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
40039         (glthread_cond_timedwait_multithreaded): New function.
40040
40041 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40042
40043         * modules/poll-tests: Do not check for io.h.
40044         * tests/test-poll.c: Check for __MSVCRT__ instead.
40045
40046 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40047
40048         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
40049         * modules/poll-tests: Add inet_pton, stdbool, sockets.
40050         * tests/test-poll.c: Use them.  Use _pipe on Windows.
40051
40052 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40053
40054         * modules/poll-tests: New.
40055         * tests/test-poll.c: New.
40056
40057 2008-09-12  Eric Blake  <ebb9@byu.net>
40058
40059         frexp: test for NetBSD failure on -0.0
40060         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
40061         not all, bugs from NetBSD 3.0 have been fixed.
40062         * doc/posix-functions/frexp.texi (frexp): Document bug.
40063         Reported by Thomas Klausner.
40064
40065         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
40066         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
40067         literal -0.0.
40068         Reported by Jonathan C. Patschke <jp@centtech.com>.
40069
40070 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40071
40072         * lib/glthread/cond.h: Use dummy implementation also if
40073         USE_WIN32_THREADS.
40074
40075 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40076
40077         * modules/fnmatch-posix (License): Change to LGPLv2+.
40078         * modules/fnmatch-gnu (License): Likewise.
40079
40080 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40081
40082         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
40083
40084 2008-09-11  Jim Meyering  <meyering@redhat.com>
40085
40086         * users.txt: Add gtk-vnc.
40087
40088 2008-09-08  Simon Josefsson  <simon@josefsson.org>
40089
40090         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
40091         rotate amounts.
40092
40093         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
40094         required for 16-bit and 8-bit rotates.
40095         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
40096         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
40097         UINT8_MAX instead of hard-coded constants.
40098         Suggested by Paul Eggert.
40099
40100 2008-09-07  Bruno Haible  <bruno@clisp.org>
40101
40102         * tests/test-striconveh.c (main): Check behaviour when converting from
40103         UTF-7.
40104
40105         Make striconveh work better with stateful encodings.
40106         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
40107         that iconv does not increment the inptr when returning -1/EINVAL.
40108
40109 2008-09-07  Bruno Haible  <bruno@clisp.org>
40110
40111         * build-aux/config.rpath: Update according to libtool-2.2.6.
40112         * build-aux/config.libpath: Likewise.
40113
40114 2008-09-06  Bruno Haible  <bruno@clisp.org>
40115
40116         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
40117         * lib/freadptr.c (freadptr): Likewise.
40118         * lib/freadseek.c (freadptrinc): Likewise.
40119         Reported by Simon Josefsson.
40120
40121 2008-09-06  Bruno Haible  <bruno@clisp.org>
40122
40123         * modules/freadptr (License): Change to LGPLv2+.
40124         * modules/freadseek (License): Likewise.
40125         Suggested by Eric Blake.
40126
40127         * modules/memchr2 (License): Change to LGPLv2+.
40128         Approved by Eric Blake.
40129
40130 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40131             Bruno Haible  <bruno@clisp.org>
40132
40133         Make gnulib-tool work with native 'sed' on AIX.
40134         * gnulib-tool (sed_noop): New variable.
40135         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
40136         func_add_or_update, func_create_testdir): Use it to initialize sed
40137         script variables.
40138         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40139
40140 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
40141             Bruno Haible  <bruno@clisp.org>
40142
40143         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
40144         also works after #include directives.
40145
40146 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
40147
40148         getdate.y: reject an out-of-range timezone value
40149         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
40150         the range [-24...+24].  When specified with only one or two digits,
40151         * tests/test-getdate.c: Tests for the fix.
40152         * doc/getdate.texi: Document this change.
40153
40154 2008-09-03  Bruno Haible  <bruno@clisp.org>
40155
40156         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
40157
40158 2008-09-02  Simon Josefsson  <simon@josefsson.org>
40159
40160         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
40161         <bruce.korb@gmail.com> with ideas from Ben Pfaff
40162         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
40163         Blake <ebb9@byu.net>.
40164
40165         * tests/test-bitrotate.c: Add more test vectors.
40166
40167 2008-09-02  Eric Blake  <ebb9@byu.net>
40168
40169         vasnprintf-posix: handle large precision via %.*d
40170         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
40171         when handling it ourselves.
40172         * tests/test-vasnprintf-posix.c (test_function): Add test.
40173         * tests/test-snprintf-posix.h (test_function): Likewise.
40174         * tests/test-sprintf-posix.h (test_function): Likewise.
40175         * tests/test-vasprintf-posix.c (test_function): Likewise.
40176         Reported by Alain Guibert.
40177
40178 2008-09-01  Eric Blake  <ebb9@byu.net>
40179
40180         c-stack: make configure-time check more robust
40181         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
40182         successful sigaction call.
40183         Reported by Tom G. Christensen.
40184
40185 2008-09-01  Bruno Haible  <bruno@clisp.org>
40186
40187         New module 'findprog-lgpl'.
40188         * modules/findprog-lgpl: New file.
40189         * lib/findprog-lgpl.c: New file.
40190         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
40191         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
40192         to decide whether to use strdup or xstrdup, concatenated_filename or
40193         xconcatenated_filename.
40194
40195 2008-09-01  Bruno Haible  <bruno@clisp.org>
40196
40197         Split module 'concat-filename' into 'concat-filename' (LGPL) and
40198         'xconcat-filename' (GPL).
40199         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
40200         (License): Change to LGPLv2+.
40201         * modules/xconcat-filename: New file.
40202         * lib/concat-filename.h (concatenated_filename): Change specification.
40203         (xconcatenated_filename): New declaration.
40204         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
40205         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
40206         memory situations.
40207         * lib/xconcat-filename.c: New file.
40208         * NEWS: Mention the change.
40209         * lib/findprog.c: Include concat-filename.h, not filename.h.
40210         (find_in_path): Use xconcatenated_filename instead of
40211         concatenated_filename.
40212         * lib/javacomp.c: Include concat-filename.h, not filename.h.
40213         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
40214         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
40215         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
40216         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
40217         instead of concatenated_filename.
40218         * lib/javaexec.c: Include concat-filename.h, not filename.h.
40219         (execute_java_class): Use xconcatenated_filename instead of
40220         concatenated_filename.
40221         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
40222         * modules/javacomp (Depends-on): Likewise.
40223         * modules/javaexec (Depends-on): Likewise.
40224
40225 2008-09-01  Bruno Haible  <bruno@clisp.org>
40226
40227         Split module 'filename' into 'filename' and 'concat-filename'.
40228         * modules/filename: Keep only lib/filename.h.
40229         (License): Change to LGPLv2+.
40230         * modules/concat-filename: New file, extracted from modules/filename.
40231         * lib/filename.h (concatenated_filename): Remove declaration.
40232         * lib/concat-filename.h: New file, extracted from lib/filename.h.
40233         * lib/concat-filename.c: Include concat-filename.h.
40234         * NEWS: Mention the change.
40235
40236 2008-09-01  Simon Josefsson  <simon@josefsson.org>
40237
40238         * lib/bitrotate.h (rotl8, rotr8): Add.
40239
40240         * modules/bitrotate (configure.ac): Need
40241         AC_REQUIRE([AC_C_INLINE]).
40242         (Description): Mention stdint.h.  Reported by Bruno Haible
40243         <bruno@clisp.org>.
40244
40245         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
40246         Paolo Bonzini <bonzini@gnu.org>.
40247
40248 2008-08-31  Bruno Haible  <bruno@clisp.org>
40249
40250         Assume Solaris specific bi-arch conventions on Solaris systems.
40251         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
40252         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
40253         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
40254         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
40255         like acl_libdirstem.
40256         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
40257         acl_libdirstem.
40258         * NEWS: Mention the change.
40259         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
40260
40261 2008-08-31  Jim Meyering  <meyering@redhat.com>
40262
40263         * lib/strftime.h: Add comments describing the two added arguments.
40264
40265         remove duplicate #include directives
40266         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
40267         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
40268
40269 2008-08-31  Bruno Haible  <bruno@clisp.org>
40270
40271         New module 'sigpipe-die'.
40272         * modules/sigpipe-die: New file.
40273         * lib/sigpipe-die.h: New file.
40274         * lib/sigpipe-die.c: New file.
40275         * MODULES.html.sh (Signal handling): Add sigpipe-die.
40276
40277 2008-08-31  Bruno Haible  <bruno@clisp.org>
40278
40279         Don't override previously installed signal handlers.
40280         * lib/fatal-signal.c (saved_sigactions): New variable.
40281         (uninstall_handlers): Reset the signal to the saved handler, not
40282         to SIG_DFL (except when ignored).
40283         (install_handlers): Save the previous handlers.
40284
40285 2008-08-30  Bruno Haible  <bruno@clisp.org>
40286
40287         * gnulib-tool (func_reset_sigpipe): New function.
40288         (func_get_automake_snippet, func_modules_transitive_closure,
40289         func_import): Invoke it before a join command that reads from stdin,
40290         to avoid "echo: write error: Broken pipe" error messages on stderr.
40291         Reported by Sam Steingold <sds@gnu.org>.
40292
40293 2008-08-30  Bruno Haible  <bruno@clisp.org>
40294
40295         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
40296         Code copied from m4/open.m4.
40297         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
40298         access and the filename ends in a slash. Code copied from lib/open.c.
40299         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
40300         * tests/test-fopen.c (main): Check against bug with trailing slash.
40301
40302 2008-08-29  Bruno Haible  <bruno@clisp.org>
40303
40304         Avoid some "gcc -pedantic" warnings.
40305         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
40306         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
40307         * lib/dirent.in.h: Likewise.
40308         * lib/fcntl.in.h: Likewise.
40309         * lib/float.in.h: Likewise.
40310         * lib/iconv.in.h: Likewise.
40311         * lib/inttypes.in.h: Likewise.
40312         * lib/locale.in.h: Likewise.
40313         * lib/math.in.h: Likewise.
40314         * lib/netinet_in.in.h: Likewise.
40315         * lib/search.in.h: Likewise.
40316         * lib/signal.in.h: Likewise.
40317         * lib/stdarg.in.h: Likewise.
40318         * lib/stdint.in.h: Likewise.
40319         * lib/stdio.in.h: Likewise.
40320         * lib/stdlib.in.h: Likewise.
40321         * lib/string.in.h: Likewise.
40322         * lib/strings.in.h: Likewise.
40323         * lib/sys_select.in.h: Likewise.
40324         * lib/sys_socket.in.h: Likewise.
40325         * lib/sys_stat.in.h: Likewise.
40326         * lib/sys_time.in.h: Likewise.
40327         * lib/sysexits.in.h: Likewise.
40328         * lib/time.in.h: Likewise.
40329         * lib/unistd.in.h: Likewise.
40330         * lib/wchar.in.h: Likewise.
40331         * lib/wctype.in.h: Likewise.
40332         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
40333         * modules/fchdir (Makefile.am): Likewise.
40334         * modules/fcntl (Makefile.am): Likewise.
40335         * modules/float (Makefile.am): Likewise.
40336         * modules/iconv_open (Makefile.am): Likewise.
40337         * modules/inttypes (Makefile.am): Likewise.
40338         * modules/locale (Makefile.am): Likewise.
40339         * modules/math (Makefile.am): Likewise.
40340         * modules/netinet_in (Makefile.am): Likewise.
40341         * modules/search (Makefile.am): Likewise.
40342         * modules/signal (Makefile.am): Likewise.
40343         * modules/stdarg (Makefile.am): Likewise.
40344         * modules/stdint (Makefile.am): Likewise.
40345         * modules/stdio (Makefile.am): Likewise.
40346         * modules/stdlib (Makefile.am): Likewise.
40347         * modules/string (Makefile.am): Likewise.
40348         * modules/strings (Makefile.am): Likewise.
40349         * modules/sys_select (Makefile.am): Likewise.
40350         * modules/sys_socket (Makefile.am): Likewise.
40351         * modules/sys_stat (Makefile.am): Likewise.
40352         * modules/sys_time (Makefile.am): Likewise.
40353         * modules/sysexits (Makefile.am): Likewise.
40354         * modules/time (Makefile.am): Likewise.
40355         * modules/unistd (Makefile.am): Likewise.
40356         * modules/wchar (Makefile.am): Likewise.
40357         * modules/wctype (Makefile.am): Likewise.
40358         Reported by Reuben Thomas <rrt@sc3d.org>.
40359
40360 2008-08-29  Bruno Haible  <bruno@clisp.org>
40361
40362         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
40363         any more.
40364
40365 2008-08-29  Simon Josefsson  <simon@josefsson.org>
40366
40367         * MODULES.html.sh (Misc): Add bitrotate.
40368
40369         * modules/bitrotate: New file.
40370
40371         * lib/bitrotate.h: New file.
40372
40373         * modules/bitrotate-tests: New file.
40374
40375         * tests/test-bitrotate.c: New file.
40376
40377         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
40378         on the bitrotate module.
40379
40380         * lib/arctwo.c: Use new bitrotate module.
40381
40382 2008-08-29  Jim Meyering  <meyering@redhat.com>
40383
40384         bootstrap: merge changes from coreutils
40385         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
40386         of copied files.  Remove a kludge, now that this is fixed.
40387         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
40388         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
40389         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
40390
40391 2008-08-29  Bruno Haible  <bruno@clisp.org>
40392
40393         * MODULES.html.sh: Remove --cvs-urls option.
40394
40395 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
40396
40397         maint.mk: adjust to file name change
40398         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
40399
40400 2008-08-28  Jim Meyering  <meyering@redhat.com>
40401
40402         * modules/getndelim2 (License): Relicense to LGPLv2+.
40403         Approved by Richard Stallman for the version of 1995, and by
40404         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
40405
40406 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
40407
40408         * lib/getdelim.c (flockfile, funlockfile): Make all of them
40409         dummy if one is not available.  Do not touch them if
40410         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
40411         (getc_maybe_unlocked): New.
40412         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
40413
40414 2008-08-26  Eric Blake  <ebb9@byu.net>
40415
40416         doc/INSTALL: resync from autoconf
40417         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
40418         (INSTALL_PRELUDE): Delete; this is done more efficiently by
40419         moving...
40420         * install.texi [!autoconf]: ...here.  Resync from autoconf.
40421         * INSTALL: Regenerate.
40422         * INSTALL.ISO: New file.
40423         * INSTALL.UTF-8: Likewise.
40424
40425 2008-08-26  Jim Meyering  <meyering@redhat.com>
40426
40427         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
40428         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
40429         these definitions conditional, so that they may be overridden, too.
40430
40431 2008-08-26  Bruno Haible  <bruno@clisp.org>
40432
40433         Generate INSTALL file variants with prettier quotes.
40434         * doc/Makefile (INSTALL_PRELUDE): New macro.
40435         (INSTALL): Use it.
40436         (INSTALL.ISO, INSTALL.UTF-8): New rules.
40437
40438 2008-08-26  Bruno Haible  <bruno@clisp.org>
40439
40440         Run makeinfo in an English locale.
40441         * doc/Makefile (MAKEINFO): New variable.
40442
40443 2008-08-26  Bruno Haible  <bruno@clisp.org>
40444
40445         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
40446         Suggested by Eric Blake.
40447
40448 2008-08-25  Bruno Haible  <bruno@clisp.org>
40449
40450         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
40451
40452 2008-08-25  Eric Blake  <ebb9@byu.net>
40453
40454         c-stack: test that stack overflow can be caught
40455         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
40456         that platform allows handling stack overflow; at least OS/2 EMX
40457         has sigaltstack, but crashes before transferring control to
40458         handler on stack overflow.
40459         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
40460         check for HAVE_STACK_OVERFLOW_HANDLING.
40461         Reported by Elbert Pol.
40462
40463 2008-08-25  Bruno Haible  <bruno@clisp.org>
40464
40465         * doc/posix-functions/strftime.texi: Fix description of strftime
40466         module.
40467
40468 2008-08-24  Bruno Haible  <bruno@clisp.org>
40469
40470         * tests/uniwidth/test-uc_width2.c: New file.
40471         * tests/uniwidth/test-uc_width2.sh: New file.
40472         * modules/uniwidth/width-tests (Files): Add the new files.
40473         (TESTS): Add uniwidth/test-uc_width2.sh.
40474         (TESTS_ENVIRONMENT): New variable.
40475         (check_PROGRAMS): Add test-uc_width2.
40476         (test_uc_width2_SOURCES): New variable.
40477
40478         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
40479         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
40480         not 0x00AB.
40481         Reported by Alexander V. Lukyanov <lav@netis.ru>.
40482
40483 2008-08-22  Eric Blake  <ebb9@byu.net>
40484
40485         test-lock, test-tls: mention why a test is skipped
40486         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
40487         skipped.
40488         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
40489
40490         count-one-bits: relax license
40491         * modules/count-one-bits (License): Relicense to LGPLv2+.
40492         Suggested by Ludovic Courtès, approved by Ben Pfaff.
40493
40494 2008-08-22  Andreas Schwab  <schwab@suse.de>
40495
40496         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
40497         Remove spurious space in assignment.
40498
40499 2008-08-21  Simon Josefsson  <simon@josefsson.org>
40500
40501         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
40502         Paul Eggert <eggert@CS.UCLA.EDU>.
40503
40504 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
40505
40506         * modules/gettext: Add m4/threadlib.m4.
40507
40508 2008-08-19  Eric Blake  <ebb9@byu.net>
40509
40510         test-c-stack: fix compilation failure on FreeBSD 5.0
40511         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
40512         headers before <sys/resource.h>.
40513         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
40514         the bug.
40515         Reported by Nelson H. F. Beebe.
40516
40517         strverscmp: migrate from "strverscmp.h" to <string.h>
40518         * modules/string (Makefile.am): Add new hooks.
40519         * modules/strverscmp (Files): Remove strverscmp.h.
40520         (Depends-on): Add string.
40521         (configure.ac): Add indicator.
40522         (Include): Mention new header.
40523         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
40524         defaults.
40525         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
40526         results.
40527         * lib/strverscmp.h: Delete.
40528         * lib/string.in.h (strverscmp): Provide declaration, when needed.
40529         * tests/test-strverscmp.c (includes): Adjust client.
40530         * lib/check-version.c (includes): Likewise.
40531         * NEWS: Document the change.
40532
40533         strverscmp: add unit test
40534         * modules/strverscmp-tests: New file.
40535         * tests/test-strverscmp.c: Likewise.
40536
40537 2008-08-19  Simon Josefsson  <simon@josefsson.org>
40538
40539         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
40540         regarding Windows crypto stuff, from Mono.
40541
40542 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
40543
40544         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
40545         if present, for intel RND.  Return error on failures.
40546
40547 2008-08-18  Ben Pfaff  <blp@gnu.org>
40548
40549         gitlog-to-changelog: give better diagnostic for failed pipe-open
40550         * build-aux/gitlog-to-changelog: Improve error message: suggest
40551         that the version of Git may be too old.
40552
40553 2008-08-18  Simon Josefsson  <simon@josefsson.org>
40554
40555         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
40556         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
40557
40558 2008-08-18  Bruno Haible  <bruno@clisp.org>
40559
40560         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
40561         pthread_in_use().
40562
40563 2008-08-18  Bruno Haible  <bruno@clisp.org>
40564
40565         * lib/glthread/threadlib.c: Include <pthread.h>.
40566
40567 2008-08-18  Bruno Haible  <bruno@clisp.org>
40568
40569         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
40570         glthread_recursive_lock_* macros.
40571         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
40572         Fix syntax error.
40573
40574 2008-08-18  Bruno Haible  <bruno@clisp.org>
40575
40576         * lib/glthread/thread.c: Avoid forcing a context switch right after
40577         thread creation.
40578
40579 2008-08-17  Bruno Haible  <bruno@clisp.org>
40580
40581         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
40582         * lib/glthread/thread.h: Provide Win32 specific implementation.
40583         * modules/thread (Files): Add lib/glthread/thread.c.
40584         (Depends-on): Add lock.
40585         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
40586
40587 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40588
40589         New module 'yield'.
40590         * modules/yield: New file.
40591         * lib/glthread/yield.h: New file.
40592         * m4/yield.m4: New file.
40593         * MODULES.html.sh (Multithreading): Add yield.
40594
40595 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40596
40597         New module 'thread'.
40598         * modules/thread: New file.
40599         * lib/glthread/thread.h: New file.
40600         * m4/thread.m4: New file.
40601         * MODULES.html.sh (Multithreading): Add thread.
40602
40603 2008-08-17  Bruno Haible  <bruno@clisp.org>
40604
40605         * lib/glthread/lock.h: Include <stdlib.h> always.
40606         * lib/glthread/tls.h: Likewise.
40607         * lib/glthread/cond.h: Likewise.
40608
40609 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40610
40611         New module 'cond'.
40612         * modules/cond: New file.
40613         * lib/glthread/cond.h: New file.
40614         * lib/glthread/cond.c: New file.
40615         * m4/cond.m4: New file.
40616         * MODULES.html.sh (Multithreading): Add cond.
40617
40618 2008-08-16  Eric Blake  <ebb9@byu.net>
40619
40620         c-stack: fix regression on Irix 5.3 from 2008-06-21
40621         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
40622         sa_sigaction...
40623         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
40624         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
40625         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
40626         * modules/signal (Makefile.am): Use the value.
40627         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
40628         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
40629         * doc/posix-headers/signal.texi (signal.h): Document this
40630         portability issue.
40631         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
40632         Reported by Tom G. Christensen.
40633
40634 2008-08-17  Bruno Haible  <bruno@clisp.org>
40635
40636         New module 'threadlib'.
40637         * modules/threadlib: New file.
40638         * lib/glthread/threadlib.c: New file, extracted from
40639         lib/glthread/lock.c.
40640         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
40641         functions.
40642         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
40643         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
40644         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
40645         macros.
40646         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
40647         (gl_DISABLE_THREADS): Remove macro.
40648         * modules/lock (Files): Remove build-aux/config.rpath.
40649         (Depends-on): Remove havelib. Add threadlib.
40650         (configure.ac-early): Remove section.
40651         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
40652         * modules/tls (Depends-on): Remove lock. Add threadlib.
40653         (Link): New section, copied from threadlib.
40654         * MODULES.html.sh (Multithreading): Add threadlib.
40655
40656 2008-08-14  Bruno Haible  <bruno@clisp.org>
40657
40658         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
40659         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
40660         glthread_rwlock_unlock, glthread_rwlock_destroy,
40661         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
40662         glthread_recursive_lock_destroy): Define as macros always.
40663         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
40664         glthread_lock_lock.
40665         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
40666         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
40667         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
40668         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
40669         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
40670         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
40671         (glthread_recursive_lock_lock_func): Renamed from
40672         glthread_recursive_lock_lock.
40673         (glthread_recursive_lock_unlock_func): Renamed from
40674         glthread_recursive_lock_unlock.
40675         (glthread_recursive_lock_destroy_func): Renamed from
40676         glthread_recursive_lock_destroy.
40677
40678 2008-08-14  Bruno Haible  <bruno@clisp.org>
40679
40680         * lib/glthread/lock.h: Renamed from lib/lock.h.
40681         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
40682         * lib/glthread/tls.h: Renamed from lib/tls.h.
40683         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
40684         * lib/fstrcmp.c: Update includes.
40685         * lib/strsignal.c: Update includes.
40686         * modules/lock (Files, Makefile.am): Update.
40687         (Include): Change to "glthread/lock.h".
40688         * modules/tls (Files, Makefile.am): Update.
40689         (Include): Change to "glthread/tls.h".
40690         * tests/test-lock.c: Update includes.
40691         * tests/test-tls.c: Update includes.
40692         * NEWS: Mention the renamed header files.
40693
40694 2008-08-11  Jim Meyering  <meyering@redhat.com>
40695
40696         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
40697
40698 2008-08-11  Eric Blake  <ebb9@byu.net>
40699
40700         test-c-stack: avoid C99-ism
40701         * tests/test-c-stack.c (main): Fix whitespace, move declaration
40702         before statement.
40703         Reported by Alain Guibert.
40704
40705 2008-08-10  Jim Meyering  <meyering@redhat.com>
40706
40707         ensure that return value of uinttostr et al are not ignored
40708         * lib/inttostr.h (__GNUC_PREREQ): Define.
40709         (__attribute_warn_unused_result__): Define.
40710         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
40711
40712 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
40713
40714         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
40715         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
40716
40717 2008-08-07  Jim Meyering  <meyering@redhat.com>
40718
40719         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
40720
40721         * modules/mkstemp (License): Relicense under LGPLv2+.
40722         * modules/tempname (License): Likewise.
40723
40724 2008-08-06  Bruno Haible  <bruno@clisp.org>
40725
40726         * lib/poll.c (poll): Further micro-optimization.
40727
40728 2008-08-06  Jim Meyering  <meyering@redhat.com>
40729
40730         inet_pton.c: use locale-independent tolower
40731         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
40732         (inet_pton6): Use c_tolower rather than tolower.
40733         * modules/inet_pton (Depends-on): Add c-ctype.
40734
40735 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
40736
40737         * lib/poll.c (poll): Avoid division when timeout is 0, cache
40738         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
40739
40740 2008-08-06  Jim Meyering  <meyering@redhat.com>
40741
40742         * modules/inet_pton (License): Relicense under LGPLv2+.
40743
40744 2008-08-03  Bruno Haible  <bruno@clisp.org>
40745
40746         Additional non-aborting API for lock and tls.
40747         * lib/lock.h: Include <errno.h>.
40748         (glthread_lock_init): New macro/function.
40749         (gl_lock_init): Define as wrapper around glthread_lock_init.
40750         (glthread_lock_lock): New macro/function.
40751         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
40752         (glthread_lock_unlock): New macro/function.
40753         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
40754         (glthread_lock_destroy): New macro/function.
40755         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
40756         (glthread_rwlock_init): New macro/function.
40757         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
40758         (glthread_rwlock_rdlock): New macro/function.
40759         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
40760         (glthread_rwlock_wrlock): New macro/function.
40761         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
40762         (glthread_rwlock_unlock): New macro/function.
40763         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
40764         (glthread_rwlock_destroy): New macro/function.
40765         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
40766         (glthread_recursive_lock_init): New macro/function.
40767         (gl_recursive_lock_init): Define as wrapper around
40768         glthread_recursive_lock_init.
40769         (glthread_recursive_lock_lock): New macro/function.
40770         (gl_recursive_lock_lock): Define as wrapper around
40771         glthread_recursive_lock_lock.
40772         (glthread_recursive_lock_unlock): New macro/function.
40773         (gl_recursive_lock_unlock): Define as wrapper around
40774         glthread_recursive_lock_unlock.
40775         (glthread_recursive_lock_destroy): New macro/function.
40776         (gl_recursive_lock_destroy): Define as wrapper around
40777         glthread_recursive_lock_destroy.
40778         (glthread_once): New macro/function.
40779         (gl_once): Define as wrapper around glthread_once.
40780         Update function declarations.
40781         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
40782         glthread_rwlock_init. Return error code.
40783         (glthread_rwlock_rdlock_multithreaded): Renamed from
40784         glthread_rwlock_rdlock. Return error code.
40785         (glthread_rwlock_wrlock_multithreaded): Renamed from
40786         glthread_rwlock_wrlock. Return error code.
40787         (glthread_rwlock_unlock_multithreaded): Renamed from
40788         glthread_rwlock_unlock. Return error code.
40789         (glthread_rwlock_destroy_multithreaded): Renamed from
40790         glthread_rwlock_destroy. Return error code.
40791         (glthread_recursive_lock_init_multithreaded): Renamed from
40792         glthread_recursive_lock_init. Return error code.
40793         (glthread_recursive_lock_lock_multithreaded): Renamed from
40794         glthread_recursive_lock_lock. Return error code.
40795         (glthread_recursive_lock_unlock_multithreaded): Renamed from
40796         glthread_recursive_lock_unlock. Return error code.
40797         (glthread_recursive_lock_destroy_multithreaded): Renamed from
40798         glthread_recursive_lock_destroy. Return error code.
40799         (glthread_once_call): Make static.
40800         (glthread_once_multithreaded): Renamed from glthread_once.
40801         * lib/tls.h: Include <errno.h>.
40802         (glthread_tls_key_init): New macro/function.
40803         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
40804         (glthread_tls_set): New macro/function.
40805         (gl_tls_set): Define as wrapper around glthread_tls_set.
40806         (glthread_tls_key_destroy): New macro/function.
40807         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
40808         Update function declarations.
40809         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
40810         glthread_tls_get.
40811         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40812
40813 2008-08-04  Eric Blake  <ebb9@byu.net>
40814
40815         gnumakefile: use space, not TAB, outside of targets
40816         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
40817
40818 2008-08-02  Jim Meyering  <meyering@redhat.com>
40819
40820         getdate.y: avoid locale-dependent date parsing failure
40821         In Turkish locales, getdate would fail to recognize keywords
40822         containing a lowercase "i".  The solution is not to rely on
40823         locale-sensitive case-conversion.
40824         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
40825         (lookup_word): Use c_toupper in place of toupper.
40826         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
40827         Reported by Vefa Bicakci <bicave@superonline.com> in
40828         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
40829         * modules/getdate (Depends-on): Add c-ctype.
40830
40831 2008-08-02  Bruno Haible  <bruno@clisp.org>
40832
40833         * gnulib-tool (func_import): When updating or creating a .gitignore
40834         file, prepend each added line with a slash, and ignore leading slashes
40835         from the existing lines.
40836         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
40837
40838 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40839
40840         Portability fix for GNU make 3.79.1.
40841         * top/GNUmakefile: Avoid 'else COND', which older GNU make
40842         versions do not understand.
40843
40844 2008-08-01  Bruno Haible  <bruno@clisp.org>
40845
40846         Work around bug of HP-UX 10.20 cc with -0.0 literal.
40847         * tests/test-isnanf.h (zero): New variable.
40848         (main): Avoid literal -0.0f.
40849         * tests/test-isnand.h (zero): New variable.
40850         (main): Avoid literal -0.0.
40851         * tests/test-isnanl.h (zero): New variable.
40852         (main): Avoid literal -0.0L.
40853         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
40854         (test_float, test_double, test_long_double): Avoid literals -0.0f,
40855         -0.0, -0.0L.
40856         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
40857         (test_signbitd): Avoid literal -0.0.
40858         (test_signbitl): Avoid literal -0.0L.
40859         * tests/test-ceilf1.c (zero): New variable.
40860         (main): Avoid literal -0.0f.
40861         * tests/test-ceill.c (zero): New variable.
40862         (main): Avoid literal -0.0L.
40863         * tests/test-floorf1.c (zero): New variable.
40864         (main): Avoid literal -0.0f.
40865         * tests/test-floorl.c (zero): New variable.
40866         (main): Avoid literal -0.0L.
40867         * tests/test-roundf1.c (zero): New variable.
40868         (main): Avoid literal -0.0f.
40869         * tests/test-round1.c (zero): New variable.
40870         (main): Avoid literal -0.0.
40871         * tests/test-roundl.c (zero): New variable.
40872         (main): Avoid literal -0.0L.
40873         * tests/test-truncf1.c (zero): New variable.
40874         (main): Avoid literal -0.0f.
40875         * tests/test-trunc1.c (zero): New variable.
40876         (main): Avoid literal -0.0.
40877         * tests/test-truncl.c (zero): New variable.
40878         (main): Avoid literal -0.0L.
40879         * tests/test-frexp.c (zero): New variable.
40880         (main): Avoid literal -0.0.
40881         * tests/test-frexpl.c (zero): New variable.
40882         (main): Avoid literal -0.0L.
40883         * tests/test-ldexpl.c (zero): New variable.
40884         (main): Avoid literal -0.0L.
40885         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
40886         (zerod, zerol): New variables.
40887         (test_function): Avoid literals -0.0, -0.0L.
40888         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
40889         (zerod, zerol): New variables.
40890         (test_function): Avoid literals -0.0, -0.0L.
40891         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
40892         (zerod, zerol): New variables.
40893         (test_function): Avoid literals -0.0, -0.0L.
40894         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
40895         (zerod, zerol): New variables.
40896         (test_function): Avoid literals -0.0, -0.0L.
40897         * tests/test-strtod.c (zero): New variable.
40898         (main): Avoid literal -0.0.
40899         Reported by Jonathan C. Patschke <jp@centtech.com>.
40900
40901 2008-07-31  Jim Meyering  <meyering@redhat.com>
40902
40903         sha256.h: correct definition of SHA224_DIGEST_SIZE
40904         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
40905         Reported by Paulie Pena IV <paulie4@gmail.com>.
40906         Define as 224 / 8, rather than as a literal.
40907         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
40908         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
40909         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
40910
40911 2008-07-31  Bruno Haible  <bruno@clisp.org>
40912
40913         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
40914         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
40915         Reported by Jonathan Patschke <jp@centtech.com>.
40916
40917 2008-07-31  Bruno Haible  <bruno@clisp.org>
40918
40919         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
40920         Reported by Paolo Bonzini <bonzini@gnu.org>.
40921
40922 2008-07-30  Eric Blake  <ebb9@byu.net>
40923
40924         test-strtod: allow compilation without -lm
40925         * tests/test-strtod.c (main): Avoid link dependence on fabs.
40926         Reported by Dennis Clarke <blastwave@gmail.com>.
40927
40928 2008-07-28  Jim Meyering  <meyering@redhat.com>
40929
40930         bootstrap: work also when there are no .po files in po/
40931         * build-aux/bootstrap (update_po_files): Complete the change
40932         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
40933
40934 2008-07-27  Jim Meyering  <meyering@redhat.com>
40935
40936         * users.txt: Add zile.
40937
40938 2008-07-26  Ben Pfaff  <blp@gnu.org>
40939
40940         Add missing dependencies on new m4/exponent[fdl].m4 files.
40941         * modules/isnanf-nolibm: Add m4/exponentf.m4.
40942         * modules/isnand-nolibm: Add m4/exponentd.m4.
40943         * modules/isnanl-nolibm: Add m4/exponentl.m4.
40944         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
40945         m4/isnan[fdl].m4, because the macros actually used moved.
40946         Reported by Jim Meyering.
40947
40948 2008-07-14  Ben Pfaff  <blp@gnu.org>
40949
40950         Add isinf module.
40951         * lib/isinf.c: New file.
40952         * lib/math.in.h: Define isinf macro if we have decided to replace
40953         it.
40954         * m4/isinf.m4: New file.
40955         * m4/math_h.m4: Initialize and substitute variables for isinf
40956         module.
40957         * modules/isinf: New file.
40958         * modules/isinf-tests: New file.
40959         * modules/math: Add substitutions for new module.
40960         * tests/test-isinf.c: New file.
40961         * doc/posix-functions/isinf.texi: Mention new module.
40962         * MODULES.html.sh: Mention new module.
40963
40964 2008-07-14  Ben Pfaff  <blp@gnu.org>
40965
40966         Factor out some macros for use by additional modules.
40967         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
40968         exponentf.m4.
40969         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
40970         exponentd.m4.
40971         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
40972         file exponentl.m4.
40973         * m4/exponentf.m4: New file.
40974         * m4/exponentd.m4: New file.
40975         * m4/exponentl.m4: New file.
40976         * modules/isnanf: Use new file m4/exponentf.m4.
40977         * modules/isnand: Use new file m4/exponentd.m4.
40978         * modules/isnanl: Use new file m4/exponentl.m4.
40979
40980 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
40981
40982         mktime.c: normalize tp->tm_isdst value to -1/0/1.
40983         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
40984         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
40985         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
40986
40987         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
40988         readlink on platforms without PATH_MAX.
40989
40990 2008-07-21  Eric Blake  <ebb9@byu.net>
40991
40992         Warn, not fail, on stale version.
40993         * top/GNUmakefile (_curr-ver): Tone down previous patch.
40994
40995         Don't allow installation with stale devel version number.
40996         * top/GNUmakefile (_is-install-target): New macro.
40997         (_curr-ver): Forbid installation with stale version number.
40998
40999 2008-07-20  Bruno Haible  <bruno@clisp.org>
41000
41001         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
41002         TESTS_ENVIRONMENT.
41003         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
41004
41005 2008-07-20  Bruno Haible  <bruno@clisp.org>
41006
41007         * lib/c-stack.h (c_stack_action): Add documentation.
41008         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
41009
41010 2008-07-20  Bruno Haible  <bruno@clisp.org>
41011
41012         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
41013         * modules/readlink (License): Likewise.
41014
41015 2008-07-17  Eric Blake  <ebb9@byu.net>
41016
41017         * modules/c-stack (Link): Fix typo.
41018
41019         Make c-stack use libsigsegv, when available.
41020         * modules/c-stack (Depends-on): Add libsigsegv.
41021         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
41022         needed.
41023         * lib/c-stack.c (SIGSTKSZ): Define fallback.
41024         (segv_handler, overflow_handler, c_stack_action)
41025         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
41026         implementation when libsigsegv is available, but only when using
41027         the library is necessary.
41028         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
41029         comment, explaining why XSI check fails on Linux.
41030         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
41031         * tests/test-c-stack2.sh: Tweak skip message.
41032         * NEWS: Document new link-time requirements.
41033
41034 2008-07-16  Eric Blake  <ebb9@byu.net>
41035
41036         c-stack: Expose false positives when not using libsigsegv.
41037         * modules/c-stack-tests (Files): Expand test.
41038         * tests/test-c-stack.c (main): Add means to conditionally trigger
41039         non-overflow SIGSEGV.
41040         * tests/test-c-stack2.sh: New file.
41041
41042 2008-07-14  Bruno Haible  <bruno@clisp.org>
41043
41044         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
41045         Reported by Eric Blake.
41046
41047 2008-07-14  Sam Steingold  <sds@gnu.org>
41048             Bruno Haible  <bruno@clisp.org>
41049
41050         New module libsigsegv.
41051         * modules/libsigsegv: New file.
41052         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
41053         modifications.
41054         * MODULES.html.sh (Signal handling): New section.
41055
41056 2008-07-14  Bruno Haible  <bruno@clisp.org>
41057
41058         * modules/unictype/ctype-* (Description): Add the word "function".
41059         Improves the resulting doc in MODULES.html.
41060
41061 2008-07-12  Ben Pfaff  <blp@gnu.org>
41062
41063         Add longlong module.
41064         * modules/longlong: New file.
41065
41066 2008-07-12  Bruno Haible  <bruno@clisp.org>
41067
41068         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
41069         to empty.
41070
41071 2008-07-10  Ben Pfaff  <blp@gnu.org>
41072
41073         Add isnan module.
41074         * doc/posix-functions/isnan.texi: Mention new module.
41075         * lib/math.in.h: Define isnan macro if we have decided to replace
41076         it.
41077         * m4/isnan.m4: New file.
41078         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
41079         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
41080         also.
41081         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
41082         redundancy.
41083         * m4/math_h.m4: Initialize and substitute variables for isnan
41084         module.
41085         * modules/isnan: New file.
41086         * modules/isnan-tests: New file.
41087         * modules/math: Add substitutions for new module.
41088         * tests/test-isnan.c: New file.
41089         * MODULES.html.sh: Mention new module.
41090
41091 2008-07-10  Ben Pfaff  <blp@gnu.org>
41092
41093         Add isnanf module.
41094         * lib/isnanf.m4: New file.
41095         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
41096         (gl_HAVE_ISNANF_IN_LIBM): New macro.
41097         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
41098         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
41099         * modules/isnanf: New file.
41100         * modules/isnanf-tests: New file.
41101         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
41102         files.
41103         * tests/test-isnanf-nolibm.c: factored most of its contents into
41104         new file tests/test-isnanf.h.
41105         * tests/test-isnanf.h: New file.
41106         * tests/test-isnanf.c: New file.
41107         * MODULES.html.sh: Mention new module.
41108         * doc/glibc-functions/isnanf.texi: Mention new module.
41109
41110 2008-07-10  Ben Pfaff  <blp@gnu.org>
41111
41112         Add isnand module.
41113         * lib/isnand.h: New file.
41114         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
41115         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
41116         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
41117         functionality also.
41118         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
41119         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
41120         (gl_HAVE_ISNAND_IN_LIBM): New macro.
41121         * modules/isnand: New file.
41122         * modules/isnand-tests: New file.
41123         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
41124         files.
41125         * tests/test-isnand-nolibm.c: factored most of its contents into
41126         new file tests/test-isnand.h.
41127         * tests/test-isnand.h: New file.
41128         * tests/test-isnand.c: New file.
41129         * MODULES.html.sh: Mention new module.
41130
41131 2008-07-10  Ben Pfaff  <blp@gnu.org>
41132
41133         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
41134         * lib/isnand.h: Rename lib/isnand-nolibm.h.
41135         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
41136         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
41137         * modules/isnanf-nolibm: Update references to renamed files.
41138         * modules/isnand-nolibm: Likewise.
41139         * modules/isnanf-nolibm-tests: Likewise.
41140         * modules/isnand-nolibm-tests: Likewise.
41141         * lib/frexp.c: Likewise.
41142         * lib/isfinite.c: Likewise.
41143         * lib/signbitd.c: Likewise.
41144         * lib/signbitf.c: Likewise.
41145         * lib/vasnprintf.c: Likewise.
41146         * tests/test-ceilf1.c: Likewise.
41147         * tests/test-ceilf2.c: Likewise.
41148         * tests/test-floorf1.c: Likewise.
41149         * tests/test-floorf2.c: Likewise.
41150         * tests/test-frexp.c: Likewise.
41151         * tests/test-round1.c: Likewise.
41152         * tests/test-round2.c: Likewise.
41153         * tests/test-roundf1.c: Likewise.
41154         * tests/test-strtod.c: Likewise.
41155         * tests/test-trunc1.c: Likewise.
41156         * tests/test-trunc2.c: Likewise.
41157         * tests/test-truncf1.c: Likewise.
41158         * tests/test-truncf2.c: Likewise.
41159         * NEWS: Mention the renamed header files.
41160
41161 2008-07-11  Jim Meyering  <meyering@redhat.com>
41162
41163         vc-list-files: make the last-resort awk code more portable
41164         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
41165         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
41166         does not support it.
41167
41168 2008-07-10  Eric Blake  <ebb9@byu.net>
41169
41170         Work with tar's bootstrap.
41171         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
41172         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
41173         an m4 comment.
41174
41175 2008-07-09  Jim Meyering  <meyering@redhat.com>
41176
41177         posix-shell.m4: fix typo that made this test malfunction
41178         * m4/posix-shell.m4: Remove capitalization in variable name.
41179
41180 2008-07-08  Bruno Haible  <bruno@clisp.org>
41181
41182         * m4/onceonly.m4: Update comments.
41183         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41184
41185 2008-07-04  Jim Meyering  <meyering@redhat.com>
41186
41187         * users.txt: Add vc-dwim.
41188         (bison, coreutils): Use the gitweb URL.
41189
41190 2008-07-03  Jim Meyering  <meyering@redhat.com>
41191
41192         * users.txt: Add libffcall.  From Sam Steingold.
41193
41194 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
41195
41196         getdate.y: do not ignore TZ with relative day, month or year offset
41197         * lib/getdate.y (get_date): Move the tz-handling block to follow the
41198         relative-date-handling, since otherwise, the latter would clobber the
41199         sole output (an updated Start value) of the tz-handling block.
41200         * tests/test-getdate.c: Tests for the fix
41201
41202 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41203
41204         Recognize 'foo_LIBRARIES += libgnu.a'.
41205         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
41206         makefile snippet has already specified an installation location,
41207         also using '+='.
41208
41209 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
41210
41211         getdate.y: factor out common actions
41212         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
41213         Use them in place of open-coded actions.
41214
41215 2008-07-01  Simon Josefsson  <simon@josefsson.org>
41216
41217         Add self-test for getdate module.
41218         * modules/getdate-tests: New file.
41219         * tests/test-getdate.c: New file.
41220
41221 2008-06-29  Bruno Haible  <bruno@clisp.org>
41222
41223         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
41224         .gitignore.
41225         Reported by Sylvain Beucler <beuc@beuc.net>.
41226
41227 2008-06-29  Bruno Haible  <bruno@clisp.org>
41228
41229         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
41230         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
41231
41232 2008-06-29  Bruno Haible  <bruno@clisp.org>
41233
41234         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
41235         EXTRA_DIST.
41236         Reported by Sylvain Beucler <beuc@beuc.net>.
41237
41238 2008-06-26  Jim Meyering  <meyering@redhat.com>
41239
41240         make several modules depend on the "open" module
41241         This provides slightly increased consistency when opening-for-write
41242         the name of a non-directory spelled with a trailing slash.
41243         * modules/chdir-safer: Likewise.
41244         * modules/chown: Likewise.
41245         * modules/clean-temp: Likewise.
41246         * modules/copy-file: Likewise.
41247         * modules/fchdir: Likewise.
41248         * modules/fcntl-safer: Likewise.
41249         * modules/pipe: Likewise.
41250         * modules/utime: Likewise.
41251         Prompted by Eric Blake and Bruno Haible.
41252
41253 2008-06-24  Andreas Schwab  <schwab@suse.de>
41254
41255         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
41256         literals can be used as initializers for global variables.
41257
41258 2008-06-23  Eric Blake  <ebb9@byu.net>
41259
41260         Make gnulib-cache.m4 easier to diff.
41261         * gnulib-tool (func_import): Allow newlines when reading cached
41262         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
41263
41264 2008-06-23  Bruno Haible  <bruno@clisp.org>
41265
41266         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
41267         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
41268         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
41269         m4/signalblocking.m4.
41270         (gl_PREREQ_SIGACTION): Don't invoke it.
41271         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
41272         gl_PREREQ_SIG_HANDLER_H.
41273         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
41274         Don't check for sigaction here.
41275
41276 2008-06-23  Bruno Haible  <bruno@clisp.org>
41277
41278         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
41279         (install_handlers): Don't set the SA_RESETHAND flag.
41280
41281 2008-06-23  Bruno Haible  <bruno@clisp.org>
41282
41283         * m4/sigaction.m4: Comment fixes.
41284         * lib/signal.in.h: Likewise.
41285
41286 2008-06-23  Eric Blake  <ebb9@byu.net>
41287
41288         Fix typo.
41289         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
41290
41291         Avoid SA_ namespace.
41292         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
41293         Reported by Ralf Wildenhues.
41294
41295         Avoid test failure due to SA_RESTORER.
41296         * tests/test-sigaction.c (SA_MASK): New macro.
41297         (main): Avoid failing due to extension flags being set.
41298         Reported by Jim Meyering.
41299
41300         Revert use of sig-handler.h in sigprocmask.c.
41301         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
41302         it requires the existence of struct sigaction.
41303         * lib/sigprocmask.c (handler_t): Restore typedef.
41304         (rpl_signal, old_handlers): Use local type.
41305
41306 2008-06-22  Bruno Haible  <bruno@clisp.org>
41307
41308         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
41309         conditionally.
41310         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41311
41312 2008-06-22  Bruno Haible  <bruno@clisp.org>
41313
41314         * doc/posix-functions/siginterrupt.texi: Move note.
41315
41316         * lib/signal.in.h (SA_RESTART): New macro.
41317         * lib/sigaction.c: Update comment.
41318
41319         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
41320
41321         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
41322         (gl_PREREQ_SIGPROCMASK): Invoke it.
41323         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
41324
41325         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
41326
41327         * lib/sigprocmask.c: Update a comment.
41328
41329 2008-06-21  Eric Blake  <ebb9@byu.net>
41330
41331         Use sigaction module rather than signal().
41332         * modules/c-stack (Depends-on): Add sigaction.
41333         * modules/fatal-signal (Depends-on): Likewise.
41334         * modules/nanosleep (Depends-on): Likewise.
41335         * modules/sigprocmask (Files): Add sig-handler.h.
41336         * modules/sigaction (Files): Likewise.
41337         * lib/sig-handler.h (get_handler): New file, suggested by Paul
41338         Eggert.
41339         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
41340         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
41341         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
41342         (init_fatal_signals): Likewise.
41343         * lib/nanosleep.c (rpl_nanosleep): Likewise.
41344         (siginterrupt): Delete fallback.
41345         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
41346         instead.
41347         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
41348         siginterrupt.
41349
41350         New module sigaction, for mingw.
41351         * modules/sigaction: New module...
41352         * modules/sigaction-tests: ...and its test.
41353         * m4/sigaction.m4: New file.
41354         * lib/sigaction.c: Likewise.
41355         * tests/test-sigaction.c: Likewise.
41356         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
41357         * modules/signal (Makefile.am): Likewise.
41358         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
41359         needed.
41360         * doc/posix-headers/signal.texi (signal.h): Mention provided
41361         types.
41362         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
41363         that sigaction is preferable.
41364         * doc/posix-functions/sigaction.texi (sigaction): Mention new
41365         module.
41366         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41367         sigaction.
41368
41369         Improve robustness of sigprocmask by overriding signal.
41370         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
41371         is in use.
41372         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
41373         (SIGKILL, SIGSTOP): Provide fallbacks.
41374         (rpl_signal): Implement.
41375         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
41376         signal can be called inside handlers.
41377
41378         Fix nanosleep module on mingw.
41379         * modules/nanosleep (Depends-on): Add sys_select.
41380         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
41381
41382         Fix licensing of sigprocmask.
41383         * modules/raise (License): Relicense as LGPL.
41384
41385 2008-06-21  Bruno Haible  <bruno@clisp.org>
41386
41387         * lib/propername.c (proper_name_utf8): Don't use the transliterated
41388         result if it contains question marks.
41389         Reported by Michael Geng <linux@michaelgeng.de>.
41390
41391 2008-06-19  Bruno Haible  <bruno@clisp.org>
41392
41393         Fix CVS-ism.
41394         * doc/gnulib.texi: Include updated-stamp.texi.
41395         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
41396         (updated-stamp.texi): New rule.
41397         (gnulib.info): Depend on it.
41398         * doc/.gitignore: Add updated-stamp.texi.
41399         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
41400
41401 2008-06-19  Bruno Haible  <bruno@clisp.org>
41402
41403         * doc/Makefile (gnulib.info): Update and simplify dependencies.
41404         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41405
41406 2008-06-19  Eric Blake  <ebb9@byu.net>
41407
41408         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
41409         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
41410         Reported by Stepan Kasal.
41411
41412 2008-06-18  Bruno Haible  <bruno@clisp.org>
41413
41414         * lib/fatal-signal.c (init_fatal_signals): Add comment.
41415         Reported by Eric Blake.
41416
41417 2008-06-18  Eric Blake  <ebb9@byu.net>
41418
41419         Work around cygwin 1.5.25 strsignal bug.
41420         * tests/test-strsignal.c: Allow for const char *.
41421         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
41422
41423 2008-06-18  Simon Josefsson  <simon@josefsson.org>
41424
41425         * users.txt: Update URL to article and add author/date
41426         information.
41427
41428 2008-06-17  Bruno Haible  <bruno@clisp.org>
41429
41430         New macro gl_DISABLE_THREADS.
41431         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
41432         if the user did not pass --enable-threads or --disable-threads option.
41433         (gl_DISABLE_THREADS): New macro.
41434         Reported by Eric Blake <ebb9@byu.net>.
41435
41436 2008-06-17  Bruno Haible  <bruno@clisp.org>
41437
41438         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
41439         when the macro ignores it.
41440         Based on a patch by Eric Blake <ebb9@byu.net>.
41441
41442 2008-06-17  Bruno Haible  <bruno@clisp.org>
41443
41444         * modules/tls (License): Change to LGPLv2+.
41445         Reported by Eric Blake.
41446
41447 2008-06-17  Eric Blake  <ebb9@byu.net>
41448
41449         Simplify c-stack prerequisites.
41450         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
41451         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
41452         no longer requires <ucontext.h> to exist.  Optimize setrlimit
41453         check.
41454         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
41455         <sys/resource.h>.
41456
41457         Move c-stack test into testsuite.
41458         * modules/c-stack-tests: New file.
41459         * lib/c-stack.c [DEBUG]: Move test program...
41460         * tests/test-c-stack.c: ...into this new file.  Skip rather than
41461         fail test if sigaltstack is lacking.
41462         * tests/test-c-stack.sh: New driver file.
41463
41464 2008-06-16  Eric Blake  <ebb9@byu.net>
41465
41466         Use raise module consistently.
41467         * modules/fatal-signal (Depends-on): Add raise.
41468         * modules/sigprocmask (Depends-on): Likewise.
41469         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
41470         * lib/sigprocmask.c (sigprocmask): Likewise.
41471         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
41472         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
41473
41474         Fix compliance bug in sigpending.
41475         * lib/sigprocmask.c (sigpending): Return pending array via
41476         parameter, not return value.
41477
41478 2008-06-14  Eric Blake  <ebb9@byu.net>
41479
41480         Improve obstack-printf test code.
41481         * tests/test-obstack-printf.c (test_function): Fix comment, and
41482         simplify usage of obstack_* in macros.  Add a test for coverage.
41483         Reported by Bruno Haible.
41484
41485 2008-06-14  Bruno Haible  <bruno@clisp.org>
41486
41487         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
41488         array size as a constant, not as a const variable.
41489         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
41490         AC_USE_SYSTEM_EXTENSIONS.
41491         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
41492         Test whether the obstack_printf function actually exists.
41493         * modules/obstack-printf (Depends-on): Add extensions.
41494         (Include): Remove obstack.h.
41495         * modules/obstack-printf-posix (Depends-on): Add extensions.
41496         (Include): Remove obstack.h.
41497
41498 2008-06-13  Eric Blake  <ebb9@byu.net>
41499
41500         Add obstack-printf and obstack-printf-posix modules.
41501         * modules/obstack-printf: New file.
41502         * modules/obstack-printf-posix: Likewise.
41503         * MODULES.html.sh (Misc): Mention them.
41504         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41505         Likewise.
41506         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41507         Likewise.
41508         * modules/stdio (Makefile.am): Accomodate new modules.
41509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41510         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
41511         Declare.
41512         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
41513         functions.
41514         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
41515         (gl_REPLACE_OBSTACK_PRINTF): New macros
41516         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
41517         * tests/test-obstack-printf.c: New file.
41518         * modules/obstack-printf-tests: Likewise.
41519         * modules/obstack-printf-posix-tests: Likewise.
41520
41521 2008-06-11  Bruno Haible  <bruno@clisp.org>
41522
41523         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
41524         * lib/open.c: Include errno.h.
41525         (open): Fail when attempting to write to a file that has a trailing
41526         slash.
41527         * tests/test-open.c (main): Test against trailing slash bug.
41528         * doc/posix-functions/open.texi: Mention the trailing slash bug.
41529
41530 2008-06-10  Bruno Haible  <bruno@clisp.org>
41531
41532         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
41533         for $? to work inside the trap command, with various /bin/sh-s.
41534         * tests/test-vc-list-files-cvs.sh: Likewise.
41535
41536 2008-06-10  Bruno Haible  <bruno@clisp.org>
41537
41538         * lib/acl-internal.h: Don't include gettext.h here.
41539         * lib/set-mode-acl.c: Include gettext.h here.
41540         * lib/copy-acl.c: Likewise.
41541
41542 2008-06-10  Bruno Haible  <bruno@clisp.org>
41543
41544         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
41545         * lib/wait-process.c (wait_subprocess): Likewise.
41546         * lib/execute.h (execute): Add termsigp argument.
41547         * lib/execute.c (execute): Likewise.
41548         * lib/csharpcomp.c (compile_csharp_using_pnet,
41549         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
41550         * lib/csharpexec.c (execute_csharp_using_pnet,
41551         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
41552         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
41553         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
41554         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
41555         is_jikes_present): Update.
41556         * lib/javaexec.c (execute_java_class): Update.
41557         * lib/javaversion.c (execute_and_read_line): Update.
41558         * NEWS: Document the changes.
41559         Reported by Eric Blake.
41560
41561 2008-06-10  Eric Blake  <ebb9@byu.net>
41562
41563         Add missing include.
41564         * tests/test-strstr.c (includes): Add <signal.h>.
41565         * tests/test-strcasestr.c (includes): Likewise.
41566         * tests/test-memmem.c (includes): Likewise.
41567
41568 2008-06-10  Bruno Haible  <bruno@clisp.org>
41569
41570         * lib/wait-process.c (wait_subprocess): Add an assertion.
41571
41572 2008-06-10  Bruno Haible  <bruno@clisp.org>
41573
41574         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
41575
41576 2008-06-10  Bruno Haible  <bruno@clisp.org>
41577
41578         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
41579         using alarm().
41580         * tests/test-strcasestr.c (main): Likewise.
41581         * tests/test-strstr.c (main): Likewise.
41582
41583 2008-06-09  Bruno Haible  <bruno@clisp.org>
41584
41585         Work around the Solaris 10 ACE ACLs ABI change.
41586         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
41587         declare if ACL_NO_TRIVIAL is present.
41588         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
41589         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
41590         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
41591         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
41592         define if ACL_NO_TRIVIAL is present.
41593         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
41594         and use the current ABI.
41595         (file_has_acl): Use same #if condition as elsewhere.
41596         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
41597         in use, and use the current ABI.
41598         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
41599         Reported by Jim Meyering.
41600
41601 2008-06-09  Eric Blake  <ebb9@byu.net>
41602
41603         Work around environments that (stupidly) ignore SIGALRM.
41604         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
41605         before using alarm().
41606         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41607         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41608         Reported by Ian Beckwith <ianb@erislabs.net>.
41609
41610         Produce autobuild blurb earlier in log.
41611         * modules/autobuild (configure.ac-early): Move AB_INIT here.
41612
41613 2008-06-09  Jim Meyering  <meyering@redhat.com>
41614         and OndÅ™ej Vašík  <ovasik@redhat.com>
41615
41616         utimens.c: correct kernel bug work-around
41617         OndÅ™ej Vašík found that the invalid return value of 280 indicates
41618         failure, not success, and the kernel bug we're trying to work
41619         around affects not just the utimensat call, but also the fallback
41620         futimens call.
41621         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
41622         not success.
41623         [HAVE_FUTIMENS]: Use the same work-around, here.
41624
41625 2008-06-09  Jim Meyering  <meyering@redhat.com>
41626
41627         add more guards around definition of ACE_-related code
41628         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
41629         ALLOW and ACE_OWNER are also defined.
41630
41631 2008-06-08  Bruno Haible  <bruno@clisp.org>
41632
41633         * lib/acl-internal.h: Add me as co-author.
41634         * lib/file-has-acl.c: Likewise.
41635         * lib/set-mode-acl.c: Likewise.
41636         * lib/copy-acl.c: Likewise.
41637
41638 2008-06-08  Bruno Haible  <bruno@clisp.org>
41639
41640         Add support for AIX ACLs.
41641         * lib/acl-internal.h (acl_nontrivial): New declaration.
41642         * lib/file-has-acl.c (acl_nontrivial): New function.
41643         (file_has_acl): Add implementation using AIX 4 ACL API.
41644         * lib/set-mode-acl.c (qset_acl): Likewise.
41645         * lib/copy-acl.c (qcopy_acl): Likewise.
41646
41647 2008-06-08  Bruno Haible  <bruno@clisp.org>
41648
41649         Add support for HP-UX ACLs.
41650         * lib/acl-internal.h (acl_nontrivial): New declaration.
41651         * lib/file-has-acl.c (acl_nontrivial): New function.
41652         (file_has_acl): Add implementation using HP-UX 11 ACL API.
41653         * lib/set-mode-acl.c (qset_acl): Likewise.
41654         * lib/copy-acl.c (qcopy_acl): Likewise.
41655
41656 2008-06-08  Bruno Haible  <bruno@clisp.org>
41657
41658         Add support for Cygwin ACLs.
41659         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
41660         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
41661         the chmod_or_fchmod call.
41662         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
41663
41664 2008-06-08  Bruno Haible  <bruno@clisp.org>
41665
41666         Fix bug with setuid modes in Solaris 10+ code.
41667         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
41668         succeeded, when the mode contains some special bits.
41669
41670 2008-06-08  Bruno Haible  <bruno@clisp.org>
41671
41672         Add support for Solaris 7..10 ACLs.
41673         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
41674         declarations.
41675         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
41676         functions.
41677         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
41678         * lib/set-mode-acl.c (qset_acl): Likewise.
41679         * lib/copy-acl.c (qcopy_acl): Likewise.
41680
41681 2008-06-08  Bruno Haible  <bruno@clisp.org>
41682
41683         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
41684         declaration.
41685         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
41686         (acl_access_nontrivial): Remove MacOS X case.
41687         (file_has_acl): Use acl_extended_nontrivial.
41688         * lib/copy-acl.c (qcopy_acl): Likewise.
41689
41690 2008-06-08  Bruno Haible  <bruno@clisp.org>
41691
41692         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
41693
41694 2008-06-08  Jim Meyering  <meyering@redhat.com>
41695
41696         * modules/acl (Maintainer): Add Bruno Haible.
41697
41698 2008-06-07  Bruno Haible  <bruno@clisp.org>
41699
41700         Improve support for Tru64 ACLs.
41701         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
41702         ACL on OSF/1.
41703
41704 2008-06-07  Bruno Haible  <bruno@clisp.org>
41705
41706         Add support for MacOS X ACLs.
41707         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
41708         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
41709         * lib/set-mode-acl.c (qset_acl): Likewise.
41710         * lib/copy-acl.c (qcopy_acl): Likewise.
41711
41712 2008-06-07  Bruno Haible  <bruno@clisp.org>
41713
41714         Fix memory leak introduced on 2008-05-22.
41715         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
41716         use.
41717
41718 2008-06-07  Bruno Haible  <bruno@clisp.org>
41719
41720         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
41721         to construct an empty ACL.
41722
41723 2008-06-07  Bruno Haible  <bruno@clisp.org>
41724
41725         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
41726         precisely.
41727         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
41728
41729 2008-06-07  Bruno Haible  <bruno@clisp.org>
41730
41731         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
41732         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
41733
41734 2008-06-07  Bruno Haible  <bruno@clisp.org>
41735
41736         * doc/posix-functions/_setjmp.texi: Explain the use of this function
41737         regardless of POSIX.
41738         * doc/posix-functions/_longjmp.texi: Likewise.
41739         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
41740         SystemV platform in this case.
41741
41742 2008-06-06  Eric Blake  <ebb9@byu.net>
41743
41744         Document abort() bugs.
41745         * doc/posix-functions/abort.texi (abort): Mention anomalies.
41746
41747         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
41748         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
41749         sigsetjmp.
41750         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
41751         siglongjmp, but only as a macro.
41752         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
41753         is obsolete.
41754         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
41755
41756         Tweak documentation to cover cygwin argz bugs.
41757         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
41758         argz bug fix; no code change needed since no cygwin releases
41759         occurred between the last fix and the bug being tested.
41760         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
41761         module and recently fixed cygwin bugs.
41762         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
41763         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
41764         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
41765         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
41766         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
41767         Likewise.
41768         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
41769         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
41770         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
41771         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
41772         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
41773         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
41774         Likewise.
41775
41776         Avoid gcc warning on cygwin.
41777         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
41778         !ACL_NO_TRIVIAL]: Avoid unused variable.
41779
41780 2008-06-05  Eric Blake  <ebb9@byu.net>
41781
41782         Be tolerant of UNKNOWN version in gnulib-tool test dir.
41783         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
41784         git-version-gen fails to come up with a version.
41785         Reported by Simon Josefsson.
41786
41787 2008-06-05  Jim Meyering  <meyering@redhat.com>
41788             Paul Eggert  <eggert@cs.ucla.edu>
41789
41790         utimens.c: work around a probable Linux kernel bug
41791         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
41792         appears to be a kernel bug that causes utimensat to return 280
41793         instead of 0, indicating success.
41794
41795 2008-06-04  Bruno Haible  <bruno@clisp.org>
41796
41797         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
41798         2008-06-01 commit.
41799
41800 2008-06-04  Bruno Haible  <bruno@clisp.org>
41801
41802         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
41803         * lib/file-has-acl.c (acl_access_nontrivial): New function.
41804         (file_has_acl): Use it. Save errno afterwards.
41805         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
41806
41807 2008-06-03  Bruno Haible  <bruno@clisp.org>
41808
41809         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
41810         draft code. Simplify #ifs.
41811         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
41812         Put Solaris code after POSIX-draft code. Fix comments regarding
41813         Solaris 10, HP-UX. Mention Cygwin.
41814         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
41815
41816 2008-06-03  Eric Blake  <ebb9@byu.net>
41817
41818         Provide fallback for older kernels.
41819         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
41820         Provide runtime fallback if kernel lacks support.
41821         Reported by Mike Frysinger.
41822
41823 2008-06-02  Bruno Haible  <bruno@clisp.org>
41824
41825         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
41826         it exists.
41827
41828 2008-06-02  Bruno Haible  <bruno@clisp.org>
41829
41830         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
41831         * lib/copy-acl.c (qcopy_acl): Update comment.
41832
41833 2008-06-02  Bruno Haible  <bruno@clisp.org>
41834
41835         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
41836         like ACL APIs.
41837
41838 2008-06-02  Bruno Haible  <bruno@clisp.org>
41839
41840         * tests/test-file-has-acl.sh: Use different code for Cygwin.
41841         * tests/test-set-mode-acl.sh: Likewise.
41842         * tests/test-copy-acl.sh: Likewise.
41843         * tests/test-copy-file.sh: Likewise.
41844
41845 2008-06-02  Bruno Haible  <bruno@clisp.org>
41846
41847         * tests/test-file-has-acl.sh: Remove unused code.
41848
41849 2008-06-01  Bruno Haible  <bruno@clisp.org>
41850
41851         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
41852         (copy_acl): Just a wrapper around qcopy_acl that emits the error
41853         messages.
41854         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
41855
41856 2008-06-01  Bruno Haible  <bruno@clisp.org>
41857
41858         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
41859         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
41860         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
41861         APIs.
41862         * modules/acl-tests (configure.ac): Remove tests now contained in
41863         m4/acl.m4.
41864
41865 2008-06-02  Jim Meyering  <meyering@redhat.com>
41866
41867         announce-gen: use a better key-server host name
41868         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
41869         it may be more consistently reliable.  Suggested by Werner Koch
41870         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
41871
41872 2008-06-01  Bruno Haible  <bruno@clisp.org>
41873
41874         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
41875         Reported by Voroskoi Andras <voroskoi@gmail.com>.
41876
41877 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
41878
41879         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
41880
41881 2008-06-01  Bruno Haible  <bruno@clisp.org>
41882
41883         New ACL tests.
41884         * tests/test-file-has-acl.sh: New file.
41885         * tests/test-file-has-acl.c: New file.
41886         * tests/test-set-mode-acl.sh: New file.
41887         * tests/test-set-mode-acl.c: New file.
41888         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
41889         * tests/test-copy-acl.c: New file.
41890         * modules/acl-tests: New file, based on modules/copy-file-tests.
41891         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
41892         (Depends-on): Add acl-tests.
41893         (configure.ac): Remove checks.
41894         (Makefile.am): Don't create test-sameacls program here any more.
41895
41896 2008-06-01  Bruno Haible  <bruno@clisp.org>
41897
41898         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
41899         * tests/test-sameacls.c: Include progname.h.
41900         (main): Invoke set_program_name. Portability fixes for MacOS X,
41901         Solaris, HP-UX.
41902
41903 2008-06-01  Bruno Haible  <bruno@clisp.org>
41904
41905         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
41906         function.
41907         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
41908
41909 2008-06-01  Bruno Haible  <bruno@clisp.org>
41910
41911         * modules/rpmatch (Depends-on): Add strdup.
41912
41913 2008-06-01  Bruno Haible  <bruno@clisp.org>
41914
41915         * lib/pipe.c: Include unistd-safer.h.
41916         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
41917         * modules/pipe (Depends-on): Add unistd-safer.
41918
41919 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41920
41921         * modules/autobuild (configure.ac): Call AB_INIT.
41922
41923 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41924
41925         * tests/test-getaddrinfo.c: Don't print debug messages by default.
41926         Suggested by Bruno Haible <bruno@clisp.org>.
41927
41928 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41929
41930         * tests/test-base64.c: Cast size_t to unsigned long when invoking
41931         printf.  Use %lu instead of %d.  Reported by Bruno Haible
41932         <bruno@clisp.org>.
41933
41934 2008-05-29  Eric Blake  <ebb9@byu.net>
41935
41936         Prefer new POSIX 200x interfaces over futimesat.
41937         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
41938         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
41939         when available.
41940         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
41941
41942 2008-05-28  Bruno Haible  <bruno@clisp.org>
41943
41944         * modules/stpcpy (License): Change to LGPLv2+.
41945         Requested by David Lutterkort <dlutter@redhat.com>.
41946
41947 2008-05-27  Bruno Haible  <bruno@clisp.org>
41948
41949         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
41950         current mingw.
41951         Reported by Jose E. Marchesi <jemarch@gnu.org>.
41952
41953 2008-05-27  Bruno Haible  <bruno@clisp.org>
41954
41955         * modules/iconv_open (Link): New section, from module 'iconv'.
41956         * modules/striconv (Link): Likewise.
41957         * modules/striconveh (Link): Likewise.
41958         * modules/xstriconv (Link): Likewise.
41959         * modules/unicodeio (Link): Likewise.
41960         * modules/propername (Link): Likewise.
41961         Reported by Jim Meyering.
41962
41963 2008-05-26  Jim Meyering  <meyering@redhat.com>
41964
41965         sha256: do not artificially restrict buffer length to be < 2^32
41966         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
41967         uint32_t to size_t.
41968         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
41969         to match.
41970
41971         avoid unaligned access errors, e.g., on sparc
41972         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
41973         direct access through a possibly-unaligned uint64* pointer.
41974         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
41975         direct access through a possibly-unaligned uint32* pointer.
41976         Prompted by this patch from Tom "spot" Callaway:
41977         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
41978
41979         sha512.c: fix typo in comment
41980         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
41981
41982 2008-05-25  Bruno Haible  <bruno@clisp.org>
41983
41984         * lib/set-mode-acl.c: Renamed from lib/acl.c.
41985         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
41986         (Makefile.am): Update lib_SOURCES.
41987
41988 2008-05-25  Bruno Haible  <bruno@clisp.org>
41989
41990         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
41991
41992 2008-05-25  Jim Meyering  <meyering@redhat.com>
41993
41994         useless-if-before-free: freed expr may have white-space differences
41995         * build-aux/useless-if-before-free: Recognize cases in which the
41996         freed expression differs from the tested one in embedded white
41997         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
41998         $1 was used, so we can't make any regexp shy.  Improved tests now
41999         detect this.
42000
42001         useless-if-before-free: accept white space in the expression.
42002         * build-aux/useless-if-before-free: For now, any white space
42003         in the expression must be identical in the free argument.
42004
42005         useless-if-before-free: efficiency tweak
42006         * build-aux/useless-if-before-free: Make the expression-matching
42007         regexp "shy".
42008         Make the *outer* regexp shy, not the expr-matching one.
42009
42010         update code-in-comment to accept cast of free arg
42011         * build-aux/useless-if-before-free: Update regexp.
42012
42013 2008-05-25  Bruno Haible  <bruno@clisp.org>
42014
42015         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
42016         * modules/copy-file-tests (Files, Makefile.am): Update.
42017         * tests/test-copy-file.c (func_test_copy): Update.
42018
42019 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
42020
42021         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
42022
42023 2008-05-23  Bruno Haible  <bruno@clisp.org>
42024
42025         Improve support for ACLs on OSF/1.
42026         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
42027         Remove fallback for unknown flavors of ACLs.
42028
42029 2008-05-22  Bruno Haible  <bruno@clisp.org>
42030
42031         Add support for ACLs on OSF/1.
42032         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
42033         replacements.
42034         (acl_free_text): New macro fallback.
42035         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
42036         acl_free.
42037         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
42038         acl_free_text function. Require AC_C_INLINE.
42039
42040 2008-05-22  Bruno Haible  <bruno@clisp.org>
42041
42042         Make copy_acl work on MacOS X 10.5.
42043         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
42044         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
42045         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
42046         If MODE_INSIDE_ACL, don't assume that every system has the same text
42047         representation for ACLs as FreeBSD.
42048         * lib/copy-acl.c (copy_acl): Add support for platforms with
42049         !MODE_INSIDE_ACL.
42050         * lib/file-has-acl.c (file_has_acl): Likewise.
42051         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
42052         FreeBSD, MacOS X, or IRIX, respectively.
42053
42054 2008-05-22  Bruno Haible  <bruno@clisp.org>
42055
42056         * lib/acl.h: Don't include <sys/acl.h>.
42057         (GETACLCNT): Move fallback to lib/acl-internal.h.
42058         * lib/acl-internal.h: Include <sys/acl.h> here.
42059         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
42060
42061 2008-05-22  Bruno Haible  <bruno@clisp.org>
42062
42063         Split off copy_acl function to separate file.
42064         * lib/copy-acl.c: New file, extracted from lib/acl.c.
42065         * lib/acl.c (copy_acl): Moved function to separate file.
42066         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
42067         * modules/acl (Files): Add lib/copy-acl.c.
42068         (Makefiles.am): Augment lib_SOURCES.
42069
42070 2008-05-22  Bruno Haible  <bruno@clisp.org>
42071
42072         * modules/copy-file-tests: New file.
42073         * tests/test-copy-file.sh: New file.
42074         * tests/test-copy-file.c: New file.
42075         * tests/test-copy-file-sameacls.c: New file.
42076
42077 2008-05-22  Eric Blake  <ebb9@byu.net>
42078
42079         Avoid gcc warning.
42080         * tests/test-memcmp.c (main): Pass NULL indirectly.
42081
42082 2008-05-21  Bruno Haible  <bruno@clisp.org>
42083
42084         Add reference doc about ACLs.
42085         * doc/acl-resources.txt: New file.
42086         * doc/acl-cygwin.txt: New file.
42087
42088 2008-05-21  Bruno Haible  <bruno@clisp.org>
42089
42090         Avoid one more warning from gcc.
42091         * lib/vasnprintf.c (IF_LINT): Update comments.
42092         (VASNPRINTF): Use it also for the 'prefix' array initializer.
42093
42094 2008-05-21  Jim Meyering  <meyering@redhat.com>
42095
42096         avoid a warning from gcc
42097         * lib/vasnprintf.c (IF_LINT): Define.
42098         (scale10_round_decimal_long_double):
42099         Use it to avoid a "may be used uninitialized" warning.
42100         (scale10_round_decimal_double): Likewise.
42101
42102 2008-05-21  Simon Josefsson  <simon@josefsson.org>
42103
42104         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
42105         declared.
42106
42107 2008-05-20  Bruno Haible  <bruno@clisp.org>
42108
42109         * tests/test-memcmp.c (main): Test also the sign of the result. Test
42110         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
42111
42112 2008-05-20  Simon Josefsson  <simon@josefsson.org>
42113
42114         * modules/memcmp-tests: New file.
42115         * tests/test-memcmp.c: New file.
42116
42117 2008-05-19  Bruno Haible  <bruno@clisp.org>
42118
42119         * modules/propername (Notice, configure.ac): Put quoted "..." into
42120         --keyword option.
42121         * lib/propername.h: Update comments accordingly.
42122         Reported by Eric Blake.
42123
42124 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
42125
42126         * modules/getpass-gnu (Depends-on): Add fseeko.
42127
42128 2008-05-19  Simon Josefsson  <simon@josefsson.org>
42129
42130         * modules/base64-tests: New file.
42131
42132 2008-05-19  Bo Borgerson <gigabo@gmail.com>
42133
42134         * lib/base64.c (base64_decode_ctx): If a decode context structure
42135         was passed in use it to ignore newlines.  If a context structure
42136         was _not_ passed in, continue to treat newlines as garbage (this
42137         is the historical behavior).  Formerly base64_decode.
42138         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
42139         takes a decode context structure.
42140         * lib/base64.h (base64_decode): Macro for four-argument calls.
42141         (base64_decode_alloc): Likewise.
42142         * lib/base64.c (base64_decode_ctx): If a decode context structure
42143         was passed in use it to ignore newlines.  If a context structure
42144         was _not_ passed in, continue to treat newlines as garbage (this
42145         is the historical behavior).  Formerly base64_decode.
42146         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
42147         takes a decode context structure.
42148         * lib/base64.h (base64_decode): Macro for four-argument calls.
42149         (base64_decode_alloc): Likewise.
42150
42151 2008-05-19  Jim Meyering  <meyering@redhat.com>
42152
42153         avoid a warning from gcc
42154         * lib/trim.c (IF_LINT): Define.
42155         (trim2): Use it to avoid a "may be used uninitialized" warning.
42156
42157         Fix doc typo.
42158         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
42159
42160 2008-05-19  Bruno Haible  <bruno@clisp.org>
42161
42162         * doc/glibc-functions/getpass.texi: Document limits of other
42163         implementations.
42164
42165 2008-05-19  Simon Josefsson  <simon@josefsson.org>
42166             Bruno Haible <bruno@clisp.org>
42167
42168         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
42169
42170 2008-05-18  Bruno Haible  <bruno@clisp.org>
42171
42172         * modules/propername: New file, from GNU gettext.
42173         * lib/propername.h: New file, from GNU gettext.
42174         * lib/propername.c: New file, from GNU gettext.
42175         * MODULES.html.sh (Internationalization functions): Add propername.
42176
42177 2008-05-16  Jim Meyering  <meyering@redhat.com>
42178             Bruno Haible  <bruno@clisp.org>
42179
42180         Avoid some warnings from "gcc -Wshadow".
42181         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
42182
42183 2008-05-15  Eric Blake  <ebb9@byu.net>
42184
42185         Extend previous patch to cygwin 1.7.0.
42186         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
42187         fast implementation in cygwin >= 1.7.0.
42188         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42190
42191 2008-05-15  Bruno Haible  <bruno@clisp.org>
42192
42193         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
42194         implementation in glibc >= 2.9.
42195         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42196         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42197
42198 2008-05-15  Bruno Haible  <bruno@clisp.org>
42199
42200         * MODULES.html.sh (Internationalization functions): Remove linebreak.
42201         (Unicode string functions): Add unilbrk/*.
42202         Reported by Karl Berry.
42203
42204 2008-05-15  Eric Blake  <ebb9@byu.net>
42205
42206         Fix violation of <stdbool.h> replacement in regex.
42207         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
42208         * lib/regexec.c (re_search_internal): Likewise.
42209         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
42210
42211 2008-05-15  Jim Meyering  <meyering@redhat.com>
42212
42213         avoid distracting test output when git or cvs is not found
42214         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
42215         * tests/test-vc-list-files-git.sh: Likewise.
42216
42217 2008-05-15  Eric Blake  <ebb9@byu.net>
42218
42219         Glibc finally accepted the memmem speedup code, bugzilla #5514.
42220         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
42221         glibc version.
42222         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42223         * doc/posix-functions/strstr.texi (strstr): Likewise.
42224         * lib/str-two-way.h (MAX): Sychronize with glibc.
42225
42226 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
42227
42228         * lib/regcomp.c (optimize_utf8): Add a note on why we test
42229         opr.ctx_type.
42230         (calc_first): Initialize constraint field.
42231         (duplicate_node_closure): Use it instead of special casing ANCHORS.
42232         Fix grammar.
42233         (duplicate_node): Merge constraint field for all node types.
42234         (calc_eclosure_iter): Look at constraint field for all node types.
42235         * lib/regex_internal.c (create_cd_newstate): Don't look at
42236         opr.ctx_type.
42237
42238 2008-05-14  Bruno Haible  <bruno@clisp.org>
42239
42240         Help GCC to do better code generation.
42241         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
42242         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
42243         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
42244         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
42245         Declare with attribute 'malloc' if supported.
42246
42247 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
42248
42249         use "echo STR|wc -c" rather than unportable "expr length STR"
42250         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
42251         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
42252
42253 2008-05-14  Jim Meyering  <meyering@redhat.com>
42254
42255         use dd ibs=$n count=1 ... rather than less-portable head -c$n
42256         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
42257         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
42258         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
42259         via Collin Lasse.
42260
42261 2008-05-14  Eric Blake  <ebb9@byu.net>
42262
42263         Avoid quadratic growth in gl_LIBSOURCES.
42264         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
42265         Suggested by Bruno Haible.
42266
42267         Test xmemdup0.
42268         * modules/xmemdup0-tests: New file.
42269         * tests/test-xmemdup0.c: Likewise.
42270
42271 2008-05-13  Eric Blake  <ebb9@byu.net>
42272
42273         Split xmemdup0 into its own module.
42274         * modules/xmemdup0: New file.
42275         * lib/xmemdup0.h: Likewise.
42276         * lib/xmemdup0.c: Likewise.
42277         * MODULES.html.sh (Memory management functions): Add xmemdup0.
42278         * lib/xalloc.h (xmemdup0): Remove.
42279         * lib/xmalloc.c (xmemdup0): Likewise.
42280
42281 2008-05-13  Eric Blake  <ebb9@byu.net>
42282             Bruno Haible  <bruno@clisp.org>
42283
42284         Reduce number of forks required during autoconf.
42285         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
42286         and gl_LIBSOURCES_DIR.
42287         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
42288         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
42289         m4_syscmd per file.
42290         <m4_foreach_w>: Move...
42291         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
42292
42293 2008-05-13  Eric Blake  <ebb9@byu.net>
42294
42295         * gnulib-tool: Fix various comment typos.
42296
42297 2008-05-12  Bruno Haible  <bruno@clisp.org>
42298
42299         Tailor the linebreaking algorithm.
42300         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
42301
42302 2008-05-12  Bruno Haible  <bruno@clisp.org>
42303
42304         Update to Unicode 5.0.0.
42305         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
42306         LBP_JV, LBP_JT. Redistribute values.
42307         (unilbrk_table): Change size.
42308         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
42309         Unicode TR#14 rev. 22.
42310         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
42311         LBP_JV, LBP_JT. Redistribute values.
42312         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
42313         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
42314         Update.
42315         * lib/unilbrk/lbrkprop1.h: Regenerated.
42316         * lib/unilbrk/lbrkprop2.h: Regenerated.
42317         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
42318         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
42319         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
42320         Likewise.
42321         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
42322         Likewise.
42323         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
42324         result.
42325         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
42326         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
42327         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
42328         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
42329         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
42330         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
42331
42332 2008-05-11  Bruno Haible  <bruno@clisp.org>
42333
42334         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
42335
42336 2008-05-11  Bruno Haible  <bruno@clisp.org>
42337
42338         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
42339         * modules/unilbrk/gen-lbrk: New file.
42340
42341 2008-05-11  Bruno Haible  <bruno@clisp.org>
42342
42343         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
42344         * m4/sha512.m4 (gl_SHA512): Likewise.
42345
42346 2008-05-11  Jim Meyering  <meyering@redhat.com>
42347
42348         New modules: crypto/sha256, crypto/sha512 (from coreutils)
42349         * modules/crypto/sha256: New file.
42350         * modules/crypto/sha512: Likewise.
42351         * lib/sha256.c: Likewise.
42352         * lib/sha256.h: Likewise.
42353         * lib/sha512.c: Likewise.
42354         * lib/sha512.h: Likewise.
42355         * lib/u64.h: Likewise.
42356         * m4/sha256.m4: Likewise.
42357         * m4/sha512.m4: Likewise.
42358         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
42359
42360 2008-05-10  Bruno Haible  <bruno@clisp.org>
42361
42362         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
42363         (Input/Output <stdio.h>): Add xprintf.
42364         (Signal handling <signal.h>): Add strsignal.
42365         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
42366         (Core language properties): Add func.
42367         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
42368         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
42369         strings.
42370         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
42371         (Input/output): New section.
42372         (File system functions): Add openat-die, stat-macros.
42373         (Networking functions): Add sockets.
42374         (Unicode string functions): Add unictype/*.
42375         (Support for building libraries and executables): Add gperf.
42376         (Support for building documentation): Add agpl-3.0.
42377         (Misc): Add nocrash.
42378
42379 2008-05-10  Bruno Haible  <bruno@clisp.org>
42380
42381         * modules/unictype/gen-ctype: New file.
42382
42383 2008-05-10  Jim Meyering  <meyering@redhat.com>
42384
42385         Make chdir-safer.c more efficient on a system with no symlinks.
42386         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
42387         also if ELOOP is zero.  Suggested by Bruno Haible.
42388
42389         Make chdir-safer.c slightly safer.
42390         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
42391         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
42392
42393         Avoid compile failure on systems without ELOOP (like mingw).
42394         * lib/chdir-safer.c (ELOOP): Define if not already defined.
42395         Reported by Bruno Haible.
42396
42397 2008-05-10  Bruno Haible  <bruno@clisp.org>
42398
42399         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
42400         (is_utf8_encoding): Use a case-insensitive comparison.
42401         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
42402         streq.
42403
42404 2008-05-10  Bruno Haible  <bruno@clisp.org>
42405
42406         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
42407         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
42408         * lib/unilbrk/ulc-common.h (iconv_string_length,
42409         iconv_string_keeping_offsets): Remove declarations.
42410         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
42411         Don't include <iconv.h>, streq.h, xsize.h.
42412         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
42413         conversion.
42414         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
42415         <iconv.h>, streq.h, xsize.h.
42416         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
42417         conversion.
42418         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
42419         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
42420         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
42421         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
42422
42423 2008-05-10  Bruno Haible  <bruno@clisp.org>
42424
42425         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
42426         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
42427
42428         * modules/unilbrk/u32-width-linebreaks-tests: New file.
42429         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
42430
42431         * modules/unilbrk/u16-width-linebreaks-tests: New file.
42432         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
42433
42434         * modules/unilbrk/u8-width-linebreaks-tests: New file.
42435         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
42436
42437         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
42438         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
42439
42440         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
42441         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
42442
42443         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
42444         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
42445
42446         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
42447         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
42448
42449 2008-05-10  Bruno Haible  <bruno@clisp.org>
42450
42451         Split up 'linebreak' module.
42452         * lib/unilbrk.h: New file, based on lib/linebreak.h.
42453         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
42454         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
42455         modifications.
42456         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
42457         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
42458         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
42459         lib/linebreak.c.
42460         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
42461         lib/linebreak.c.
42462         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
42463         lib/linebreak.c.
42464         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
42465         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
42466         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
42467         lib/linebreak.c.
42468         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
42469         lib/linebreak.c.
42470         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
42471         lib/linebreak.c.
42472         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
42473         lib/linebreak.c.
42474         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
42475         lib/linebreak.c.
42476         * modules/unilbrk/base: New file.
42477         * modules/unilbrk/tables: New file.
42478         * modules/unilbrk/u8-possible-linebreaks: New file.
42479         * modules/unilbrk/u16-possible-linebreaks: New file.
42480         * modules/unilbrk/u32-possible-linebreaks: New file.
42481         * modules/unilbrk/ulc-common: New file.
42482         * modules/unilbrk/ulc-possible-linebreaks: New file.
42483         * modules/unilbrk/u8-width-linebreaks: New file.
42484         * modules/unilbrk/u16-width-linebreaks: New file.
42485         * modules/unilbrk/u32-width-linebreaks: New file.
42486         * modules/unilbrk/ulc-width-linebreaks: New file.
42487         * lib/linebreak.h: Remove file.
42488         * lib/linebreak.c: Remove file.
42489         * m4/linebreak.m4: Remove file.
42490         * modules/linebreak: Remove file.
42491         * NEWS: Mention the changes.
42492
42493 2008-05-09  Eric Blake  <ebb9@byu.net>
42494
42495         Add xmemdup0.
42496         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
42497         implementation.
42498         * lib/xmalloc.c (xmemdup0): New C implementation.
42499
42500 2008-05-08  Bruno Haible  <bruno@clisp.org>
42501
42502         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
42503
42504 2008-05-07  Eric Blake  <ebb9@byu.net>
42505
42506         Support cross-compilation of <wctype.h>.
42507         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
42508         AC_CACHE_CHECK.
42509
42510 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
42511
42512         * build-aux/vc-list-files: Add support for bzr.
42513
42514 2008-05-03  Jim Meyering  <meyering@redhat.com>
42515
42516         avoid failed assertion with tight malloc
42517         * tests/test-getndelim2.c: Correct an off-by-one assertion.
42518
42519 2008-05-03  Simon Josefsson  <simon@josefsson.org>
42520
42521         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
42522         are needed from arpa/inet.h.
42523         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
42524         Reported by Bruno Haible.
42525
42526 2008-05-02  Jim Meyering  <meyering@redhat.com>
42527
42528         avoid compilation error on FreeBSD 6
42529         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
42530
42531 2008-05-01  Jim Meyering  <meyering@redhat.com>
42532
42533         useless-if-before-free: correct --help's exit status description
42534         * build-aux/useless-if-before-free (usage): Like grep, exit 0
42535         for one or more matches, etc.  Reported by Bruno Haible.
42536
42537         vc-list-files: make the stand-alone gnulib test work
42538         * modules/vc-list-files-tests (configure.ac):
42539         Define and AC_SUBST abs_aux_dir.
42540         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
42541         $(abs_top_srcdir) to each script and having each of them
42542         duplicate the work of setting PATH, set PATH here, using
42543         the new variable, abs_aux_dir instead.
42544         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
42545         * tests/test-vc-list-files-git.sh: Likewise.
42546         Reported by Bruno Haible.
42547
42548 2008-05-01  Bruno Haible  <bruno@clisp.org>
42549
42550         * lib/getndelim2.c (getndelim2): Fix newsize computation during
42551         reallocation. Rename 'done' to 'found_delimiter'.
42552
42553 2008-05-01  Jim Meyering  <meyering@redhat.com>
42554
42555         vc-list-files: accommodate /bin/sh like the one from Solaris 10
42556         * build-aux/vc-list-files: Use `...`, not $(...).
42557
42558 2008-04-30  Jim Meyering  <meyering@redhat.com>
42559
42560         add tests for vc-list-files
42561         * modules/vc-list-files-tests: New module.
42562         * tests/test-vc-list-files-cvs.sh: New file.
42563         * tests/test-vc-list-files-git.sh: New file.
42564
42565         avoid a warning from gcc
42566         * lib/getndelim2.c (IF_LINT): Define.
42567         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
42568
42569         vc-list-files: work properly with build-aux/cvsu, too
42570         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
42571         to all cvs-based clauses.
42572
42573         vc-list-files: work properly in the CVS+awk case, too
42574         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
42575
42576         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
42577         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
42578         take more than one file argument, so .  Add quotes, just in case $dir
42579         ever contains a shell meta-character.  Prompted by Soren Hansen in
42580         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
42581
42582 2008-04-29  Eric Blake  <ebb9@byu.net>
42583
42584         Optimize getndelim2 to use block operations when possible.
42585         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
42586         freadseek, and memchr2.
42587         * lib/getndelim2.c (getndelim2): Use them for block reads.
42588
42589 2008-04-29  Bruno Haible  <bruno@clisp.org>
42590
42591         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
42592         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42593         * modules/inet_ntop (Depends-on): Add extensions.
42594         * modules/inet_pton (Depends-on): Likewise.
42595         Reported by Simon Josefsson.
42596
42597 2008-04-29  Jim Meyering  <meyering@redhat.com>
42598
42599         When the is more than one match in a block, match all of them.
42600         * build-aux/useless-if-before-free: Iterate through each block
42601         until there are no more matches.
42602
42603         Fix broken useless-if-before-free script.
42604         * build-aux/useless-if-before-free: Fix typo: missing "?" after
42605         the expression to match cast of argument to free-like function.
42606
42607 2008-04-29  Eric Blake  <ebb9@byu.net>
42608
42609         Use new header.
42610         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
42611
42612 2008-04-29  Jim Meyering  <meyering@redhat.com>
42613
42614         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
42615         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
42616         by gnulib to exist and to declare e.g., inet_ntop.
42617         Don't include "inet_ntop.h", now removed.
42618
42619         * m4/arpa_inet_h.m4: Remove trailing blanks.
42620
42621 2008-04-29  Eric Blake  <ebb9@byu.net>
42622
42623         Silence valgrind on safe reads beyond potential array bounds.
42624         * lib/rawmemchr.valgrind: New file.
42625         * lib/strchrnul.valgrind: Likewise.
42626         * modules/rawmemchr (Files): Distribute new file.
42627         * modules/strchrnul (Files): Likewise.
42628         Suggested by Bruno Haible.
42629
42630 2008-04-29  Bruno Haible  <bruno@clisp.org>
42631
42632         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
42633         (inet_ntop, inet_pton): Change portability warning's wording.
42634         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
42635         Invoke gl_CHECK_NEXT_HEADERS.
42636         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
42637         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
42638         set ARPA_INET_H.
42639         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42640         * modules/arpa_inet (Description): No longer only for systems that
42641         lack it.
42642         (Depends-on): Add include_next.
42643         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
42644         HAVE_ARPA_INET_H.
42645
42646 2008-04-29  Jim Meyering  <meyering@redhat.com>
42647
42648         * modules/mkdir (License): Re-license as LGPLv2+.
42649
42650 2008-04-29  Bruno Haible  <bruno@clisp.org>
42651
42652         * modules/rawmemchr (Maintainer): Set to Eric.
42653         * modules/strchrnul (Maintainer): Likewise.
42654
42655 2008-04-29  Simon Josefsson  <simon@josefsson.org>
42656
42657         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
42658         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
42659
42660         * modules/arpa_inet (arpa/inet.h): Use them.
42661
42662 2008-04-28  Eric Blake  <ebb9@byu.net>
42663
42664         Test getndelim2.
42665         * modules/getndelim2-tests: New file.
42666         * tests/test-getndelim2.c: Likewise.
42667         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
42668         stream.
42669         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
42670
42671         * MODULES.html.sh: Document new module.
42672
42673 2008-04-20  Bruno Haible  <bruno@clisp.org>
42674
42675         * lib/c-stack.c (die): Use raise.
42676         * modules/c-stack (Depends-on): Add raise.
42677
42678 2008-04-28  Bruno Haible  <bruno@clisp.org>
42679
42680         Expect rpmatch to be declared.
42681         * lib/yesno.c (rpmatch): Remove declaration.
42682
42683         Declare rpmatch.
42684         * lib/stdlib.in.h (rpmatch): New declaration.
42685         * lib/rpmatch.c: Include <stdlib.h> first.
42686         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
42687         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
42688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
42689         HAVE_RPMATCH.
42690         * modules/rpmatch (Depends-on): Add stdlib, extensions.
42691         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42692         (Include): Set to <stdlib.h>.
42693         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
42694         HAVE_RPMATCH.
42695         * NEWS: Document the change.
42696
42697 2008-04-28  Bruno Haible  <bruno@clisp.org>
42698
42699         Change rpmatch to use nl_langinfo when appropriate.
42700         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
42701         (N_): New macro.
42702         (localized_pattern): New function/macro.
42703         (try): Remove match, nomatch arguments. Copy the pattern into safe
42704         memory before caching it.
42705         (rpmatch): Use localized_pattern. Add translator comments.
42706         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
42707         Suggested by Eric Blake.
42708         * modules/rpmatch (Depends-on): Add stdbool.
42709
42710 2008-04-28  Eric Blake  <ebb9@byu.net>
42711
42712         Add rawmemchr module, matching glibc.
42713         * modules/string (Makefile.am): New indicator.
42714         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
42715         * lib/string.in.h (rawmemchr): Declare when appropriate.
42716         * modules/rawmemchr: New file.
42717         * m4/rawmemchr.m4: Likewise.
42718         * lib/rawmemchr.c: Likewise.
42719         * modules/rawmemchr-tests: Likewise.
42720         * tests/test-rawmemchr.c: Likewise.
42721         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
42722         module.
42723         * modules/strchrnul (Depends-on): Add rawmemchr.
42724         * lib/strchrnul.c (strchrnul): Optimize a corner case.
42725
42726         Whitespace cleanup.
42727         * tests/test-strchrnul.c: Reindent.
42728         * lib/strchrnul.c: Likewise.
42729
42730         Optimize and test strchrnul.
42731         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
42732         * modules/strchrnul-tests: New file.
42733         * tests/test-strchrnul.c: Likewise.
42734
42735         Remove intprops dependency.
42736         * modules/memchr (Depends-on): Remove intprops.
42737         * modules/memrchr (Depends-on): Likewise.
42738         * modules/memchr2 (Depends-on): Likewise.
42739         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
42740         * lib/memrchr.c (__memrchr): Likewise.
42741         * lib/memrchr2.c (memchr2): Likewise.
42742         Reported by Simon Josefsson.
42743
42744 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42745
42746         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
42747         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42748
42749 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42750
42751         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
42752
42753         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
42754
42755         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
42756
42757         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
42758         declarations.
42759         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
42760
42761         * m4/inet_pton.m4: Don't check for header files.
42762
42763         * m4/inet_ntop.m4: Don't check for header files.
42764
42765 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42766
42767         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
42768         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
42769         trigger for cygwin).
42770         Reported by Bruno Haible  <bruno@clisp.org>.
42771
42772 2008-04-28  Bruno Haible  <bruno@clisp.org>
42773
42774         * doc/posix-functions/strdup.texi: Mention mingw problem.
42775
42776 2008-04-27  Bruno Haible  <bruno@clisp.org>
42777
42778         * modules/stat-time-tests (Depends-on): Add sleep.
42779         * tests/test-stat-time.c (force_unlink): New function.
42780         (cleanup): Use it.
42781         (test_mtime): Remove the ctime related tests.
42782         (test_ctime): New function, containing the ctime related tests.
42783         (main): Call test_ctime, except on native Windows platforms.
42784
42785 2008-04-27  Bruno Haible  <bruno@clisp.org>
42786
42787         * lib/rpmatch.c (rpmatch): Add some comments.
42788         Reported by James Youngman <jay@gnu.org>.
42789
42790 2008-04-27  Bruno Haible  <bruno@clisp.org>
42791
42792         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
42793         quiet NaNs.
42794
42795 2008-04-27  Bruno Haible  <bruno@clisp.org>
42796
42797         Make test-yesno.sh work on mingw.
42798         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
42799         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
42800         (main): Set stdin to binary mode.
42801         * modules/yesno-tests (Depends-on): Add binary-io.
42802
42803 2008-04-27  Bruno Haible  <bruno@clisp.org>
42804
42805         Fix 'isfinite' on x86, x86_64, ia64 platforms.
42806         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
42807         argument that lie outside the IEEE 854 domain.
42808         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
42809         (gl_ISFINITE): Use it.
42810         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
42811
42812 2008-04-27  Bruno Haible  <bruno@clisp.org>
42813
42814         Allow local renaming in config.h.
42815         * lib/memrchr.c (memrchr): Don't undefine outside libc.
42816
42817 2008-04-27  Bruno Haible  <bruno@clisp.org>
42818
42819         * lib/memchr.c (__memchr): Change type of 'i'.
42820         * lib/memchr2.c (memchr2): Likewise.
42821
42822 2008-04-26  Eric Blake  <ebb9@byu.net>
42823         and Bruno Haible  <bruno@clisp.org>
42824
42825         Optimize and test memrchr.
42826         * modules/memrchr (Depends-on): Add intprops.
42827         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
42828         * modules/memrchr-tests: New file.
42829         * tests/test-memrchr.c: New file.
42830
42831 2008-04-26  Bruno Haible  <bruno@clisp.org>
42832
42833         Add tentative support for DragonFly BSD.
42834         * lib/stdio-impl.h: Add macros for DragonFly BSD.
42835         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
42836         fp.
42837         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
42838         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
42839         * lib/fpurge.c (fpurge): Likewise.
42840         * lib/freadable.c (freaadable): Likewise.
42841         * lib/freadahead.c (freadahead): Likewise.
42842         * lib/freading.c (freading): Likewise.
42843         * lib/freadptr.c (freadptr): Likewise.
42844         * lib/freadseek.c (freadptrinc): Likewise.
42845         * lib/fseeko.c (fseeko): Likewise.
42846         * lib/fseterr.c (fseterr): Likewise.
42847         * lib/fwritable.c (fwritable): Likewise.
42848         * lib/fwriting.c (fwriting): Likewise.
42849
42850 2008-04-26  Bruno Haible  <bruno@clisp.org>
42851
42852         * lib/stdio-impl.h: New file.
42853         * lib/fbufmode.c: Include stdio-impl.h.
42854         (fbufmode): Use fp_, remove redundant #defines.
42855         * lib/fflush.c: Include stdio-impl.h.
42856         (clear_ungetc_buffer): Remove redundant #defines.
42857         * lib/fpurge.c: Include stdio-impl.h.
42858         (fpurge): Remove redundant #defines.
42859         * lib/freadable.c: Include stdio-impl.h.
42860         (freadable): Remove redundant #defines.
42861         * lib/freadahead.c: Include stdio-impl.h.
42862         (freadahead): Remove redundant #defines.
42863         * lib/freading.c: Include stdio-impl.h.
42864         (freading): Remove redundant #defines.
42865         * lib/freadptr.c: Include stdio-impl.h.
42866         (freadptr): Remove redundant #defines.
42867         * lib/freadseek.c: Include stdio-impl.h.
42868         (freadptrinc): Remove redundant #defines.
42869         * lib/fseeko.c: Include stdio-impl.h.
42870         (rpl_fseeko): Remove redundant #defines.
42871         * lib/fseterr.c: Include stdio-impl.h.
42872         (fseterr): Remove redundant #defines.
42873         * lib/fwritable.c: Include stdio-impl.h.
42874         (fwritable: Remove redundant #defines.
42875         * lib/fwriting.c: Include stdio-impl.h.
42876         (fwriting): Remove redundant #defines.
42877         * modules/fbufmode (Files): Add lib/stdio-impl.h.
42878         * modules/fflush (Files): Likewise.
42879         * modules/fpurge (Files): Likewise.
42880         * modules/freadable (Files): Likewise.
42881         * modules/freadahead (Files): Likewise.
42882         * modules/freading (Files): Likewise.
42883         * modules/freadptr (Files): Likewise.
42884         * modules/freadseek (Files): Likewise.
42885         * modules/fseeko (Files): Likewise.
42886         * modules/fseterr (Files): Likewise.
42887         * modules/fwritable (Files): Likewise.
42888         * modules/fwriting (Files): Likewise.
42889
42890 2008-04-26  Bruno Haible  <bruno@clisp.org>
42891
42892         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
42893         restore_seek_optimization, update_fpos_cache): New functions, extracted
42894         from rpl_fflush.
42895         (rpl_fflush): Use them.
42896         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
42897         (gl_REPLACE_FFLUSH): Use it.
42898
42899 2008-04-26  Bruno Haible  <bruno@clisp.org>
42900
42901         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
42902         on Solaris.
42903         * tests/test-xstrtoimax.sh: Likewise.
42904         * tests/test-xstrtoumax.sh: Likewise.
42905         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42906
42907 2008-04-26  Bruno Haible  <bruno@clisp.org>
42908
42909         * modules/memchr-tests: New file.
42910         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
42911
42912 2008-04-26  Eric Blake  <ebb9@byu.net>
42913             Bruno Haible  <bruno@clisp.org>
42914
42915         * lib/memchr.c: Include intprops.h.
42916         (__memchr): Optimize parallel detection of matching bytes. Rename local
42917         variables. Add explanatory comments.
42918
42919 2008-04-26  Bruno Haible  <bruno@clisp.org>
42920
42921         Fix module 'memchr', broken since 2000-10-28.
42922         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
42923
42924 2008-04-26  Bruno Haible  <bruno@clisp.org>
42925
42926         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
42927         comments.
42928
42929 2008-04-25  Eric Blake  <ebb9@byu.net>
42930
42931         Use native fstatat on cygwin 1.7.0.
42932         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
42933         first.
42934
42935 2008-04-23  Eric Blake  <ebb9@byu.net>
42936
42937         Improve memchr2 performance.
42938         * lib/memchr2.c (memchr2): Further optimize parallel detection of
42939         NUL bytes.
42940         * modules/memchr2 (Depends-on): Use intprops.h.
42941
42942 2008-04-23  Simon Josefsson  <simon@josefsson.org>
42943
42944         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
42945         an inline function instead of a CPP macro.  Patch by Ben Pfaff
42946         <blp@cs.stanford.edu>.
42947
42948 2008-04-23  Simon Josefsson  <simon@josefsson.org>
42949
42950         * lib/arpa_inet.in.h: New file.
42951
42952         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
42953         (Makefile.am): Sed in substitute header file.
42954
42955         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
42956         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
42957
42958         * modules/inet_ntop (configure.ac): Use
42959         gl_ARPA_INET_MODULE_INDICATOR.
42960
42961         * modules/inet_pton (configure.ac): Use
42962         gl_ARPA_INET_MODULE_INDICATOR.
42963
42964 2008-04-22  Jim Meyering  <meyering@redhat.com>
42965
42966         * modules/verify (License): Re-license as LGPLv2+.
42967
42968 2008-04-22  Simon Josefsson  <simon@josefsson.org>
42969
42970         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
42971         parameter to void* as per POSIX standard (MinGW uses char*).
42972
42973 2008-04-21  Bruno Haible  <bruno@clisp.org>
42974
42975         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42976         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
42977         Define to replacements if REPLACE_ISWCNTRL is 1.
42978         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
42979         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
42980         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
42981         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
42982         what it fixes.
42983         * doc/posix-functions/iswalpha.texi: Likewise.
42984         * doc/posix-functions/iswblank.texi: Likewise.
42985         * doc/posix-functions/iswcntrl.texi: Likewise.
42986         * doc/posix-functions/iswdigit.texi: Likewise.
42987         * doc/posix-functions/iswgraph.texi: Likewise.
42988         * doc/posix-functions/iswlower.texi: Likewise.
42989         * doc/posix-functions/iswprint.texi: Likewise.
42990         * doc/posix-functions/iswpunct.texi: Likewise.
42991         * doc/posix-functions/iswspace.texi: Likewise.
42992         * doc/posix-functions/iswupper.texi: Likewise.
42993         * doc/posix-functions/iswxdigit.texi: Likewise.
42994         Reported by Alain Guibert.
42995
42996 2008-04-21  Bruno Haible  <bruno@clisp.org>
42997
42998         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
42999         Patch by Alain Guibert.
43000
43001 2008-04-21  Bruno Haible  <bruno@clisp.org>
43002
43003         Fix test failures on mingw.
43004         * tests/test-xstrtol.c (print_no_progname): New function.
43005         (main): Install it in error_print_progname hook.
43006         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
43007         * tests/test-xstrtoimax.sh: Likewise.
43008         * tests/test-xstrtoumax.sh: Likewise.
43009
43010 2008-04-21  Bruno Haible  <bruno@clisp.org>
43011
43012         Fix test failure on mingw.
43013         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
43014
43015 2008-04-21  Bruno Haible  <bruno@clisp.org>
43016
43017         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
43018         Actually assign a value.
43019
43020 2008-04-20  Bruno Haible  <bruno@clisp.org>
43021
43022         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
43023         take 2.
43024         * lib/canonicalize.c (canonicalize_file_name): Elide if the
43025         'canonicalize-lgpl' module is also used.
43026         * lib/canonicalize-lgpl.c: Undo last change.
43027         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
43028
43029 2008-04-20  Bruno Haible  <bruno@clisp.org>
43030
43031         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
43032         config.h. Provide _mkdir based fallback for mingw.
43033         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
43034         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
43035         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
43036         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
43037         rather than defining mkdir in config.h.
43038         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
43039         (gl_SYS_STAT_H_DEFAULTS): New macro.
43040         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
43041         HAVE_IO_H any more.
43042         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
43043         HAVE_DECL_MKDIR and HAVE_IO_H.
43044
43045 2008-04-20  Bruno Haible  <bruno@clisp.org>
43046
43047         * lib/isapipe.c: Port to native Windows platforms.
43048
43049 2008-04-20  Bruno Haible  <bruno@clisp.org>
43050
43051         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
43052
43053 2008-04-21  Eric Blake  <ebb9@byu.net>
43054
43055         Work around preprocessors that don't handle UINTMAX_MAX.
43056         * lib/memchr2.c (memchr2): Avoid embedded #if.
43057         Reported by Alain Guibert, fix suggested by Bruno Haible.
43058
43059 2008-04-21  Simon Josefsson  <simon@josefsson.org>
43060
43061         * doc/posix-functions/strftime.texi (strftime): Explain better
43062         Windows incompatibility.  Suggested by Micah Cowan
43063         <micah@cowan.name>.
43064
43065 2008-04-20  Bruno Haible  <bruno@clisp.org>
43066
43067         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
43068         unistr/u8-mblen.
43069
43070 2008-04-20  Bruno Haible  <bruno@clisp.org>
43071
43072         Fix test failure on platforms with non-GNU iconv.
43073         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
43074         (U_TO_U8): Use it, rather than u16_to_u8.
43075         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
43076         units at the end of the input string.
43077         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
43078
43079 2008-04-20  Bruno Haible  <bruno@clisp.org>
43080
43081         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
43082         when the resulting length is 0.
43083         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
43084
43085 2008-04-20  Bruno Haible  <bruno@clisp.org>
43086
43087         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
43088         works.
43089         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
43090
43091 2008-04-20  Bruno Haible  <bruno@clisp.org>
43092
43093         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
43094         * modules/tsearch-tests (configure.ac): Test for initstate function.
43095
43096 2008-04-20  Bruno Haible  <bruno@clisp.org>
43097
43098         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
43099         for nlink_t if missing.
43100         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
43101
43102 2008-04-19  Bruno Haible  <bruno@clisp.org>
43103
43104         Work around snprintf bug on Linux libc5.
43105         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
43106         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43107         gl_SNPRINTF_SIZE1.
43108         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43109         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
43110         that test failed.
43111         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
43112         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
43113         * modules/snprintf (Files): Add m4/printf.m4.
43114         * modules/vsnprintf (Files): Likewise.
43115         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
43116         * doc/posix-functions/vsnprintf.texi: Likewise.
43117
43118 2008-04-19  Bruno Haible  <bruno@clisp.org>
43119
43120         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
43121         from 0.0058 to less than 10^-7.
43122
43123 2008-04-19  Bruno Haible  <bruno@clisp.org>
43124
43125         Fix rounding when a precision is given.
43126         * lib/vasnprintf.c (is_borderline): New function.
43127         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
43128         9...9x.
43129         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
43130         %e, %g.
43131         * tests/test-vasprintf-posix.c (test_function): Likewise.
43132         * tests/test-snprintf-posix.h (test_function): Likewise.
43133         * tests/test-sprintf-posix.h (test_function): Likewise.
43134         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
43135         * tests/test-printf-posix.h (test_function): Likewise.
43136         * tests/test-printf-posix.output: Update.
43137         Reported by John Darrington <john@darrington.wattle.id.au> via
43138         Ben Pfaff <blp@cs.stanford.edu>.
43139
43140 2008-04-18  Simon Josefsson  <simon@josefsson.org>
43141
43142         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
43143         Suggested by Bruno Haible <bruno@clisp.org>.
43144
43145 2008-04-17  Bruno Haible  <bruno@clisp.org>
43146
43147         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
43148         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
43149         implementation.
43150         Patch by Bruce Merry <bmerry@gmail.com>.
43151
43152 2008-04-17  Simon Josefsson  <simon@josefsson.org>
43153
43154         * doc/posix-functions/strftime.texi (strftime): Mention that %e
43155         doesn't work under Windows.
43156
43157 2008-04-16  Bruno Haible  <bruno@clisp.org>
43158
43159         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
43160         New macros.
43161         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
43162         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
43163         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
43164         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
43165         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
43166         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
43167         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
43168         macros.
43169         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
43170         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
43171         Northern Sotho, Uighur.
43172
43173 2008-04-16  Bruno Haible  <bruno@clisp.org>
43174
43175         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
43176         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
43177         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
43178         Reported by Daniel Bergström <daniel@octocode.com>.
43179
43180 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
43181             Bruno Haible  <bruno@clisp.org>
43182
43183         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
43184         function.
43185         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
43186         New functions, mostly extracted from gl_locale_name_default.
43187         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
43188
43189 2008-04-16  Eric Blake  <ebb9@byu.net>
43190
43191         Adjust strtod detection to catch glibc 2.7 bug.
43192         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
43193         Reported by John Gatewood Ham.
43194
43195 2008-04-16  Bruno Haible  <bruno@clisp.org>
43196
43197         Add tentative support for Linux libc5.
43198         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
43199         * lib/fpurge.c (fpurge): Likewise.
43200         * lib/freadable.c (freadable): Likewise.
43201         * lib/freadahead.c (freadahead): Likewise.
43202         * lib/freading.c (freading): Likewise.
43203         * lib/freadptr.c (freadptr): Likewise.
43204         * lib/freadseek.c (freadptrinc): Likewise.
43205         * lib/fseeko.c (rpl_fseeko): Likewise.
43206         * lib/fseterr.c (fseterr): Likewise.
43207         * lib/fwritable.c (fwritable): Likewise.
43208         * lib/fwriting.c (fwriting): Likewise.
43209         Reported by Alain Guibert <alguibert+bts@free.fr>.
43210
43211 2008-04-15  Bruno Haible  <bruno@clisp.org>
43212
43213         * modules/mathl (configure.ac): Define module indicator.
43214
43215 2008-04-15  Bruno Haible  <bruno@clisp.org>
43216
43217         * lib/logl.c (logl): Remove unused variables.
43218
43219 2008-04-15  Bruno Haible  <bruno@clisp.org>
43220
43221         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
43222         fails.
43223
43224 2008-04-15  Bruno Haible  <bruno@clisp.org>
43225
43226         * lib/trim.c (trim2): Fix argument of isspace() macro.
43227
43228 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
43229
43230         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
43231         to 0.
43232         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
43233
43234 2008-04-14  Bruno Haible  <bruno@clisp.org>
43235
43236         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
43237         AC_LANG_PROGRAM argument.
43238         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
43239         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
43240         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
43241         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
43242         * m4/math_h.m4 (gl_MATH_H): Likewise.
43243         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
43244         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
43245         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
43246         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
43247         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
43248         * m4/regex.m4 (gl_REGEX): Likewise.
43249         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
43250         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
43251         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43252         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
43253         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
43254         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43255         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43256         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
43257
43258 2008-04-14  Jim Meyering  <meyering@redhat.com>
43259
43260         test-strtod: fix typos: s/abs/fabs/
43261         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
43262
43263 2008-04-13  Bruno Haible  <bruno@clisp.org>
43264
43265         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
43266         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
43267         module is also used and while not building the reloc-wrapper.
43268
43269 2008-04-13  Bruno Haible  <bruno@clisp.org>
43270
43271         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
43272
43273 2008-04-13  Bruno Haible  <bruno@clisp.org>
43274
43275         Fix AIX compilation failure introduced on 2008-04-02.
43276         * tests/test-frexp.c (exp): Undefine before redefining.
43277         * tests/test-frexpl.c (exp): Likewise.
43278
43279 2008-04-13  Bruno Haible  <bruno@clisp.org>
43280
43281         Work around a HP-UX stdio bug.
43282         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
43283         * tests/test-ftello.c (main): Likewise.
43284         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
43285         * doc/posix-functions/ftello.texi: Likewise.
43286
43287 2008-04-13  Bruno Haible  <bruno@clisp.org>
43288
43289         Make test-signbit pass on HP-UX/hppa.
43290         * tests/test-signbit.c (minus_zerol): New variable.
43291         (test_signbitl): Use it.
43292
43293 2008-04-13  Bruno Haible  <bruno@clisp.org>
43294
43295         Make truncl work on OSF/1 4.0.
43296         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
43297         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
43298         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
43299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
43300         HAVE_DECL_TRUNCL.
43301         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
43302         HAVE_DECL_TRUNCL.
43303         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
43304
43305 2008-04-13  Bruno Haible  <bruno@clisp.org>
43306
43307         * lib/unictype.h: Remove trailing comma from enumeration definitions.
43308
43309 2008-04-13  Bruno Haible  <bruno@clisp.org>
43310
43311         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
43312         expression, so as to avoid HP-UX 11 cc compiler bug.
43313
43314 2008-04-13  Bruno Haible  <bruno@clisp.org>
43315
43316         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
43317
43318 2008-04-13  Bruno Haible  <bruno@clisp.org>
43319
43320         * lib/git-merge-changelog.c: Remove empty declaration outside of
43321         functions.
43322
43323 2008-04-13  Bruno Haible  <bruno@clisp.org>
43324
43325         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
43326
43327 2008-04-13  Bruno Haible  <bruno@clisp.org>
43328
43329         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
43330         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
43331         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
43332         also if it exists but lacks definitions of the SHUT_* macros.
43333         * modules/sys_socket (Description): Update.
43334         Reported by Elbert Pol <e.pol@chello.nl>.
43335
43336 2008-04-13  Bruno Haible  <bruno@clisp.org>
43337
43338         * lib/localcharset.c (OS2): Don't redefine if already defined.
43339         Reported by Elbert Pol <e.pol@chello.nl>.
43340
43341 2008-04-13  Bruno Haible  <bruno@clisp.org>
43342
43343         * lib/binary-io.h [__EMX__]: Include <io.h>.
43344         Reported by Elbert Pol <e.pol@chello.nl>.
43345
43346 2008-04-12  Bruno Haible  <bruno@clisp.org>
43347
43348         * lib/fpucw.h: Enable the definitions also for x86_64.
43349         Needed for NetBSD/x86_64.
43350         Reported by Thomas Klausner <tk@giga.or.at>.
43351
43352 2008-04-12  Bruno Haible  <bruno@clisp.org>
43353
43354         * tests/test-strtod.c: Include isnand.h.
43355         (main): Use isnand instead of isnan.
43356         Reported by Jim Meyering.
43357
43358 2008-04-12  Bruno Haible  <bruno@clisp.org>
43359
43360         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
43361         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
43362
43363 2008-04-12  Jim Meyering  <meyering@redhat.com>
43364
43365         * m4/math_h.m4 (gl_MATH_H): Fix typos.
43366
43367 2008-04-12  Bruno Haible  <bruno@clisp.org>
43368
43369         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
43370         Reported by Elbert Pol <e.pol@chello.nl>.
43371
43372 2008-04-12  Eric Blake  <ebb9@byu.net>
43373
43374         Work around Solaris 10 math.h bug.
43375         * m4/math_h.m4 (gl_MATH_H): Check for bug.
43376         (gl_MATH_H_DEFAULTS): Set up default.
43377         * modules/math (Makefile.am): Replace new indicators.
43378         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
43379         * tests/test-math.c (main): Test this.
43380         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
43381         * doc/posix-headers/math.texi (math.h): Mention bug.
43382         Reported by Nelson H. F. Beebe and Jim Meyering.
43383
43384 2008-04-11  Bruno Haible  <bruno@clisp.org>
43385
43386         Adapt to future versions of Apple GCC.
43387         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
43388         Reported by Peter O'Gorman <peter@pogma.com>.
43389
43390 2008-04-11  Bruno Haible  <bruno@clisp.org>
43391
43392         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
43393
43394 2008-04-11  Bruno Haible  <bruno@clisp.org>
43395
43396         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
43397
43398         * modules/getaddrinfo-tests (Makefile.am): Define
43399         test_getaddrinfo_LDADD.
43400
43401 2008-04-11  Bruno Haible  <bruno@clisp.org>
43402
43403         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
43404         (init): Fix syntax error.
43405         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
43406         is declared.
43407
43408 2008-04-11  Bruno Haible  <bruno@clisp.org>
43409
43410         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
43411         * modules/glob (Depends-on): Add stdbool.
43412
43413 2008-04-11  Bruno Haible  <bruno@clisp.org>
43414
43415         * lib/trim.c: Include <string.h>.
43416
43417 2008-04-11  Eric Blake  <ebb9@byu.net>
43418
43419         Avoid compile failure on OS/2.
43420         * lib/regex_internal.h (internal_function): Disable optimization
43421         on OS/2 (__EMX__), where it caused compiler error.
43422         Reported by Elbert Pol.
43423
43424 2008-04-11  Bruno Haible  <bruno@clisp.org>
43425
43426         Flush the standard error stream before aborting. Needed on mingw.
43427         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
43428         * tests/test-array_list.c (ASSERT): Likewise.
43429         * tests/test-array_oset.c (ASSERT): Likewise.
43430         * tests/test-avltree_list.c (ASSERT): Likewise.
43431         * tests/test-avltree_oset.c (ASSERT): Likewise.
43432         * tests/test-avltreehash_list.c (ASSERT): Likewise.
43433         * tests/test-binary-io.c (ASSERT): Likewise.
43434         * tests/test-byteswap.c (ASSERT): Likewise.
43435         * tests/test-c-ctype.c (ASSERT): Likewise.
43436         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
43437         * tests/test-c-strcasestr.c (ASSERT): Likewise.
43438         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
43439         * tests/test-c-strstr.c (ASSERT): Likewise.
43440         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
43441         * tests/test-canonicalize.c (ASSERT): Likewise.
43442         * tests/test-carray_list.c (ASSERT): Likewise.
43443         * tests/test-ceilf1.c (ASSERT): Likewise.
43444         * tests/test-ceilf2.c (ASSERT): Likewise.
43445         * tests/test-ceill.c (ASSERT): Likewise.
43446         * tests/test-count-one-bits.c (ASSERT): Likewise.
43447         * tests/test-fbufmode.c (ASSERT): Likewise.
43448         * tests/test-fflush2.c (ASSERT): Likewise.
43449         * tests/test-floorf1.c (ASSERT): Likewise.
43450         * tests/test-floorf2.c (ASSERT): Likewise.
43451         * tests/test-floorl.c (ASSERT): Likewise.
43452         * tests/test-fopen.c (ASSERT): Likewise.
43453         * tests/test-fpending.c (ASSERT): Likewise.
43454         * tests/test-fprintf-posix.c (ASSERT): Likewise.
43455         * tests/test-fpurge.c (ASSERT): Likewise.
43456         * tests/test-freadable.c (ASSERT): Likewise.
43457         * tests/test-freadahead.c (ASSERT): Likewise.
43458         * tests/test-freading.c (ASSERT): Likewise.
43459         * tests/test-freadptr.c (ASSERT): Likewise.
43460         * tests/test-freadptr2.c (ASSERT): Likewise.
43461         * tests/test-freadseek.c (ASSERT): Likewise.
43462         * tests/test-freopen.c (ASSERT): Likewise.
43463         * tests/test-frexp.c (ASSERT): Likewise.
43464         * tests/test-frexpl.c (ASSERT): Likewise.
43465         * tests/test-fseek.c (ASSERT): Likewise.
43466         * tests/test-fseeko.c (ASSERT): Likewise.
43467         * tests/test-fstrcmp.c (ASSERT): Likewise.
43468         * tests/test-ftell.c (ASSERT): Likewise.
43469         * tests/test-ftello.c (ASSERT): Likewise.
43470         * tests/test-func.c (ASSERT): Likewise.
43471         * tests/test-fwritable.c (ASSERT): Likewise.
43472         * tests/test-fwriting.c (ASSERT): Likewise.
43473         * tests/test-getdelim.c (ASSERT): Likewise.
43474         * tests/test-getline.c (ASSERT): Likewise.
43475         * tests/test-i-ring.c (ASSERT): Likewise.
43476         * tests/test-iconv-utf.c (ASSERT): Likewise.
43477         * tests/test-iconv.c (ASSERT): Likewise.
43478         * tests/test-isfinite.c (ASSERT): Likewise.
43479         * tests/test-isnand.c (ASSERT): Likewise.
43480         * tests/test-isnanf.c (ASSERT): Likewise.
43481         * tests/test-isnanl.h (ASSERT): Likewise.
43482         * tests/test-ldexpl.c (ASSERT): Likewise.
43483         * tests/test-linked_list.c (ASSERT): Likewise.
43484         * tests/test-linkedhash_list.c (ASSERT): Likewise.
43485         * tests/test-localename.c (ASSERT): Likewise.
43486         * tests/test-lseek.c (ASSERT): Likewise.
43487         * tests/test-mbscasecmp.c (ASSERT): Likewise.
43488         * tests/test-mbscasestr1.c (ASSERT): Likewise.
43489         * tests/test-mbscasestr2.c (ASSERT): Likewise.
43490         * tests/test-mbscasestr3.c (ASSERT): Likewise.
43491         * tests/test-mbscasestr4.c (ASSERT): Likewise.
43492         * tests/test-mbschr.c (ASSERT): Likewise.
43493         * tests/test-mbscspn.c (ASSERT): Likewise.
43494         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
43495         * tests/test-mbspbrk.c (ASSERT): Likewise.
43496         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
43497         * tests/test-mbsrchr.c (ASSERT): Likewise.
43498         * tests/test-mbsspn.c (ASSERT): Likewise.
43499         * tests/test-mbsstr1.c (ASSERT): Likewise.
43500         * tests/test-mbsstr2.c (ASSERT): Likewise.
43501         * tests/test-mbsstr3.c (ASSERT): Likewise.
43502         * tests/test-memchr2.c (ASSERT): Likewise.
43503         * tests/test-memmem.c (ASSERT): Likewise.
43504         * tests/test-open.c (ASSERT): Likewise.
43505         * tests/test-printf-frexp.c (ASSERT): Likewise.
43506         * tests/test-printf-frexpl.c (ASSERT): Likewise.
43507         * tests/test-printf-posix.c (ASSERT): Likewise.
43508         * tests/test-quotearg.c (ASSERT): Likewise.
43509         * tests/test-rbtree_list.c (ASSERT): Likewise.
43510         * tests/test-rbtree_oset.c (ASSERT): Likewise.
43511         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
43512         * tests/test-round1.c (ASSERT): Likewise.
43513         * tests/test-roundf1.c (ASSERT): Likewise.
43514         * tests/test-roundl.c (ASSERT): Likewise.
43515         * tests/test-signbit.c (ASSERT): Likewise.
43516         * tests/test-sleep.c (ASSERT): Likewise.
43517         * tests/test-snprintf-posix.c (ASSERT): Likewise.
43518         * tests/test-snprintf.c (ASSERT): Likewise.
43519         * tests/test-sprintf-posix.c (ASSERT): Likewise.
43520         * tests/test-stat-time.c (ASSERT): Likewise.
43521         * tests/test-strcasestr.c (ASSERT): Likewise.
43522         * tests/test-strerror.c (ASSERT): Likewise.
43523         * tests/test-striconv.c (ASSERT): Likewise.
43524         * tests/test-striconveh.c (ASSERT): Likewise.
43525         * tests/test-striconveha.c (ASSERT): Likewise.
43526         * tests/test-strsignal.c (ASSERT): Likewise.
43527         * tests/test-strstr.c (ASSERT): Likewise.
43528         * tests/test-strtod.c (ASSERT): Likewise.
43529         * tests/test-trunc1.c (ASSERT): Likewise.
43530         * tests/test-trunc2.c (ASSERT): Likewise.
43531         * tests/test-truncf1.c (ASSERT): Likewise.
43532         * tests/test-truncf2.c (ASSERT): Likewise.
43533         * tests/test-truncl.c (ASSERT): Likewise.
43534         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
43535         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
43536         * tests/test-vasnprintf.c (ASSERT): Likewise.
43537         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
43538         * tests/test-vasprintf.c (ASSERT): Likewise.
43539         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
43540         * tests/test-vprintf-posix.c (ASSERT): Likewise.
43541         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
43542         * tests/test-vsnprintf.c (ASSERT): Likewise.
43543         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
43544         * tests/test-wcwidth.c (ASSERT): Likewise.
43545         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
43546         * tests/test-xprintf-posix.c (ASSERT): Likewise.
43547         * tests/test-xvasprintf.c (ASSERT): Likewise.
43548         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
43549         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
43550         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
43551         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
43552         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
43553         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
43554         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
43555         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
43556         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
43557         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
43558         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
43559         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
43560         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
43561         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
43562         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
43563         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
43564         * tests/unictype/test-block_list.c (ASSERT): Likewise.
43565         * tests/unictype/test-block_of.c (ASSERT): Likewise.
43566         * tests/unictype/test-block_test.c (ASSERT): Likewise.
43567         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
43568         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
43569         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
43570         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
43571         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
43572         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
43573         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
43574         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
43575         * tests/unictype/test-combining.c (ASSERT): Likewise.
43576         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
43577         * tests/unictype/test-digit.c (ASSERT): Likewise.
43578         * tests/unictype/test-mirror.c (ASSERT): Likewise.
43579         * tests/unictype/test-numeric.c (ASSERT): Likewise.
43580         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
43581         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
43582         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
43583         * tests/unictype/test-scripts.c (ASSERT): Likewise.
43584         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
43585         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
43586         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
43587         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
43588         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
43589         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
43590         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
43591         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
43592         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
43593         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
43594         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
43595         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
43596         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
43597         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
43598         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
43599         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
43600         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
43601         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
43602         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
43603         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
43604         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
43605         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
43606         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
43607         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
43608         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
43609         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
43610         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
43611         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
43612         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
43613         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
43614         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
43615         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
43616         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
43617         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
43618         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
43619         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
43620         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
43621         Reported by Eric Blake.
43622
43623 2008-04-11  Bruno Haible  <bruno@clisp.org>
43624
43625         * lib/wchar.in.h: Tweak comment.
43626
43627 2008-04-11  Bruno Haible  <bruno@clisp.org>
43628
43629         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
43630         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
43631         gl_COMMON.
43632         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
43633
43634 2008-04-11  Bruno Haible  <bruno@clisp.org>
43635
43636         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
43637
43638 2008-04-11  Simon Josefsson  <simon@josefsson.org>
43639
43640         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
43641         of attempting to use non-existing /dev/*random.  Based on patch
43642         from Adam Strzelecki <ono@java.pl> in
43643         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
43644
43645 2008-04-08  Bruno Haible  <bruno@clisp.org>
43646
43647         Add tentative support for emx+gcc.
43648         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
43649         * lib/fpurge.c (fpurge): Likewise.
43650         * lib/freadable.c (freadable): Likewise.
43651         * lib/freadahead.c (freadahead): Likewise.
43652         * lib/freading.c (freading): Likewise.
43653         * lib/freadptr.c (freadptr): Likewise.
43654         * lib/freadseek.c (freadptrinc): Likewise.
43655         * lib/fseeko.c (rpl_fseeko): Likewise.
43656         * lib/fseterr.c (fseterr): Likewise.
43657         * lib/fwritable.c (fwritable): Likewise.
43658         * lib/fwriting.c (fwriting): Likewise.
43659         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
43660
43661 2008-04-09  Eric Blake  <ebb9@byu.net>
43662
43663         Avoid some autoconf warnings.
43664         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
43665         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
43666         * m4/afs.m4 (gl_AFS): Likewise.
43667         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
43668         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
43669         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43670         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
43671         (gl_INTEGER_TYPE_SUFFIX): Likewise.
43672         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
43673         (AC_CHECK_DECLS_ONCE): Likewise.
43674         Rename file...
43675         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
43676         gnulib-tool requires autoconf 2.59 or better.
43677         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
43678
43679 2008-04-08  Eric Blake  <ebb9@byu.net>
43680
43681         Use 'git describe --match' if present (added in git 1.5.5).
43682         * build-aux/git-version-gen: Limit result to tags that match 'v*'
43683         if possible.
43684
43685 2008-04-08  Bruno Haible  <bruno@clisp.org>
43686
43687         Add tentative support for OpenServer.
43688         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
43689         _ptr, _cnt.
43690         * lib/fpurge.c (fpurge): Likewise.
43691         * lib/freadable.c (freadable): Likewise.
43692         * lib/freadahead.c (freadahead): Likewise.
43693         * lib/freading.c (freading): Likewise.
43694         * lib/freadptr.c (freadptr): Likewise.
43695         * lib/freadseek.c (freadptrinc): Likewise.
43696         * lib/fseeko.c (rpl_fseeko): Likewise.
43697         * lib/fseterr.c (fseterr): Likewise.
43698         * lib/fwritable.c (fwritable): Likewise.
43699         * lib/fwriting.c (fwriting): Likewise.
43700         Reported by Roger Cornelius <rac@tenzing.org> and
43701         Brian K. White <brian@aljex.com>.
43702
43703 2008-04-06  Jim Meyering  <meyering@redhat.com>
43704
43705         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
43706
43707 2008-04-06  Bruno Haible  <bruno@clisp.org>
43708
43709         Avoid possible error with non-ASCII bytes in UTF-8 locales.
43710         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
43711         * tests/test-printf-posix.sh: Likewise.
43712         * tests/test-vfprintf-posix.sh: Likewise.
43713         * tests/test-vprintf-posix.sh: Likewise.
43714         * tests/test-xprintf-posix.sh: Likewise.
43715
43716 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43717
43718         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
43719         hide error from 'ls', needed on OS/2.
43720         Report by Elbert Pol <elbert.pol@gmail.com>.
43721
43722 2008-04-04  Eric Blake  <ebb9@byu.net>
43723
43724         Make test-fseeko.c failures meaningful.
43725         * tests/test-fseeko.c: Print line number on failure.
43726         * tests/test-fseek.c: Likewise.
43727         Reported by Nelson H. F. Beebe.
43728
43729         Improve strtod bug detection check.
43730         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
43731         required for Solaris 10.
43732         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
43733
43734 2008-04-04  Bruno Haible  <bruno@clisp.org>
43735
43736         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
43737         by m4/setenv.m4.
43738
43739 2008-04-03  Eric Blake  <ebb9@byu.net>
43740
43741         Ensure sane .version contents.
43742         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
43743         version string.
43744         * build-aux/git-version-gen: Improve documentation.
43745
43746         Make GNU make output nicer.
43747         * top/GNUmakefile [!_have-Makefile]: Add dependency on
43748         MAKECMDGOALS to enforce message for all command line targets.  Set
43749         srcdir for use in maint.mk.
43750
43751         Another maintainer tweak.
43752         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
43753         a target that regenerates version.
43754
43755 2008-04-03  Jim Meyering  <meyering@redhat.com>
43756
43757         vc-list-files: don't cause coreutils "make po-check" failure
43758         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
43759
43760 2008-04-03  Eric Blake  <ebb9@byu.net>
43761
43762         Allow VPATH usage of vc-list-files.
43763         * build-aux/vc-list-files (scriptversion): Add timestamp.
43764         (options): Add --help, --version, -C.
43765         (CVS): Support installed cvsu.
43766
43767 2008-04-02  Bruno Haible  <bruno@clisp.org>
43768
43769         Avoid some "statement with no effect" warnings from gcc.
43770         * tests/test-wctype.c (main): Explicitly ignore unused values.
43771         Reported by Jim Meyering.
43772
43773 2008-04-02  Jim Meyering  <meyering@redhat.com>
43774
43775         Avoid some warnings from "gcc -Wshadow".
43776         * tests/test-frexp.c (exp): Define to a different identifier.
43777         * tests/test-frexpl.c (exp): Likewise.
43778
43779 2008-04-03  Jim Meyering  <meyering@redhat.com>
43780
43781         bootstrap: remove dangling *.[ch] symlinks from lib
43782         * build-aux/bootstrap [dangling symlink removal]: Move find's
43783         -depth option to precede all others, to avoid a warning.
43784         Remove *.[ch] files too, and from "$source_base" (usually lib/).
43785
43786 2008-04-02  Bruno Haible  <bruno@clisp.org>
43787
43788         Avoid some warnings from "gcc -Wshadow".
43789         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
43790         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
43791         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
43792         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
43793         Reported by Jim Meyering.
43794
43795 2008-04-01  Bruno Haible  <bruno@clisp.org>
43796
43797         Fix test to work on IRIX 6.5 with cc.
43798         * tests/test-math.c (numeric_equal): New function.
43799         (main): Use it.
43800
43801 2008-04-01  Bruno Haible  <bruno@clisp.org>
43802
43803         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
43804
43805 2008-04-01  Bruno Haible  <bruno@clisp.org>
43806
43807         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
43808         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43809         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
43810         (Depends-on): Remove math.
43811
43812         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
43813         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43814         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
43815         (Depends-on): Remove math.
43816
43817         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
43818         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43819         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
43820         (Depends-on): Remove math.
43821         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
43822         (Depends-on): Remove math.
43823
43824         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
43825         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43826         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
43827         (Depends-on): Remove math.
43828         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
43829         (Depends-on): Remove math.
43830
43831         * tests/test-round1.c: Include nan.h.
43832         (main): Use NaNd instead of NAN.
43833         * modules/round-tests (Files): Add tests/nan.h.
43834
43835         * tests/test-trunc1.c: Include nan.h.
43836         (main): Use NaNd instead of NAN.
43837         * modules/trunc-tests (Files): Add tests/nan.h.
43838
43839         * tests/test-roundf1.c: Include nan.h.
43840         (main): Use NaNf instead of NAN.
43841         * modules/roundf-tests (Files): Add tests/nan.h.
43842
43843         * tests/test-truncf1.c: Include nan.h.
43844         (main): Use NaNf instead of NAN.
43845         * modules/truncf-tests (Files): Add tests/nan.h.
43846
43847         * tests/test-ceilf1.c: Include nan.h.
43848         (main): Use NaNf instead of NAN.
43849         * modules/ceilf-tests (Files): Add tests/nan.h.
43850
43851         * tests/test-floorf1.c: Include nan.h.
43852         (main): Use NaNf instead of NAN.
43853         * modules/floorf-tests (Files): Add tests/nan.h.
43854
43855         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
43856         (main): Use NaNf instead of NAN.
43857         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
43858
43859         * tests/test-isnand.c: Include nan.h instead of <math.h>.
43860         (main): Use NaNd instead of NAN.
43861         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
43862
43863         * tests/test-frexp.c: Include nan.h.
43864         (main): Use NaNd instead of NAN.
43865         * modules/frexp-tests (Files): Add tests/nan.h.
43866
43867         * lib/isnan.c: Don't include <math.h>.
43868         (FUNC): Don't use NAN macro.
43869         * modules/isnand-nolibm (Depends-on): Remove math.
43870         * modules/isnanf-nolibm (Depends-on): Remove math.
43871         * modules/isnanl (Depends-on): Remove math.
43872         * modules/isnanl-nolibm (Depends-on): Remove math.
43873
43874         * tests/nan.h: New file.
43875
43876 2008-04-01  Eric Blake  <ebb9@byu.net>
43877
43878         Fix typos.
43879         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
43880         values to be the right type.
43881
43882         For now, cater to gnulib strtod inaccuracies.
43883         * tests/test-strtod.c (main): Allow 1-ulp error on expected
43884         fractional results.  While not as nice from a QoI perspective, it
43885         is a quicker patch than correctly implementing decimal to binary
43886         rounding.
43887
43888 2008-03-31  Eric Blake  <ebb9@byu.net>
43889
43890         Guarantee a definition of NAN.
43891         * lib/math.in.h (NAN): Define if missing.
43892         * tests/test-math.c (main): Test it.
43893         * doc/posix-headers/math.texi (math.h): Document this.
43894         * lib/isnan.c (rpl_isnand): Use it.
43895         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
43896         * tests/test-floorf1.c (NaN): Likewise.
43897         * tests/test-frexp.c (NaN): Likewise.
43898         * tests/test-isnand.c (NaN): Likewise.
43899         * tests/test-isnanf.c (NaN): Likewise.
43900         * tests/test-round1.c (NaN): Likewise.
43901         * tests/test-roundf1.c (NaN): Likewise.
43902         * tests/test-snprintf-posix.h (NaN): Likewise.
43903         * tests/test-sprintf-posix.h (NaN): Likewise.
43904         * tests/test-trunc1.c (NaN): Likewise.
43905         * tests/test-truncf1.c (NaN): Likewise.
43906         * tests/test-vasnprintf-posix.c (NaN): Likewise.
43907         * tests/test-vasprintf-posix.c (NaN): Likewise.
43908         * modules/isnand-nolibm (Depends-on): Add math.
43909         * modules/isnanf-nolibm (Depends-on): Likewise.
43910         * modules/isnanl (Depends-on): Likewise.
43911         * modules/isnanl-nolibm (Depends-on): Likewise.
43912         * modules/snprintf-posix-tests (Depends-on): Likewise.
43913         * modules/sprintf-posix-tests (Depends-on): Likewise.
43914         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
43915         * modules/vsprintf-posix-tests (Depends-on): Likewise.
43916         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
43917         * modules/vasprintf-posix-tests (Depends-on): Likewise.
43918
43919 2008-03-31  Bruno Haible  <bruno@clisp.org>
43920
43921         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
43922         * doc/posix-functions/strtod.texi: Likewise.
43923
43924 2008-03-31  Bruno Haible  <bruno@clisp.org>
43925
43926         * tests/test-strtod.c (main): Don't use C99 syntax.
43927
43928 2008-03-31  Bruno Haible  <bruno@clisp.org>
43929
43930         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
43931         Reported by Eric Blake.
43932
43933 2008-03-31  Jim Meyering  <meyering@redhat.com>
43934
43935         Don't compare actual signbit return values.
43936         * tests/test-strtod.c (main): Rather, compare only their
43937         zero/non-zero nature.
43938
43939 2008-03-31  Eric Blake  <ebb9@byu.net>
43940
43941         More strtod documentation.
43942         * doc/posix-functions/strtod.texi (strtod): Interpret more test
43943         failures as distinct bugs.
43944
43945 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
43946
43947         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
43948         Problem reported by Erik Benada in
43949         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
43950
43951 2008-03-30  Bruno Haible  <bruno@clisp.org>
43952
43953         * tests/test-strtod.c: Add comments about which assertion fails on which
43954         platform.
43955         * doc/posix-functions/strtod.texi: Add info about many more platforms.
43956
43957 2008-03-30  Eric Blake  <ebb9@byu.net>
43958
43959         Test signbit behavior on zeros.
43960         * tests/test-signbit.c (test_signbitf): Add tests for zero.
43961         (test_signbitd, test_signbitl): Likewise.
43962
43963         More strtod touchups.
43964         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
43965         sign of negative underflow, for now.  Use .5, not .1.
43966         * doc/posix-functions/strtod.texi (strtod): Mention these
43967         limitations.
43968         Reported by Jim Meyering.
43969
43970 2008-03-30  Bruno Haible  <bruno@clisp.org>
43971
43972         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
43973         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
43974
43975 2008-03-30  Bruno Haible  <bruno@clisp.org>
43976
43977         Avoid failure when attempting to return empty iconv results on some
43978         platforms.
43979         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
43980         allocation, don't report ENOMEM when the resulting string is empty.
43981
43982 2008-03-30  Bruno Haible  <bruno@clisp.org>
43983
43984         Fix buffer overrun.
43985         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
43986         Don't consider the width for tmp_length. Check count against tmp_length
43987         before doing the padding. Ensure enough allocation during padding.
43988
43989 2008-03-30  Eric Blake  <ebb9@byu.net>
43990
43991         strtod touchups.
43992         * lib/strtod.c (strtod): Avoid compiler warnings.
43993         Reported by Jim Meyering.
43994
43995 2008-03-30  Bruno Haible  <bruno@clisp.org>
43996
43997         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
43998         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
43999         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
44000         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
44001         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
44002         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
44003         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
44004         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
44005
44006         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
44007         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
44008         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
44009         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
44010         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
44011         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
44012         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
44013         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
44014
44015         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
44016         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
44017         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
44018         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
44019         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
44020         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
44021         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
44022         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
44023
44024         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
44025         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
44026
44027         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
44028         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
44029
44030         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
44031         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
44032
44033         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
44034         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
44035         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
44036
44037         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
44038         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
44039         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
44040
44041         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
44042         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
44043         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
44044
44045         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
44046         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
44047         * modules/vasprintf (Depends-on): Add EOVERFLOW.
44048
44049         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
44050         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
44051         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
44052         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
44053         (Depends-on): Add EOVERFLOW.
44054         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
44055         (Depends-on): Add EOVERFLOW.
44056         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
44057         (Depends-on): Add EOVERFLOW.
44058         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
44059         (Depends-on): Add EOVERFLOW.
44060         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
44061         (Depends-on): Add EOVERFLOW.
44062         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
44063         (Depends-on): Add EOVERFLOW.
44064         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
44065         (Depends-on): Add EOVERFLOW.
44066         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
44067         (Depends-on): Add EOVERFLOW.
44068
44069         * lib/sprintf.c (EOVERFLOW): Remove fallback.
44070         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
44071         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
44072
44073         * lib/snprintf.c (EOVERFLOW): Remove fallback.
44074         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
44075         * modules/snprintf (Depends-on): Add EOVERFLOW.
44076
44077         * lib/poll.c (EOVERFLOW): Remove fallback.
44078         * modules/poll (Depends-on): Add EOVERFLOW.
44079
44080         * lib/getugroups.c (EOVERFLOW): Remove fallback.
44081         * modules/getugroups (Depends-on): Add EOVERFLOW.
44082
44083         * lib/getdelim.c (EOVERFLOW): Remove fallback.
44084         * modules/getdelim (Depends-on): Add EOVERFLOW.
44085
44086         * lib/ftell.c (EOVERFLOW): Remove fallback.
44087         * modules/ftell (Depends-on): Add EOVERFLOW.
44088
44089         * lib/fprintf.c (EOVERFLOW): Remove fallback.
44090         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
44091         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
44092
44093         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
44094
44095         * modules/EOVERFLOW-tests: New file.
44096         * tests/test-EOVERFLOW.c: New file.
44097
44098         * modules/EOVERFLOW: New file.
44099         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
44100
44101 2008-03-30  Bruno Haible  <bruno@clisp.org>
44102
44103         Fix bug introduced on 2007-06-10.
44104         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
44105         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
44106
44107 2008-03-30  Bruno Haible  <bruno@clisp.org>
44108
44109         Improve freadseek's efficiency after ungetc.
44110         * lib/freadseek.c: Include freadahead.h.
44111         (freadptrinc): New function, extracted from freadseek.
44112         (freadseek): Use it in a loop. Use freadahead to determine the number
44113         of loop iterations.
44114         * modules/freadseek (Depends-on): Add freadahead.
44115         (configure.ac): Require AC_C_INLINE.
44116
44117 2008-03-30  Bruno Haible  <bruno@clisp.org>
44118
44119         * lib/freadseek.c (freadseek): Don't ignore the return value of
44120         freadptr.
44121
44122 2008-03-29  Eric Blake  <ebb9@byu.net>
44123
44124         Add hex float support.
44125         * modules/strtod (Depends-on): Add c-ctype.
44126         (Link): Mention POW_LIB.
44127         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
44128         whitespace between 'e' and exponent.
44129         * tests/test-strtod.c (main): Enable hex float tests.
44130         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
44131         now provides.
44132
44133         Document various strtod bugs, with some fixes.
44134         * doc/posix-functions/strtod.texi (strtod): Document bugs with
44135         "-0x", "inf", "nan", and hex constants.
44136         * doc/posix-functions/atof.texi (atof): Likewise.
44137         * modules/stdlib (Makefile.am): Support strtod.
44138         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44139         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
44140         detect additional strtod bugs.
44141         * lib/stdlib.in.h (rpl_strtod): Add declarations.
44142         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
44143         bool where appropriate.  Parse 'inf' and 'nan'.
44144         * tests/test-strtod.c: New file.
44145         * modules/strtod (Depends-on): Add stdbool, stdlib.
44146         (configure.ac): Turn on module indicator.
44147         * modules/strtod-tests: New module.
44148
44149 2008-03-29  Eric Blake  <ebb9@byu.net>
44150
44151         Fix ftell on mingw.
44152         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
44153         * modules/ftell-tests (Depends-on): Add binary-io.
44154         * modules/ftello-tests (Depends-on): Likewise.
44155         * tests/test-ftell.c (main): Enhance test to cover behavior after
44156         ungetc.  Enforce binary mode.
44157         * tests/test-ftello.c (main): Likewise.
44158
44159         Pass test-freadseek on cygwin.
44160         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
44161         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
44162         ungetc buffer.
44163
44164         * tests/test-fflush2.c (main): Fix typo.
44165
44166 2008-03-29  Bruno Haible  <bruno@clisp.org>
44167
44168         * tests/test-fflush2.c (main): Temporarily disable the contents of
44169         this test.
44170         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
44171         Reported by Eric Blake.
44172
44173 2008-03-28  Simon Josefsson  <simon@josefsson.org>
44174
44175         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
44176         (GC_SHA224_DIGEST_SIZE): Add.
44177
44178         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
44179         (gc_hash_digest_length): Likewise.
44180         (gc_hash_buffer): Likewise.
44181
44182 2008-03-25  Bruno Haible  <bruno@clisp.org>
44183
44184         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
44185         detail which gettext release to use.
44186         Reported by Simon Josefsson.
44187
44188 2008-03-26  Jim Meyering  <meyering@redhat.com>
44189
44190         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
44191         * modules/gnumakefile (clean-GNUmakefile): Also, use
44192         test ... && ... || : syntax rather than if-then ... fi.
44193
44194         gnumakefile: Don't double-quote-expand $(VPATH) value.
44195         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
44196
44197 2008-03-24  Eric Blake  <ebb9@byu.net>
44198
44199         Alter GNUmakefile to install into top directory.
44200         * modules/maintainer-makefile: Split, and add dependency...
44201         * modules/gnumakefile: to this new module.
44202         * build-aux/GNUmakefile: Move...
44203         * top/GNUmakefile: ...here.
44204         * build-aux/maint.mk: Move...
44205         * top/maint.mk: ...here.
44206         * MODULES.html.sh (Support for maintaining...): Document new
44207         module.
44208
44209 2008-03-23  Bruno Haible  <bruno@clisp.org>
44210
44211         * gnulib-tool: New options --vc-files, --no-vc-files.
44212         (func_usage): Document them.
44213         (vc_files): New variable.
44214         (func_import): Consider vc_files.
44215         (func_create_testdir): Set vc_files to empty.
44216         Suggested by Jim Meyering and Karl Berry.
44217
44218 2008-03-23  Bruno Haible  <bruno@clisp.org>
44219
44220         Fix regex compilation error on HP-UX 11.
44221         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
44222         * modules/regex (Files): Add m4/mbstate_t.m4.
44223         Reported by Ton Voon <ton.voon@altinity.com>.
44224
44225 2008-03-23  Bruno Haible  <bruno@clisp.org>
44226
44227         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
44228
44229 2008-03-23  Eric Blake  <ebb9@byu.net>
44230             Bruno Haible  <bruno@clisp.org>
44231
44232         Install files from top/ in the destination directory.
44233         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
44234         augmentation also for the files from top/.
44235         (func_import, func_create_testdir): Rewrite file names:
44236         top/filename -> filename.
44237
44238 2008-03-23  Bruno Haible  <bruno@clisp.org>
44239
44240         Tweak "gnulib --version" output.
44241         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
44242
44243 2008-03-23  Bruno Haible  <bruno@clisp.org>
44244
44245         Tweak "gnulib --version" output.
44246         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
44247         rather than contents of ChangeLog, when possible.
44248
44249 2008-03-21  Eric Blake  <ebb9@byu.net>
44250
44251         More --version tweaks.
44252         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
44253         date of last ChangeLog entry.
44254
44255 2008-03-21  Jim Meyering  <meyering@redhat.com>
44256
44257         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
44258
44259 2008-03-20  Eric Blake  <ebb9@byu.net>
44260
44261         VPATH fix.
44262         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
44263
44264 2008-03-20  Simon Josefsson  <simon@josefsson.org>
44265
44266         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
44267         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
44268
44269 2008-03-20  Eric Blake  <ebb9@byu.net>
44270
44271         Sync GNUmakefile with coreutils.
44272         * build-aux/GNUmakefile (have-Makefile): Rename...
44273         (_have-Makefile): ...to this, for namespace consideration.
44274         (GNUmakefile.cfg): Include, if present.
44275         (_autoreconf): Define a default.
44276         (_is-dist-target): New rule for rebuilds to pick up intra-release
44277         version.
44278         (maint-cfg.mk): Rename...
44279         (cfg.mk): ...to this.
44280
44281 2008-03-18  Jim Meyering  <meyering@redhat.com>
44282
44283         New script and module: mktempd
44284         * MODULES.html.sh (maint+release support): Add mktempd.
44285         * build-aux/mktempd: New file.
44286         * modules/mktempd: New file.
44287
44288 2008-03-15  Jim Meyering  <meyering@redhat.com>
44289
44290         Undo last change.
44291         * lib/sha1.c, lib/md5.c: 63 != ~63.
44292         Reported by Andreas Schwab.
44293
44294         sha1.c, md5.c: Hoist a redundant expression.
44295         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
44296         "ctx->buflen" only once, before calling *_process_block.
44297         * lib/md5.c (md5_process_bytes): Likewise.
44298
44299 2008-03-14  Eric Blake  <ebb9@byu.net>
44300
44301         Bump copyright year in files generated by gnulib-tool.
44302         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
44303         gnulib-tool, rather than hard-coding it.
44304
44305         Fix 'gnulib-tool --version' output to work with git.
44306         * gnulib-tool (func_gnulib_dir): New function, extracted from...
44307         (startup): ...here.
44308         (func_version): Use it to invoke git-version-gen, rather than
44309         relying on CVS keyword expansion.  Modernize wording.
44310         (cvsdatestamp, last_checkin_date, version): Kill unused
44311         variables.
44312
44313 2008-03-12  Jim Meyering  <meyering@redhat.com>
44314
44315         Recognize optional cast of the argument to free.
44316         * build-aux/useless-if-before-free: Update regexps.
44317
44318         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
44319
44320 2008-03-11  Bruno Haible  <bruno@clisp.org>
44321
44322         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
44323         by a single package.
44324         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
44325         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
44326         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
44327         Reported by Sam Steingold <sds@gnu.org>.
44328
44329 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44330
44331         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
44332         repositories.
44333
44334 2008-03-11  Bruno Haible  <bruno@clisp.org>
44335
44336         Avoid conflicts between local macro definitions.
44337         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
44338         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
44339
44340 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
44341             Bruno Haible  <bruno@clisp.org>
44342
44343         Make va_copy work with some version of xlc on AIX 5.1.
44344         * lib/stdarg.in.h: New file.
44345         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
44346         On AIX, use a <stdarg.h> file substitute.
44347         * modules/stdarg (Files): Add lib/stdarg.in.h.
44348         (Depends-on): Add include_next.
44349         (Makefile.am): Build a stdarg.h substitute if requested.
44350         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
44351
44352 2008-03-10  Bruno Haible  <bruno@clisp.org>
44353
44354         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
44355         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44356         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
44357
44358 2008-03-10  Bruno Haible  <bruno@clisp.org>
44359
44360         * modules/stdlib (Depends-on): Add include_next, remove
44361         absolute-header.
44362
44363 2008-03-09  Bruno Haible  <bruno@clisp.org>
44364
44365         * lib/freadahead.h (freadahead): Document more precisely.
44366         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
44367         the sum of both buffer sizes.
44368         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
44369         * NEWS: Document the change.
44370
44371 2008-03-09  Bruno Haible  <bruno@clisp.org>
44372
44373         Extend freadptr to return also the buffer size.
44374         * lib/freadptr.h (freadptr): Add sizep argument.
44375         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
44376         (freadptr): Add sizep argument. Determine buffer size like freadahead
44377         does.
44378         * tests/test-freadptr.c: Don't include freadahead.h.
44379         (main): Adapt for new calling convention of freadptr.
44380         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
44381         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
44382         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
44383         tests/test-freadptr2.sh.
44384         (Depends): Remove freadahead.
44385         (TESTS): Add test-freadptr2.sh.
44386         (check_PROGRAMS): Add test-freadptr2.
44387
44388 2008-03-09  Bruno Haible  <bruno@clisp.org>
44389
44390         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
44391         Report and solution by Simon Josefsson.
44392
44393 2008-03-06  Bruno Haible  <bruno@clisp.org>
44394
44395         Make fflush after ungetc work on BSD platforms.
44396         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
44397         * tests/test-fflush2.c: New file.
44398         * tests/test-fflush2.sh: New file.
44399         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
44400         tests/test-fflush2.c.
44401         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
44402         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
44403
44404 2008-03-06  Eric Blake  <ebb9@byu.net>
44405
44406         Likewise for ftello.
44407         * modules/ftello (Dependencies): Add extensions.
44408         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
44409
44410 2008-03-06  Bruno Haible  <bruno@clisp.org>
44411
44412         * modules/fseeko (Dependencies): Add extensions.
44413         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
44414         Needed on glibc systems.
44415
44416 2008-03-06  Bruno Haible  <bruno@clisp.org>
44417
44418         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
44419         email address.
44420         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44421
44422 2008-03-06  Bruno Haible  <bruno@clisp.org>
44423
44424         * users.txt: Add libgnupdf.
44425
44426 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
44427
44428         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
44429         (Header File Substitutes, Function Substitutes,
44430         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
44431         (Build robot for gnulib): Fix typo.
44432
44433 2008-03-06  Bruno Haible  <bruno@clisp.org>
44434
44435         * doc/gnulib-tool.texi (VCS Issues): Small updates.
44436         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44437
44438 2008-03-06  Bruno Haible  <bruno@clisp.org>
44439
44440         * doc/func.texi: New file, extracted from doc/gnulib.texi.
44441         * doc/gnulib.texi: Include it.
44442
44443 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44444
44445         * modules/func (License): Change license to unlimited; there was
44446         no LGPL parts in the module anyway.
44447
44448 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44449
44450         * modules/__func__: Renamed to modules/func.
44451         * modules/__func__-tests: Renamed to modules/func-tests.
44452         * tests/test-__func__.c: Renamed to tests/test-func.c.
44453         * m4/__func__.m4: Renamed to m4/func.m4.
44454         * doc/gnulib.texi (__func__): Section renamed to func.
44455         Suggested by Eric Blake <ebb9@byu.net>.
44456
44457 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44458
44459         * doc/gnulib.texi (__func__): Use C99 terminology when talking
44460         about __func__.  Make example self-contained.  Suggested by Eric
44461         Blake <ebb9@byu.net>.
44462
44463         * tests/test-__func__.c (main): Avoid extraneous () around __func.
44464         Suggested by Eric Blake <ebb9@byu.net>.
44465
44466 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44467
44468         * modules/__func__: New file.
44469         * modules/__func__-tests: New file.
44470         * tests/test-__func__.c: New file.
44471         * m4/__func__.m4: New file.
44472         * doc/gnulib.texi (__func__): Document __func__ module.
44473
44474 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44475
44476         * modules/byteswap (License): Re-license as LGPLv2+.
44477
44478 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44479
44480         * doc/Makefile: Add pdf target.
44481
44482 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44483
44484         * modules/inline (License): Use 'unlimited', since there are only
44485         *.m4 files in this module.
44486
44487 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
44488             Bruno Haible  <bruno@clisp.org>
44489
44490         Add support for HP C 7.1 on OpenVMS 8.3.
44491         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
44492
44493 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
44494
44495         Update VMS specifics.
44496         * lib/getopt.c [VMS]: Remove include of unixlib.h.
44497
44498 2008-03-02  Jim Meyering  <meyering@redhat.com>
44499
44500         Remove the last dependency on the "free" module.
44501         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
44502         Reported by Bob Proulx.
44503
44504         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
44505
44506         Remove useless "if" tests before free.  Deprecate "free" module.
44507         * doc/posix-functions/free.texi: Mention that this
44508         module is no longer useful.
44509         * modules/free (Notice): Say this module is obsolete.
44510         * modules/readutmp (Depends-on): Remove free.
44511         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
44512         * lib/putenv.c (putenv): Likewise.
44513         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
44514         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
44515         * tests/test-c-strcasestr.c (main): Likewise.
44516         * tests/test-c-strstr.c (main): Likewise.
44517         * tests/test-mbscasestr1.c (main): Likewise.
44518         * tests/test-mbscasestr2.c (main): Likewise.
44519         * tests/test-mbsstr1.c (main): Likewise.
44520         * tests/test-mbsstr2.c (main): Likewise.
44521         * tests/test-memmem.c (main): Likewise.
44522         * tests/test-strcasestr.c (main): Likewise.
44523         * tests/test-striconv.c (main): Likewise.
44524         * tests/test-striconveh.c (main): Likewise.
44525         * tests/test-striconveha.c (main): Likewise.
44526         * tests/test-strstr.c (main): Likewise.
44527
44528         * build-aux/git-version-gen: Adjust a comment and the Usage string.
44529
44530         bootstrap: sync from coreutils again
44531         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
44532
44533 2008-03-01  Jim Meyering  <meyering@redhat.com>
44534
44535         bootstrap: sync from coreutils
44536         * build-aux/bootstrap (update_po_files): Copy a .po file into place
44537         also when the target doesn't exist.
44538
44539 2008-03-01  Eric Blake  <ebb9@byu.net>
44540
44541         Fix bugs in last patch.
44542         * lib/memchr2.c (memchr2): Fix typo.
44543         * tests/test-memchr2.c: Test previous bug, and don't use GNU
44544         extension.
44545         Reported by Bruce Korb.
44546
44547         New module 'memchr2'.
44548         * modules/memchr2: New file.
44549         * modules/memchr2-tests: Likewise.
44550         * lib/memchr2.h: Likewise.
44551         * lib/memchr2.c: Likewise, based on memchr.c.
44552         * tests/test-memchr2.c: New test.
44553         * MODULES.html.sh (String handling): Add memchr2.
44554
44555 2008-02-29  Bruno Haible  <bruno@clisp.org>
44556
44557         * modules/freadseek-tests: New file.
44558         * tests/test-freadseek.sh: New file.
44559         * tests/test-freadseek.c: New file.
44560
44561         New module 'freadseek'.
44562         * modules/freadseek: New file.
44563         * lib/freadseek.h: New file.
44564         * lib/freadseek.c: New file.
44565         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
44566
44567 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
44568
44569         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
44570         wydawca.
44571
44572         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
44573         program_invocation_name and program_invocation_short_name are
44574         present.
44575
44576 2008-02-28  Bruno Haible  <bruno@clisp.org>
44577
44578         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
44579         * tests/test-freadptr.sh: Also test non-seekable stdin.
44580
44581 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
44582
44583         * build-aux/bootstrap (source_base, m4_base)
44584         (doc_base, tests_base): New variables.
44585         (gnulib_tool_options): Do not hardcode base directories, use
44586         the above variables instead.
44587
44588 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
44589
44590         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
44591
44592 2008-02-28  Bruno Haible  <bruno@clisp.org>
44593
44594         * modules/freadptr-tests: New file.
44595         * tests/test-freadptr.sh: New file.
44596         * tests/test-freadptr.c: New file.
44597
44598         New module 'freadptr'.
44599         * modules/freadptr: New file.
44600         * lib/freadptr.h: New file.
44601         * lib/freadptr.c: New file.
44602         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
44603
44604 2008-02-26  Karl Berry  <karl@freefriends.org>
44605
44606         Sync from Libtool:
44607         * libltdl/argz.c (argz_add, argz_count): New functions.
44608         * libltdl/argz.in.h: Declare them.
44609         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
44610
44611 2008-02-22  Bruno Haible  <bruno@clisp.org>
44612
44613         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
44614         is a pointer type.  Needed for HP-UX 10.
44615         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
44616         * doc/posix-functions/gmtime_r.texi: Likewise.
44617         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
44618
44619 2008-02-24  Bruno Haible  <bruno@clisp.org>
44620
44621         * modules/environ-tests: New file.
44622         * tests/test-environ.c: New file.
44623
44624         New module 'environ'.
44625         * modules/environ: New file.
44626         * lib/unistd.in.h (environ): New declaration.
44627         * m4/environ.m4: New file.
44628         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
44629         after use.
44630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
44631         HAVE_DECL_ENVIRON.
44632         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
44633         HAVE_DECL_ENVIRON.
44634         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
44635         wrong claim that 'environ' is missing on some systems.
44636         * modules/execute (Depends-on): Add environ.
44637         * lib/execute.c (environ): Remove fallback declaration.
44638         * modules/pipe (Depends-on): Add environ.
44639         * lib/pipe.c (environ): Remove fallback declaration.
44640         * modules/setenv (Depends-on): Add environ.
44641         * lib/setenv.c (environ): Remove fallback declaration.
44642         * modules/unsetenv (Depends-on): Add environ.
44643         * lib/unsetenv.c (environ): Remove fallback declaration.
44644         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
44645         m4/environ.m4.
44646         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
44647         (gl_PREREQ_UNSETENV): Likewise.
44648
44649 2008-02-24  Bruno Haible  <bruno@clisp.org>
44650
44651         * doc/posix-functions/environ.texi: Document the MacOS X problem.
44652
44653 2008-02-20  Bob Proulx  <bob@proulx.com>
44654
44655         Enable use of older two part flavor 'git describe'.
44656         * build-aux/git-version-gen: If using the older two part flavor of
44657         git version then recreate the third part now present in the
44658         newer three part flavor of git describe.
44659
44660 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
44661
44662         * lib/fts.c (fts_build): Typo correction to comment.
44663
44664 2008-02-17  Bruno Haible  <bruno@clisp.org>
44665
44666         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
44667         generating no-op conflicts.
44668
44669 2008-02-17  Bruno Haible  <bruno@clisp.org>
44670
44671         Speed up by 10%.
44672         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
44673         result_entries, rather than an index-based loop.
44674
44675 2008-02-17  Bruno Haible  <bruno@clisp.org>
44676
44677         Speed up by 25%.
44678         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
44679         'hashcode_cached'.
44680         (entry_create): New function.
44681         (entry_hashcode): Use the cached hashcode if possible.
44682         (read_changelog_file, try_split_merged_entry): Use entry_create.
44683
44684 2008-02-17  Bruno Haible  <bruno@clisp.org>
44685
44686         Speed up from O(n^2) to O(n) for long ChangeLog files.
44687         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
44688         (read_changelog_file): Change implementation of entries_reversed list
44689         to rbtreehash.
44690         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
44691
44692 2008-02-17  Bruno Haible  <bruno@clisp.org>
44693
44694         New option --split-merged-entry.
44695         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
44696         (find_paragraph_end, try_split_merged_entry): New functions.
44697         (long_options): Add option --split-merged-entry.
44698         (usage): Document option --split-merged-entry.
44699         (main): Implement option --split-merged-entry.
44700         Reported by Eric Blake.
44701
44702 2008-02-17  Bruno Haible  <bruno@clisp.org>
44703
44704         * lib/git-merge-changelog.c: Include c-strstr.h.
44705         (main): Support the "git pull --rebase" situation.
44706         * modules/git-merge-changelog (Depends-on): Add c-strstr.
44707         Reported by Eric Blake.
44708
44709 2008-02-16  Eric Blake  <ebb9@byu.net>
44710
44711         Avoid doubling \ in common case of "c-maybe" quoting style.
44712         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
44713         eliding outer quotes.
44714         * lib/quotearg.h: Document this.
44715         * tests/test-quotearg.c (result_strings, inputs, results_g)
44716         (flag_results, locale_results): Test it by adding a new string to
44717         each test group.
44718         (compare_strings): Test new string.
44719
44720 2008-02-13  Eric Blake  <ebb9@byu.net>
44721
44722         Avoid trigraph quoting in default output.
44723         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
44724         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
44725         unless explicitly requested.
44726         * tests/test-quotearg.c (flag_results, main): Add additional tests.
44727
44728 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
44729
44730         Don't rely on signed integer overflowing to negative value.
44731         * lib/getugroups.c (getugroups): Include <limits.h>.
44732         Instead, compare against INT_MAX, and increment only if the test passes.
44733
44734 2008-02-13  Jim Meyering  <meyering@redhat.com>
44735         and Eric Blake  <ebb9@byu.net>
44736
44737         Avoid shadowing warning and compile errors on Linux.
44738         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
44739         forwarding macros on Linux.
44740         (dcgettext): Define a stub, for Linux.
44741         (results_g, main): Avoid warnings.
44742
44743 2008-02-12  Eric Blake  <ebb9@byu.net>
44744
44745         Silence warning in last patch.
44746         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
44747
44748         Quotearg part 4: add tests, fix c-maybe colon quoting.
44749         * lib/quotearg.h: Improve documentation.
44750         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
44751         escapes when adding outer quotes.  When quoting trigraphs, use
44752         valid C notation.  When quoting NUL, omit extra characters if next
44753         character is not digit.  Alter prototype.
44754         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
44755         callers.
44756         * modules/quotearg-tests: New module.
44757         * tests/test-quotearg.c: New test.
44758
44759 2008-02-07  Eric Blake  <ebb9@byu.net>
44760
44761         Quotearg part 3: add flag to control outer quote elision.
44762         * lib/quotearg.h (c_maybe_quoting_style): New style.
44763         (enum quoting_flags): Better documentation of flags.
44764         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
44765         c-maybe style.
44766         (quotearg_buffer_restyled): Handle new flag to elide outer
44767         quotes.
44768
44769         Quotearg part 2: add flag that can control NUL elision.
44770         * lib/quotearg.h (set_quoting_flags): New prototype.
44771         * lib/quotearg.c (struct quoting_options): Add flag field.
44772         (set_quoting_flags): New function.
44773         (quotearg_buffer_restyled): Add flags parameter.
44774         (quotearg_alloc_mem): Set the flag if length cannot be returned.
44775         (quotearg_n_options): Set the flag, since length cannot be
44776         returned.
44777         (quoting_options_from_style): Default flags correctly.
44778
44779         Quotearg part 1: more wrappers, restore quotearg_char state.
44780         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
44781         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
44782         (quotearg_colon_mem): New wrappers.
44783         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
44784         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
44785         functions.
44786         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
44787         (quotearg_colon_mem): New functions.
44788
44789 2008-02-11  Bruno Haible  <bruno@clisp.org>
44790
44791         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
44792         library in the current directory: it does not work with parallel make.
44793         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44794
44795 2008-02-11  Bruno Haible  <bruno@clisp.org>
44796
44797         * .gitattributes: New file.
44798
44799 2008-02-11  Jim Meyering  <meyering@redhat.com>
44800
44801         useless-if-before-free: Fix reversed exit values.
44802         * build-aux/useless-if-before-free: Use correct values
44803         for EXIT_MATCH and EXIT_NO_MATCH.
44804
44805         * build-aux/useless-if-before-free: Close stdout carefully.
44806
44807 2008-02-10  Bruno Haible  <bruno@clisp.org>
44808
44809         New module 'git-merge-changelog'.
44810         * modules/git-merge-changelog: New file.
44811         * lib/git-merge-changelog.c: New file.
44812
44813 2008-02-10  Jim Meyering  <meyering@redhat.com>
44814
44815         useless-if-before-free: New option: --list (-l).
44816
44817         useless-if-before-free: Don't exit immediately upon open failure.
44818         * build-aux/useless-if-before-free: Exit 2 for errors.
44819         Upon failure to open a file, don't exit immediately.
44820         Rather, just warn and continue with any remaining files.
44821
44822 2008-02-10  Bruno Haible  <bruno@clisp.org>
44823
44824         New abstract list operation 'node_set_value'.
44825         * lib/gl_list.h (gl_list_node_set_value): New function.
44826         (struct gl_list_implementation): New field node_set_value.
44827         * lib/gl_list.c (gl_list_node_set_value): New function.
44828         * lib/gl_array_list.c (gl_array_node_set_value): New function.
44829         (gl_array_list_implementation): Update.
44830         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
44831         (gl_carray_list_implementation): Update.
44832         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
44833         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44834         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44835         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
44836         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
44837         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
44838         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
44839         Update.
44840         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
44841         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
44842         (gl_sublist_list_implementation): Update.
44843
44844 2008-02-10  Bruno Haible  <bruno@clisp.org>
44845
44846         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
44847         Needed when ELEMENT is #defined to 'some_type *'.
44848
44849 2008-02-10  Jim Meyering  <meyering@redhat.com>
44850
44851         New script and module: useless-if-before-free
44852         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
44853         * build-aux/useless-if-before-free: New file.
44854         * modules/useless-if-before-free: New file.
44855
44856         * build-aux/gitlog-to-changelog: Use committer date, not author date.
44857
44858         xstrtol_error: Fix typo.
44859         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
44860         s/exit_failure/exit_status/.
44861
44862 2008-02-09  Jim Meyering  <meyering@redhat.com>
44863
44864         New script and module: gitlog-to-changelog
44865         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
44866         * modules/gitlog-to-changelog: New file.
44867         * build-aux/gitlog-to-changelog: New file.
44868
44869 2008-02-08  Jim Meyering  <meyering@redhat.com>
44870
44871         Avoid two "parameter unused" warnings.
44872         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
44873         Mark "st" as used.
44874
44875         Use "git COMMAND", not "git-COMMAND".
44876         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
44877         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
44878         * build-aux/git-version-gen: Use "git status", not "git-status".
44879
44880 2008-02-07  Bruno Haible  <bruno@clisp.org>
44881
44882         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
44883         Avoids a crash on Windows Vista.
44884         Reported by Adam Strzelecki <ono@java.pl> via
44885         Simon Josefsson <simon@josefsson.org>.
44886
44887 2008-02-06  Bruno Haible  <bruno@clisp.org>
44888
44889         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
44890         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
44891         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
44892         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
44893         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44894         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44895         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
44896         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
44897         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44898         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44899         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44900         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44901         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44902         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44903         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44904         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
44905         left-adjust flag.
44906         * tests/test-snprintf-posix.h (test_function): Likewise.
44907         * tests/test-sprintf-posix.h (test_function): Likewise.
44908         * tests/test-vasprintf-posix.c (test_function): Likewise.
44909         * doc/posix-functions/fprintf.texi: Update.
44910         * doc/posix-functions/printf.texi: Update.
44911         * doc/posix-functions/snprintf.texi: Update.
44912         * doc/posix-functions/sprintf.texi: Update.
44913         * doc/posix-functions/vfprintf.texi: Update.
44914         * doc/posix-functions/vprintf.texi: Update.
44915         * doc/posix-functions/vsnprintf.texi: Update.
44916         * doc/posix-functions/vsprintf.texi: Update.
44917         Reported by Peter Fales <psfales@alcatel-lucent.com>.
44918
44919 2008-02-06  Bruno Haible  <bruno@clisp.org>
44920
44921         Fix bug introduced on 2008-01-26.
44922         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
44923
44924 2008-02-06  Bruno Haible  <bruno@clisp.org>
44925
44926         Fix bug introduced on 2007-06-10.
44927         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
44928         !NEED_PRINTF_FLAG_ZERO.
44929
44930 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
44931
44932         getloadavg: use libperfstat on AIX5
44933         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
44934
44935 2008-02-03  Bruno Haible  <bruno@clisp.org>
44936
44937         * lib/diffseq.h: Add comments about required #includes.
44938         Reported by Michael Biggs <gnulib@doubleplum.net>.
44939
44940 2008-02-01  Bruno Haible  <bruno@clisp.org>
44941
44942         * users.txt: Add gnuit.
44943
44944 2008-01-31  Bruno Haible  <bruno@clisp.org>
44945
44946         * lib/md4.c (set_uint32): Mark as inline.
44947         * lib/md5.c (set_uint32): Likewise.
44948         * lib/sha1.c (set_uint32): Likewise.
44949         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
44950         * m4/md5.m4 (gl_MD5): Likewise.
44951         * m4/sha1.m4 (gl_SHA1): Likewise.
44952
44953 2008-01-31  Jim Meyering  <meyering@redhat.com>
44954
44955         Use "sizeof VAR", rather than a literal "4".
44956         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
44957         * lib/md4.c (md4_read_ctx): Likewise.
44958         * lib/sha1.c (sha1_read_ctx): Likewise.
44959
44960 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44961
44962         * tests/test-sha1.c: New file, based on test-md5.c.
44963
44964         * modules/crypto/sha1-tests: New file.
44965
44966 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44967
44968         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
44969
44970 2008-01-31  Jim Meyering  <meyering@redhat.com>
44971
44972         Prefer "sizeof v" over the equivalent "4".
44973         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
44974         * lib/md5.c (set_uint32): Likewise.
44975         * lib/sha1.c (set_uint32): Likewise.
44976
44977 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44978
44979         * lib/sha1.c (set_uint32): Mark function as static.
44980
44981 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44982
44983         md2: clarify comments to say that alignment is not required.
44984         * lib/md2.h: Remove warning about alignment in comment.
44985         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
44986         never been required.
44987
44988 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44989
44990         md4: adapt alignment constraint fix from sha1.
44991         * lib/md4.c (set_uint32): New function, from sha1.c
44992         (md4_read_ctx): Use it.
44993         (md4_finish_ctx): Doc fix.
44994         * lib/md4.h: Doc fix.
44995
44996 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44997
44998         md5: adapt alignment constraint fix from sha1.
44999         * lib/md5.c (set_uint32): New function, from sha1.c
45000         (md5_read_ctx): Use it.
45001         (md5_finish_ctx): Doc fix.
45002         * lib/md5.h: Doc fix.
45003
45004 2008-01-30  Peter Palfrader  <weasel@debian.org>
45005
45006         sha1: remove the result buffer alignment constraint
45007         * lib/sha1.c (set_uint32): New function.
45008         (sha1_read_ctx): Rewrite to remove the result buffer alignment
45009         constraint.
45010         (sha1_finish_ctx): Remove comment warning about alignment constraint.
45011         * lib/sha1.h: Likewise.
45012
45013 2008-01-30  Andreas Schwab  <schwab@suse.de>
45014             Bruno Haible  <bruno@clisp.org>
45015
45016         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
45017         correct definition of LDBL_MIN_EXP.
45018
45019 2008-01-30  Karl Berry  <karl@gnu.org>
45020
45021         * config/srclist-update: try to preserve x bit on updates.
45022         * config/srclistvars.sh: update for karl.
45023
45024 2008-01-29  Jim Meyering  <meyering@redhat.com>
45025
45026         vasnprintf.c: Avoid warning about unused label
45027         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
45028         "overflow" label definition and associated code with the
45029         same cpp condition that guards the sole use of that label.
45030
45031 2008-01-26  Bruno Haible  <bruno@clisp.org>
45032
45033         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
45034         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
45035         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
45036         * lib/isnanl-nolibm.h (isnanl): Likewise.
45037         Reported by Paul Eggert <eggert@cs.ucla.edu>.
45038
45039 2008-01-26  Bruno Haible  <bruno@clisp.org>
45040
45041         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
45042         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
45043
45044 2008-01-26  Bruno Haible  <bruno@clisp.org>
45045
45046         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
45047         GCC >= 4.0 built-in.
45048         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
45049
45050 2008-01-26  Bruno Haible  <bruno@clisp.org>
45051
45052         Rename isnan, applicable to 'double' only, to isnand.
45053         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
45054         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
45055         (configure.ac): Update.
45056         (Include): Replace "isnan.h" with "isnand.h".
45057         * m4/isnand.m4: Renamed from m4/isnan.m4.
45058         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
45059         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
45060         instead of isnan.c.
45061         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
45062         instead of HAVE_ISNAN_IN_LIBC.
45063         (isnand): Renamed from isnan.
45064         * lib/isnand.c: New file.
45065         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
45066         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
45067         (Makefile.am): Update.
45068         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
45069         Include isnand.h instead of isnan.h.
45070         (main): Test isnand instead of isnan.
45071         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
45072         isnan-nolibm.
45073         * modules/frexp (Depends-on): Likewise.
45074         * modules/frexp-tests (Depends-on): Likewise.
45075         * modules/frexp-nolibm (Depends-on): Likewise.
45076         * modules/frexp-nolibm-tests (Depends-on): Likewise.
45077         * modules/isfinite (Depends-on): Likewise.
45078         * modules/round-tests (Depends-on): Likewise.
45079         * modules/signbit (Depends-on): Likewise.
45080         * modules/signbit-tests (Depends-on): Likewise.
45081         * modules/snprintf-posix (Depends-on): Likewise.
45082         * modules/sprintf-posix (Depends-on): Likewise.
45083         * modules/trunc-tests (Depends-on): Likewise.
45084         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45085         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45086         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45087         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45088         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45089         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45090         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45091         * modules/vasnprintf-posix (Depends-on): Likewise.
45092         * modules/vasprintf-posix (Depends-on): Likewise.
45093         * modules/vfprintf-posix (Depends-on): Likewise.
45094         * modules/vsnprintf-posix (Depends-on): Likewise.
45095         * modules/vsprintf-posix (Depends-on): Likewise.
45096         * lib/frexp.c: Include isnand.h instead of isnan.h.
45097         (ISNAN): Set to isnand instead of isnan.
45098         * lib/isfinite.c: Include isnand.h instead of isnan.h.
45099         (gl_isfinited): Use isnand instead of isnan.
45100         * lib/signbitd.c: Include isnand.h instead of isnan.h.
45101         (gl_signbitd): Use isnand instead of isnan.
45102         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
45103         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
45104         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
45105         (main): Use isnand instead of isnan.
45106         * tests/test-round1.c: Include isnand.h.
45107         (main): Use isnand instead of isnan.
45108         * tests/test-round2.c: Include isnand.h instead of isnan.h.
45109         (ISNAN): Set to isnand instead of isnan.
45110         * tests/test-trunc1.c: Include isnand.h.
45111         (main): Use isnand instead of isnan.
45112         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
45113         (equal): Use isnand instead of isnan.
45114         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
45115         isnand-nolibm.
45116         * NEWS: Mention the change.
45117
45118 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
45119             Bruno Haible  <bruno@clisp.org>
45120
45121         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
45122         the GCC builtins for signbits are present and set
45123         REPLACE_SIGNBIT_USING_GCC if so.
45124         * lib/math.in.h (signbit): Define using GCC builtins if
45125         REPLACE_SIGNBIT_USING_GCC is set.
45126         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
45127         REPLACE_SIGNBIT_USING_GCC.
45128         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
45129
45130 2008-01-25  Jim Meyering  <meyering@redhat.com>
45131
45132         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
45133         * lib/poll.c: Include <config.h>, not "config.h".
45134         * tests/test-getaddrinfo.c: Likewise.
45135
45136 2008-01-25  Simon Josefsson  <simon@josefsson.org>
45137
45138         * modules/sockets-tests: New file.
45139
45140 2008-01-24  Simon Josefsson  <simon@josefsson.org>
45141
45142         * modules/sockets: New module, can be used to call WSA_Startup and
45143         WSA_Cleanup when needed.
45144
45145         * lib/sockets.h, lib/sockets.c: New files.
45146
45147         * m4/sockets.m4: New file.
45148
45149         * tests/test-sockets.c: New file.
45150
45151 2008-01-19  Bruno Haible  <bruno@clisp.org>
45152
45153         * doc/posix-headers: Renamed from doc/headers.
45154         * doc/posix-functions: Renamed from doc/functions.
45155         * doc/gnulib.texi: Update.
45156
45157 2008-01-19  Bruno Haible  <bruno@clisp.org>
45158
45159         * doc/glibc-functions/strcasestr.texi: Include contents of
45160         doc/functions/strcasestr.texi, fixing the list of platforms.
45161         * doc/functions/strcasestr.texi: Remove file.
45162
45163 2008-01-19  Bruno Haible  <bruno@clisp.org>
45164
45165         * doc/glibc-functions/memmem.texi: Include contents of
45166         doc/functions/memmem.texi.
45167         * doc/functions/memmem.texi: Remove file.
45168
45169 2008-01-18  Bruno Haible  <bruno@clisp.org>
45170
45171         * doc/glibc-functions/*.texi: New files.
45172         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
45173         to use the new files.
45174
45175 2008-01-17  Bruno Haible  <bruno@clisp.org>
45176
45177         * tests/test-gethostname.c (main): Fix printf statement.
45178
45179 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45180
45181         * modules/gethostname-tests: New file.
45182
45183         * tests/test-gethostname.c: New file.
45184
45185 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45186
45187         * lib/gethostname.c: Include string.h unconditionally, strncpy is
45188         used by the UNAME case.  Reported by Bruno Haible
45189         <bruno@clisp.org>.
45190
45191 2008-01-17  Eric Blake  <ebb9@byu.net>
45192
45193         Convert c-strcasestr to be more efficient.
45194         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
45195         (Depends-on): Add c-strcase, remove malloca, strnlen.
45196         * tests/test-c-strcasestr.c (main): Enhance test.
45197         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
45198
45199 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
45200
45201         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
45202         Use it in creating po/Makevars.
45203
45204 2008-01-15  Simon Josefsson  <simon@josefsson.org>
45205
45206         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
45207         Applications that requires it should initialize libgcrypt
45208         manually.
45209
45210 2008-01-16  Simon Josefsson  <simon@josefsson.org>
45211
45212         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
45213
45214 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
45215
45216         Fix problem with getdate on mingw32 reported by Simon Josefsson
45217         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
45218         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
45219         tzname", when deciding whether to declare tzname.
45220         * lib/strftime.c (tzname): Likewise.
45221
45222 2008-01-15  Bruno Haible  <bruno@clisp.org>
45223
45224         Work around a MacOS X 10.5 bug in frexpl().
45225         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
45226         * doc/functions/frexpl.texi: Document the bug.
45227         Reported by Elias Pipping <pipping@gentoo.org>.
45228
45229 2008-01-14  Eric Blake  <ebb9@byu.net>
45230
45231         Touch up previous patch.
45232         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
45233         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
45234
45235         Convert strcasestr module to use Two-Way algorithm.
45236         * modules/strcasestr-simple: New module, based on the old
45237         strcasestr, but with Two-Way rather than KMP.
45238         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
45239         * lib/string.in.h (rpl_strcasestr): Declare.
45240         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
45241         performance.
45242         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
45243         * modules/string (Makefile.am): Support strcasestr.
45244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45245         * modules/strcasestr-tests (Depends-on): Check for alarm.
45246         * tests/test-strcasestr.c: Augment test.
45247         * lib/str-two-way.h: Clean up stray macro.
45248         * NEWS: Document new module.
45249         * MODULES.html.sh (string handling): Likewise.
45250         * doc/functions/strcasestr.texi: New file.
45251         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
45252         here, since it is not a POSIX function.
45253
45254 2008-01-14  Colin Watson  <cjwatson@debian.org>
45255             Bruno Haible  <bruno@clisp.org>
45256
45257         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
45258         works fine; if not, set REPLACE_STRSIGNAL.
45259         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
45260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45261         REPLACE_STRSIGNAL.
45262         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
45263         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
45264         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
45265
45266 2008-01-14  Bruno Haible  <bruno@clisp.org>
45267
45268         * modules/strsignal (Include): Change to <string.h>.
45269
45270 2008-01-14  Colin Watson  <cjwatson@debian.org>
45271
45272         * modules/argp (Notice): Add a notice recommending to change
45273         XGETTEXT_OPTIONS.
45274         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
45275
45276 2008-01-13  Colin Watson  <cjwatson@debian.org>
45277
45278         * modules/strsignal-tests: New file.
45279         * tests/test-strsignal.c: New file.
45280
45281         * lib/strsignal.c: New file, from glibc with modifications.
45282         * lib/siglist.h: New file, from glibc with modifications.
45283         * lib/string.in.h (strsignal): New declaration.
45284         * m4/strsignal.m4: New file.
45285         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45286         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
45287         * modules/strsignal: New file.
45288         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
45289         HAVE_DECL_STRSIGNAL.
45290
45291 2008-01-13  Bruno Haible  <bruno@clisp.org>
45292
45293         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
45294         locale encoding is not ASCII. Needed for OpenBSD 4.0.
45295         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45296         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45297
45298 2008-01-13  Bruno Haible  <bruno@clisp.org>
45299
45300         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
45301         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
45302         * lib/argp.h (__attribute__): Likewise.
45303         * lib/c-stack.c (__attribute__): Likewise.
45304         * lib/error.h (__attribute__): Likewise.
45305         * lib/fts.c (__attribute__): Likewise.
45306         * lib/openat.h (__attribute__): Likewise.
45307         * lib/stdio.in.h (__attribute__): Likewise.
45308         * lib/string.in.h (__attribute__): Likewise.
45309         * lib/utimens.c (__attribute__): Likewise.
45310         * lib/vasnprintf.h (__attribute__): Likewise.
45311         * lib/xalloc.h (__attribute__): Likewise.
45312         * lib/xprintf.h (__attribute__): Likewise.
45313         * lib/xstrtol.h (__attribute__): Likewise.
45314         * lib/xvasprintf.h (__attribute__): Likewise.
45315
45316 2008-01-12  Bruno Haible  <bruno@clisp.org>
45317
45318         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
45319         * doc/glibc-headers/a.out.texi: New file.
45320         * doc/glibc-headers/aliases.texi: New file.
45321         * doc/glibc-headers/alloca.texi: New file.
45322         * doc/glibc-headers/ar.texi: New file.
45323         * doc/glibc-headers/argp.texi: New file.
45324         * doc/glibc-headers/argz.texi: New file.
45325         * doc/glibc-headers/byteswap.texi: New file.
45326         * doc/glibc-headers/crypt.texi: New file.
45327         * doc/glibc-headers/endian.texi: New file.
45328         * doc/glibc-headers/envz.texi: New file.
45329         * doc/glibc-headers/err.texi: New file.
45330         * doc/glibc-headers/error.texi: New file.
45331         * doc/glibc-headers/execinfo.texi: New file.
45332         * doc/glibc-headers/fpu_control.texi: New file.
45333         * doc/glibc-headers/fstab.texi: New file.
45334         * doc/glibc-headers/fts.texi: New file.
45335         * doc/glibc-headers/getopt.texi: New file.
45336         * doc/glibc-headers/ieee754.texi: New file.
45337         * doc/glibc-headers/ifaddrs.texi: New file.
45338         * doc/glibc-headers/libintl.texi: New file.
45339         * doc/glibc-headers/mcheck.texi: New file.
45340         * doc/glibc-headers/mntent.texi: New file.
45341         * doc/glibc-headers/obstack.texi: New file.
45342         * doc/glibc-headers/paths.texi: New file.
45343         * doc/glibc-headers/printf.texi: New file.
45344         * doc/glibc-headers/pty.texi: New file.
45345         * doc/glibc-headers/resolv.texi: New file.
45346         * doc/glibc-headers/shadow.texi: New file.
45347         * doc/glibc-headers/sysexits.texi: New file.
45348         * doc/glibc-headers/ttyent.texi: New file.
45349
45350 2008-01-12  Jim Meyering  <meyering@redhat.com>
45351
45352         announce-gen: emit Gnulib's git-based version string.
45353         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
45354         New option --gnulib-version=V, where V is expected to be
45355         the output of running git describe in the gnulib directory.
45356         (get_tool_versions): Request feedback on xdelta.  I suspect it's
45357         not useful, and plan to stop publishing an xdelta file with each
45358         coreutils release.
45359
45360         * build-aux/announce-gen: Also check for lzma-compressed files.
45361
45362 2008-01-11  Bruno Haible  <bruno@clisp.org>
45363
45364         * tests/test-memmem.c (main): Increase maximum allowed time.
45365         * tests/test-strstr.c (main): Likewise.
45366
45367 2008-01-11  Bruno Haible  <bruno@clisp.org>
45368
45369         * doc/functions/memmem.texi: Add more precisions about platforms.
45370         * doc/functions/strstr.texi: Likewise.
45371
45372 2008-01-10  Eric Blake  <ebb9@byu.net>
45373
45374         * m4/strstr.m4: Delete cruft from copy-n-paste.
45375         Reported by Bruno Haible.
45376
45377 2008-01-10  Bruno Haible  <bruno@clisp.org>
45378
45379         Make c-strstr rely on strstr.
45380         * lib/c-strstr.c: Don't include str-kmp.h.
45381         (c_strstr): Define in terms of strstr.
45382         * modules/c-strstr (Files): Remove lib/str-kmp.h.
45383         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
45384
45385 2008-01-10  Bruno Haible  <bruno@clisp.org>
45386
45387         * doc/gnulib.texi (String Functions in C Locale): New section.
45388         * doc/c-ctype.texi: New file.
45389         * doc/c-strcase.texi: New file.
45390         * doc/c-strcaseeq.texi: New file.
45391         * doc/c-strcasestr.texi: New file.
45392         * doc/c-strstr.texi: New file.
45393         * doc/c-strtod.texi: New file.
45394         * doc/c-strtold.texi: New file.
45395
45396 2008-01-10  Eric Blake  <ebb9@byu.net>
45397
45398         * lib/relocatable.h: Fix a comment.
45399
45400 2008-01-10  Eric Blake  <ebb9@byu.net>
45401
45402         Share two-way algorithm.
45403         * lib/str-two-way.h: New file, merged from...
45404         * lib/memmem.c: ...here...
45405         * lib/strstr.c: ...and here.
45406         * modules/memmem (Files): Use it.
45407         * modules/strstr (Files): Likewise.
45408
45409         Avoid quadratic strstr implementations.
45410         * lib/strstr.c: New file.
45411         * m4/strstr.m4: Likewise.
45412         * modules/strstr: Likewise.
45413         * modules/strstr-tests: Likewise.
45414         * tests/test-strstr.c: Likewise.
45415         * lib/string.in.h (rpl_strstr): Declare.
45416         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
45417         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
45418         * modules/string (Makefile.am): Likewise.
45419         * MODULES.html.sh (string handling): Mention new module.
45420         * doc/functions/strstr.texi (strstr): Document the bug.
45421
45422 2008-01-10  Bruno Haible  <bruno@clisp.org>
45423
45424         * lib/relocatable.h (relocate): State whether result is freshly
45425         allocated or not.
45426         * lib/relocatable.c (relocate): Return a freshly allocated string
45427         instead of a pointer to a privately held string.
45428         Reported by Sylvain Beucler <beuc@gnu.org>.
45429
45430 2008-01-10  Colin Watson  <cjwatson@debian.org>
45431
45432         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
45433         s/S_ISNLK/S_ISLNK/.
45434
45435 2008-01-09  Bruno Haible  <bruno@clisp.org>
45436
45437         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
45438         and other files.
45439         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
45440         if it's only a guess.
45441         * modules/memmem: Simplify by depending on memmem-simple.
45442
45443 2008-01-09  Bruno Haible  <bruno@clisp.org>
45444
45445         Work around OpenBSD 4.0 tdelete() bug.
45446         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
45447         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
45448         macros and don't redefine the enum values.
45449         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
45450         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
45451         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
45452
45453 2008-01-09  Bruno Haible  <bruno@clisp.org>
45454
45455         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
45456         (main): Don't perform the tests if setlocale did not install a UTF-8
45457         locale. Needed on OpenBSD 4.0.
45458         * modules/wcwidth-tests (Depends-on): Add localcharset.
45459
45460 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45461
45462         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
45463         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
45464         * NEWS: announce this.
45465         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
45466
45467 2008-01-09  Simon Josefsson  <simon@josefsson.org>
45468         and Eric Blake  <ebb9@byu.net>
45469
45470         Add memmem-simple module.
45471         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
45472         (gl_FUNC_MEMMEM): Separate performance from presence checks.
45473         * modules/memmem-simple: New file.
45474         * modules/memmem (Description): Tweak.
45475         * MODULES.html.sh (string handling): Mention new module.
45476         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
45477         addressed by memmem-simple.
45478         * NEWS: Document the difference.
45479
45480 2008-01-09  Eric Blake  <ebb9@byu.net>
45481
45482         Give gcc some memmem optimization hints.
45483         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
45484         (strcasestr): Declare as pure.
45485         * modules/memmem (Maintainer): Claim my implementation.
45486
45487 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45488
45489         Support AIX 6.1 and higher.
45490         * build-aux/config.libpath: Likewise.
45491         * build-aux/config.rpath: Likewise.
45492
45493 2008-01-08  Jim Meyering  <meyering@redhat.com>
45494             Bruno Haible  <bruno@clisp.org>
45495
45496         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
45497         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
45498         Reported by Peter Fales in
45499         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
45500
45501 2008-01-08  Bruno Haible  <bruno@clisp.org>
45502
45503         * modules/unictype/category-of (Depends-on): Add
45504         unictype/category-none.
45505         * modules/unictype/category-and-tests (Depends-on): Add
45506         unictype/category-{L,N,Lu,Nd}.
45507         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
45508         * modules/unictype/category-or-tests (Depends-on): Add
45509         unictype/category-{L,N}.
45510         * modules/unictype/category-name-tests (Depends-on): Add
45511         unictype/category-{Z,Nl}.
45512         Reported by Simon Josefsson.
45513
45514 2008-01-08  Bruno Haible  <bruno@clisp.org>
45515
45516         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
45517         convention better.
45518         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
45519         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
45520         Reported by Peter Miller <millerp@canb.auug.org.au>.
45521
45522 2008-01-08  Eric Blake  <ebb9@byu.net>
45523
45524         Rewrite memmem to guarantee linear complexity without malloc.
45525         * lib/memmem.c (memmem): Use Two-Way rather than
45526         Knuth-Morris-Pratt, to allow O(1) space usage.
45527         (critical_factorization, two_way_short_needle)
45528         (two_way_long_needle): New functions.
45529         (knuth_morris_pratt): Delete.
45530         * modules/memmem (Depends-on): No longer need malloca or stdbool.
45531         Add stdint.
45532         * tests/test-memmem.c (main): Add tests for periodic needle and
45533         sublinear performance.
45534         * doc/functions/memmem.texi (memmem): Document other deficiencies
45535         in cygwin and older glibc.
45536
45537 2008-01-08  Bruno Haible  <bruno@clisp.org>
45538
45539         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
45540         augmentation.
45541
45542 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
45543
45544         Add a configure time option: --disable-acl.
45545         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
45546         AC_ARG_ENABLE(acl).
45547
45548 2008-01-06  Simon Josefsson  <simon@josefsson.org>
45549
45550         * tests/test-localename.c: Don't include obsolete "setenv.h".
45551
45552         * modules/localename-tests (Depends-on): Need unsetenv.
45553
45554 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45555
45556         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
45557
45558 2008-01-06  Colin Watson  <cjwatson@debian.org>
45559
45560         * users.txt: Add man-db.
45561
45562 2008-01-07  Bruno Haible  <bruno@clisp.org>
45563
45564         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
45565         previous section name.
45566
45567 2008-01-07  Bruno Haible  <bruno@clisp.org>
45568
45569         * lib/progname.c (set_program_name): Don't strip off a leading
45570         "lt-" prefix outside a .libs directory.
45571         Suggested by Paul Eggert.
45572
45573 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
45574             Bruno Haible  <bruno@clisp.org>
45575
45576         Improve memory cleanup in 'relocatable' module.
45577         * lib/relocatable.h (compute_curr_prefix): Change return type to
45578         'char *'.
45579         * lib/relocatable.c (compute_curr_prefix): Change return type to
45580         'char *'. Free curr_installdir after use.
45581         (relocate): Free curr_prefix_better after use.
45582         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
45583
45584 2008-01-01  Bruno Haible  <bruno@clisp.org>
45585
45586         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
45587         failure on older glibc systems.
45588         Reported by Peter Fales <psfales@alcatel-lucent.com>.
45589
45590 2008-01-05  Eric Blake  <ebb9@byu.net>
45591
45592         Avoid quadratic system memmem.
45593         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
45594         Reported by Ralf Wildenhues.
45595
45596         Fix memmem test for mingw.
45597         * modules/memmem-tests (configure.ac): Check for alarm.
45598         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
45599         it.
45600         * doc/functions/memmem.texi: New file.
45601         * doc/gnulib.texi (Function Substitutes): Add memmem.
45602         Reported by Bruno Haible.
45603
45604 2008-01-04  Bruno Haible  <bruno@clisp.org>
45605
45606         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
45607         Require gl_HEADER_STRINGS_H_DEFAULTS, not
45608         gl_HEADER_STRING_H_DEFAULTS.
45609
45610 2008-01-04  Eric Blake  <ebb9@byu.net>
45611
45612         Shorten duration of memmem test.
45613         * tests/test-memmem.c (main): Use alarm to declare failure if test
45614         is taking too long.
45615         Reported by Ralf Wildenhues.
45616
45617 2007-12-21  Simon Josefsson  <simon@josefsson.org>
45618
45619         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
45620         string, needed by strerror.
45621
45622 2008-01-03  Colin Watson  <cjwatson@debian.org>
45623             Bruno Haible  <bruno@clisp.org>
45624
45625         * doc/gnulib-tool.texi (Localization): New section.
45626
45627 2008-01-02  Bruno Haible  <bruno@clisp.org>
45628
45629         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
45630         variables to 'unsigned char *' type.
45631         Reported by Paul Eggert.
45632
45633 2008-01-02  Jim Meyering  <jim@meyering.net>
45634
45635         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
45636
45637 2007-12-31  Jim Meyering  <jim@meyering.net>
45638
45639         Avoid use of private FTS type name.
45640         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
45641
45642 2007-12-30  Karl Berry  <karl@gnu.org>
45643
45644         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
45645         work around defect in Texinfo and/or the standalone Info browser.
45646
45647 2007-12-30  Bruno Haible  <bruno@clisp.org>
45648
45649         Unify 5 copies of the KMP code.
45650         * lib/str-kmp.h: New file.
45651         * lib/c-strcasestr.c: Include str-kmp.h.
45652         (knuth_morris_pratt): Remove function.
45653         (c_strcasestr): Update.
45654         * lib/c-strstr.c: Include str-kmp.h.
45655         (knuth_morris_pratt): Remove function.
45656         (c_strcasestr): Update.
45657         * lib/mbscasestr.c: Include str-kmp.h.
45658         (knuth_morris_pratt_unibyte): Remove function.
45659         * lib/mbsstr.c: Include str-kmp.h.
45660         (knuth_morris_pratt_unibyte): Remove function.
45661         * lib/strcasestr.c: Include str-kmp.h.
45662         (knuth_morris_pratt): Remove function.
45663         (strcasestr): Update.
45664         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
45665         * modules/c-strstr (Files): Likewise.
45666         * modules/mbscasestr (Files): Likewise.
45667         * modules/mbsstr (Files): Likewise.
45668         * modules/strcasestr (Files): Likewise.
45669         Suggested by Paul Eggert.
45670
45671 2007-12-30  Bruno Haible  <bruno@clisp.org>
45672
45673         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
45674         defined.
45675
45676 2007-12-30  Bruno Haible  <bruno@clisp.org>
45677
45678         * lib/xmalloca.h: Include xalloc.h.
45679         (xnmalloca): New macro.
45680
45681 2007-12-30  Bruno Haible  <bruno@clisp.org>
45682
45683         * lib/malloca.h (nmalloca): New macro.
45684         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
45685         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
45686         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
45687         knuth_morris_pratt_multibyte): Likewise.
45688         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
45689         knuth_morris_pratt_multibyte): Likewise.
45690         * lib/memmem.c (knuth_morris_pratt): Likewise.
45691         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
45692
45693 2007-12-25  Bruno Haible  <bruno@clisp.org>
45694
45695         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
45696         * lib/glob.c: Don't include openat.h.
45697         (link_exists2_p): Add back the code that deals with the
45698         !GLOB_ALTDIRFUNC case.
45699         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
45700         let it do the filename concatenation.
45701         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
45702         * modules/glob (Depends-on): Remove openat.
45703
45704 2007-12-31  Bruno Haible  <bruno@clisp.org>
45705
45706         * modules/dirfd (License): Change to LGPLv2+.
45707         Approved by Jim Meyering.
45708
45709 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45710
45711         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
45712         when multiplying M by sizeof (size_t).
45713
45714 2007-12-10  Martin Lambers  <marlam@marlam.de>
45715
45716         Override getpagesize on mingw.
45717         * lib/getpagesize.c: New file.
45718         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
45719         * modules/getpagesize (Files): Add lib/getpagesize.c.
45720         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
45721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45722         REPLACE_GETPAGESIZE.
45723         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
45724
45725 2007-12-25  Bruno Haible  <bruno@clisp.org>
45726
45727         * modules/localcharset (Notice): New field.
45728         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
45729         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
45730
45731 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45732             Bruno Haible  <bruno@clisp.org>
45733
45734         Avoid using the syntax symbol() in formatted documentation.
45735         * MODULES.html.sh (func_module): When replacing symbol() with a
45736         hyperlink, remove the parentheses. Show an error if some remain.
45737         Recognize and render the '...' syntax.
45738         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
45739         Rework. Add paragraph about GCC's inlining.
45740         * doc/alloca.texi: Likewise.
45741         * doc/error.texi: Remove parentheses from symbol reference.
45742         * doc/gnulib-intro.texi: Likewise.
45743         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
45744         * modules/fnmatch (Description): Reword to say "the ... function".
45745         * modules/full-read (Description): Likewise.
45746         * modules/full-write (Description): Likewise.
45747         * modules/safe-read (Description): Likewise.
45748         * modules/safe-write (Description): Likewise.
45749         * modules/strchrnul (Description): Likewise.
45750         * modules/trim (Description): Likewise.
45751         * modules/error (Description): Remove parentheses from symbol
45752         references.
45753         * modules/verror (Description): Likewise.
45754         Reported by Karl Berry.
45755
45756 2007-12-25  Bruno Haible  <bruno@clisp.org>
45757
45758         Fixup after 2007-10-16 commit.
45759         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
45760
45761 2007-12-24  Bruno Haible  <bruno@clisp.org>
45762
45763         Make --enable-relocatable work with DESTDIR.
45764         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
45765         to compute installdir from destprog.
45766         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
45767         also set the RELOC_DESTDIR variable.
45768         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45769
45770 2007-12-24  Bruno Haible  <bruno@clisp.org>
45771
45772         Fix link error due to xalloc_die().
45773         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
45774         of xreadlink.
45775         * lib/relocwrapper.c: Update comments.
45776         * build-aux/install-reloc: Remove xreadlink.c from file list.
45777         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
45778         xreadlink.c.
45779         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45780
45781 2007-12-24  Bruno Haible  <bruno@clisp.org>
45782
45783         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
45784         * lib/setenv.h: Remove file.
45785         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
45786         lib/setenv.h.
45787         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
45788         (Depends-on): Add stdlib.
45789         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
45790         gl_FUNC_UNSETENV.
45791         (Include): Replace setenv.h with <stdlib.h>.
45792         * modules/unsetenv: New file.
45793         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
45794         * lib/unsetenv.c: Include <stdlib.h> first.
45795         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
45796         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
45797         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
45798         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
45799         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
45800         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45801         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
45802         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45803         * doc/functions/unsetenv.texi: Update.
45804         * modules/xsetenv (Depends-on): Add unsetenv.
45805         * modules/getdate (Depends-on): Likewise.
45806         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
45807         * lib/xsetenv.c: Don't include setenv.h.
45808         * lib/getdate.y: Likewise.
45809         * lib/relocwrapper.c: Likewise.
45810         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
45811         (Depends-on): Add stdlib.
45812         * NEWS: Mention the changes.
45813         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45814
45815 2007-12-23  Bruno Haible  <bruno@clisp.org>
45816
45817         * lib/memmem.c (memmem): Use lowercase variable names. Tab
45818         indentation.
45819
45820 2007-12-23  Bruno Haible  <bruno@clisp.org>
45821
45822         * lib/c-strcasestr.c: Add more comments.
45823         * lib/c-strstr.c: Likewise.
45824         * lib/mbscasestr.c: Likewise.
45825         * lib/mbsstr.c: Likewise.
45826         * lib/strcasestr.c: Likewise.
45827         * lib/memmem.c: Likewise.
45828
45829 2007-12-23  Bruno Haible  <bruno@clisp.org>
45830
45831         * tests/test-memmem.c: Include <string.h> first.
45832
45833 2007-12-22  Bruno Haible  <bruno@clisp.org>
45834
45835         * gnulib-tool (func_create_testdir): Change $auxdir while generating
45836         the contents of $testsbase.
45837         Reported by Ralf Wildenhues.
45838
45839 2007-12-22  Bruno Haible  <bruno@clisp.org>
45840
45841         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
45842         two variables local_ldadd_before, local_ldadd_last.
45843
45844 2007-12-20  Eric Blake  <ebb9@byu.net>
45845
45846         Work around circular library issue when cross-compiling.
45847         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
45848         that progname.o does not need to pull in rpl_memcmp.
45849
45850 2007-12-19  Eric Blake  <ebb9@byu.net>
45851
45852         Fix memmem to avoid O(n^2) worst-case complexity.
45853         * lib/memmem.c (knuth_morris_pratt): New function.
45854         (memmem): Use it if first few naive iterations fail.
45855         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
45856         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
45857         * modules/memchr (License): Likewise.
45858         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
45859         malloca.
45860         * tests/test-memmem.c: Rewrite, borrowing ideas from
45861         test-mbsstr1.c; the old version wouldn't even compile!
45862         * modules/memmem-tests: New file.
45863         * lib/string.in.h (rpl_memmem): Add declaration.
45864         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
45865         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
45866         REPLACE_MEMMEM.
45867
45868 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45869
45870         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
45871         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
45872         before any system include files, and undef after them all.  This
45873         should fix a problem on VMS reported by John E. Malmberg in
45874         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
45875
45876 2007-12-17  Eric Blake  <ebb9@byu.net>
45877
45878         Revert addition of verify, for BSD/OS.
45879         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
45880         can't handle large files, for the sake of obsolete platforms.
45881         * modules/fseeko (Depends-on): Remove verify.
45882         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
45883         * doc/functions/ftello.texi (ftello): Likewise.
45884         * doc/functions/fgetpos.texi (fgetpos): Likewise.
45885         Reported by Larry Jones.
45886
45887 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
45888
45889         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
45890         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
45891
45892 2007-12-17  Jim Meyering  <meyering@redhat.com>
45893
45894         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
45895         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
45896         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
45897         * modules/getcwd (Depends-on): Add openat.
45898         Reported by Petr Salinger.
45899
45900 2007-12-17  Bruno Haible  <bruno@clisp.org>
45901
45902         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
45903         avoid a segmentation fault of the configure test on x86_64 systems.
45904
45905 2007-12-15  Jim Meyering  <meyering@redhat.com>
45906
45907         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
45908
45909 2007-12-13  Eric Blake  <ebb9@byu.net>
45910
45911         Another fseek test.
45912         * tests/test-fseek.c (main): Also test ungetc handling.
45913         * tests/test-fseeko.c (main): Likewise.
45914         * modules/fseeko (Depends-on): Add verify.
45915         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
45916         large.
45917         Reported by Larry Jones.
45918
45919         Fix fseeko on mingw.
45920         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
45921         seek.
45922
45923         Beef up fseek tests.
45924         * tests/test-fseek.c (main): Also test eof handling.
45925         * tests/test-fseeko.c (main): Likewise.
45926         Reported by Larry Jones.
45927
45928 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
45929
45930         Fix fseeko on BSD-based platforms.
45931         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
45932         successful seek.
45933
45934 2007-12-12  Eric Blake  <ebb9@byu.net>
45935
45936         Allow circular dependency of separate libtests.a
45937         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
45938         when use_libtests.
45939
45940 2007-12-11  Eric Blake  <ebb9@byu.net>
45941
45942         Fix bug with -0.0L in previous patch.
45943         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
45944         * tests/test-isnan.c (main): Also test on zeroes.
45945         * tests/test-isnanf.c (main): Likewise.
45946         * tests/test-isnanl.h (main): Likewise.
45947
45948         Detect pseudo-denormals on x86 even when cross-compiling.
45949         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
45950         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
45951         invalid bit patterns that happen to satisfy ==.
45952
45953         Avoid link failures with separate libtests.a.
45954         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
45955         last, to satisfy circular dependencies.
45956
45957 2007-12-11  Eric Blake  <ebb9@byu.net>
45958         and Bruno Haible  <bruno@clisp.org>
45959
45960         Fix OpenBSD 4.0 <float.h> handling of long double.
45961         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
45962         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
45963         * doc/headers/float.texi (float.h): Document OpenBSD bug.
45964
45965 2007-12-11  Jim Meyering  <meyering@redhat.com>
45966
45967         * users.txt: Add libvirt.
45968
45969         Support versions of autoconf prior to 2.59c.
45970         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
45971         if it is not already defined.
45972
45973 2007-12-09  Bruno Haible  <bruno@clisp.org>
45974
45975         Let 'gnulib-tool --import' collect sources needed for the tests in
45976         tests/ rather than in lib/.
45977         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
45978         argument. If true, add rules to generate libtests.a, and put libtests.a
45979         into $(LDADD). Consider source files in subdirectories and set
45980         uses_subdirs.
45981         (func_emit_initmacro_start, func_emit_initmacro_end,
45982         func_emit_initmacro_done): Pass all arguments explicitly.
45983         (func_import): Determine two module lists main_modules,
45984         testsrelated_modules. Determine use_libtests. Determine two variables
45985         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
45986         instead of just sed_transform_lib_file. Determine two variables
45987         main_files and testsrelated_files. Compute 'files' as the union of
45988         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
45989         func_add_or_update. In the generated gnulib-comp.m4, collect the
45990         object files for tests/ in different variables than those for lib/.
45991         Substitute LIBTESTS_LIBDEPS.
45992         (func_create_testdir): Combine the uses_subdirs results from
45993         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
45994
45995 2007-12-09  Bruno Haible  <bruno@clisp.org>
45996
45997         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
45998         the build-aux directory.
45999
46000 2007-12-09  Bruno Haible  <bruno@clisp.org>
46001
46002         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
46003         introduced on 2006-09-09.
46004
46005 2007-12-07  Jim Meyering  <meyering@redhat.com>
46006
46007         Let these macros work also with autoconf-2.59.
46008         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
46009         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
46010         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46011
46012 2007-12-06  Jim Meyering  <meyering@redhat.com>
46013
46014         Avoid a configure-time syntax error in gl_FUNC_ACL.
46015         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
46016         function in each branch, before testing the cache variable.
46017
46018 2007-12-04  Eric Blake  <ebb9@byu.net>
46019
46020         Make scripts executable.
46021         * build-aux/config.guess: Add execute permissions.
46022         * build-aux/config.sub: Likewise.
46023         * build-aux/gendocs.sh: Likewise.
46024
46025         Fix frexp on mingw.
46026         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
46027         cross-compiling.
46028         * doc/functions/frexp.texi (frexp): Document the bug.
46029
46030         Make cygwin fseeko check more reliable.
46031         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
46032         version numbers, rather than unrelated feature check.
46033         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
46034         * doc/functions/ftello.texi (ftello): Likewise.
46035         Reported by Bruno Haible.
46036
46037         * m4/strerror.m4: Bump version number.
46038
46039 2007-12-03  Bruno Haible  <bruno@clisp.org>
46040
46041         * doc/functions/mprotect.texi: Mention the mingw problem.
46042
46043 2007-12-03  Eric Blake  <ebb9@byu.net>
46044
46045         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
46046         REPLACE_STRERROR is initialized before this macro.
46047
46048 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
46049
46050         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
46051         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
46052         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
46053         put -lsec in even for programs other than 'ls'.  This fixes a problem
46054         for gettext reported by Bruno Haible in
46055         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
46056         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
46057         Add support for Solaris 10.  This isn't efficient, but should get the
46058         job done for now.
46059
46060 2007-12-03  James Youngman  <jay@gnu.org>
46061
46062         * doc/regexprops-generic.texi: change "an close-group" to "a
46063         close-group" and "illegal" to "not allowed".
46064
46065 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46066
46067         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
46068         pr_byname.h. Needed for the rare case when the maintainer has done
46069         "make maintainer-clean" in the source directory and then attempts a
46070         build outside the source directory.
46071         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
46072         scripts_byname.h.
46073
46074 2007-12-02  Martin Lambers <marlam@marlam.de>
46075             Bruno Haible  <bruno@clisp.org>
46076
46077         * lib/getpagesize.h: Remove file.
46078         * lib/unistd.in.h: Include declaration of getpagesize here.
46079         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
46080         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
46081         HAVE_SYS_PARAM_H.
46082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
46083         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
46084         * modules/getpagesize (Files): Remove lib/getpagesize.h.
46085         (Depends-on): Add unistd.
46086         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46087         (Include): Use <unistd.h> instead of getpagesize.h.
46088         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
46089         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
46090         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
46091         gl_GETPAGESIZE invocation, already handled by module dependency.
46092         * lib/pagealign_alloc.c: Don't include getpagesize.h.
46093
46094 2007-12-02  Bruno Haible  <bruno@clisp.org>
46095
46096         * modules/strings-tests: New file.
46097         * tests/test-strings.c: New file.
46098
46099         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
46100         * lib/strings.in.h: New file.
46101         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
46102         * m4/strings_h.m4: New file.
46103         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
46104         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
46105         * modules/strings: New file.
46106         * modules/string (Makefile.am): Update.
46107         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
46108         Reported by Karl Berry.
46109
46110 2007-12-01  Eric Blake  <ebb9@byu.net>
46111
46112         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
46113         accomodate fix in cygwin 1.5.25.
46114
46115 2007-12-01  Jim Meyering  <meyering@redhat.com>
46116
46117         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
46118         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
46119         that would inhibit utf8-optimization of a regexp containing line-
46120         or buffer-anchors, e.g., `^', `$'.
46121
46122 2007-11-30  Bruno Haible  <bruno@clisp.org>
46123
46124         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
46125         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
46126         glthread_recursive_lock_init.
46127         * lib/lock.c (glthread_recursive_lock_init)
46128         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
46129         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46130
46131 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
46132
46133         New function qset_acl, like set_acl but with syscall semantics.
46134         * lib/acl.h (qset_acl): New decl.
46135         * lib/acl.c (qset_acl): New function.
46136         (set_acl): Use new function.  Use more-consistent diagnostics.
46137
46138 2007-11-28  Jim Meyering  <meyering@redhat.com>
46139
46140         * modules/physmem (License): Change from GPL to LGPLv2+.
46141
46142 2007-11-26  Bruno Haible  <bruno@clisp.org>
46143
46144         * lib/vasnprintf.c (decode_long_double): Don't abort if the
46145         'long double' type has excess precision.
46146         Reported by Jim Meyering in
46147         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
46148
46149 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46150
46151         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
46152         Sync from <http://gnu.org/licenses>.
46153         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
46154         with license text from same location.
46155         * doc/maintain.texi, doc/standards.texi:  Sync from
46156         <http://savannah.gnu.org/projects/gnustandards>.
46157
46158 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
46159         and Jim Meyering  <meyering@redhat.com>
46160
46161         Adjust getdate' grammar to accept a slightly more regular language.
46162         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
46163         Before, the former was rejected.
46164         * lib/getdate.y (digits_to_date_time): New function, factored
46165         out of ...
46166         (number): ...here.  Just call digits_to_date_time.
46167         (hybrid): New non-terminal to handle an <unsigned number,
46168         signed relative offset> sequence consistently.
46169
46170 2007-11-18  Jim Meyering  <meyering@redhat.com>
46171
46172         Pull my changes from coreutils:
46173         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
46174         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
46175         use of $gnulib_tool_option_extras, so that it's separated from the
46176         preceding argument.
46177
46178         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
46179         * build-aux/bootstrap (cp_mark_as_generated): Create any required
46180         parent destination directories before copying a file into place.
46181
46182 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
46183
46184         bootstrap: work also with 4-argument variant of AC_INIT
46185         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
46186
46187 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46188
46189         Port test-getaddrinfo to Solaris.
46190         Problem reported by Bruno Haible in
46191         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
46192         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
46193         explanation of setting 'hints'.
46194         Don't reject an implementation merely because it returns EAI_SERVICE.
46195         (EAI_SERVICE): Define to 0 if not defined.
46196
46197 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46198
46199         The license of gnu-make and posix-shell is now "GPLed build tool".
46200         * modules/gnu-make (License): Likewise.
46201         * modules/posix-shell (License): Likewise.
46202
46203         New module posix-shell, for determining a POSIX shell
46204         or perhaps something that is close enough to a POSIX shell.
46205         * m4/posix-shell.m4: New file.
46206         * modules/posix-shell: New file.
46207
46208         * MODULES.html.sh: Mention new module.
46209
46210         New module gnu-make, for determining whether we're using GNU Make.
46211         * m4/gnu-make.m4: New file.
46212         * modules/gnu-make: New file.
46213         * MODULES.html.sh: Mention new module.
46214
46215 2007-11-14  Jim Meyering  <meyering@redhat.com>
46216
46217         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
46218         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
46219         use this macro to create a function _definition_.
46220         Remove useless "#undef ARGMATCH_DIE".
46221
46222 2007-11-14  Bruno Haible  <bruno@clisp.org>
46223
46224         * lib/config.charset: Update for OpenBSD 4.1.
46225         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
46226
46227 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
46228
46229         Document 64-bit #if problems in stdint.texi.
46230         * doc/headers/stdint.texi (stdint.h): Mention problems with
46231         64-bit-#if, and how to work around them.
46232
46233         Don't insist on 'long long int' support in the preprocessor.  It
46234         breaks too many things.  For example, PRIdMAX still uses a 'long
46235         long int' format with the latest Sun compiler, even though
46236         HAVE_LONG_LONG_INT isn't defined due to that compiler's
46237         preprocessor problem.  This causes the latest coreutils to dump
46238         core on Solaris 10 sparc with the Sun C compiler.
46239         Instead, fix the 2007-10-16 problem in a different way, by evaluating
46240         the troublesome expressions at configure-time, not at #if-time.
46241         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
46242         preprocessor.
46243         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
46244         compile-time C checks, done at 'configure'-time.
46245         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
46246         * modules/inttypes (Makefile): Substitute the new symbols that
46247         gl_INTTYPES_H now generates.
46248         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
46249
46250 2007-11-12  Bruno Haible  <bruno@clisp.org>
46251
46252         Tests for Unicode character classification functions.
46253
46254         * modules/unictype/bidicategory-byname-tests: New file.
46255         * modules/unictype/bidicategory-name-tests: New file.
46256         * modules/unictype/bidicategory-of-tests: New file.
46257         * modules/unictype/bidicategory-test-tests: New file.
46258         * modules/unictype/block-list-tests: New file.
46259         * modules/unictype/block-of-tests: New file.
46260         * modules/unictype/block-test-tests: New file.
46261         * modules/unictype/category-C-tests: New file.
46262         * modules/unictype/category-Cc-tests: New file.
46263         * modules/unictype/category-Cf-tests: New file.
46264         * modules/unictype/category-Cn-tests: New file.
46265         * modules/unictype/category-Co-tests: New file.
46266         * modules/unictype/category-Cs-tests: New file.
46267         * modules/unictype/category-L-tests: New file.
46268         * modules/unictype/category-Ll-tests: New file.
46269         * modules/unictype/category-Lm-tests: New file.
46270         * modules/unictype/category-Lo-tests: New file.
46271         * modules/unictype/category-Lt-tests: New file.
46272         * modules/unictype/category-Lu-tests: New file.
46273         * modules/unictype/category-M-tests: New file.
46274         * modules/unictype/category-Mc-tests: New file.
46275         * modules/unictype/category-Me-tests: New file.
46276         * modules/unictype/category-Mn-tests: New file.
46277         * modules/unictype/category-N-tests: New file.
46278         * modules/unictype/category-Nd-tests: New file.
46279         * modules/unictype/category-Nl-tests: New file.
46280         * modules/unictype/category-No-tests: New file.
46281         * modules/unictype/category-P-tests: New file.
46282         * modules/unictype/category-Pc-tests: New file.
46283         * modules/unictype/category-Pd-tests: New file.
46284         * modules/unictype/category-Pe-tests: New file.
46285         * modules/unictype/category-Pf-tests: New file.
46286         * modules/unictype/category-Pi-tests: New file.
46287         * modules/unictype/category-Po-tests: New file.
46288         * modules/unictype/category-Ps-tests: New file.
46289         * modules/unictype/category-S-tests: New file.
46290         * modules/unictype/category-Sc-tests: New file.
46291         * modules/unictype/category-Sk-tests: New file.
46292         * modules/unictype/category-Sm-tests: New file.
46293         * modules/unictype/category-So-tests: New file.
46294         * modules/unictype/category-Z-tests: New file.
46295         * modules/unictype/category-Zl-tests: New file.
46296         * modules/unictype/category-Zp-tests: New file.
46297         * modules/unictype/category-Zs-tests: New file.
46298         * modules/unictype/category-and-not-tests: New file.
46299         * modules/unictype/category-and-tests: New file.
46300         * modules/unictype/category-byname-tests: New file.
46301         * modules/unictype/category-name-tests: New file.
46302         * modules/unictype/category-none-tests: New file.
46303         * modules/unictype/category-of-tests: New file.
46304         * modules/unictype/category-or-tests: New file.
46305         * modules/unictype/category-test-withtable-tests: New file.
46306         * modules/unictype/combining-class-tests: New file.
46307         * modules/unictype/ctype-alnum-tests: New file.
46308         * modules/unictype/ctype-alpha-tests: New file.
46309         * modules/unictype/ctype-blank-tests: New file.
46310         * modules/unictype/ctype-cntrl-tests: New file.
46311         * modules/unictype/ctype-digit-tests: New file.
46312         * modules/unictype/ctype-graph-tests: New file.
46313         * modules/unictype/ctype-lower-tests: New file.
46314         * modules/unictype/ctype-print-tests: New file.
46315         * modules/unictype/ctype-punct-tests: New file.
46316         * modules/unictype/ctype-space-tests: New file.
46317         * modules/unictype/ctype-upper-tests: New file.
46318         * modules/unictype/ctype-xdigit-tests: New file.
46319         * modules/unictype/decimal-digit-tests: New file.
46320         * modules/unictype/digit-tests: New file.
46321         * modules/unictype/mirror-tests: New file.
46322         * modules/unictype/numeric-tests: New file.
46323         * modules/unictype/property-alphabetic-tests: New file.
46324         * modules/unictype/property-ascii-hex-digit-tests: New file.
46325         * modules/unictype/property-bidi-arabic-digit-tests: New file.
46326         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
46327         * modules/unictype/property-bidi-block-separator-tests: New file.
46328         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
46329         * modules/unictype/property-bidi-common-separator-tests: New file.
46330         * modules/unictype/property-bidi-control-tests: New file.
46331         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
46332         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
46333         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
46334         * modules/unictype/property-bidi-european-digit-tests: New file.
46335         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
46336         * modules/unictype/property-bidi-left-to-right-tests: New file.
46337         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
46338         * modules/unictype/property-bidi-other-neutral-tests: New file.
46339         * modules/unictype/property-bidi-pdf-tests: New file.
46340         * modules/unictype/property-bidi-segment-separator-tests: New file.
46341         * modules/unictype/property-bidi-whitespace-tests: New file.
46342         * modules/unictype/property-byname-tests: New file.
46343         * modules/unictype/property-combining-tests: New file.
46344         * modules/unictype/property-composite-tests: New file.
46345         * modules/unictype/property-currency-symbol-tests: New file.
46346         * modules/unictype/property-dash-tests: New file.
46347         * modules/unictype/property-decimal-digit-tests: New file.
46348         * modules/unictype/property-default-ignorable-code-point-tests: New file.
46349         * modules/unictype/property-deprecated-tests: New file.
46350         * modules/unictype/property-diacritic-tests: New file.
46351         * modules/unictype/property-extender-tests: New file.
46352         * modules/unictype/property-format-control-tests: New file.
46353         * modules/unictype/property-grapheme-base-tests: New file.
46354         * modules/unictype/property-grapheme-extend-tests: New file.
46355         * modules/unictype/property-grapheme-link-tests: New file.
46356         * modules/unictype/property-hex-digit-tests: New file.
46357         * modules/unictype/property-hyphen-tests: New file.
46358         * modules/unictype/property-id-continue-tests: New file.
46359         * modules/unictype/property-id-start-tests: New file.
46360         * modules/unictype/property-ideographic-tests: New file.
46361         * modules/unictype/property-ids-binary-operator-tests: New file.
46362         * modules/unictype/property-ids-trinary-operator-tests: New file.
46363         * modules/unictype/property-ignorable-control-tests: New file.
46364         * modules/unictype/property-iso-control-tests: New file.
46365         * modules/unictype/property-join-control-tests: New file.
46366         * modules/unictype/property-left-of-pair-tests: New file.
46367         * modules/unictype/property-line-separator-tests: New file.
46368         * modules/unictype/property-logical-order-exception-tests: New file.
46369         * modules/unictype/property-lowercase-tests: New file.
46370         * modules/unictype/property-math-tests: New file.
46371         * modules/unictype/property-non-break-tests: New file.
46372         * modules/unictype/property-not-a-character-tests: New file.
46373         * modules/unictype/property-numeric-tests: New file.
46374         * modules/unictype/property-other-alphabetic-tests: New file.
46375         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
46376         * modules/unictype/property-other-grapheme-extend-tests: New file.
46377         * modules/unictype/property-other-id-continue-tests: New file.
46378         * modules/unictype/property-other-id-start-tests: New file.
46379         * modules/unictype/property-other-lowercase-tests: New file.
46380         * modules/unictype/property-other-math-tests: New file.
46381         * modules/unictype/property-other-uppercase-tests: New file.
46382         * modules/unictype/property-paired-punctuation-tests: New file.
46383         * modules/unictype/property-paragraph-separator-tests: New file.
46384         * modules/unictype/property-pattern-syntax-tests: New file.
46385         * modules/unictype/property-pattern-white-space-tests: New file.
46386         * modules/unictype/property-private-use-tests: New file.
46387         * modules/unictype/property-punctuation-tests: New file.
46388         * modules/unictype/property-quotation-mark-tests: New file.
46389         * modules/unictype/property-radical-tests: New file.
46390         * modules/unictype/property-sentence-terminal-tests: New file.
46391         * modules/unictype/property-soft-dotted-tests: New file.
46392         * modules/unictype/property-space-tests: New file.
46393         * modules/unictype/property-terminal-punctuation-tests: New file.
46394         * modules/unictype/property-test-tests: New file.
46395         * modules/unictype/property-titlecase-tests: New file.
46396         * modules/unictype/property-unassigned-code-value-tests: New file.
46397         * modules/unictype/property-unified-ideograph-tests: New file.
46398         * modules/unictype/property-uppercase-tests: New file.
46399         * modules/unictype/property-variation-selector-tests: New file.
46400         * modules/unictype/property-white-space-tests: New file.
46401         * modules/unictype/property-xid-continue-tests: New file.
46402         * modules/unictype/property-xid-start-tests: New file.
46403         * modules/unictype/property-zero-width-tests: New file.
46404         * modules/unictype/scripts-tests: New file.
46405         * modules/unictype/syntax-c-ident-tests: New file.
46406         * modules/unictype/syntax-c-whitespace-tests: New file.
46407         * modules/unictype/syntax-java-ident-tests: New file.
46408         * modules/unictype/syntax-java-whitespace-tests: New file.
46409         * tests/unictype/test-bidi_byname.c: New file.
46410         * tests/unictype/test-bidi_name.c: New file.
46411         * tests/unictype/test-bidi_of.c: New file.
46412         * tests/unictype/test-bidi_test.c: New file.
46413         * tests/unictype/test-block_list.c: New file.
46414         * tests/unictype/test-block_of.c: New file.
46415         * tests/unictype/test-block_test.c: New file.
46416         * tests/unictype/test-categ_and.c: New file.
46417         * tests/unictype/test-categ_and_not.c: New file.
46418         * tests/unictype/test-categ_byname.c: New file.
46419         * tests/unictype/test-categ_name.c: New file.
46420         * tests/unictype/test-categ_none.c: New file.
46421         * tests/unictype/test-categ_of.c: New file.
46422         * tests/unictype/test-categ_or.c: New file.
46423         * tests/unictype/test-categ_test_withtable.c: New file.
46424         * tests/unictype/test-combining.c: New file.
46425         * tests/unictype/test-decdigit.c: New file.
46426         * tests/unictype/test-digit.c: New file.
46427         * tests/unictype/test-mirror.c: New file.
46428         * tests/unictype/test-numeric.c: New file.
46429         * tests/unictype/test-pr_byname.c: New file.
46430         * tests/unictype/test-pr_test.c: New file.
46431         * tests/unictype/test-predicate-part1.h: New file.
46432         * tests/unictype/test-predicate-part2.h: New file.
46433         * tests/unictype/test-scripts.c: New file.
46434         * tests/unictype/test-sy_c_ident.c: New file.
46435         * tests/unictype/test-sy_java_ident.c: New file.
46436
46437         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
46438         for Unicode 5.0.0.
46439         * tests/unictype/test-categ_Cc.c: Likewise.
46440         * tests/unictype/test-categ_Cf.c: Likewise.
46441         * tests/unictype/test-categ_Cn.c: Likewise.
46442         * tests/unictype/test-categ_Co.c: Likewise.
46443         * tests/unictype/test-categ_Cs.c: Likewise.
46444         * tests/unictype/test-categ_L.c: Likewise.
46445         * tests/unictype/test-categ_Ll.c: Likewise.
46446         * tests/unictype/test-categ_Lm.c: Likewise.
46447         * tests/unictype/test-categ_Lo.c: Likewise.
46448         * tests/unictype/test-categ_Lt.c: Likewise.
46449         * tests/unictype/test-categ_Lu.c: Likewise.
46450         * tests/unictype/test-categ_M.c: Likewise.
46451         * tests/unictype/test-categ_Mc.c: Likewise.
46452         * tests/unictype/test-categ_Me.c: Likewise.
46453         * tests/unictype/test-categ_Mn.c: Likewise.
46454         * tests/unictype/test-categ_N.c: Likewise.
46455         * tests/unictype/test-categ_Nd.c: Likewise.
46456         * tests/unictype/test-categ_Nl.c: Likewise.
46457         * tests/unictype/test-categ_No.c: Likewise.
46458         * tests/unictype/test-categ_P.c: Likewise.
46459         * tests/unictype/test-categ_Pc.c: Likewise.
46460         * tests/unictype/test-categ_Pd.c: Likewise.
46461         * tests/unictype/test-categ_Pe.c: Likewise.
46462         * tests/unictype/test-categ_Pf.c: Likewise.
46463         * tests/unictype/test-categ_Pi.c: Likewise.
46464         * tests/unictype/test-categ_Po.c: Likewise.
46465         * tests/unictype/test-categ_Ps.c: Likewise.
46466         * tests/unictype/test-categ_S.c: Likewise.
46467         * tests/unictype/test-categ_Sc.c: Likewise.
46468         * tests/unictype/test-categ_Sk.c: Likewise.
46469         * tests/unictype/test-categ_Sm.c: Likewise.
46470         * tests/unictype/test-categ_So.c: Likewise.
46471         * tests/unictype/test-categ_Z.c: Likewise.
46472         * tests/unictype/test-categ_Zl.c: Likewise.
46473         * tests/unictype/test-categ_Zp.c: Likewise.
46474         * tests/unictype/test-categ_Zs.c: Likewise.
46475         * tests/unictype/test-ctype_alnum.c: Likewise.
46476         * tests/unictype/test-ctype_alpha.c: Likewise.
46477         * tests/unictype/test-ctype_blank.c: Likewise.
46478         * tests/unictype/test-ctype_cntrl.c: Likewise.
46479         * tests/unictype/test-ctype_digit.c: Likewise.
46480         * tests/unictype/test-ctype_graph.c: Likewise.
46481         * tests/unictype/test-ctype_lower.c: Likewise.
46482         * tests/unictype/test-ctype_print.c: Likewise.
46483         * tests/unictype/test-ctype_punct.c: Likewise.
46484         * tests/unictype/test-ctype_space.c: Likewise.
46485         * tests/unictype/test-ctype_upper.c: Likewise.
46486         * tests/unictype/test-ctype_xdigit.c: Likewise.
46487         * tests/unictype/test-decdigit.h: Likewise.
46488         * tests/unictype/test-digit.h: Likewise.
46489         * tests/unictype/test-numeric.h: Likewise.
46490         * tests/unictype/test-pr_alphabetic.c: Likewise.
46491         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
46492         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
46493         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
46494         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
46495         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
46496         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
46497         * tests/unictype/test-pr_bidi_control.c: Likewise.
46498         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
46499         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
46500         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
46501         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
46502         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
46503         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
46504         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
46505         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
46506         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
46507         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
46508         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
46509         * tests/unictype/test-pr_combining.c: Likewise.
46510         * tests/unictype/test-pr_composite.c: Likewise.
46511         * tests/unictype/test-pr_currency_symbol.c: Likewise.
46512         * tests/unictype/test-pr_dash.c: Likewise.
46513         * tests/unictype/test-pr_decimal_digit.c: Likewise.
46514         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
46515         * tests/unictype/test-pr_deprecated.c: Likewise.
46516         * tests/unictype/test-pr_diacritic.c: Likewise.
46517         * tests/unictype/test-pr_extender.c: Likewise.
46518         * tests/unictype/test-pr_format_control.c: Likewise.
46519         * tests/unictype/test-pr_grapheme_base.c: Likewise.
46520         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
46521         * tests/unictype/test-pr_grapheme_link.c: Likewise.
46522         * tests/unictype/test-pr_hex_digit.c: Likewise.
46523         * tests/unictype/test-pr_hyphen.c: Likewise.
46524         * tests/unictype/test-pr_id_continue.c: Likewise.
46525         * tests/unictype/test-pr_id_start.c: Likewise.
46526         * tests/unictype/test-pr_ideographic.c: Likewise.
46527         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
46528         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
46529         * tests/unictype/test-pr_ignorable_control.c: Likewise.
46530         * tests/unictype/test-pr_iso_control.c: Likewise.
46531         * tests/unictype/test-pr_join_control.c: Likewise.
46532         * tests/unictype/test-pr_left_of_pair.c: Likewise.
46533         * tests/unictype/test-pr_line_separator.c: Likewise.
46534         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
46535         * tests/unictype/test-pr_lowercase.c: Likewise.
46536         * tests/unictype/test-pr_math.c: Likewise.
46537         * tests/unictype/test-pr_non_break.c: Likewise.
46538         * tests/unictype/test-pr_not_a_character.c: Likewise.
46539         * tests/unictype/test-pr_numeric.c: Likewise.
46540         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
46541         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
46542         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
46543         * tests/unictype/test-pr_other_id_continue.c: Likewise.
46544         * tests/unictype/test-pr_other_id_start.c: Likewise.
46545         * tests/unictype/test-pr_other_lowercase.c: Likewise.
46546         * tests/unictype/test-pr_other_math.c: Likewise.
46547         * tests/unictype/test-pr_other_uppercase.c: Likewise.
46548         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
46549         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
46550         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
46551         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
46552         * tests/unictype/test-pr_private_use.c: Likewise.
46553         * tests/unictype/test-pr_punctuation.c: Likewise.
46554         * tests/unictype/test-pr_quotation_mark.c: Likewise.
46555         * tests/unictype/test-pr_radical.c: Likewise.
46556         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
46557         * tests/unictype/test-pr_soft_dotted.c: Likewise.
46558         * tests/unictype/test-pr_space.c: Likewise.
46559         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
46560         * tests/unictype/test-pr_titlecase.c: Likewise.
46561         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
46562         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
46563         * tests/unictype/test-pr_uppercase.c: Likewise.
46564         * tests/unictype/test-pr_variation_selector.c: Likewise.
46565         * tests/unictype/test-pr_white_space.c: Likewise.
46566         * tests/unictype/test-pr_xid_continue.c: Likewise.
46567         * tests/unictype/test-pr_xid_start.c: Likewise.
46568         * tests/unictype/test-pr_zero_width.c: Likewise.
46569         * tests/unictype/test-sy_c_whitespace.c: Likewise.
46570         * tests/unictype/test-sy_java_whitespace.c: Likewise.
46571
46572 2007-11-12  Bruno Haible  <bruno@clisp.org>
46573
46574         Unicode character classification functions.
46575         * lib/unictype.h: New file.
46576         * modules/unictype/base: New file.
46577         * modules/unictype/category-L: New file.
46578         * modules/unictype/category-Lu: New file.
46579         * modules/unictype/category-Ll: New file.
46580         * modules/unictype/category-Lt: New file.
46581         * modules/unictype/category-Lm: New file.
46582         * modules/unictype/category-Lo: New file.
46583         * modules/unictype/category-M: New file.
46584         * modules/unictype/category-Mn: New file.
46585         * modules/unictype/category-Mc: New file.
46586         * modules/unictype/category-Me: New file.
46587         * modules/unictype/category-N: New file.
46588         * modules/unictype/category-Nd: New file.
46589         * modules/unictype/category-Nl: New file.
46590         * modules/unictype/category-No: New file.
46591         * modules/unictype/category-P: New file.
46592         * modules/unictype/category-Pc: New file.
46593         * modules/unictype/category-Pd: New file.
46594         * modules/unictype/category-Ps: New file.
46595         * modules/unictype/category-Pe: New file.
46596         * modules/unictype/category-Pi: New file.
46597         * modules/unictype/category-Pf: New file.
46598         * modules/unictype/category-Po: New file.
46599         * modules/unictype/category-S: New file.
46600         * modules/unictype/category-Sm: New file.
46601         * modules/unictype/category-Sc: New file.
46602         * modules/unictype/category-Sk: New file.
46603         * modules/unictype/category-So: New file.
46604         * modules/unictype/category-Z: New file.
46605         * modules/unictype/category-Zs: New file.
46606         * modules/unictype/category-Zl: New file.
46607         * modules/unictype/category-Zp: New file.
46608         * modules/unictype/category-C: New file.
46609         * modules/unictype/category-Cc: New file.
46610         * modules/unictype/category-Cf: New file.
46611         * modules/unictype/category-Cs: New file.
46612         * modules/unictype/category-Co: New file.
46613         * modules/unictype/category-Cn: New file.
46614         * modules/unictype/category-or: New file.
46615         * modules/unictype/category-of: New file.
46616         * modules/unictype/category-test: New file.
46617         * modules/unictype/category-test-withtable: New file.
46618         * modules/unictype/category-byname: New file.
46619         * modules/unictype/category-none: New file.
46620         * modules/unictype/category-and: New file.
46621         * modules/unictype/category-and-not: New file.
46622         * modules/unictype/category-name: New file.
46623         * modules/unictype/combining-class: New file.
46624         * modules/unictype/category-all: New file.
46625         * modules/unictype/bidicategory-all: New file.
46626         * modules/unictype/bidicategory-byname: New file.
46627         * modules/unictype/bidicategory-name: New file.
46628         * modules/unictype/bidicategory-of: New file.
46629         * modules/unictype/bidicategory-test: New file.
46630         * modules/unictype/decimal-digit: New file.
46631         * modules/unictype/digit: New file.
46632         * modules/unictype/numeric: New file.
46633         * modules/unictype/mirror: New file.
46634         * modules/unictype/property-white-space: New file.
46635         * modules/unictype/property-alphabetic: New file.
46636         * modules/unictype/property-other-alphabetic: New file.
46637         * modules/unictype/property-not-a-character: New file.
46638         * modules/unictype/property-default-ignorable-code-point: New file.
46639         * modules/unictype/property-other-default-ignorable-code-point: New
46640         file.
46641         * modules/unictype/property-deprecated: New file.
46642         * modules/unictype/property-logical-order-exception: New file.
46643         * modules/unictype/property-variation-selector: New file.
46644         * modules/unictype/property-private-use: New file.
46645         * modules/unictype/property-unassigned-code-value: New file.
46646         * modules/unictype/property-uppercase: New file.
46647         * modules/unictype/property-other-uppercase: New file.
46648         * modules/unictype/property-lowercase: New file.
46649         * modules/unictype/property-other-lowercase: New file.
46650         * modules/unictype/property-titlecase: New file.
46651         * modules/unictype/property-soft-dotted: New file.
46652         * modules/unictype/property-id-start: New file.
46653         * modules/unictype/property-other-id-start: New file.
46654         * modules/unictype/property-id-continue: New file.
46655         * modules/unictype/property-other-id-continue: New file.
46656         * modules/unictype/property-xid-start: New file.
46657         * modules/unictype/property-xid-continue: New file.
46658         * modules/unictype/property-pattern-white-space: New file.
46659         * modules/unictype/property-pattern-syntax: New file.
46660         * modules/unictype/property-join-control: New file.
46661         * modules/unictype/property-grapheme-base: New file.
46662         * modules/unictype/property-grapheme-extend: New file.
46663         * modules/unictype/property-other-grapheme-extend: New file.
46664         * modules/unictype/property-grapheme-link: New file.
46665         * modules/unictype/property-bidi-control: New file.
46666         * modules/unictype/property-bidi-left-to-right: New file.
46667         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
46668         * modules/unictype/property-bidi-arabic-right-to-left: New file.
46669         * modules/unictype/property-bidi-european-digit: New file.
46670         * modules/unictype/property-bidi-eur-num-separator: New file.
46671         * modules/unictype/property-bidi-eur-num-terminator: New file.
46672         * modules/unictype/property-bidi-arabic-digit: New file.
46673         * modules/unictype/property-bidi-common-separator: New file.
46674         * modules/unictype/property-bidi-block-separator: New file.
46675         * modules/unictype/property-bidi-segment-separator: New file.
46676         * modules/unictype/property-bidi-whitespace: New file.
46677         * modules/unictype/property-bidi-non-spacing-mark: New file.
46678         * modules/unictype/property-bidi-boundary-neutral: New file.
46679         * modules/unictype/property-bidi-pdf: New file.
46680         * modules/unictype/property-bidi-embedding-or-override: New file.
46681         * modules/unictype/property-bidi-other-neutral: New file.
46682         * modules/unictype/property-hex-digit: New file.
46683         * modules/unictype/property-ascii-hex-digit: New file.
46684         * modules/unictype/property-ideographic: New file.
46685         * modules/unictype/property-unified-ideograph: New file.
46686         * modules/unictype/property-radical: New file.
46687         * modules/unictype/property-ids-binary-operator: New file.
46688         * modules/unictype/property-ids-trinary-operator: New file.
46689         * modules/unictype/property-zero-width: New file.
46690         * modules/unictype/property-space: New file.
46691         * modules/unictype/property-non-break: New file.
46692         * modules/unictype/property-iso-control: New file.
46693         * modules/unictype/property-format-control: New file.
46694         * modules/unictype/property-dash: New file.
46695         * modules/unictype/property-hyphen: New file.
46696         * modules/unictype/property-punctuation: New file.
46697         * modules/unictype/property-line-separator: New file.
46698         * modules/unictype/property-paragraph-separator: New file.
46699         * modules/unictype/property-quotation-mark: New file.
46700         * modules/unictype/property-sentence-terminal: New file.
46701         * modules/unictype/property-terminal-punctuation: New file.
46702         * modules/unictype/property-currency-symbol: New file.
46703         * modules/unictype/property-math: New file.
46704         * modules/unictype/property-other-math: New file.
46705         * modules/unictype/property-paired-punctuation: New file.
46706         * modules/unictype/property-left-of-pair: New file.
46707         * modules/unictype/property-combining: New file.
46708         * modules/unictype/property-composite: New file.
46709         * modules/unictype/property-decimal-digit: New file.
46710         * modules/unictype/property-numeric: New file.
46711         * modules/unictype/property-diacritic: New file.
46712         * modules/unictype/property-extender: New file.
46713         * modules/unictype/property-ignorable-control: New file.
46714         * modules/unictype/property-test: New file.
46715         * modules/unictype/property-byname: New file.
46716         * modules/unictype/property-all: New file.
46717         * modules/unictype/scripts: New file.
46718         * modules/unictype/scripts-all: New file.
46719         * modules/unictype/block-of: New file.
46720         * modules/unictype/block-test: New file.
46721         * modules/unictype/block-list: New file.
46722         * modules/unictype/block-all: New file.
46723         * modules/unictype/syntax-c-whitespace: New file.
46724         * modules/unictype/syntax-java-whitespace: New file.
46725         * modules/unictype/syntax-c-ident: New file.
46726         * modules/unictype/syntax-java-ident: New file.
46727         * modules/unictype/ctype-alnum: New file.
46728         * modules/unictype/ctype-alpha: New file.
46729         * modules/unictype/ctype-cntrl: New file.
46730         * modules/unictype/ctype-digit: New file.
46731         * modules/unictype/ctype-graph: New file.
46732         * modules/unictype/ctype-lower: New file.
46733         * modules/unictype/ctype-print: New file.
46734         * modules/unictype/ctype-punct: New file.
46735         * modules/unictype/ctype-space: New file.
46736         * modules/unictype/ctype-upper: New file.
46737         * modules/unictype/ctype-xdigit: New file.
46738         * modules/unictype/ctype-blank: New file.
46739         * lib/unictype/bidi_byname.c: New file.
46740         * lib/unictype/bidi_name.c: New file.
46741         * lib/unictype/bidi_of.c: New file.
46742         * lib/unictype/bidi_test.c: New file.
46743         * lib/unictype/bitmap.h: New file.
46744         * lib/unictype/block_test.c: New file.
46745         * lib/unictype/blocks.c: New file.
46746         * lib/unictype/categ_C.c: New file.
46747         * lib/unictype/categ_Cc.c: New file.
46748         * lib/unictype/categ_Cf.c: New file.
46749         * lib/unictype/categ_Cn.c: New file.
46750         * lib/unictype/categ_Co.c: New file.
46751         * lib/unictype/categ_Cs.c: New file.
46752         * lib/unictype/categ_L.c: New file.
46753         * lib/unictype/categ_Ll.c: New file.
46754         * lib/unictype/categ_Lm.c: New file.
46755         * lib/unictype/categ_Lo.c: New file.
46756         * lib/unictype/categ_Lt.c: New file.
46757         * lib/unictype/categ_Lu.c: New file.
46758         * lib/unictype/categ_M.c: New file.
46759         * lib/unictype/categ_Mc.c: New file.
46760         * lib/unictype/categ_Me.c: New file.
46761         * lib/unictype/categ_Mn.c: New file.
46762         * lib/unictype/categ_N.c: New file.
46763         * lib/unictype/categ_Nd.c: New file.
46764         * lib/unictype/categ_Nl.c: New file.
46765         * lib/unictype/categ_No.c: New file.
46766         * lib/unictype/categ_P.c: New file.
46767         * lib/unictype/categ_Pc.c: New file.
46768         * lib/unictype/categ_Pd.c: New file.
46769         * lib/unictype/categ_Pe.c: New file.
46770         * lib/unictype/categ_Pf.c: New file.
46771         * lib/unictype/categ_Pi.c: New file.
46772         * lib/unictype/categ_Po.c: New file.
46773         * lib/unictype/categ_Ps.c: New file.
46774         * lib/unictype/categ_S.c: New file.
46775         * lib/unictype/categ_Sc.c: New file.
46776         * lib/unictype/categ_Sk.c: New file.
46777         * lib/unictype/categ_Sm.c: New file.
46778         * lib/unictype/categ_So.c: New file.
46779         * lib/unictype/categ_Z.c: New file.
46780         * lib/unictype/categ_Zl.c: New file.
46781         * lib/unictype/categ_Zp.c: New file.
46782         * lib/unictype/categ_Zs.c: New file.
46783         * lib/unictype/categ_and.c: New file.
46784         * lib/unictype/categ_and_not.c: New file.
46785         * lib/unictype/categ_byname.c: New file.
46786         * lib/unictype/categ_name.c: New file.
46787         * lib/unictype/categ_none.c: New file.
46788         * lib/unictype/categ_of.c: New file.
46789         * lib/unictype/categ_or.c: New file.
46790         * lib/unictype/categ_test.c: New file.
46791         * lib/unictype/combining.c: New file.
46792         * lib/unictype/ctype_alnum.c: New file.
46793         * lib/unictype/ctype_alpha.c: New file.
46794         * lib/unictype/ctype_blank.c: New file.
46795         * lib/unictype/ctype_cntrl.c: New file.
46796         * lib/unictype/ctype_digit.c: New file.
46797         * lib/unictype/ctype_graph.c: New file.
46798         * lib/unictype/ctype_lower.c: New file.
46799         * lib/unictype/ctype_print.c: New file.
46800         * lib/unictype/ctype_punct.c: New file.
46801         * lib/unictype/ctype_space.c: New file.
46802         * lib/unictype/ctype_upper.c: New file.
46803         * lib/unictype/ctype_xdigit.c: New file.
46804         * lib/unictype/decdigit.c: New file.
46805         * lib/unictype/digit.c: New file.
46806         * lib/unictype/identsyntaxmap.h: New file.
46807         * lib/unictype/mirror.c: New file.
46808         * lib/unictype/numeric.c: New file.
46809         * lib/unictype/pr_alphabetic.c: New file.
46810         * lib/unictype/pr_ascii_hex_digit.c: New file.
46811         * lib/unictype/pr_bidi_arabic_digit.c: New file.
46812         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
46813         * lib/unictype/pr_bidi_block_separator.c: New file.
46814         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
46815         * lib/unictype/pr_bidi_common_separator.c: New file.
46816         * lib/unictype/pr_bidi_control.c: New file.
46817         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
46818         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
46819         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
46820         * lib/unictype/pr_bidi_european_digit.c: New file.
46821         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
46822         * lib/unictype/pr_bidi_left_to_right.c: New file.
46823         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
46824         * lib/unictype/pr_bidi_other_neutral.c: New file.
46825         * lib/unictype/pr_bidi_pdf.c: New file.
46826         * lib/unictype/pr_bidi_segment_separator.c: New file.
46827         * lib/unictype/pr_bidi_whitespace.c: New file.
46828         * lib/unictype/pr_byname.c: New file.
46829         * lib/unictype/pr_byname.gperf: New file.
46830         * lib/unictype/pr_combining.c: New file.
46831         * lib/unictype/pr_composite.c: New file.
46832         * lib/unictype/pr_currency_symbol.c: New file.
46833         * lib/unictype/pr_dash.c: New file.
46834         * lib/unictype/pr_decimal_digit.c: New file.
46835         * lib/unictype/pr_default_ignorable_code_point.c: New file.
46836         * lib/unictype/pr_deprecated.c: New file.
46837         * lib/unictype/pr_diacritic.c: New file.
46838         * lib/unictype/pr_extender.c: New file.
46839         * lib/unictype/pr_format_control.c: New file.
46840         * lib/unictype/pr_grapheme_base.c: New file.
46841         * lib/unictype/pr_grapheme_extend.c: New file.
46842         * lib/unictype/pr_grapheme_link.c: New file.
46843         * lib/unictype/pr_hex_digit.c: New file.
46844         * lib/unictype/pr_hyphen.c: New file.
46845         * lib/unictype/pr_id_continue.c: New file.
46846         * lib/unictype/pr_id_start.c: New file.
46847         * lib/unictype/pr_ideographic.c: New file.
46848         * lib/unictype/pr_ids_binary_operator.c: New file.
46849         * lib/unictype/pr_ids_trinary_operator.c: New file.
46850         * lib/unictype/pr_ignorable_control.c: New file.
46851         * lib/unictype/pr_iso_control.c: New file.
46852         * lib/unictype/pr_join_control.c: New file.
46853         * lib/unictype/pr_left_of_pair.c: New file.
46854         * lib/unictype/pr_line_separator.c: New file.
46855         * lib/unictype/pr_logical_order_exception.c: New file.
46856         * lib/unictype/pr_lowercase.c: New file.
46857         * lib/unictype/pr_math.c: New file.
46858         * lib/unictype/pr_non_break.c: New file.
46859         * lib/unictype/pr_not_a_character.c: New file.
46860         * lib/unictype/pr_numeric.c: New file.
46861         * lib/unictype/pr_other_alphabetic.c: New file.
46862         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
46863         * lib/unictype/pr_other_grapheme_extend.c: New file.
46864         * lib/unictype/pr_other_id_continue.c: New file.
46865         * lib/unictype/pr_other_id_start.c: New file.
46866         * lib/unictype/pr_other_lowercase.c: New file.
46867         * lib/unictype/pr_other_math.c: New file.
46868         * lib/unictype/pr_other_uppercase.c: New file.
46869         * lib/unictype/pr_paired_punctuation.c: New file.
46870         * lib/unictype/pr_paragraph_separator.c: New file.
46871         * lib/unictype/pr_pattern_syntax.c: New file.
46872         * lib/unictype/pr_pattern_white_space.c: New file.
46873         * lib/unictype/pr_private_use.c: New file.
46874         * lib/unictype/pr_punctuation.c: New file.
46875         * lib/unictype/pr_quotation_mark.c: New file.
46876         * lib/unictype/pr_radical.c: New file.
46877         * lib/unictype/pr_sentence_terminal.c: New file.
46878         * lib/unictype/pr_soft_dotted.c: New file.
46879         * lib/unictype/pr_space.c: New file.
46880         * lib/unictype/pr_terminal_punctuation.c: New file.
46881         * lib/unictype/pr_test.c: New file.
46882         * lib/unictype/pr_titlecase.c: New file.
46883         * lib/unictype/pr_unassigned_code_value.c: New file.
46884         * lib/unictype/pr_unified_ideograph.c: New file.
46885         * lib/unictype/pr_uppercase.c: New file.
46886         * lib/unictype/pr_variation_selector.c: New file.
46887         * lib/unictype/pr_white_space.c: New file.
46888         * lib/unictype/pr_xid_continue.c: New file.
46889         * lib/unictype/pr_xid_start.c: New file.
46890         * lib/unictype/pr_zero_width.c: New file.
46891         * lib/unictype/scripts.c: New file.
46892         * lib/unictype/sy_c_ident.c: New file.
46893         * lib/unictype/sy_c_whitespace.c: New file.
46894         * lib/unictype/sy_java_ident.c: New file.
46895         * lib/unictype/sy_java_whitespace.c: New file.
46896
46897         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
46898         Unicode 5.0.0.
46899         * lib/unictype/blocks.h: Likewise.
46900         * lib/unictype/categ_C.h: Likewise.
46901         * lib/unictype/categ_Cc.h: Likewise.
46902         * lib/unictype/categ_Cf.h: Likewise.
46903         * lib/unictype/categ_Cn.h: Likewise.
46904         * lib/unictype/categ_Co.h: Likewise.
46905         * lib/unictype/categ_Cs.h: Likewise.
46906         * lib/unictype/categ_L.h: Likewise.
46907         * lib/unictype/categ_Ll.h: Likewise.
46908         * lib/unictype/categ_Lm.h: Likewise.
46909         * lib/unictype/categ_Lo.h: Likewise.
46910         * lib/unictype/categ_Lt.h: Likewise.
46911         * lib/unictype/categ_Lu.h: Likewise.
46912         * lib/unictype/categ_M.h: Likewise.
46913         * lib/unictype/categ_Mc.h: Likewise.
46914         * lib/unictype/categ_Me.h: Likewise.
46915         * lib/unictype/categ_Mn.h: Likewise.
46916         * lib/unictype/categ_N.h: Likewise.
46917         * lib/unictype/categ_Nd.h: Likewise.
46918         * lib/unictype/categ_Nl.h: Likewise.
46919         * lib/unictype/categ_No.h: Likewise.
46920         * lib/unictype/categ_P.h: Likewise.
46921         * lib/unictype/categ_Pc.h: Likewise.
46922         * lib/unictype/categ_Pd.h: Likewise.
46923         * lib/unictype/categ_Pe.h: Likewise.
46924         * lib/unictype/categ_Pf.h: Likewise.
46925         * lib/unictype/categ_Pi.h: Likewise.
46926         * lib/unictype/categ_Po.h: Likewise.
46927         * lib/unictype/categ_Ps.h: Likewise.
46928         * lib/unictype/categ_S.h: Likewise.
46929         * lib/unictype/categ_Sc.h: Likewise.
46930         * lib/unictype/categ_Sk.h: Likewise.
46931         * lib/unictype/categ_Sm.h: Likewise.
46932         * lib/unictype/categ_So.h: Likewise.
46933         * lib/unictype/categ_Z.h: Likewise.
46934         * lib/unictype/categ_Zl.h: Likewise.
46935         * lib/unictype/categ_Zp.h: Likewise.
46936         * lib/unictype/categ_Zs.h: Likewise.
46937         * lib/unictype/categ_of.h: Likewise.
46938         * lib/unictype/combining.h: Likewise.
46939         * lib/unictype/ctype_alnum.h: Likewise.
46940         * lib/unictype/ctype_alpha.h: Likewise.
46941         * lib/unictype/ctype_blank.h: Likewise.
46942         * lib/unictype/ctype_cntrl.h: Likewise.
46943         * lib/unictype/ctype_digit.h: Likewise.
46944         * lib/unictype/ctype_graph.h: Likewise.
46945         * lib/unictype/ctype_lower.h: Likewise.
46946         * lib/unictype/ctype_print.h: Likewise.
46947         * lib/unictype/ctype_punct.h: Likewise.
46948         * lib/unictype/ctype_space.h: Likewise.
46949         * lib/unictype/ctype_upper.h: Likewise.
46950         * lib/unictype/ctype_xdigit.h: Likewise.
46951         * lib/unictype/decdigit.h: Likewise.
46952         * lib/unictype/digit.h: Likewise.
46953         * lib/unictype/mirror.h: Likewise.
46954         * lib/unictype/numeric.h: Likewise.
46955         * lib/unictype/pr_alphabetic.h: Likewise.
46956         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
46957         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
46958         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
46959         * lib/unictype/pr_bidi_block_separator.h: Likewise.
46960         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
46961         * lib/unictype/pr_bidi_common_separator.h: Likewise.
46962         * lib/unictype/pr_bidi_control.h: Likewise.
46963         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
46964         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
46965         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
46966         * lib/unictype/pr_bidi_european_digit.h: Likewise.
46967         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
46968         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
46969         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
46970         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
46971         * lib/unictype/pr_bidi_pdf.h: Likewise.
46972         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
46973         * lib/unictype/pr_bidi_whitespace.h: Likewise.
46974         * lib/unictype/pr_combining.h: Likewise.
46975         * lib/unictype/pr_composite.h: Likewise.
46976         * lib/unictype/pr_currency_symbol.h: Likewise.
46977         * lib/unictype/pr_dash.h: Likewise.
46978         * lib/unictype/pr_decimal_digit.h: Likewise.
46979         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
46980         * lib/unictype/pr_deprecated.h: Likewise.
46981         * lib/unictype/pr_diacritic.h: Likewise.
46982         * lib/unictype/pr_extender.h: Likewise.
46983         * lib/unictype/pr_format_control.h: Likewise.
46984         * lib/unictype/pr_grapheme_base.h: Likewise.
46985         * lib/unictype/pr_grapheme_extend.h: Likewise.
46986         * lib/unictype/pr_grapheme_link.h: Likewise.
46987         * lib/unictype/pr_hex_digit.h: Likewise.
46988         * lib/unictype/pr_hyphen.h: Likewise.
46989         * lib/unictype/pr_id_continue.h: Likewise.
46990         * lib/unictype/pr_id_start.h: Likewise.
46991         * lib/unictype/pr_ideographic.h: Likewise.
46992         * lib/unictype/pr_ids_binary_operator.h: Likewise.
46993         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
46994         * lib/unictype/pr_ignorable_control.h: Likewise.
46995         * lib/unictype/pr_iso_control.h: Likewise.
46996         * lib/unictype/pr_join_control.h: Likewise.
46997         * lib/unictype/pr_left_of_pair.h: Likewise.
46998         * lib/unictype/pr_line_separator.h: Likewise.
46999         * lib/unictype/pr_logical_order_exception.h: Likewise.
47000         * lib/unictype/pr_lowercase.h: Likewise.
47001         * lib/unictype/pr_math.h: Likewise.
47002         * lib/unictype/pr_non_break.h: Likewise.
47003         * lib/unictype/pr_not_a_character.h: Likewise.
47004         * lib/unictype/pr_numeric.h: Likewise.
47005         * lib/unictype/pr_other_alphabetic.h: Likewise.
47006         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
47007         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
47008         * lib/unictype/pr_other_id_continue.h: Likewise.
47009         * lib/unictype/pr_other_id_start.h: Likewise.
47010         * lib/unictype/pr_other_lowercase.h: Likewise.
47011         * lib/unictype/pr_other_math.h: Likewise.
47012         * lib/unictype/pr_other_uppercase.h: Likewise.
47013         * lib/unictype/pr_paired_punctuation.h: Likewise.
47014         * lib/unictype/pr_paragraph_separator.h: Likewise.
47015         * lib/unictype/pr_pattern_syntax.h: Likewise.
47016         * lib/unictype/pr_pattern_white_space.h: Likewise.
47017         * lib/unictype/pr_private_use.h: Likewise.
47018         * lib/unictype/pr_punctuation.h: Likewise.
47019         * lib/unictype/pr_quotation_mark.h: Likewise.
47020         * lib/unictype/pr_radical.h: Likewise.
47021         * lib/unictype/pr_sentence_terminal.h: Likewise.
47022         * lib/unictype/pr_soft_dotted.h: Likewise.
47023         * lib/unictype/pr_space.h: Likewise.
47024         * lib/unictype/pr_terminal_punctuation.h: Likewise.
47025         * lib/unictype/pr_titlecase.h: Likewise.
47026         * lib/unictype/pr_unassigned_code_value.h: Likewise.
47027         * lib/unictype/pr_unified_ideograph.h: Likewise.
47028         * lib/unictype/pr_uppercase.h: Likewise.
47029         * lib/unictype/pr_variation_selector.h: Likewise.
47030         * lib/unictype/pr_white_space.h: Likewise.
47031         * lib/unictype/pr_xid_continue.h: Likewise.
47032         * lib/unictype/pr_xid_start.h: Likewise.
47033         * lib/unictype/pr_zero_width.h: Likewise.
47034         * lib/unictype/scripts.h: Likewise.
47035         * lib/unictype/scripts_byname.gperf: Likewise.
47036         * lib/unictype/sy_c_ident.h: Likewise.
47037         * lib/unictype/sy_c_whitespace.h: Likewise.
47038         * lib/unictype/sy_java_ident.h: Likewise.
47039         * lib/unictype/sy_java_whitespace.h: Likewise.
47040
47041         * lib/unictype/Makefile: New file.
47042         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
47043         glibc.
47044         * lib/unictype/3level.h: New file, copied from glibc.
47045         * lib/unictype/3levelbit.h: New file.
47046
47047 2007-11-11  Bruno Haible  <bruno@clisp.org>
47048
47049         * modules/gperf: New file.
47050         * modules/iconv_open (Depends-on): Add it.
47051         (Makefile.am): Remove the GPERF definition.
47052
47053 2007-11-11  Bruno Haible  <bruno@clisp.org>
47054
47055         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
47056         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
47057
47058 2007-11-11  Bruno Haible  <bruno@clisp.org>
47059
47060         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
47061         (usage): Remove function.
47062
47063 2007-11-11  Bruno Haible  <bruno@clisp.org>
47064
47065         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
47066         gl_FUNC_CEILF_LIBS.
47067         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
47068         gl_FUNC_CEIL_LIBS.
47069         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
47070         gl_FUNC_CEILL_LIBS.
47071         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
47072         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
47073         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
47074
47075 2007-11-11  Bruno Haible  <bruno@clisp.org>
47076
47077         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
47078         roundf were declared but do not exist on functions.
47079         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
47080         roundl were declared but do not exist on functions.
47081         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
47082         HAVE_FLOORL_AND_CEILL, respectively.
47083         Needed for Sun C on Solaris 10.
47084
47085 2007-11-11  Bruno Haible  <bruno@clisp.org>
47086
47087         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
47088         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
47089         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
47090         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
47091         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
47092         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
47093         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
47094         HAVE_DECL_ROUNDF.
47095         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
47096         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
47097         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
47098         of HAVE_DECL_ROUND*.
47099         * modules/math (Makefile.am): Update.
47100
47101 2007-11-10  Bruno Haible  <bruno@clisp.org>
47102
47103         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
47104         ptrdiff_t as m4/intl.m4.
47105
47106 2007-11-10  Jim Meyering  <meyering@redhat.com>
47107
47108         Avoid link failure for the argmatch test.
47109         * tests/test-argmatch.c (usage): Define function to avoid a link
47110         failure: argmatch_die requires a usage function.
47111
47112 2007-11-09  Bruno Haible  <bruno@clisp.org>
47113
47114         * doc/functions/snprintf.texi: Mention BeOS deficiency.
47115         * doc/functions/vsnprintf.texi: Likewise.
47116         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
47117         with a size argument < 2.
47118
47119 2007-11-09  Bruno Haible  <bruno@clisp.org>
47120
47121         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
47122         buffer. Fixes an inefficiency introduced on 2007-11-03.
47123
47124 2007-11-09  Bruno Haible  <bruno@clisp.org>
47125
47126         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
47127         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
47128
47129 2007-11-08  Jim Meyering  <meyering@redhat.com>
47130
47131         Change cache variable name prefix "jm_" to "gl_" everywhere.
47132         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
47133         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
47134         * m4/uptime.m4: s/gl_/jm_/
47135
47136 2007-11-07  Bruno Haible  <bruno@clisp.org>
47137
47138         Update to GNU gettext 0.17.
47139         * m4/intl.m4: Update to GNU gettext 0.17.
47140         * m4/po.m4: Likewise.
47141         * modules/gettext (Files): Remove m4/ulonglong.m4.
47142         (configure.ac): Require gettext infrastructure from version 0.17.
47143
47144 2007-11-06  Bruno Haible  <bruno@clisp.org>
47145
47146         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
47147         symbolic values are not defined in a public header.
47148         * lib/freadable.c (freadable) [QNX]: Likewise.
47149         * lib/freadahead.c (freadahead) [QNX]: Likewise.
47150         * lib/freading.c (freading) [QNX]: Likewise.
47151         * lib/fseterr.c (fseterr) [QNX]: Likewise.
47152         * lib/fwritable.c (fwritable) [QNX]: Likewise.
47153         * lib/fwriting.c (fwriting) [QNX]: Likewise.
47154         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
47155         Reported by Alain Magloire.
47156
47157         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
47158
47159 2007-11-05  Bruno Haible  <bruno@clisp.org>
47160
47161         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
47162         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
47163         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
47164         Reported by Eric Blake.
47165
47166 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47167             Bruno Haible  <bruno@clisp.org>
47168
47169         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
47170         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
47171         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
47172         (malloc): Undefine also before including <stdlib.h>.
47173         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
47174         Needed on OSF/1 4.0.
47175
47176 2007-11-05  Jim Meyering  <meyering@redhat.com>
47177
47178         git-version-gen: sync from coreutils.
47179         * build-aux/git-version-gen: Add comments.
47180         Change the first '-' to '.' in the snapshot version string,
47181         e.g., 6.9-377-08144 -> 6.9.377-08144
47182         Remove first parameter.
47183         Don't declare a version "-dirty" merely because a time
47184         stamp has changed.
47185
47186 2007-11-04  Bruno Haible  <bruno@clisp.org>
47187
47188         * lib/lock.h: Protect all macro definitions containing an 'if'
47189         statement through a "do { ... } while (0)".
47190         * lib/tls.h: Likewise.
47191
47192 2007-11-04  Bruno Haible  <bruno@clisp.org>
47193
47194         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
47195
47196 2007-11-04  Bruno Haible  <bruno@clisp.org>
47197
47198         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
47199         * modules/fprintf-posix (Depends-on): Add nocrash.
47200         * modules/snprintf-posix (Depends-on): Likewise.
47201         * modules/sprintf-posix (Depends-on): Likewise.
47202         * modules/vasnprintf-posix (Depends-on): Likewise.
47203         * modules/vasprintf-posix (Depends-on): Likewise.
47204         * modules/vfprintf-posix (Depends-on): Likewise.
47205         * modules/vsnprintf-posix (Depends-on): Likewise.
47206         * modules/vsprintf-posix (Depends-on): Likewise.
47207         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47208         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47209         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47210         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47211         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47212         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47213         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47214
47215 2007-11-04  Bruno Haible  <bruno@clisp.org>
47216
47217         * modules/nocrash: New file.
47218         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
47219         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
47220
47221 2007-11-04  Bruno Haible  <bruno@clisp.org>
47222
47223         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
47224         precision handling.
47225         * tests/test-vasprintf-posix.c (test_function): Likewise.
47226         * tests/test-snprintf-posix.h (test_function): Likewise.
47227         * tests/test-sprintf-posix.h (test_function): Likewise.
47228
47229         Fix *printf behaviour for large precisions on mingw and BeOS.
47230         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
47231         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
47232         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
47233         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47234         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47235         gl_PRINTF_PRECISION and test its result. Invoke
47236         gl_PREREQ_VASNPRINTF_PRECISION.
47237         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47238         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47239         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47240         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47241         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47242         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47243         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47244         * doc/functions/fprintf.texi: Update.
47245         * doc/functions/printf.texi: Update.
47246         * doc/functions/snprintf.texi: Update.
47247         * doc/functions/sprintf.texi: Update.
47248         * doc/functions/vfprintf.texi: Update.
47249         * doc/functions/vprintf.texi: Update.
47250         * doc/functions/vsnprintf.texi: Update.
47251         * doc/functions/vsprintf.texi: Update.
47252
47253 2007-11-04  Bruno Haible  <bruno@clisp.org>
47254
47255         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
47256
47257 2007-11-04  Bruno Haible  <bruno@clisp.org>
47258
47259         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
47260         Reported by Sylvain Beucler <beuc@gnu.org>.
47261
47262 2007-11-03  Bruno Haible  <bruno@clisp.org>
47263
47264         * tests/test-fprintf-posix2.sh: New file.
47265         * tests/test-fprintf-posix2.c: New file.
47266         * modules/fprintf-posix-tests (Files): Add them.
47267         (TESTS): Add test-fprintf-posix2.sh.
47268         (configure.ac): Check for getrlimit and setrlimit.
47269         (check_PROGRAMS): Add test-fprintf-posix2.
47270
47271         * tests/test-printf-posix2.sh: New file.
47272         * tests/test-printf-posix2.c: New file.
47273         * modules/printf-posix-tests (Files): Add them.
47274         (TESTS): Add test-printf-posix2.sh.
47275         (configure.ac): Check for getrlimit and setrlimit.
47276         (check_PROGRAMS): Add test-printf-posix2.
47277
47278         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
47279         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
47280         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
47281         (decode_double): New function, copied from decode_long_double.
47282         (scale10_round_decimal_decoded): New function, extracted from
47283         scale10_round_decimal_long_double.
47284         (scale10_round_decimal_long_double): Use it.
47285         (scale10_round_decimal_double): New function.
47286         (floorlog10): New function.
47287         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
47288         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
47289         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47290         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47291         gl_PRINTF_ENOMEM and test its result. Invoke
47292         gl_PREREQ_VASNPRINTF_ENOMEM.
47293         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47294         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47295         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47296         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47297         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47298         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47299         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47300         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
47301         * modules/snprintf-posix (Depends-on): Likewise.
47302         * modules/sprintf-posix (Depends-on): Likewise.
47303         * modules/vasnprintf-posix (Depends-on): Likewise.
47304         * modules/vasprintf-posix (Depends-on): Likewise.
47305         * modules/vfprintf-posix (Depends-on): Likewise.
47306         * modules/vsnprintf-posix (Depends-on): Likewise.
47307         * modules/vsprintf-posix (Depends-on): Likewise.
47308         * doc/functions/fprintf.texi: Update.
47309         * doc/functions/printf.texi: Update.
47310         * doc/functions/snprintf.texi: Update.
47311         * doc/functions/sprintf.texi: Update.
47312         * doc/functions/vfprintf.texi: Update.
47313         * doc/functions/vprintf.texi: Update.
47314         * doc/functions/vsnprintf.texi: Update.
47315         * doc/functions/vsprintf.texi: Update.
47316
47317 2007-11-03  Bruno Haible  <bruno@clisp.org>
47318
47319         * modules/frexp-nolibm-tests: New file.
47320
47321         * modules/frexp-nolibm: New file.
47322         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
47323
47324 2007-11-03  Bruno Haible  <bruno@clisp.org>
47325
47326         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
47327         value is C99 compliant.
47328         Needed for OSF/1 5.1.
47329
47330 2007-11-03  Bruno Haible  <bruno@clisp.org>
47331
47332         Fix out-of-memory handling of vasnprintf.
47333         * lib/printf-parse.c: Include <errno.h>.
47334         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
47335         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
47336         is already set.
47337
47338 2007-11-02  Eric Blake  <ebb9@byu.net>
47339
47340         Fix tests on cygwin.
47341         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
47342
47343 2007-11-01  Bruno Haible  <bruno@clisp.org>
47344
47345         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
47346         warning.
47347         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
47348         needed for POSIX compatibility.
47349
47350 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
47351
47352         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
47353         for compatibility with GNU.
47354
47355 2007-11-01  Bruno Haible  <bruno@clisp.org>
47356
47357         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
47358         (putenv): Renamed from rpl_putenv. Change argument type from
47359         'const char *' to 'char *'.
47360         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
47361         of defining putenv in config.h, just set REPLACE_PUTENV.
47362         * modules/putenv (Depends-on): Add stdlib.
47363         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47364         (Include): Use <stdlib.h>.
47365         * lib/stdlib.in.h (putenv): New declaration.
47366         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
47367         REPLACE_PUTENV.
47368         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
47369         REPLACE_PUTENV.
47370         Needed for MacOS X 10.5.0.
47371         Reported by Peter O'Gorman <peter@pogma.com>.
47372
47373 2007-11-01  Jim Meyering  <meyering@redhat.com>
47374
47375         Treat an empty date string exactly like "0".
47376         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
47377         if the remaining date string (to be parsed) is empty, use "0".
47378         Reported by Mischa Molhoek and discussed in this thread:
47379         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
47380
47381 2007-10-31  Bruno Haible  <bruno@clisp.org>
47382
47383         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
47384         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
47385         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
47386         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
47387         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
47388         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
47389
47390 2007-10-31  Bruno Haible  <bruno@clisp.org>
47391
47392         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
47393         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
47394         (AC_TYPE_LONG_LONG_INT): Use it.
47395         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
47396         it as well.
47397         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
47398         to m4/longlong.m4.
47399         * modules/stdint (Files): Remove m4/ulonglong.m4.
47400         * modules/strtoull (Files): Use m4/longlong.m4 instead of
47401         m4/ulonglong.m4.
47402         * modules/strtoumax (Files): Likewise.
47403
47404 2007-10-30  Bruno Haible  <bruno@clisp.org>
47405
47406         * modules/xvasprintf-posix: New file.
47407         Suggested by Eric Blake.
47408
47409 2007-10-30  Bruno Haible  <bruno@clisp.org>
47410
47411         * modules/xprintf-posix-tests: New file.
47412         * tests/test-xprintf-posix.sh: New file.
47413         * tests/test-xprintf-posix.c: New file.
47414         * tests/test-xfprintf-posix.c: New file.
47415
47416         * modules/xprintf-posix: New file.
47417
47418 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47419
47420         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
47421         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
47422         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
47423
47424 2007-10-29  Bruno Haible  <bruno@clisp.org>
47425
47426         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
47427         contain the special marker '_cv_'.
47428         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47429         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47430         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47431         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
47432         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47433         Reported by Ralf Wildenhues.
47434
47435 2007-10-29  Bruno Haible  <bruno@clisp.org>
47436
47437         * gnulib-tool (func_import): When --lgpl is not specified, set
47438         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
47439         GPLv3.
47440         Reported by Simon Josefsson.
47441
47442 2007-10-28  Bruno Haible  <bruno@clisp.org>
47443
47444         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
47445         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
47446         HAVE_DECL_ISFINITE.
47447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
47448         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
47449         HAVE_DECL_ISFINITE.
47450
47451 2007-10-28  Bruno Haible  <bruno@clisp.org>
47452
47453         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
47454         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
47455
47456 2007-10-28  Bruno Haible  <bruno@clisp.org>
47457
47458         Fix link errors with Sun C 5.0 on Solaris 10.
47459         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
47460         function is declared but not present in the compiler's libm.
47461         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
47462         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
47463         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
47464         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
47465         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
47466         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
47467         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
47468         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
47469         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
47470         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
47471         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
47472         HAVE_DECL_FLOORL.
47473
47474 2007-10-28  Bruno Haible  <bruno@clisp.org>
47475
47476         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
47477         gl_FUNC_FLOORL. Cache the result.
47478         (gl_FUNC_FLOORL): Use it.
47479         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
47480         gl_FUNC_CEILL. Cache the result.
47481         (gl_FUNC_CEILL): Use it.
47482
47483         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
47484         gl_FUNC_FLOOR. Cache the result.
47485         (gl_FUNC_FLOOR): Use it.
47486         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
47487         gl_FUNC_CEIL. Cache the result.
47488         (gl_FUNC_CEIL): Use it.
47489
47490         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
47491         gl_FUNC_FLOORF. Cache the result.
47492         (gl_FUNC_FLOORF): Use it.
47493         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
47494         gl_FUNC_CEILF. Cache the result.
47495         (gl_FUNC_CEILF): Use it.
47496
47497 2007-10-28  Bruno Haible  <bruno@clisp.org>
47498
47499         * gnulib-tool: Allow specifying the LGPL version number through
47500         --lgpl=2 or --lgpl=3.
47501         (func_usage): Document --lgpl with argument.
47502         Handle --lgpl=... arguments.
47503         (func_import): Recognize also gl_LGPL calls with an argument. When
47504         --lgpl=2 is used and the module's license is just LGPL, report an
47505         error. Set sed_transform_lib_file according to the lgpl variable. In
47506         the generated files, use --lgpl or gl_LGPL invocations with argument,
47507         if necessary.
47508         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
47509         an LGPv2+ license.
47510         * doc/gnulib-tool.texi (Modified imports): Update explanation of
47511         gl_LGPL macro.
47512
47513 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47514             Bruno Haible  <bruno@clisp.org>
47515
47516         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
47517         (u16_uctomb_aux): Likewise.
47518         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
47519         !HAVE_INLINE.
47520         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
47521
47522 2007-10-28  Bruno Haible  <bruno@clisp.org>
47523
47524         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
47525         Invoke AM_GETTEXT_OPTION if it exists.
47526         * modules/vasprintf: Likewise.
47527         * modules/verror: Likewise.
47528         * modules/xprintf: Likewise.
47529         * modules/xvasprintf: Likewise.
47530
47531 2007-10-27  Ben Pfaff  <blp@gnu.org>
47532
47533         * lib/math.in.h: Define isfinite macro and prototypes for
47534         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
47535         implementations.
47536         * m4/math_h.m4: New substitutions for isfinite module.
47537         * lib/isfinite.c: New file.
47538         * m4/isfinite.m4: New file.
47539         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
47540         * modules/isfinite: New file.
47541         * modules/isfinite-tests: New file.
47542         * tests/tests-isfinite.c: New file.
47543         * doc/functions/isfinite.texi: Mention isfinite module.
47544         * MODULES.html.sh: Mention new module.
47545
47546 2007-10-27  Ben Pfaff  <blp@gnu.org>
47547
47548         Ralf Wildenhues reported that Tru64 4.0D declares the round
47549         functions but does not have definitions.
47550         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
47551         cannot be found in any library, set the output variable to
47552         "missing" instead of "".
47553         * m4/round.m4: Also use our substitute if we cannot find round in
47554         any library, even if it is declared.
47555         * m4/roundf.m4: Likewise for roundf.
47556         * m4/roundl.m4: Likewise for roundl.
47557         * lib/math.in.h: Undefine roundf, round, roundl before defining
47558         their replacements, to allow for hypothetical systems where these
47559         may be defined as macros but not available in libraries.
47560
47561 2007-10-27  Bruno Haible  <bruno@clisp.org>
47562
47563         * doc/gnulib.texi: Invoke @firstparagraphindent.
47564         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
47565         changes in gnulib.
47566         (Source changes): New section.
47567
47568 2007-10-26  Bruno Haible  <bruno@clisp.org>
47569
47570         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
47571         borrowed from autoconf.
47572
47573 2007-10-26  Bruno Haible  <bruno@clisp.org>
47574
47575         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
47576         strerror returned the empty string. Needed on HP-UX 11.00.
47577
47578 2007-10-24  Micah Cowan  <micah@cowan.name>
47579
47580         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
47581         * build-aux/bootstrap: Remove support for now-unnecessary option,
47582         --cvs-user, and envvars CVS_USER, CVS_RSH.
47583
47584 2007-10-24  Jim Meyering  <meyering@redhat.com>
47585
47586         Avoid diagnostics from sha1sum when there is no cached checksum.
47587         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
47588         if the po.s1 file hasn't been created yet.
47589
47590         * build-aux/bootstrap: Sync from coreutils:
47591         2007-10-24  Jim Meyering  <meyering@redhat.com>
47592         Get gnulib from the git repository, not from an obsolete cvs one.
47593         * build-aux/bootstrap: Suggestion from Micah Cowan.
47594         2007-10-04  Jim Meyering  <jim@meyering.net>
47595         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
47596         (update_po_files): Work also when there are no .po files in po/.
47597
47598 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47599
47600         * README: Append ".git" to git and cg examples.
47601         Problem reported by Benoit Sigoure.
47602
47603 2007-10-23  Micah Cowan  <micah@cowan.name>
47604
47605         * users.txt: Add wget.
47606
47607 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47608
47609         Fix linking of some unistdio tests on FreeBSD.
47610         * modules/unistdio/u16-vsnprintf-tests
47611         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
47612         * modules/unistdio/u16-vsprintf-tests
47613         (test_u16_vsnprintf1_LDADD): Likewise.
47614         * modules/unistdio/u32-vsnprintf-tests
47615         (test_u32_vsnprintf1_LDADD): Likewise.
47616         * modules/unistdio/u32-vsprintf-tests
47617         (test_u32_vsprintf1_LDADD): Likewise.
47618         * modules/unistdio/u8-vsnprintf-tests
47619         (test_u8_vsnprintf1_LDADD): Likewise.
47620         * modules/unistdio/u8-vsprintf-tests
47621         (test_u8_vsprintf1_LDADD): Likewise.
47622         * modules/unistdio/ulc-vsnprintf-tests
47623         (test_ulc_vsnprintf1_LDADD): Likewise.
47624         * modules/unistdio/ulc-vsprintf-tests
47625         (test_ulc_vsprintf1_LDADD): Likewise.
47626
47627         Fix linking of some uniconv tests on FreeBSD.
47628         * modules/uniconv/u16-conv-from-enc-tests
47629         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
47630         * modules/uniconv/u16-conv-to-enc-tests
47631         (test_u16_conv_to_enc_LDADD): Likewise.
47632         * modules/uniconv/u16-strconv-from-enc-tests
47633         (test_u16_strconv_from_enc_LDADD): Likewise.
47634         * modules/uniconv/u16-strconv-to-enc-tests
47635         (test_u16_strconv_to_enc_LDADD): Likewise.
47636         * modules/uniconv/u32-conv-from-enc-tests
47637         (test_u32_conv_from_enc_LDADD): Likewise.
47638         * modules/uniconv/u32-conv-to-enc-tests
47639         (test_u32_conv_to_enc_LDADD): Likewise.
47640         * modules/uniconv/u32-strconv-from-enc-tests
47641         (test_u32_strconv_from_enc_LDADD): Likewise.
47642         * modules/uniconv/u32-strconv-to-enc-tests
47643         (test_u32_strconv_to_enc_LDADD): Likewise.
47644         * modules/uniconv/u8-conv-from-enc-tests
47645         (test_u8_conv_from_enc_LDADD): Likewise.
47646         * modules/uniconv/u8-conv-to-enc-tests
47647         (test_u8_conv_to_enc_LDADD): Likewise.
47648         * modules/uniconv/u8-strconv-from-enc-tests
47649         (test_u8_strconv_from_enc_LDADD): Likewise.
47650         * modules/uniconv/u8-strconv-to-enc-tests
47651         (test_u8_strconv_to_enc_LDADD): Likewise.
47652
47653 2007-10-22  Bruno Haible  <bruno@clisp.org>
47654
47655         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
47656         size.
47657
47658 2007-10-22  Eric Blake  <ebb9@byu.net>
47659
47660         Tweak x*printf documentation.
47661         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
47662         variable name and comments.
47663         Suggested by Bruno Haible.
47664
47665 2007-10-22  Bruno Haible  <bruno@clisp.org>
47666
47667         * lib/acl.c (copy_acl): Fix file name in comment.
47668
47669 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47670
47671         Fix Tru64 problem with stdbool.h.
47672         * lib/stdbool.in.h (false, true):
47673         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
47674         Don't declare as an enum in this situation; it runs afoul of Tru64.
47675         Problem reported by Steven M. Schweda in
47676         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
47677
47678 2007-10-22  Eric Blake  <ebb9@byu.net>
47679
47680         Also wrap vf?printf.
47681         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
47682         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
47683         (xvprintf, xvfprintf): New functions.
47684
47685 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47686
47687         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
47688         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
47689
47690         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
47691         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
47692
47693 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47694
47695         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
47696         by Bruno Haible.
47697
47698 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47699
47700         * lib/getloadavg.c
47701         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
47702         Undef `sys' after including sys/table.h, for Tru64 4.0D.
47703
47704         * tests/test-i-ring.c: Work for C89.
47705
47706 2007-10-22  Bruno Haible  <bruno@clisp.org>
47707
47708         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
47709         -1u, in preprocessor expression, so that we don't test for the bug
47710         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
47711         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
47712
47713 2007-10-22  Eric Blake  <ebb9@byu.net>
47714
47715         * tests/test-yesno.sh: Silence stderr during test.
47716
47717 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47718
47719         * modules/crypto/gc-camellia: New file.
47720
47721         * m4/gc-camellia.m4: New file.
47722
47723         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
47724
47725         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
47726
47727 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47728
47729         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
47730         --help to stdout.  Reported by sms@antinode.org (Steven
47731         M. Schweda).
47732
47733 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47734
47735         * users.txt: Fix link to libksba.
47736
47737 2007-10-21  Ben Pfaff  <blp@gnu.org>
47738
47739         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
47740         round.c roundf implementation that depends on floorf and ceilf to
47741         be tested unconditionally.
47742
47743 2007-10-21  Ben Pfaff  <blp@gnu.org>
47744
47745         * m4/check-libm-func.m4: Removed.
47746         * m4/check-math-lib.m4: New file.
47747         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
47748         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
47749         definition and lack of AC_LIBOBJ([roundf]).
47750         * m4/roundl.m4: Ditto, and similarly for roundl.
47751         * modules/round: Reference new m4 file.
47752         * modules/roundf: Ditto.
47753         * modules/roundl: Ditto.
47754         * tests/test-round2.c (main): Use ROUND instead of round.
47755         Bug report from Bruno Haible.
47756
47757 2007-10-21  Bruno Haible  <bruno@clisp.org>
47758
47759         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
47760         context.
47761
47762 2007-10-21  Bruno Haible  <bruno@clisp.org>
47763
47764         * tests/test-wcwidth.c (main): Allow negative result for some control
47765         characters.
47766
47767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
47768         Needed on OSF/1 5.1.
47769
47770 2007-10-21  Bruno Haible  <bruno@clisp.org>
47771
47772         * tests/test-floorf1.c: Include isnanf.h.
47773         (main): Use isnanf() instead of isnan().
47774         * tests/test-ceilf1.c: Include isnanf.h.
47775         (main): Use isnanf() instead of isnan().
47776         * tests/test-truncf1.c: Include isnanf.h.
47777         (main): Use isnanf() instead of isnan().
47778         * tests/test-roundf1.c: Include isnanf.h.
47779         (main): Use isnanf() instead of isnan().
47780
47781 2007-10-21  Eric Blake  <ebb9@byu.net>
47782
47783         * users.txt: Update URL for m4.
47784
47785 2007-10-21  Bruno Haible  <bruno@clisp.org>
47786
47787         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
47788
47789 2007-10-21  Bruno Haible  <bruno@clisp.org>
47790
47791         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
47792         Git's management files if the CVS files are not present.
47793
47794 2007-10-20  Bruno Haible  <bruno@clisp.org>
47795
47796         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
47797         gcc-3.4.x.
47798
47799 2007-10-20  Ben Pfaff  <blp@gnu.org>
47800
47801         * lib/math.in.h: Declare round, roundf, roundl if we are providing
47802         implementations.
47803         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
47804         * lib/round.c: New file.
47805         * lib/roundf.c: New file.
47806         * lib/roundl.c: New file.
47807         * m4/round.m4: New file.
47808         * m4/roundf.m4: New file.
47809         * m4/roundl.m4: New file.
47810         * m4/check-libm-func-m4: New file.
47811         * modules/math: Replace round, roundf, roundl related @VARS@ in
47812         math.in.h.
47813         * modules/round: New file.
47814         * modules/round-tests: New file.
47815         * modules/roundf: New file.
47816         * modules/roundf-tests: New file.
47817         * modules/roundl: New file.
47818         * modules/roundl-tests: New file.
47819         * tests/test-round1.c: New file.
47820         * tests/test-round2.c: New file.
47821         * tests/test-roundf1.c: New file.
47822         * tests/test-roundf2.c: New file.
47823         * tests/test-roundl.c: New file.
47824         * doc/functions/round.texi: Mention round module.
47825         * doc/functions/roundf.texi: Mention roundf module.
47826         * doc/functions/roundl.texi: Mention roundl module.
47827         * MODULES.html.sh: Mention new modules.
47828         Thanks to Bruno Haible for suggestions.
47829
47830 2007-10-20  Jim Meyering  <meyering@redhat.com>
47831
47832         * lib/xprintf.c: Include <config.h> unconditionally.
47833
47834         Change xprintf's license to GPL.
47835         * modules/xprintf (License): s/LGPL/GPL/, since this module
47836         depends on modules (exit and exitfail) which are GPL.
47837         Suggestion from Bruno Haible.
47838
47839         xprintf fixes.
47840         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
47841         Use a clearer diagnostic.
47842         Patch from Bruno Haible.
47843
47844 2007-10-20  Bruno Haible  <bruno@clisp.org>
47845
47846         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
47847         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
47848         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47849
47850 2007-10-20  Bruno Haible  <bruno@clisp.org>
47851
47852         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
47853         precision in the comparison result > x - 1 or similar.
47854         * tests/test-ceilf2.c (correct_result_p): Likewise.
47855         * tests/test-truncf2.c (correct_result_p): Likewise.
47856         * tests/test-trunc2.c (correct_result_p): Likewise.
47857         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47858
47859 2007-10-20  Bruno Haible  <bruno@clisp.org>
47860
47861         * modules/ceil: New file.
47862         * m4/ceil.m4: New file.
47863         * doc/functions/ceil.texi: Mention the 'ceil' module.
47864
47865 2007-10-20  Bruno Haible  <bruno@clisp.org>
47866
47867         * modules/floor: New file.
47868         * m4/floor.m4: New file.
47869         * doc/functions/floor.texi: Mention the 'floor' module.
47870
47871 2007-10-20  Bruno Haible  <bruno@clisp.org>
47872
47873         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
47874         of %a.
47875         * modules/floorf-tests (Depends-on): Likewise.
47876         * modules/truncf-tests (Depends-on): Likewise.
47877         * modules/trunc-tests (Depends-on): Likewise.
47878         Reported by Ben Pfaff.
47879
47880 2007-10-19  Jim Meyering  <meyering@redhat.com>
47881
47882         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
47883         Don't bother testing specific errno values.  Just test ferror.
47884
47885         New module: xprintf
47886         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
47887
47888 2007-10-19  Bruno Haible  <bruno@clisp.org>
47889
47890         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
47891         syntax.
47892         * modules/javaexec (Makefile.am): Likewise.
47893         * modules/relocatable-prog (Makefile.am): Likewise.
47894         Suggested by Jim Meyering.
47895
47896 2007-10-18  Bruno Haible  <bruno@clisp.org>
47897
47898         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
47899         Reported by Jim Meyering.
47900
47901 2007-10-18  Eric Blake  <ebb9@byu.net>
47902
47903         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
47904
47905 2007-10-18  Bruno Haible  <bruno@clisp.org>
47906
47907         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
47908         the format string into writable memory. Needed in Fortify conditions.
47909
47910 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
47911             Bruno Haible  <bruno@clisp.org>
47912
47913         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
47914         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
47915         * modules/trim (Depends-on): Add mbchar.
47916         (configure.ac): Add gl_FUNC_MBRTOWC.
47917         (Makefile.am): Augment lib_SOURCES.
47918
47919 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
47920
47921         Modify glob.c to use fstatat and dirfd, to simplify it.
47922         Suggested by Eric Blake.
47923         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
47924         Don't include <stdbool.h>; not used.
47925         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
47926         (link_exists_p): Simplify implementation, since we can now assume
47927         dirfd and fstatat.
47928         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
47929
47930 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47931
47932         * gnulib-tool (func_get_dependencies): Fix sed script to
47933         match only tests.
47934
47935 2007-10-17  Bruno Haible  <bruno@clisp.org>
47936
47937         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
47938         allow locale names without encoding suffix.
47939         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
47940         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47941
47942 2007-10-16  Bruno Haible  <bruno@clisp.org>
47943
47944         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
47945         * lib/getgroups.c (getgroups): Likewise.
47946         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
47947
47948 2007-10-16  Bruno Haible  <bruno@clisp.org>
47949
47950         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
47951         * modules/malloc-posix (License): Likewise.
47952         * modules/realloc-posix (License): Likewise.
47953         * modules/calloc-posix (License): Likewise.
47954         * modules/intprops (License): Change from GPL to LGPL, with
47955         Paul Eggert's approval.
47956
47957 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47958
47959         Merge glibc changes into lib/glob.c.
47960
47961         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
47962         2007-10-15 04:59:03 UTC.  Here are the changes:
47963
47964         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
47965
47966         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
47967
47968         * lib/glob.c: Add some branch prediction throughout.
47969
47970         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
47971
47972         [BZ #5103]
47973         * lib/glob.c (glob): Recognize patterns starting \/.
47974
47975         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
47976
47977         [BZ #3996]
47978         * lib/glob.c (attribute_hidden): Define if not defined.
47979         (glob): Unescape dirname, filename or username when needed and not
47980         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
47981         is NULL.  Handle unescaped [ in pattern without closing ].
47982         Don't pass GLOB_CHECK down to recursive glob for directories.
47983         (__glob_pattern_type): New function.
47984         (__glob_pattern_p): Implement using __glob_pattern_type.
47985         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
47986         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
47987         Remove unreachable code.
47988
47989         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
47990
47991         * lib/glob.c (glob_in_dir): Add some comments and asserts to
47992         explain why there are no leaks.
47993
47994         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
47995
47996         [BZ #3253]
47997         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
47998         time, rather allocate increasingly bigger arrays of pointers, if
47999         possible with alloca, if too large with malloc.
48000
48001 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48002
48003         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
48004         Problem reported by H.Merijn Brand in
48005         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
48006         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
48007         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
48008
48009 2007-10-15  Bruno Haible  <bruno@clisp.org>
48010
48011         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
48012         with explicit rpl_ prefix.
48013         * lib/fopen.c (fopen): Likewise.
48014         * lib/freopen.c (freopen): Likewise.
48015         * lib/iconv.c (iconv): Likewise.
48016         * lib/iconv_close.c (iconv_close): Likewise.
48017
48018 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48019
48020         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
48021
48022 2007-10-15  Bruno Haible  <bruno@clisp.org>
48023
48024         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
48025         <stddef.h> instead of <stdlib.h> since we only need NULL.
48026         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48027
48028 2007-10-15  Bruno Haible  <bruno@clisp.org>
48029
48030         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
48031         Replace paragraph talking about LIBOBJS.
48032         Reported by Colin Watson <cjwatson@debian.org>.
48033
48034 2007-10-15  Bruno Haible  <bruno@clisp.org>
48035
48036         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
48037         <stdlib.h> before using NULL.
48038
48039 2007-10-15  Simon Josefsson  <simon@josefsson.org>
48040
48041         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
48042         Reported by Albert Chin <china@thewrittenword.com>.
48043
48044 2007-10-14  Bruno Haible  <bruno@clisp.org>
48045
48046         * modules/iconv_open-utf-tests: New file.
48047         * tests/test-iconv-utf.c: New file.
48048
48049         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
48050         * modules/iconv_open-utf: New file.
48051         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
48052         (iconv, iconv_close): New declarations.
48053         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
48054         be defined.
48055         (iconv_open): Add special handling of conversion between UTF-8 and
48056         UTF-{16,32}{BE,LE}.
48057         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
48058         * lib/iconv_close.c: New file.
48059         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
48060         gl_FUNC_ICONV_OPEN.
48061         (gl_FUNC_ICONV_OPEN): Use it.
48062         (gl_FUNC_ICONV_OPEN_UTF): New macro.
48063         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
48064         and REPLACE_ICONV_UTF.
48065         * modules/iconv_open (Depends-on): Add c-strcase.
48066         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
48067         ICONV_CONST.
48068         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
48069
48070 2007-10-13  Albert Chin  <china@thewrittenword.com>
48071             Bruno Haible  <bruno@clisp.org>
48072
48073         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
48074         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
48075
48076 2007-10-13  Bruno Haible  <bruno@clisp.org>
48077
48078         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
48079         defined, use the ISO C99 inline semantics.
48080         * lib/argp.h (ARGP_EI): Likewise.
48081
48082 2007-10-13  Bruno Haible  <bruno@clisp.org>
48083
48084         Handle 'inline' change in gcc 4.3.0.
48085         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
48086         argp_fmtstream_write, argp_fmtstream_set_lmargin,
48087         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
48088         argp_fmtstream_point): Disable 'extern' declaration if the function
48089         definition is going to be provided inline.
48090         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
48091         semantics, not the ISO C99 inline semantics.
48092         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
48093         'extern' declaration if the function definition is going to be provided
48094         inline.
48095         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
48096         the GNU C inline semantics, not the ISO C99 inline semantics. With
48097         GCC 4.2, avoid a warning.
48098
48099 2007-10-13  Bruno Haible  <bruno@clisp.org>
48100
48101         * lib/freading.h (freading): Enable the use of __freading for
48102         glibc >= 2.7.
48103         * lib/freading.c (freading): Likewise.
48104
48105 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48106
48107         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
48108         "warning: C99 inline functions are not supported; using GNU89".
48109
48110 2007-10-12  Bruno Haible  <bruno@clisp.org>
48111
48112         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
48113         of 2.
48114         * tests/test-ceilf2.c: New file.
48115         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
48116
48117         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
48118         * modules/ceilf-tests: Update.
48119
48120 2007-10-12  Bruno Haible  <bruno@clisp.org>
48121
48122         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
48123         of 2.
48124         * tests/test-floorf2.c: New file.
48125         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
48126
48127         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
48128         * modules/floorf-tests: Update.
48129
48130 2007-10-12  Bruno Haible  <bruno@clisp.org>
48131
48132         * tests/test-trunc2.c: New file.
48133         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
48134
48135         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
48136         * modules/trunc-tests: Update.
48137
48138 2007-10-12  Bruno Haible  <bruno@clisp.org>
48139
48140         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
48141         of 2.
48142         * tests/test-truncf2.c: New file.
48143         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
48144
48145         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
48146         * modules/truncf-tests: Update.
48147
48148 2007-10-11  Eric Blake  <ebb9@byu.net>
48149
48150         Don't claim strerror is broken on Interix.
48151         * doc/functions/strerror.texi (strerror): Known broken systems are
48152         now Solaris 8, and not Interix.
48153         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
48154         Interix on cross-compile.
48155         Reported by Martin Koeppe in
48156         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
48157
48158 2007-10-11  Bruno Haible  <bruno@clisp.org>
48159
48160         * modules/i-ring-tests: New file.
48161         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
48162         instead of assert.
48163
48164 2007-10-11  Bruno Haible  <bruno@clisp.org>
48165
48166         * modules/filenamecat-tests: New file.
48167         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
48168         * lib/filenamecat.c: Remove test code.
48169
48170 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48171
48172         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
48173
48174         * lib/strerror.c: Include <string.h> always, to test interface,
48175         and to remove the need for the dummy.
48176         Include intprops.h to compute width instead of doing it ourselves
48177         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
48178         (strerror): Define it to return NULL if there's no system strerror.
48179         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
48180         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
48181         ancient pre-strerror Unix systems well any more.  Saying "unknown
48182         system error" is enough.
48183         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
48184         simpler strerror.c implementation.
48185         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
48186         Simplify the tests to reflect the simpler strerror implementation.
48187         * modules/strerror (Depends-on): Add intprops.
48188
48189 2007-10-09  Eric Blake  <ebb9@byu.net>
48190
48191         Silence test-fpending.
48192         * modules/fpending-tests (Files): Add wrapper script.
48193         * tests/test-fpending.sh: New file.
48194
48195 2007-10-09  Bruno Haible  <bruno@clisp.org>
48196
48197         * MODULES.html.sh (func_module): Don't create a hyperlink for
48198         function names like 'printf_frexp'.
48199         (Misc): Add crc, memxor.
48200         (Characteristics of floating types): New section.
48201         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
48202         isnanf-nolibm, signbit, trunc, truncf, truncl.
48203         (Enhancements for ISO C 99 functions): New subsection Input/output.
48204         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
48205         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
48206         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
48207         (Compatibility checks for POSIX:2001 functions): Add clock-time.
48208         (Enhancements for POSIX:2001 functions): Add chdir-long.
48209         (File system functions): Add areadlink, chdir-safer, read-file.
48210         Remove cycle-check.
48211         (File system as inode set): New section.
48212         (Date and time): Add gethrxtime.
48213         (Multithreading): Add openmp.
48214         (Internationalization functions): Add localename.
48215         (Unicode string functions): Add unistr/u*-mbsnlen.
48216         (Support for maintaining and releasing projects): Add git-version-gen.
48217         (Lone files): Remove directories.
48218
48219 2007-10-08  Ben Pfaff  <blp@gnu.org>
48220
48221         * lib/xmalloca.h: Fix typo in comment.
48222
48223 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48224
48225         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
48226         when avoiding problems with integer overflow.  Use a portable test
48227         instead.
48228
48229 2007-10-08  Simon Josefsson  <simon@josefsson.org>
48230
48231         * modules/dummy (License): Change to LGPLv2+.
48232         * modules/float (License): Likewise
48233         * modules/realloc (License): Likewise
48234         * modules/stdlib (License): Likewise
48235
48236 2007-10-07  Bruno Haible  <bruno@clisp.org>
48237
48238         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
48239         * floor.c (TWO_MANT_DIG): Likewise.
48240         * ceil.c (TWO_MANT_DIG): Likewise.
48241         Reported by Ben Pfaff.
48242
48243 2007-10-07  Bruno Haible  <bruno@clisp.org>
48244
48245         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
48246         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
48247         * lib/frexp.c (FUNC): Likewise.
48248         * lib/printf-frexp.h (printf_frexp): Likewise.
48249         * lib/printf-frexpl.h (printf_frexpl): Likewise.
48250         * lib/printf-frexp.c (FUNC): Likewise.
48251         Suggested by Jim Meyering.
48252
48253 2007-10-07  Jim Meyering  <meyering@redhat.com>
48254
48255         Make xnanosleep's integer overflow test more robust.
48256         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
48257         so that gcc-4.3.0 doesn't optimize away this test for overflow.
48258
48259 2007-10-07  Bruno Haible  <bruno@clisp.org>
48260
48261         * NEWS: Mention the license change.
48262
48263         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
48264         abbreviations in the modules files.
48265
48266         Change copyright notice from GPLv2+ to GPLv3+.
48267         * README: Change copyright notice.
48268         * MODULES.html.sh: Likewise.
48269         * build-aux/bootstrap.conf: Likewise.
48270         * build-aux/config.libpath: Likewise.
48271         * build-aux/csharpcomp.sh.in: Likewise.
48272         * build-aux/csharpexec.sh.in: Likewise.
48273         * build-aux/install-reloc: Likewise.
48274         * build-aux/javacomp.sh.in: Likewise.
48275         * build-aux/javaexec.sh.in: Likewise.
48276         * build-aux/ldd.sh.in: Likewise.
48277         * build-aux/reloc-ldflags: Likewise.
48278         * build-aux/relocatable.sh.in: Likewise.
48279         * build-aux/x-to-1.in: Likewise.
48280         * check-module: Likewise.
48281         * config/srclistvars.sh: Likewise.
48282         * gnulib-tool: Likewise.
48283         * lib/acl-internal.h: Likewise.
48284         * lib/acl.c: Likewise.
48285         * lib/acl.h: Likewise.
48286         * lib/acl_entries.c: Likewise.
48287         * lib/areadlink-with-size.c: Likewise.
48288         * lib/areadlink.c: Likewise.
48289         * lib/areadlink.h: Likewise.
48290         * lib/argmatch.c: Likewise.
48291         * lib/argmatch.h: Likewise.
48292         * lib/argp-ba.c: Likewise.
48293         * lib/argp-eexst.c: Likewise.
48294         * lib/argp-fmtstream.c: Likewise.
48295         * lib/argp-fmtstream.h: Likewise.
48296         * lib/argp-fs-xinl.c: Likewise.
48297         * lib/argp-help.c: Likewise.
48298         * lib/argp-namefrob.h: Likewise.
48299         * lib/argp-parse.c: Likewise.
48300         * lib/argp-pin.c: Likewise.
48301         * lib/argp-pv.c: Likewise.
48302         * lib/argp-pvh.c: Likewise.
48303         * lib/argp-xinl.c: Likewise.
48304         * lib/argp.h: Likewise.
48305         * lib/at-func.c: Likewise.
48306         * lib/atanl.c: Likewise.
48307         * lib/backupfile.c: Likewise.
48308         * lib/backupfile.h: Likewise.
48309         * lib/basename.c: Likewise.
48310         * lib/binary-io.h: Likewise.
48311         * lib/byteswap.in.h: Likewise.
48312         * lib/c-stack.c: Likewise.
48313         * lib/c-stack.h: Likewise.
48314         * lib/c-strcasestr.c: Likewise.
48315         * lib/c-strcasestr.h: Likewise.
48316         * lib/c-strstr.c: Likewise.
48317         * lib/c-strstr.h: Likewise.
48318         * lib/c-strtod.c: Likewise.
48319         * lib/calloc.c: Likewise.
48320         * lib/canon-host.c: Likewise.
48321         * lib/canon-host.h: Likewise.
48322         * lib/canonicalize-lgpl.c: Likewise.
48323         * lib/canonicalize.c: Likewise.
48324         * lib/canonicalize.h: Likewise.
48325         * lib/ceil.c: Likewise.
48326         * lib/ceilf.c: Likewise.
48327         * lib/ceill.c: Likewise.
48328         * lib/chdir-long.c: Likewise.
48329         * lib/chdir-long.h: Likewise.
48330         * lib/chdir-safer.c: Likewise.
48331         * lib/chdir-safer.h: Likewise.
48332         * lib/chown.c: Likewise.
48333         * lib/classpath.c: Likewise.
48334         * lib/classpath.h: Likewise.
48335         * lib/clean-temp.c: Likewise.
48336         * lib/clean-temp.h: Likewise.
48337         * lib/cloexec.c: Likewise.
48338         * lib/close-stream.c: Likewise.
48339         * lib/closein.c: Likewise.
48340         * lib/closein.h: Likewise.
48341         * lib/closeout.c: Likewise.
48342         * lib/closeout.h: Likewise.
48343         * lib/concat-filename.c: Likewise.
48344         * lib/copy-file.c: Likewise.
48345         * lib/copy-file.h: Likewise.
48346         * lib/count-one-bits.h: Likewise.
48347         * lib/crc.c: Likewise.
48348         * lib/crc.h: Likewise.
48349         * lib/creat-safer.c: Likewise.
48350         * lib/csharpcomp.c: Likewise.
48351         * lib/csharpcomp.h: Likewise.
48352         * lib/csharpexec.c: Likewise.
48353         * lib/csharpexec.h: Likewise.
48354         * lib/cycle-check.c: Likewise.
48355         * lib/cycle-check.h: Likewise.
48356         * lib/diacrit.c: Likewise.
48357         * lib/diacrit.h: Likewise.
48358         * lib/diffseq.h: Likewise.
48359         * lib/dirchownmod.c: Likewise.
48360         * lib/dirent.in.h: Likewise.
48361         * lib/dirfd.c: Likewise.
48362         * lib/dirfd.h: Likewise.
48363         * lib/dirname.c: Likewise.
48364         * lib/dirname.h: Likewise.
48365         * lib/dummy.c: Likewise.
48366         * lib/dup-safer.c: Likewise.
48367         * lib/dup2.c: Likewise.
48368         * lib/eealloc.h: Likewise.
48369         * lib/error.c: Likewise.
48370         * lib/error.h: Likewise.
48371         * lib/euidaccess.c: Likewise.
48372         * lib/exclude.c: Likewise.
48373         * lib/exclude.h: Likewise.
48374         * lib/execute.c: Likewise.
48375         * lib/execute.h: Likewise.
48376         * lib/exitfail.c: Likewise.
48377         * lib/exitfail.h: Likewise.
48378         * lib/expl.c: Likewise.
48379         * lib/fatal-signal.c: Likewise.
48380         * lib/fatal-signal.h: Likewise.
48381         * lib/fbufmode.c: Likewise.
48382         * lib/fbufmode.h: Likewise.
48383         * lib/fchdir.c: Likewise.
48384         * lib/fchmodat.c: Likewise.
48385         * lib/fchownat.c: Likewise.
48386         * lib/fcntl--.h: Likewise.
48387         * lib/fcntl-safer.h: Likewise.
48388         * lib/fcntl.in.h: Likewise.
48389         * lib/fd-safer.c: Likewise.
48390         * lib/fflush.c: Likewise.
48391         * lib/file-has-acl.c: Likewise.
48392         * lib/file-set.c: Likewise.
48393         * lib/file-type.c: Likewise.
48394         * lib/file-type.h: Likewise.
48395         * lib/fileblocks.c: Likewise.
48396         * lib/filemode.c: Likewise.
48397         * lib/filemode.h: Likewise.
48398         * lib/filename.h: Likewise.
48399         * lib/filenamecat.c: Likewise.
48400         * lib/filenamecat.h: Likewise.
48401         * lib/findprog.c: Likewise.
48402         * lib/findprog.h: Likewise.
48403         * lib/float.in.h: Likewise.
48404         * lib/floor.c: Likewise.
48405         * lib/floorf.c: Likewise.
48406         * lib/floorl.c: Likewise.
48407         * lib/fopen-safer.c: Likewise.
48408         * lib/fopen.c: Likewise.
48409         * lib/fpending.c: Likewise.
48410         * lib/fpending.h: Likewise.
48411         * lib/fprintf.c: Likewise.
48412         * lib/fprintftime.h: Likewise.
48413         * lib/fpucw.h: Likewise.
48414         * lib/fpurge.c: Likewise.
48415         * lib/fpurge.h: Likewise.
48416         * lib/freadable.c: Likewise.
48417         * lib/freadable.h: Likewise.
48418         * lib/freadahead.c: Likewise.
48419         * lib/freadahead.h: Likewise.
48420         * lib/freading.c: Likewise.
48421         * lib/freading.h: Likewise.
48422         * lib/free.c: Likewise.
48423         * lib/freopen.c: Likewise.
48424         * lib/frexp.c: Likewise.
48425         * lib/frexpl.c: Likewise.
48426         * lib/fseek.c: Likewise.
48427         * lib/fseterr.c: Likewise.
48428         * lib/fseterr.h: Likewise.
48429         * lib/fstatat.c: Likewise.
48430         * lib/fstrcmp.c: Likewise.
48431         * lib/fstrcmp.h: Likewise.
48432         * lib/fsusage.c: Likewise.
48433         * lib/fsusage.h: Likewise.
48434         * lib/ftell.c: Likewise.
48435         * lib/ftello.c: Likewise.
48436         * lib/fts-cycle.c: Likewise.
48437         * lib/fts.c: Likewise.
48438         * lib/fts_.h: Likewise.
48439         * lib/full-read.c: Likewise.
48440         * lib/full-read.h: Likewise.
48441         * lib/full-write.c: Likewise.
48442         * lib/full-write.h: Likewise.
48443         * lib/fwritable.c: Likewise.
48444         * lib/fwritable.h: Likewise.
48445         * lib/fwriteerror.c: Likewise.
48446         * lib/fwriteerror.h: Likewise.
48447         * lib/fwriting.c: Likewise.
48448         * lib/fwriting.h: Likewise.
48449         * lib/gcd.c: Likewise.
48450         * lib/gcd.h: Likewise.
48451         * lib/getcwd.c: Likewise.
48452         * lib/getdate.h: Likewise.
48453         * lib/getdate.y: Likewise.
48454         * lib/getdomainname.c: Likewise.
48455         * lib/getdomainname.h: Likewise.
48456         * lib/getgroups.c: Likewise.
48457         * lib/gethostname.c: Likewise.
48458         * lib/gethrxtime.c: Likewise.
48459         * lib/gethrxtime.h: Likewise.
48460         * lib/getloadavg.c: Likewise.
48461         * lib/getndelim2.c: Likewise.
48462         * lib/getndelim2.h: Likewise.
48463         * lib/getnline.c: Likewise.
48464         * lib/getnline.h: Likewise.
48465         * lib/getopt.c: Likewise.
48466         * lib/getopt.in.h: Likewise.
48467         * lib/getopt1.c: Likewise.
48468         * lib/getopt_int.h: Likewise.
48469         * lib/getpagesize.h: Likewise.
48470         * lib/getsubopt.c: Likewise.
48471         * lib/gettime.c: Likewise.
48472         * lib/getugroups.c: Likewise.
48473         * lib/getugroups.h: Likewise.
48474         * lib/getusershell.c: Likewise.
48475         * lib/gl_anyavltree_list1.h: Likewise.
48476         * lib/gl_anyavltree_list2.h: Likewise.
48477         * lib/gl_anyhash_list1.h: Likewise.
48478         * lib/gl_anyhash_list2.h: Likewise.
48479         * lib/gl_anylinked_list1.h: Likewise.
48480         * lib/gl_anylinked_list2.h: Likewise.
48481         * lib/gl_anyrbtree_list1.h: Likewise.
48482         * lib/gl_anyrbtree_list2.h: Likewise.
48483         * lib/gl_anytree_list1.h: Likewise.
48484         * lib/gl_anytree_list2.h: Likewise.
48485         * lib/gl_anytree_oset.h: Likewise.
48486         * lib/gl_anytreehash_list1.h: Likewise.
48487         * lib/gl_anytreehash_list2.h: Likewise.
48488         * lib/gl_array_list.c: Likewise.
48489         * lib/gl_array_list.h: Likewise.
48490         * lib/gl_array_oset.c: Likewise.
48491         * lib/gl_array_oset.h: Likewise.
48492         * lib/gl_avltree_list.c: Likewise.
48493         * lib/gl_avltree_list.h: Likewise.
48494         * lib/gl_avltree_oset.c: Likewise.
48495         * lib/gl_avltree_oset.h: Likewise.
48496         * lib/gl_avltreehash_list.c: Likewise.
48497         * lib/gl_avltreehash_list.h: Likewise.
48498         * lib/gl_carray_list.c: Likewise.
48499         * lib/gl_carray_list.h: Likewise.
48500         * lib/gl_linked_list.c: Likewise.
48501         * lib/gl_linked_list.h: Likewise.
48502         * lib/gl_linkedhash_list.c: Likewise.
48503         * lib/gl_linkedhash_list.h: Likewise.
48504         * lib/gl_list.c: Likewise.
48505         * lib/gl_list.h: Likewise.
48506         * lib/gl_oset.c: Likewise.
48507         * lib/gl_oset.h: Likewise.
48508         * lib/gl_rbtree_list.c: Likewise.
48509         * lib/gl_rbtree_list.h: Likewise.
48510         * lib/gl_rbtree_oset.c: Likewise.
48511         * lib/gl_rbtree_oset.h: Likewise.
48512         * lib/gl_rbtreehash_list.c: Likewise.
48513         * lib/gl_rbtreehash_list.h: Likewise.
48514         * lib/gl_sublist.c: Likewise.
48515         * lib/gl_sublist.h: Likewise.
48516         * lib/group-member.c: Likewise.
48517         * lib/group-member.h: Likewise.
48518         * lib/hard-locale.c: Likewise.
48519         * lib/hard-locale.h: Likewise.
48520         * lib/hash-pjw.c: Likewise.
48521         * lib/hash-pjw.h: Likewise.
48522         * lib/hash-triple.c: Likewise.
48523         * lib/hash.c: Likewise.
48524         * lib/hash.h: Likewise.
48525         * lib/human.c: Likewise.
48526         * lib/human.h: Likewise.
48527         * lib/i-ring.c: Likewise.
48528         * lib/i-ring.h: Likewise.
48529         * lib/idcache.c: Likewise.
48530         * lib/imaxabs.c: Likewise.
48531         * lib/imaxdiv.c: Likewise.
48532         * lib/inet_pton.c: Likewise.
48533         * lib/inet_pton.h: Likewise.
48534         * lib/intprops.h: Likewise.
48535         * lib/inttostr.c: Likewise.
48536         * lib/inttostr.h: Likewise.
48537         * lib/inttypes.in.h: Likewise.
48538         * lib/isapipe.c: Likewise.
48539         * lib/isdir.c: Likewise.
48540         * lib/isnan.c: Likewise.
48541         * lib/isnan.h: Likewise.
48542         * lib/isnanf.c: Likewise.
48543         * lib/isnanf.h: Likewise.
48544         * lib/isnanl-nolibm.h: Likewise.
48545         * lib/isnanl.c: Likewise.
48546         * lib/isnanl.h: Likewise.
48547         * lib/javacomp.c: Likewise.
48548         * lib/javacomp.h: Likewise.
48549         * lib/javaexec.c: Likewise.
48550         * lib/javaexec.h: Likewise.
48551         * lib/javaversion.c: Likewise.
48552         * lib/javaversion.h: Likewise.
48553         * lib/javaversion.java: Likewise.
48554         * lib/lbrkprop.h: Likewise.
48555         * lib/lchmod.h: Likewise.
48556         * lib/lchown.c: Likewise.
48557         * lib/ldexpl.c: Likewise.
48558         * lib/linebreak.c: Likewise.
48559         * lib/linebreak.h: Likewise.
48560         * lib/linebuffer.c: Likewise.
48561         * lib/linebuffer.h: Likewise.
48562         * lib/locale.in.h: Likewise.
48563         * lib/logl.c: Likewise.
48564         * lib/long-options.c: Likewise.
48565         * lib/long-options.h: Likewise.
48566         * lib/lstat.c: Likewise.
48567         * lib/lstat.h: Likewise.
48568         * lib/math.in.h: Likewise.
48569         * lib/mbchar.c: Likewise.
48570         * lib/mbchar.h: Likewise.
48571         * lib/mbfile.h: Likewise.
48572         * lib/mbiter.h: Likewise.
48573         * lib/mbscasecmp.c: Likewise.
48574         * lib/mbscasestr.c: Likewise.
48575         * lib/mbschr.c: Likewise.
48576         * lib/mbscspn.c: Likewise.
48577         * lib/mbslen.c: Likewise.
48578         * lib/mbsncasecmp.c: Likewise.
48579         * lib/mbsnlen.c: Likewise.
48580         * lib/mbspbrk.c: Likewise.
48581         * lib/mbspcasecmp.c: Likewise.
48582         * lib/mbsrchr.c: Likewise.
48583         * lib/mbssep.c: Likewise.
48584         * lib/mbsspn.c: Likewise.
48585         * lib/mbsstr.c: Likewise.
48586         * lib/mbstok_r.c: Likewise.
48587         * lib/mbswidth.c: Likewise.
48588         * lib/mbswidth.h: Likewise.
48589         * lib/mbuiter.h: Likewise.
48590         * lib/memcasecmp.c: Likewise.
48591         * lib/memcasecmp.h: Likewise.
48592         * lib/memchr.c: Likewise.
48593         * lib/memcmp.c: Likewise.
48594         * lib/memcoll.c: Likewise.
48595         * lib/memcoll.h: Likewise.
48596         * lib/memcpy.c: Likewise.
48597         * lib/memrchr.c: Likewise.
48598         * lib/mkancesdirs.c: Likewise.
48599         * lib/mkdir-p.c: Likewise.
48600         * lib/mkdir-p.h: Likewise.
48601         * lib/mkdir.c: Likewise.
48602         * lib/mkdirat.c: Likewise.
48603         * lib/mkdtemp.c: Likewise.
48604         * lib/mkstemp-safer.c: Likewise.
48605         * lib/mkstemp.c: Likewise.
48606         * lib/modechange.c: Likewise.
48607         * lib/modechange.h: Likewise.
48608         * lib/mountlist.c: Likewise.
48609         * lib/mountlist.h: Likewise.
48610         * lib/mpsort.c: Likewise.
48611         * lib/nanosleep.c: Likewise.
48612         * lib/obstack.c: Likewise.
48613         * lib/obstack.h: Likewise.
48614         * lib/open-safer.c: Likewise.
48615         * lib/open.c: Likewise.
48616         * lib/openat-die.c: Likewise.
48617         * lib/openat-priv.h: Likewise.
48618         * lib/openat-proc.c: Likewise.
48619         * lib/openat.c: Likewise.
48620         * lib/openat.h: Likewise.
48621         * lib/pagealign_alloc.c: Likewise.
48622         * lib/pagealign_alloc.h: Likewise.
48623         * lib/physmem.c: Likewise.
48624         * lib/physmem.h: Likewise.
48625         * lib/pipe-safer.c: Likewise.
48626         * lib/pipe.c: Likewise.
48627         * lib/pipe.h: Likewise.
48628         * lib/posixtm.c: Likewise.
48629         * lib/posixtm.h: Likewise.
48630         * lib/posixver.c: Likewise.
48631         * lib/printf-frexp.c: Likewise.
48632         * lib/printf-frexp.h: Likewise.
48633         * lib/printf-frexpl.c: Likewise.
48634         * lib/printf-frexpl.h: Likewise.
48635         * lib/printf.c: Likewise.
48636         * lib/progname.c: Likewise.
48637         * lib/progname.h: Likewise.
48638         * lib/progreloc.c: Likewise.
48639         * lib/putenv.c: Likewise.
48640         * lib/quote.c: Likewise.
48641         * lib/quote.h: Likewise.
48642         * lib/quotearg.c: Likewise.
48643         * lib/quotearg.h: Likewise.
48644         * lib/raise.c: Likewise.
48645         * lib/readline.c: Likewise.
48646         * lib/readline.h: Likewise.
48647         * lib/readlink.c: Likewise.
48648         * lib/readtokens.c: Likewise.
48649         * lib/readtokens.h: Likewise.
48650         * lib/readtokens0.c: Likewise.
48651         * lib/readtokens0.h: Likewise.
48652         * lib/readutmp.c: Likewise.
48653         * lib/readutmp.h: Likewise.
48654         * lib/realloc.c: Likewise.
48655         * lib/relocwrapper.c: Likewise.
48656         * lib/rename-dest-slash.c: Likewise.
48657         * lib/rename.c: Likewise.
48658         * lib/rmdir.c: Likewise.
48659         * lib/rpmatch.c: Likewise.
48660         * lib/safe-read.c: Likewise.
48661         * lib/safe-read.h: Likewise.
48662         * lib/safe-write.c: Likewise.
48663         * lib/safe-write.h: Likewise.
48664         * lib/same-inode.h: Likewise.
48665         * lib/same.c: Likewise.
48666         * lib/same.h: Likewise.
48667         * lib/save-cwd.c: Likewise.
48668         * lib/save-cwd.h: Likewise.
48669         * lib/savedir.c: Likewise.
48670         * lib/savedir.h: Likewise.
48671         * lib/savewd.c: Likewise.
48672         * lib/savewd.h: Likewise.
48673         * lib/search.in.h: Likewise.
48674         * lib/setenv.c: Likewise.
48675         * lib/setenv.h: Likewise.
48676         * lib/settime.c: Likewise.
48677         * lib/sh-quote.c: Likewise.
48678         * lib/sh-quote.h: Likewise.
48679         * lib/sig2str.c: Likewise.
48680         * lib/sig2str.h: Likewise.
48681         * lib/signal.in.h: Likewise.
48682         * lib/signbitd.c: Likewise.
48683         * lib/signbitf.c: Likewise.
48684         * lib/signbitl.c: Likewise.
48685         * lib/sigprocmask.c: Likewise.
48686         * lib/sincosl.c: Likewise.
48687         * lib/sleep.c: Likewise.
48688         * lib/sprintf.c: Likewise.
48689         * lib/sqrtl.c: Likewise.
48690         * lib/stat-time.h: Likewise.
48691         * lib/stdio--.h: Likewise.
48692         * lib/stdio-safer.h: Likewise.
48693         * lib/stdlib--.h: Likewise.
48694         * lib/stdlib-safer.h: Likewise.
48695         * lib/stdlib.in.h: Likewise.
48696         * lib/stpcpy.c: Likewise.
48697         * lib/stpncpy.c: Likewise.
48698         * lib/strchrnul.c: Likewise.
48699         * lib/strcspn.c: Likewise.
48700         * lib/strerror.c: Likewise.
48701         * lib/strftime.c: Likewise.
48702         * lib/strftime.h: Likewise.
48703         * lib/striconveh.c: Likewise.
48704         * lib/striconveh.h: Likewise.
48705         * lib/striconveha.c: Likewise.
48706         * lib/striconveha.h: Likewise.
48707         * lib/stripslash.c: Likewise.
48708         * lib/strnlen1.c: Likewise.
48709         * lib/strnlen1.h: Likewise.
48710         * lib/strtod.c: Likewise.
48711         * lib/strtoimax.c: Likewise.
48712         * lib/strtok_r.c: Likewise.
48713         * lib/strtol.c: Likewise.
48714         * lib/strtoll.c: Likewise.
48715         * lib/strtoul.c: Likewise.
48716         * lib/strtoull.c: Likewise.
48717         * lib/sysexits.in.h: Likewise.
48718         * lib/tempname.c: Likewise.
48719         * lib/tempname.h: Likewise.
48720         * lib/timespec.h: Likewise.
48721         * lib/tls.c: Likewise.
48722         * lib/tls.h: Likewise.
48723         * lib/tmpdir.c: Likewise.
48724         * lib/tmpdir.h: Likewise.
48725         * lib/tmpfile-safer.c: Likewise.
48726         * lib/tmpfile.c: Likewise.
48727         * lib/trigl.c: Likewise.
48728         * lib/trigl.h: Likewise.
48729         * lib/trim.c: Likewise.
48730         * lib/trim.h: Likewise.
48731         * lib/trunc.c: Likewise.
48732         * lib/truncf.c: Likewise.
48733         * lib/truncl.c: Likewise.
48734         * lib/tsearch.c: Likewise.
48735         * lib/unicodeio.c: Likewise.
48736         * lib/unicodeio.h: Likewise.
48737         * lib/unistd--.h: Likewise.
48738         * lib/unistd-safer.h: Likewise.
48739         * lib/unistdio/ulc-fprintf.c: Likewise.
48740         * lib/unistdio/ulc-vfprintf.c: Likewise.
48741         * lib/unlinkdir.c: Likewise.
48742         * lib/unlinkdir.h: Likewise.
48743         * lib/unlocked-io.h: Likewise.
48744         * lib/unsetenv.c: Likewise.
48745         * lib/userspec.c: Likewise.
48746         * lib/utime.c: Likewise.
48747         * lib/utimecmp.c: Likewise.
48748         * lib/utimecmp.h: Likewise.
48749         * lib/utimens.c: Likewise.
48750         * lib/verify.h: Likewise.
48751         * lib/verror.c: Likewise.
48752         * lib/verror.h: Likewise.
48753         * lib/version-etc-fsf.c: Likewise.
48754         * lib/version-etc.c: Likewise.
48755         * lib/version-etc.h: Likewise.
48756         * lib/vfprintf.c: Likewise.
48757         * lib/vprintf.c: Likewise.
48758         * lib/vsprintf.c: Likewise.
48759         * lib/w32spawn.h: Likewise.
48760         * lib/wait-process.c: Likewise.
48761         * lib/wait-process.h: Likewise.
48762         * lib/wcwidth.c: Likewise.
48763         * lib/write-any-file.c: Likewise.
48764         * lib/xalloc-die.c: Likewise.
48765         * lib/xalloc.h: Likewise.
48766         * lib/xasprintf.c: Likewise.
48767         * lib/xgetcwd.c: Likewise.
48768         * lib/xgetcwd.h: Likewise.
48769         * lib/xgetdomainname.c: Likewise.
48770         * lib/xgetdomainname.h: Likewise.
48771         * lib/xgethostname.c: Likewise.
48772         * lib/xmalloc.c: Likewise.
48773         * lib/xmalloca.c: Likewise.
48774         * lib/xmalloca.h: Likewise.
48775         * lib/xmemcoll.c: Likewise.
48776         * lib/xnanosleep.c: Likewise.
48777         * lib/xreadlink.c: Likewise.
48778         * lib/xreadlink.h: Likewise.
48779         * lib/xsetenv.c: Likewise.
48780         * lib/xsetenv.h: Likewise.
48781         * lib/xstriconv.c: Likewise.
48782         * lib/xstriconv.h: Likewise.
48783         * lib/xstrndup.c: Likewise.
48784         * lib/xstrndup.h: Likewise.
48785         * lib/xstrtod.c: Likewise.
48786         * lib/xstrtod.h: Likewise.
48787         * lib/xstrtol-error.c: Likewise.
48788         * lib/xstrtol.c: Likewise.
48789         * lib/xstrtol.h: Likewise.
48790         * lib/xtime.h: Likewise.
48791         * lib/xvasprintf.c: Likewise.
48792         * lib/xvasprintf.h: Likewise.
48793         * lib/yesno.c: Likewise.
48794         * lib/yesno.h: Likewise.
48795         * posix-modules: Likewise.
48796         * tests/test-alloca-opt.c: Likewise.
48797         * tests/test-arcfour.c: Likewise.
48798         * tests/test-arctwo.c: Likewise.
48799         * tests/test-argmatch.c: Likewise.
48800         * tests/test-argp-2.sh: Likewise.
48801         * tests/test-argp.c: Likewise.
48802         * tests/test-arpa_inet.c: Likewise.
48803         * tests/test-array_list.c: Likewise.
48804         * tests/test-array_oset.c: Likewise.
48805         * tests/test-atexit.c: Likewise.
48806         * tests/test-avltree_list.c: Likewise.
48807         * tests/test-avltree_oset.c: Likewise.
48808         * tests/test-avltreehash_list.c: Likewise.
48809         * tests/test-base64.c: Likewise.
48810         * tests/test-binary-io.c: Likewise.
48811         * tests/test-byteswap.c: Likewise.
48812         * tests/test-c-ctype.c: Likewise.
48813         * tests/test-c-strcasecmp.c: Likewise.
48814         * tests/test-c-strcasestr.c: Likewise.
48815         * tests/test-c-strncasecmp.c: Likewise.
48816         * tests/test-c-strstr.c: Likewise.
48817         * tests/test-canonicalize-lgpl.c: Likewise.
48818         * tests/test-canonicalize.c: Likewise.
48819         * tests/test-carray_list.c: Likewise.
48820         * tests/test-ceilf.c: Likewise.
48821         * tests/test-ceill.c: Likewise.
48822         * tests/test-count-one-bits.c: Likewise.
48823         * tests/test-crc.c: Likewise.
48824         * tests/test-dirname.c: Likewise.
48825         * tests/test-fbufmode.c: Likewise.
48826         * tests/test-fcntl.c: Likewise.
48827         * tests/test-fflush.c: Likewise.
48828         * tests/test-floorf.c: Likewise.
48829         * tests/test-floorl.c: Likewise.
48830         * tests/test-fopen.c: Likewise.
48831         * tests/test-fprintf-posix.c: Likewise.
48832         * tests/test-fprintf-posix.h: Likewise.
48833         * tests/test-fpurge.c: Likewise.
48834         * tests/test-freadable.c: Likewise.
48835         * tests/test-freadahead.c: Likewise.
48836         * tests/test-freading.c: Likewise.
48837         * tests/test-freopen.c: Likewise.
48838         * tests/test-frexp.c: Likewise.
48839         * tests/test-frexpl.c: Likewise.
48840         * tests/test-fseek.c: Likewise.
48841         * tests/test-fseeko.c: Likewise.
48842         * tests/test-fseterr.c: Likewise.
48843         * tests/test-fstrcmp.c: Likewise.
48844         * tests/test-ftell.c: Likewise.
48845         * tests/test-ftello.c: Likewise.
48846         * tests/test-fwritable.c: Likewise.
48847         * tests/test-fwriting.c: Likewise.
48848         * tests/test-getaddrinfo.c: Likewise.
48849         * tests/test-getpass.c: Likewise.
48850         * tests/test-gettimeofday.c: Likewise.
48851         * tests/test-hmac-md5.c: Likewise.
48852         * tests/test-hmac-sha1.c: Likewise.
48853         * tests/test-iconv.c: Likewise.
48854         * tests/test-iconvme.c: Likewise.
48855         * tests/test-inttypes.c: Likewise.
48856         * tests/test-isnan.c: Likewise.
48857         * tests/test-isnanf.c: Likewise.
48858         * tests/test-isnanl-nolibm.c: Likewise.
48859         * tests/test-isnanl.c: Likewise.
48860         * tests/test-isnanl.h: Likewise.
48861         * tests/test-ldexpl.c: Likewise.
48862         * tests/test-linked_list.c: Likewise.
48863         * tests/test-linkedhash_list.c: Likewise.
48864         * tests/test-locale.c: Likewise.
48865         * tests/test-localename.c: Likewise.
48866         * tests/test-lock.c: Likewise.
48867         * tests/test-lseek.c: Likewise.
48868         * tests/test-malloca.c: Likewise.
48869         * tests/test-math.c: Likewise.
48870         * tests/test-mbscasecmp.c: Likewise.
48871         * tests/test-mbscasestr1.c: Likewise.
48872         * tests/test-mbscasestr2.c: Likewise.
48873         * tests/test-mbscasestr3.c: Likewise.
48874         * tests/test-mbscasestr4.c: Likewise.
48875         * tests/test-mbschr.c: Likewise.
48876         * tests/test-mbscspn.c: Likewise.
48877         * tests/test-mbsncasecmp.c: Likewise.
48878         * tests/test-mbspbrk.c: Likewise.
48879         * tests/test-mbspcasecmp.c: Likewise.
48880         * tests/test-mbsrchr.c: Likewise.
48881         * tests/test-mbsspn.c: Likewise.
48882         * tests/test-mbsstr1.c: Likewise.
48883         * tests/test-mbsstr2.c: Likewise.
48884         * tests/test-mbsstr3.c: Likewise.
48885         * tests/test-md5.c: Likewise.
48886         * tests/test-memmem.c: Likewise.
48887         * tests/test-netinet_in.c: Likewise.
48888         * tests/test-open.c: Likewise.
48889         * tests/test-printf-frexp.c: Likewise.
48890         * tests/test-printf-frexpl.c: Likewise.
48891         * tests/test-printf-posix.c: Likewise.
48892         * tests/test-printf-posix.h: Likewise.
48893         * tests/test-rbtree_list.c: Likewise.
48894         * tests/test-rbtree_oset.c: Likewise.
48895         * tests/test-rbtreehash_list.c: Likewise.
48896         * tests/test-read-file.c: Likewise.
48897         * tests/test-rijndael.c: Likewise.
48898         * tests/test-search.c: Likewise.
48899         * tests/test-signbit.c: Likewise.
48900         * tests/test-sleep.c: Likewise.
48901         * tests/test-snprintf-posix.c: Likewise.
48902         * tests/test-snprintf-posix.h: Likewise.
48903         * tests/test-snprintf.c: Likewise.
48904         * tests/test-sprintf-posix.c: Likewise.
48905         * tests/test-sprintf-posix.h: Likewise.
48906         * tests/test-stat-time.c: Likewise.
48907         * tests/test-stdbool.c: Likewise.
48908         * tests/test-stdint.c: Likewise.
48909         * tests/test-stdio.c: Likewise.
48910         * tests/test-stdlib.c: Likewise.
48911         * tests/test-stpncpy.c: Likewise.
48912         * tests/test-strcasestr.c: Likewise.
48913         * tests/test-striconv.c: Likewise.
48914         * tests/test-striconveh.c: Likewise.
48915         * tests/test-striconveha.c: Likewise.
48916         * tests/test-string.c: Likewise.
48917         * tests/test-sys_select.c: Likewise.
48918         * tests/test-sys_socket.c: Likewise.
48919         * tests/test-sys_stat.c: Likewise.
48920         * tests/test-sys_time.c: Likewise.
48921         * tests/test-sysexits.c: Likewise.
48922         * tests/test-time.c: Likewise.
48923         * tests/test-tls.c: Likewise.
48924         * tests/test-trunc.c: Likewise.
48925         * tests/test-truncf.c: Likewise.
48926         * tests/test-truncl.c: Likewise.
48927         * tests/test-unistd.c: Likewise.
48928         * tests/test-vasnprintf-posix.c: Likewise.
48929         * tests/test-vasnprintf-posix2.c: Likewise.
48930         * tests/test-vasnprintf.c: Likewise.
48931         * tests/test-vasprintf-posix.c: Likewise.
48932         * tests/test-vasprintf.c: Likewise.
48933         * tests/test-verify.c: Likewise.
48934         * tests/test-vfprintf-posix.c: Likewise.
48935         * tests/test-vprintf-posix.c: Likewise.
48936         * tests/test-vsnprintf-posix.c: Likewise.
48937         * tests/test-vsnprintf.c: Likewise.
48938         * tests/test-vsprintf-posix.c: Likewise.
48939         * tests/test-wchar.c: Likewise.
48940         * tests/test-wctype.c: Likewise.
48941         * tests/test-wcwidth.c: Likewise.
48942         * tests/test-xstrtol.c: Likewise.
48943         * tests/test-xvasprintf.c: Likewise.
48944         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
48945         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
48946         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48947         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48948         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48949         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
48950         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48951         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48952         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48953         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
48954         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48955         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48956         * tests/uniname/test-uninames.c: Likewise.
48957         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
48958         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
48959         * tests/unistdio/test-u16-printf1.h: Likewise.
48960         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
48961         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
48962         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
48963         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
48964         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
48965         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
48966         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
48967         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
48968         * tests/unistdio/test-u32-printf1.h: Likewise.
48969         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
48970         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
48971         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
48972         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
48973         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
48974         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
48975         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
48976         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
48977         * tests/unistdio/test-u8-printf1.h: Likewise.
48978         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
48979         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
48980         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
48981         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
48982         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
48983         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
48984         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
48985         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
48986         * tests/unistdio/test-ulc-printf1.h: Likewise.
48987         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
48988         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
48989         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
48990         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
48991         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
48992         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
48993         * tests/uniwidth/test-u16-strwidth.c: Likewise.
48994         * tests/uniwidth/test-u16-width.c: Likewise.
48995         * tests/uniwidth/test-u32-strwidth.c: Likewise.
48996         * tests/uniwidth/test-u32-width.c: Likewise.
48997         * tests/uniwidth/test-u8-strwidth.c: Likewise.
48998         * tests/uniwidth/test-u8-width.c: Likewise.
48999         * tests/uniwidth/test-uc_width.c: Likewise.
49000         * config/srclist-update: Likewise.
49001         (fixlicense): Update to GPLv3+.
49002
49003         Change copyright notice from LGPLv2.1+ to LGPLv3+.
49004         * tests/test-tsearch.c: Change copyright notice.
49005
49006         Change copyright notice from LGPLv2.0+ to LGPLv3+.
49007         * lib/c-strcaseeq.h: Change copyright notice.
49008         * lib/streq.h: Likewise.
49009         * lib/uniconv.h: Likewise.
49010         * lib/uniconv/u-conv-from-enc.h: Likewise.
49011         * lib/uniconv/u-conv-to-enc.h: Likewise.
49012         * lib/uniconv/u-strconv-from-enc.h: Likewise.
49013         * lib/uniconv/u-strconv-to-enc.h: Likewise.
49014         * lib/uniconv/u16-conv-from-enc.c: Likewise.
49015         * lib/uniconv/u16-conv-to-enc.c: Likewise.
49016         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
49017         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
49018         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
49019         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
49020         * lib/uniconv/u32-conv-from-enc.c: Likewise.
49021         * lib/uniconv/u32-conv-to-enc.c: Likewise.
49022         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
49023         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
49024         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
49025         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
49026         * lib/uniconv/u8-conv-from-enc.c: Likewise.
49027         * lib/uniconv/u8-conv-to-enc.c: Likewise.
49028         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
49029         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
49030         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
49031         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
49032         * lib/uniname.h: Likewise.
49033         * lib/uniname/uniname.c: Likewise.
49034         * lib/unistdio.h: Likewise.
49035         * lib/unistdio/u-asnprintf.h: Likewise.
49036         * lib/unistdio/u-asprintf.h: Likewise.
49037         * lib/unistdio/u-printf-args.c: Likewise.
49038         * lib/unistdio/u-printf-args.h: Likewise.
49039         * lib/unistdio/u-printf-parse.h: Likewise.
49040         * lib/unistdio/u-snprintf.h: Likewise.
49041         * lib/unistdio/u-sprintf.h: Likewise.
49042         * lib/unistdio/u-vasprintf.h: Likewise.
49043         * lib/unistdio/u-vsnprintf.h: Likewise.
49044         * lib/unistdio/u-vsprintf.h: Likewise.
49045         * lib/unistdio/u16-asnprintf.c: Likewise.
49046         * lib/unistdio/u16-asprintf.c: Likewise.
49047         * lib/unistdio/u16-printf-parse.c: Likewise.
49048         * lib/unistdio/u16-snprintf.c: Likewise.
49049         * lib/unistdio/u16-sprintf.c: Likewise.
49050         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
49051         * lib/unistdio/u16-u16-asprintf.c: Likewise.
49052         * lib/unistdio/u16-u16-snprintf.c: Likewise.
49053         * lib/unistdio/u16-u16-sprintf.c: Likewise.
49054         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
49055         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
49056         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
49057         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
49058         * lib/unistdio/u16-vasnprintf.c: Likewise.
49059         * lib/unistdio/u16-vasprintf.c: Likewise.
49060         * lib/unistdio/u16-vsnprintf.c: Likewise.
49061         * lib/unistdio/u16-vsprintf.c: Likewise.
49062         * lib/unistdio/u32-asnprintf.c: Likewise.
49063         * lib/unistdio/u32-asprintf.c: Likewise.
49064         * lib/unistdio/u32-printf-parse.c: Likewise.
49065         * lib/unistdio/u32-snprintf.c: Likewise.
49066         * lib/unistdio/u32-sprintf.c: Likewise.
49067         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
49068         * lib/unistdio/u32-u32-asprintf.c: Likewise.
49069         * lib/unistdio/u32-u32-snprintf.c: Likewise.
49070         * lib/unistdio/u32-u32-sprintf.c: Likewise.
49071         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
49072         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
49073         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
49074         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
49075         * lib/unistdio/u32-vasnprintf.c: Likewise.
49076         * lib/unistdio/u32-vasprintf.c: Likewise.
49077         * lib/unistdio/u32-vsnprintf.c: Likewise.
49078         * lib/unistdio/u32-vsprintf.c: Likewise.
49079         * lib/unistdio/u8-asnprintf.c: Likewise.
49080         * lib/unistdio/u8-asprintf.c: Likewise.
49081         * lib/unistdio/u8-printf-parse.c: Likewise.
49082         * lib/unistdio/u8-snprintf.c: Likewise.
49083         * lib/unistdio/u8-sprintf.c: Likewise.
49084         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
49085         * lib/unistdio/u8-u8-asprintf.c: Likewise.
49086         * lib/unistdio/u8-u8-snprintf.c: Likewise.
49087         * lib/unistdio/u8-u8-sprintf.c: Likewise.
49088         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
49089         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
49090         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
49091         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
49092         * lib/unistdio/u8-vasnprintf.c: Likewise.
49093         * lib/unistdio/u8-vasprintf.c: Likewise.
49094         * lib/unistdio/u8-vsnprintf.c: Likewise.
49095         * lib/unistdio/u8-vsprintf.c: Likewise.
49096         * lib/unistdio/ulc-asnprintf.c: Likewise.
49097         * lib/unistdio/ulc-asprintf.c: Likewise.
49098         * lib/unistdio/ulc-printf-parse.c: Likewise.
49099         * lib/unistdio/ulc-snprintf.c: Likewise.
49100         * lib/unistdio/ulc-sprintf.c: Likewise.
49101         * lib/unistdio/ulc-vasnprintf.c: Likewise.
49102         * lib/unistdio/ulc-vasprintf.c: Likewise.
49103         * lib/unistdio/ulc-vsnprintf.c: Likewise.
49104         * lib/unistdio/ulc-vsprintf.c: Likewise.
49105         * lib/unistr.h: Likewise.
49106         * lib/unistr/u-cpy-alloc.h: Likewise.
49107         * lib/unistr/u-cpy.h: Likewise.
49108         * lib/unistr/u-endswith.h: Likewise.
49109         * lib/unistr/u-move.h: Likewise.
49110         * lib/unistr/u-set.h: Likewise.
49111         * lib/unistr/u-startswith.h: Likewise.
49112         * lib/unistr/u-stpcpy.h: Likewise.
49113         * lib/unistr/u-stpncpy.h: Likewise.
49114         * lib/unistr/u-strcat.h: Likewise.
49115         * lib/unistr/u-strcpy.h: Likewise.
49116         * lib/unistr/u-strcspn.h: Likewise.
49117         * lib/unistr/u-strdup.h: Likewise.
49118         * lib/unistr/u-strlen.h: Likewise.
49119         * lib/unistr/u-strncat.h: Likewise.
49120         * lib/unistr/u-strncpy.h: Likewise.
49121         * lib/unistr/u-strnlen.h: Likewise.
49122         * lib/unistr/u-strpbrk.h: Likewise.
49123         * lib/unistr/u-strspn.h: Likewise.
49124         * lib/unistr/u-strstr.h: Likewise.
49125         * lib/unistr/u-strtok.h: Likewise.
49126         * lib/unistr/u16-check.c: Likewise.
49127         * lib/unistr/u16-chr.c: Likewise.
49128         * lib/unistr/u16-cmp.c: Likewise.
49129         * lib/unistr/u16-cpy-alloc.c: Likewise.
49130         * lib/unistr/u16-cpy.c: Likewise.
49131         * lib/unistr/u16-endswith.c: Likewise.
49132         * lib/unistr/u16-mblen.c: Likewise.
49133         * lib/unistr/u16-mbsnlen.c: Likewise.
49134         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49135         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49136         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49137         * lib/unistr/u16-mbtouc.c: Likewise.
49138         * lib/unistr/u16-mbtoucr.c: Likewise.
49139         * lib/unistr/u16-move.c: Likewise.
49140         * lib/unistr/u16-next.c: Likewise.
49141         * lib/unistr/u16-prev.c: Likewise.
49142         * lib/unistr/u16-set.c: Likewise.
49143         * lib/unistr/u16-startswith.c: Likewise.
49144         * lib/unistr/u16-stpcpy.c: Likewise.
49145         * lib/unistr/u16-stpncpy.c: Likewise.
49146         * lib/unistr/u16-strcat.c: Likewise.
49147         * lib/unistr/u16-strchr.c: Likewise.
49148         * lib/unistr/u16-strcmp.c: Likewise.
49149         * lib/unistr/u16-strcpy.c: Likewise.
49150         * lib/unistr/u16-strcspn.c: Likewise.
49151         * lib/unistr/u16-strdup.c: Likewise.
49152         * lib/unistr/u16-strlen.c: Likewise.
49153         * lib/unistr/u16-strmblen.c: Likewise.
49154         * lib/unistr/u16-strmbtouc.c: Likewise.
49155         * lib/unistr/u16-strncat.c: Likewise.
49156         * lib/unistr/u16-strncmp.c: Likewise.
49157         * lib/unistr/u16-strncpy.c: Likewise.
49158         * lib/unistr/u16-strnlen.c: Likewise.
49159         * lib/unistr/u16-strpbrk.c: Likewise.
49160         * lib/unistr/u16-strrchr.c: Likewise.
49161         * lib/unistr/u16-strspn.c: Likewise.
49162         * lib/unistr/u16-strstr.c: Likewise.
49163         * lib/unistr/u16-strtok.c: Likewise.
49164         * lib/unistr/u16-to-u32.c: Likewise.
49165         * lib/unistr/u16-to-u8.c: Likewise.
49166         * lib/unistr/u16-uctomb-aux.c: Likewise.
49167         * lib/unistr/u16-uctomb.c: Likewise.
49168         * lib/unistr/u32-check.c: Likewise.
49169         * lib/unistr/u32-chr.c: Likewise.
49170         * lib/unistr/u32-cmp.c: Likewise.
49171         * lib/unistr/u32-cpy-alloc.c: Likewise.
49172         * lib/unistr/u32-cpy.c: Likewise.
49173         * lib/unistr/u32-endswith.c: Likewise.
49174         * lib/unistr/u32-mblen.c: Likewise.
49175         * lib/unistr/u32-mbsnlen.c: Likewise.
49176         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49177         * lib/unistr/u32-mbtouc.c: Likewise.
49178         * lib/unistr/u32-mbtoucr.c: Likewise.
49179         * lib/unistr/u32-move.c: Likewise.
49180         * lib/unistr/u32-next.c: Likewise.
49181         * lib/unistr/u32-prev.c: Likewise.
49182         * lib/unistr/u32-set.c: Likewise.
49183         * lib/unistr/u32-startswith.c: Likewise.
49184         * lib/unistr/u32-stpcpy.c: Likewise.
49185         * lib/unistr/u32-stpncpy.c: Likewise.
49186         * lib/unistr/u32-strcat.c: Likewise.
49187         * lib/unistr/u32-strchr.c: Likewise.
49188         * lib/unistr/u32-strcmp.c: Likewise.
49189         * lib/unistr/u32-strcpy.c: Likewise.
49190         * lib/unistr/u32-strcspn.c: Likewise.
49191         * lib/unistr/u32-strdup.c: Likewise.
49192         * lib/unistr/u32-strlen.c: Likewise.
49193         * lib/unistr/u32-strmblen.c: Likewise.
49194         * lib/unistr/u32-strmbtouc.c: Likewise.
49195         * lib/unistr/u32-strncat.c: Likewise.
49196         * lib/unistr/u32-strncmp.c: Likewise.
49197         * lib/unistr/u32-strncpy.c: Likewise.
49198         * lib/unistr/u32-strnlen.c: Likewise.
49199         * lib/unistr/u32-strpbrk.c: Likewise.
49200         * lib/unistr/u32-strrchr.c: Likewise.
49201         * lib/unistr/u32-strspn.c: Likewise.
49202         * lib/unistr/u32-strstr.c: Likewise.
49203         * lib/unistr/u32-strtok.c: Likewise.
49204         * lib/unistr/u32-to-u16.c: Likewise.
49205         * lib/unistr/u32-to-u8.c: Likewise.
49206         * lib/unistr/u32-uctomb.c: Likewise.
49207         * lib/unistr/u8-check.c: Likewise.
49208         * lib/unistr/u8-chr.c: Likewise.
49209         * lib/unistr/u8-cmp.c: Likewise.
49210         * lib/unistr/u8-cpy-alloc.c: Likewise.
49211         * lib/unistr/u8-cpy.c: Likewise.
49212         * lib/unistr/u8-endswith.c: Likewise.
49213         * lib/unistr/u8-mblen.c: Likewise.
49214         * lib/unistr/u8-mbsnlen.c: Likewise.
49215         * lib/unistr/u8-mbtouc-aux.c: Likewise.
49216         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49217         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49218         * lib/unistr/u8-mbtouc.c: Likewise.
49219         * lib/unistr/u8-mbtoucr.c: Likewise.
49220         * lib/unistr/u8-move.c: Likewise.
49221         * lib/unistr/u8-next.c: Likewise.
49222         * lib/unistr/u8-prev.c: Likewise.
49223         * lib/unistr/u8-set.c: Likewise.
49224         * lib/unistr/u8-startswith.c: Likewise.
49225         * lib/unistr/u8-stpcpy.c: Likewise.
49226         * lib/unistr/u8-stpncpy.c: Likewise.
49227         * lib/unistr/u8-strcat.c: Likewise.
49228         * lib/unistr/u8-strchr.c: Likewise.
49229         * lib/unistr/u8-strcmp.c: Likewise.
49230         * lib/unistr/u8-strcpy.c: Likewise.
49231         * lib/unistr/u8-strcspn.c: Likewise.
49232         * lib/unistr/u8-strdup.c: Likewise.
49233         * lib/unistr/u8-strlen.c: Likewise.
49234         * lib/unistr/u8-strmblen.c: Likewise.
49235         * lib/unistr/u8-strmbtouc.c: Likewise.
49236         * lib/unistr/u8-strncat.c: Likewise.
49237         * lib/unistr/u8-strncmp.c: Likewise.
49238         * lib/unistr/u8-strncpy.c: Likewise.
49239         * lib/unistr/u8-strnlen.c: Likewise.
49240         * lib/unistr/u8-strpbrk.c: Likewise.
49241         * lib/unistr/u8-strrchr.c: Likewise.
49242         * lib/unistr/u8-strspn.c: Likewise.
49243         * lib/unistr/u8-strstr.c: Likewise.
49244         * lib/unistr/u8-strtok.c: Likewise.
49245         * lib/unistr/u8-to-u16.c: Likewise.
49246         * lib/unistr/u8-to-u32.c: Likewise.
49247         * lib/unistr/u8-uctomb-aux.c: Likewise.
49248         * lib/unistr/u8-uctomb.c: Likewise.
49249         * lib/unitypes.h: Likewise.
49250         * lib/uniwidth.h: Likewise.
49251         * lib/uniwidth/cjk.h: Likewise.
49252         * lib/uniwidth/u16-strwidth.c: Likewise.
49253         * lib/uniwidth/u16-width.c: Likewise.
49254         * lib/uniwidth/u32-strwidth.c: Likewise.
49255         * lib/uniwidth/u32-width.c: Likewise.
49256         * lib/uniwidth/u8-strwidth.c: Likewise.
49257         * lib/uniwidth/u8-width.c: Likewise.
49258         * lib/uniwidth/width.c: Likewise.
49259
49260 2007-10-07  Bruno Haible  <bruno@clisp.org>
49261
49262         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
49263         The file is still under LGPL (see modules/inttypes).
49264
49265 2007-10-06  Bruno Haible  <bruno@clisp.org>
49266
49267         * modules/trunc (Dependencies): Add 'extensions'.
49268         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
49269         Reported by Ben Pfaff <blp@gnu.org>.
49270
49271 2007-10-06  Bruno Haible  <bruno@clisp.org>
49272
49273         * modules/freopen-tests: New file.
49274         * tests/test-freopen.c: New file.
49275
49276         * modules/fopen-tests: New file.
49277         * tests/test-fopen.c: New file.
49278
49279         * modules/fopen: New file.
49280         * lib/fopen.c: New file.
49281         * m4/fopen.m4: New file.
49282         * modules/freopen: New file.
49283         * lib/freopen.c: New file.
49284         * m4/freopen.m4: New file.
49285         * lib/stdio.in.h (fopen, freopen): New declarations.
49286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
49287         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
49288         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
49289         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
49290         * doc/functions/fopen.texi: Mention the 'fopen' module.
49291         * doc/functions/freopen.texi: Mention the 'freopen' module.
49292
49293 2007-10-06  Bruno Haible  <bruno@clisp.org>
49294
49295         * modules/open-tests: New file.
49296         * tests/test-open.c: New file.
49297
49298         * modules/open: New file.
49299         * lib/open.c: New file.
49300         * m4/open.m4: New file.
49301         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
49302         lib/open.c does.
49303         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
49304         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
49305         macros.
49306         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
49307         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
49308         REPLACE_OPEN.
49309         * doc/functions/open.texi: Mention the 'open' module.
49310
49311 2007-10-04  Bruno Haible  <bruno@clisp.org>
49312
49313         * modules/ceill-tests: New file.
49314         * tests/test-ceill.c: New file.
49315
49316         * modules/ceill: New file.
49317         * lib/ceill.c: Replace entire file.
49318         * m4/ceill.m4: New file.
49319         * lib/math.in.h (ceill): Replace declaration.
49320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
49321         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
49322         * doc/functions/ceill.texi: Mention the 'ceill' module.
49323         * modules/mathl (Files): Remove lib/ceill.c.
49324         (Depends-on): Add ceill.
49325
49326 2007-10-04  Bruno Haible  <bruno@clisp.org>
49327
49328         * modules/ceilf-tests: New file.
49329         * tests/test-ceilf.c: New file.
49330
49331         * modules/ceilf: New file.
49332         * lib/ceil.c: New file.
49333         * lib/ceilf.c: New file.
49334         * m4/ceilf.m4: New file.
49335         * lib/math.in.h (ceilf): New declaration.
49336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
49337         HAVE_DECL_CEILF.
49338         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
49339         HAVE_DECL_CEILF.
49340         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
49341
49342 2007-10-04  Bruno Haible  <bruno@clisp.org>
49343
49344         * modules/floorl-tests: New file.
49345         * tests/test-floorl.c: New file.
49346
49347         * modules/floorl: New file.
49348         * lib/floorl.c: Replace entire file.
49349         * m4/floorl.m4: New file.
49350         * lib/math.in.h (floorl): Replace declaration.
49351         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
49352         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
49353         * doc/functions/floorl.texi: Mention the 'floorl' module.
49354         * modules/mathl (Files): Remove lib/floorl.c.
49355         (Depends-on): Add floorl.
49356
49357 2007-10-04  Bruno Haible  <bruno@clisp.org>
49358
49359         * modules/floorf-tests: New file.
49360         * tests/test-floorf.c: New file.
49361
49362         * modules/floorf: New file.
49363         * lib/floor.c: New file.
49364         * lib/floorf.c: New file.
49365         * m4/floorf.m4: New file.
49366         * lib/math.in.h (floorf): New declaration.
49367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
49368         HAVE_DECL_FLOORF.
49369         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
49370         HAVE_DECL_FLOORF.
49371         * doc/functions/floorf.texi: Mention the 'floorf' module.
49372
49373 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
49374             Bruno Haible  <bruno@clisp.org>
49375
49376         Advertise for the Git server instead of the CVS server.
49377         * doc/gnulib-intro.texi (Steady Development): Mention the Git
49378         repository instead of the CVS one.
49379         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
49380         about all VCS systems generically.
49381         * doc/gnulib.texi (Introduction): Capitalize `Git'.
49382
49383 2007-10-04  Bruno Haible  <bruno@clisp.org>
49384
49385         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
49386         means.
49387         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
49388
49389 2007-10-04  Bruno Haible  <bruno@clisp.org>
49390
49391         * modules/truncl-tests: New file.
49392         * tests/test-truncl.c: New file.
49393
49394         * modules/truncl: New file.
49395         * lib/truncl.c: New file.
49396         * m4/truncl.m4: New file.
49397         * lib/math.in.h (truncl): New declaration.
49398         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
49399         HAVE_DECL_TRUNCL.
49400         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
49401         HAVE_DECL_TRUNCL.
49402         * doc/functions/truncl.texi: Mention the 'truncl' module.
49403
49404 2007-10-04  Bruno Haible  <bruno@clisp.org>
49405
49406         * modules/truncf-tests: New file.
49407         * tests/test-truncf.c: New file.
49408
49409         * modules/truncf: New file.
49410         * lib/trunc.c: Make paramerizable through USE_* macros.
49411         * lib/truncf.c: New file.
49412         * m4/truncf.m4: New file.
49413         * lib/math.in.h (truncf): New declaration.
49414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
49415         HAVE_DECL_TRUNCF.
49416         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
49417         HAVE_DECL_TRUNCF.
49418         * doc/functions/truncf.texi: Mention the 'truncf' module.
49419
49420 2007-10-03  Bruno Haible  <bruno@clisp.org>
49421
49422         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
49423         augmentation also for tests modules.
49424         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
49425         * modules/atexit-tests (Makefile.am): Likewise.
49426         * modules/binary-io-tests (Makefile.am): Likewise.
49427         * modules/c-strcase-tests (Makefile.am): Likewise.
49428         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
49429         * modules/canonicalize-tests (Makefile.am): Likewise.
49430         * modules/closein-tests (Makefile.am): Likewise.
49431         * modules/fprintf-posix-tests (Makefile.am): Likewise.
49432         * modules/freadahead-tests (Makefile.am): Likewise.
49433         * modules/fseek-tests (Makefile.am): Likewise.
49434         * modules/fseeko-tests (Makefile.am): Likewise.
49435         * modules/ftell-tests (Makefile.am): Likewise.
49436         * modules/ftello-tests (Makefile.am): Likewise.
49437         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
49438         * modules/isnanl-tests (Makefile.am): Likewise.
49439         * modules/lseek-tests (Makefile.am): Likewise.
49440         * modules/mbscasecmp-tests (Makefile.am): Likewise.
49441         * modules/mbscasestr-tests (Makefile.am): Likewise.
49442         * modules/mbschr-tests (Makefile.am): Likewise.
49443         * modules/mbscspn-tests (Makefile.am): Likewise.
49444         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
49445         * modules/mbspbrk-tests (Makefile.am): Likewise.
49446         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
49447         * modules/mbsrchr-tests (Makefile.am): Likewise.
49448         * modules/mbsspn-tests (Makefile.am): Likewise.
49449         * modules/mbsstr-tests (Makefile.am): Likewise.
49450         * modules/printf-posix-tests (Makefile.am): Likewise.
49451         * modules/snprintf-posix-tests (Makefile.am): Likewise.
49452         * modules/sprintf-posix-tests (Makefile.am): Likewise.
49453         * modules/tsearch-tests (Makefile.am): Likewise.
49454         * modules/uniname/uniname-tests (Makefile.am): Likewise.
49455         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
49456         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
49457         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
49458         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
49459         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
49460         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
49461         * modules/vprintf-posix-tests (Makefile.am): Likewise.
49462         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
49463         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
49464         * modules/xstrtoimax-tests (Makefile.am): Likewise.
49465         * modules/xstrtol-tests (Makefile.am): Likewise.
49466         * modules/xstrtoumax-tests (Makefile.am): Likewise.
49467         * modules/yesno-tests (Makefile.am): Likewise.
49468
49469 2007-10-03  Bruno Haible  <bruno@clisp.org>
49470
49471         * modules/trunc-tests: New file.
49472         * tests/test-trunc.c: New file.
49473
49474         * modules/trunc: New file.
49475         * lib/trunc.c: New file.
49476         * m4/trunc.m4: New file.
49477         * lib/math.in.h (trunc): New declaration.
49478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
49479         HAVE_DECL_TRUNC.
49480         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
49481         HAVE_DECL_TRUNC.
49482         * doc/functions/trunc.texi: Mention the 'trunc' module.
49483
49484 2007-10-03  Bruno Haible  <bruno@clisp.org>
49485
49486         * tests/test-fpending.c: New file, mostly copied
49487         from coreutils/lib/t-fpending.c.
49488         * modules/fpending-tests: New file.
49489
49490 2007-10-03  Bruno Haible  <bruno@clisp.org>
49491
49492         Port the stdio extensions to QNX (untested).
49493         * lib/fseterr.c (fseterr): Add support for QNX.
49494         * lib/fbufmode.c (fbufmode): Likewise.
49495         * lib/freadable.c (freadable): Likewise.
49496         * lib/fwritable.c (fwritable): Likewise.
49497         * lib/freading.c (freading): Likewise.
49498         * lib/fwriting.c (fwriting): Likewise.
49499         * lib/freadahead.c (freadahed): Likewise.
49500         * lib/fpurge.c (fpurge): Likewise.
49501         * lib/fseeko.c (rpl_fseeko): Likewise.
49502
49503 2007-10-03  Bruno Haible  <bruno@clisp.org>
49504             Jim Meyering  <jim@meyering.net>
49505             Eric Blake  <ebb9@byu.net>
49506
49507         * doc/relocatable.texi: Use @command instead of @program.
49508
49509 2007-10-02  Jim Meyering  <jim@meyering.net>
49510
49511         Perform one more "_.h" -> ".in.h" substitution.
49512         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
49513         instead of unistd_.h here, too.
49514
49515 2007-10-01  Bruno Haible  <bruno@clisp.org>
49516
49517         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
49518         Needed for the alloca-opt module.
49519
49520 2007-09-30  Bruno Haible  <bruno@clisp.org>
49521
49522         * lib/alloca.in.h: Renamed from lib/alloca_.h.
49523         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
49524         alloca_.h.
49525         * lib/argz.in.h: Renamed from lib/argz_.h.
49526         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
49527         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
49528         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
49529         byteswap_.h.
49530         * lib/dirent.in.h: Renamed from lib/dirent_.h.
49531         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
49532         dirent_.h.
49533         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
49534         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
49535         fcntl_.h.
49536         * lib/float.in.h: Renamed from lib/float_.h.
49537         * modules/float (Files, Makefile.am): Use float.in.h instead of
49538         float_.h.
49539         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
49540         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
49541         fnmatch_.h.
49542         * lib/getopt.in.h: Renamed from lib/getopt_.h.
49543         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
49544         getopt_.h.
49545         * lib/glob.in.h: Renamed from lib/glob_.h.
49546         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
49547         * lib/iconv.in.h: Renamed from lib/iconv_.h.
49548         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
49549         iconv_.h.
49550         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
49551         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
49552         inttypes_.h.
49553         * lib/locale.in.h: Renamed from lib/locale_.h.
49554         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
49555         locale_.h.
49556         * lib/math.in.h: Renamed from lib/math_.h.
49557         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
49558         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
49559         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
49560         of netinet_in_.h. Add dependency.
49561         * lib/poll.in.h: Renamed from lib/poll_.h.
49562         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
49563         * lib/search.in.h: Renamed from lib/search_.h.
49564         * modules/search (Files, Makefile.am): Use search.in.h instead of
49565         search_.h.
49566         * lib/signal.in.h: Renamed from lib/signal_.h.
49567         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
49568         _signal.h.
49569         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
49570         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
49571         stdbool_.h.
49572         * lib/stdint.in.h: Renamed from lib/stdint_.h.
49573         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
49574         stdint_.h.
49575         * lib/stdio.in.h: Renamed from lib/stdio_.h.
49576         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
49577         stdio_.h.
49578         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
49579         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
49580         stdlib_.h.
49581         * lib/string.in.h: Renamed from lib/string_.h.
49582         * modules/string (Files, Makefile.am): Use string.in.h instead of
49583         string_.h.
49584         * doc/gnulib-tool.texi (Initial import): Update.
49585         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
49586         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
49587         of sys_select_.h. Add dependency.
49588         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
49589         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
49590         of sys_socket_.h.
49591         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
49592         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
49593         sys_stat_.h.
49594         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
49595         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
49596         sys_time_.h.
49597         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
49598         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
49599         sysexits_.h.
49600         * lib/time.in.h: Renamed from lib/time_.h.
49601         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
49602         * lib/unistd.in.h: Renamed from lib/unistd_.h.
49603         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
49604         unistd_.h.
49605         * lib/wchar.in.h: Renamed from lib/wchar_.h.
49606         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
49607         wchar_.h.
49608         * lib/wctype.in.h: Renamed from lib/wctype_.h.
49609         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
49610         wctype_.h.
49611         * build-aux/bootstrap (slurp): Update.
49612         * lib/.cppi-disable: Update.
49613
49614 2007-09-30  Bruno Haible  <bruno@clisp.org>
49615
49616         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
49617         Needed on BeOS.
49618
49619 2007-09-30  Bruno Haible  <bruno@clisp.org>
49620
49621         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
49622
49623 2007-09-29  Bruno Haible  <bruno@clisp.org>
49624
49625         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
49626
49627 2007-09-29  Bruno Haible  <bruno@clisp.org>
49628
49629         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
49630         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
49631         * build-aux/install-reloc: Compile also areadlink.c.
49632         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
49633
49634 2007-09-29  Bruno Haible  <bruno@clisp.org>
49635
49636         * gnulib-tool (func_emit_initmacro_done): Indentation.
49637
49638 2007-09-29  Bruno Haible  <bruno@clisp.org>
49639
49640         * README: Add CVS checkout update instructions.
49641         Info from Bob Proulx <bob@proulx.com>.
49642
49643 2007-09-28  Eric Blake  <ebb9@byu.net>
49644
49645         Provide move-if-change.
49646         * build-aux/move-if-change: New file, based on best practice
49647         rather than any canonical upstream location.
49648
49649 2007-09-28  Jim Meyering  <jim@meyering.net>
49650
49651         Fix canonicalize loop-detection corner case.
49652         Do not attempt to stat the symlink values stored via seen_triple.
49653         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
49654         on linux-2.6.18, (but not 2.6.22).
49655         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
49656         triple_compare.  The former compares dev,ino,filename, while the latter
49657         would actually stat dirname(filename) when dev and ino were equal.
49658         * lib/hash-triple.c: Install <string.h>.
49659         (STREQ): Define.
49660         (triple_compare_ino_str): New function.
49661         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
49662
49663 2007-09-28  Eric Blake  <ebb9@byu.net>
49664
49665         Enforce that AC_REPLACE_FUNCS files exist.
49666         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
49667         override check for typos.
49668
49669         Fix test-closein on Solaris 10.
49670         * tests/test-closein.c (main): Don't assume stdin can be inherited
49671         closed on all systems.
49672         * tests/test-closein.sh: Likewise.
49673         Reported by Piotr Tarnowski.
49674
49675 2007-09-28  Jim Meyering  <jim@meyering.net>
49676
49677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
49678
49679 2007-09-27  Jim Meyering  <jim@meyering.net>
49680
49681         canonicalize: Avoid a false-positive cycle failure.
49682         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
49683         Sort.  Remove cycle-check.
49684         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
49685         not cycle-check.h.
49686         (seen_triple): New function.
49687         (canonicalize_filename_mode): Use it instead of cycle-check.
49688         * tests/test-canonicalize.c: Add a test for this bug.
49689         * tests/test-canonicalize.sh: Set up and run the test.
49690
49691         New module, file-set, from coreutils.
49692         * modules/file-set: Define it.
49693         * lib/file-set.c, lib/file-set.h: Implement.
49694
49695         New module, hash-triple, from coreutils.
49696         * modules/hash-triple: Define it.
49697         * lib/hash-triple.c, lib/hash-triple.h: Implement.
49698
49699 2007-09-25  Eric Blake  <ebb9@byu.net>
49700
49701         Fix strerror on Interix.
49702         * lib/string_.h (strerror): Declare replacement.
49703         * doc/functions/strerror.texi (strerror): Document the Interix
49704         shortcoming.
49705         * modules/string (Makefile.am): Support new hooks.
49706         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
49707         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
49708         gl_FUNC_STRERROR_SEPARATE.
49709         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
49710         * lib/strerror.c (rpl_strerror): Provide replacement.
49711         * modules/strerror (Depends-on): Add string.
49712         (configure.ac): Detect use of module.
49713         * tests/test-strerror.c: New file.
49714         * modules/strerror-tests: New test module.
49715         * modules/argp (Depends-on): Add strerror.
49716         * modules/error (Depends-on): Likewise.
49717         Reported by Martin Koeppe.
49718
49719 2007-09-24  Bruno Haible  <bruno@clisp.org>
49720
49721         * README: Update git instructions.
49722
49723 2007-09-24  Eric Blake  <ebb9@byu.net>
49724
49725         Revert fpending breakage from 2007-09-08.
49726         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
49727         __fpending.c.
49728
49729 2007-09-24  Jim Meyering  <jim@meyering.net>
49730
49731         filenamecat.c: Add a test.
49732         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
49733         showing how the function works when DIR is the empty string.
49734
49735 2007-09-21  Simon Josefsson  <simon@josefsson.org>
49736
49737         * tests/test-canonicalize.sh: Turn on executable bit.
49738
49739 2007-09-19  Eric Blake  <ebb9@byu.net>
49740
49741         * README: Update CVS instructions.
49742
49743 2007-09-18  Bruno Haible  <bruno@clisp.org>
49744
49745         * modules/areadlink: New file.
49746         * lib/areadlink.h (areadlink): New declaration.
49747         * lib/areadlink.c: New file, based on lib/xreadlink.c.
49748
49749 2007-09-17  Jim Meyering  <jim@meyering.net>
49750
49751         * lib/savewd.c (ESTALE) [!defined]: Define.
49752         Reported to be required on Interix by Martin Koeppe.
49753
49754 2007-09-17  Bruno Haible  <bruno@clisp.org>
49755
49756         * gnulib-tool (func_version): Use $version.
49757
49758 2007-09-16  Bruno Haible  <bruno@clisp.org>
49759
49760         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
49761         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
49762         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
49763         Reported by Greg Schafer <gschafer@zip.com.au>.
49764
49765 2007-09-15  Bruno Haible  <bruno@clisp.org>
49766
49767         * gnulib-tool (sed): Try a little harder to make bash understand the
49768         alias.
49769         Reported by Bruce Korb <bruce.korb@gmail.com>.
49770
49771 2007-09-13  Eric Blake  <ebb9@byu.net>
49772
49773         * ChangeLog: Remove conflict markers.
49774
49775 2007-09-13  Simon Josefsson  <simon@josefsson.org>
49776
49777         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
49778         Reported by Bruno Haible <bruno@clisp.org>.
49779
49780 2007-09-12  Bruno Haible  <bruno@clisp.org>
49781
49782         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
49783         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
49784         is not defined.
49785
49786 2007-09-12  Eric Blake  <ebb9@byu.net>
49787
49788         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
49789         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
49790         Autoconf definition.
49791         * modules/euidaccess (Depends-on): Add extensions, for
49792         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
49793         * modules/fnmatch (Depends-on): Likewise.
49794         * modules/getaddrinfo (Depends-on): Likewise.
49795         * modules/getdelim (Depends-on): Likewise.
49796         * modules/getline (Depends-on): Likewise.
49797         * modules/getsubopt (Depends-on): Likewise.
49798         * modules/gettext (Depends-on): Likewise.
49799         * modules/group-member (Depends-on): Likewise.
49800         * modules/mbchar (Depends-on): Likewise.
49801         * modules/memmem (Depends-on): Likewise.
49802         * modules/mempcpy (Depends-on): Likewise.
49803         * modules/memrchr (Depends-on): Likewise.
49804         * modules/pagealign_alloc (Depends-on): Likewise.
49805         * modules/readutmp (Depends-on): Likewise.
49806         * modules/stpcpy (Depends-on): Likewise.
49807         * modules/stpncpy (Depends-on): Likewise.
49808         * modules/strchrnul (Depends-on): Likewise.
49809         * modules/strndup (Depends-on): Likewise.
49810         * modules/strsep (Depends-on): Likewise.
49811         * modules/strverscmp (Depends-on): Likewise.
49812         * modules/vasprintf (Depends-on): Likewise.
49813         * modules/wcwidth (Depends-on): Likewise.
49814         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
49815         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
49816         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
49817         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
49818         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
49819         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
49820         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
49821         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49822         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
49823         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
49824         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49825         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
49826         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
49827         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
49828         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
49829         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49830         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49831         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
49832         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49833         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
49834         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49835         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
49836         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
49837         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
49838         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
49839         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49840         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
49841         so that lock.m4 can be used in gettext without extensions module.
49842
49843 2007-09-11  Bruno Haible  <bruno@clisp.org>
49844
49845         * m4/isc-posix.m4: Remove file.
49846         Suggested by Eric Blake.
49847
49848 2007-09-11  Eric Blake  <ebb9@byu.net>
49849
49850         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
49851
49852 2007-09-10  Bruno Haible  <bruno@clisp.org>
49853
49854         * posix-modules: Fix typo in error message.
49855         Reported by Matt <mkraai@beckman.com>.
49856
49857 2007-09-09  Bruno Haible  <bruno@clisp.org>
49858
49859         * doc/functions/getdelim.texi: Update list of platforms lacking the
49860         function.
49861         * doc/functions/getline.texi: Likewise.
49862
49863 2007-09-09  Jim Meyering  <jim@meyering.net>
49864
49865         * lib/hash.c (hash_initialize): Detect calloc failure.
49866         Reported by Bruno Haible.
49867
49868 2007-09-09  Bruno Haible  <bruno@clisp.org>
49869
49870         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
49871         malloc or realloc fails.
49872
49873 2007-09-09  Bruno Haible  <bruno@clisp.org>
49874
49875         * modules/getcwd (Depends-on): Add malloc-posix.
49876         * modules/glob (Depends-on): Likewise.
49877         * modules/putenv (Depends-on): Likewise.
49878         * modules/strdup (Depends-on): Likewise.
49879         * modules/getdelim (Depends-on): Add realloc-posix.
49880         * modules/read-file (Depends-on): Likewise.
49881
49882 2007-09-09  Bruno Haible  <bruno@clisp.org>
49883
49884         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
49885         (gl_FUNC_MALLOC_POSIX): Require it.
49886         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
49887         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
49888         * modules/realloc (Files): Add m4/malloc.m4.
49889         * modules/calloc (Files): Likewise.
49890
49891 2007-09-09  Bruno Haible  <bruno@clisp.org>
49892
49893         * modules/malloc-posix: New file.
49894         * modules/malloc (Depends-on): Add malloc-posix.
49895         * lib/malloc.c: Include errno.h.
49896         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
49897         and a POSIX-compatible malloc into a single function. Set ENOMEM
49898         when returning NULL.
49899         * m4/malloc.m4: New file.
49900         * doc/functions/malloc.texi: Mention the malloc-posix module.
49901         * lib/stdlib_.h (malloc): New declaration.
49902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49903         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
49904         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
49905         and HAVE_MALLOC_POSIX.
49906
49907 2007-09-09  Bruno Haible  <bruno@clisp.org>
49908
49909         * modules/realloc-posix: New file.
49910         * modules/realloc (Depends-on): Add realloc-posix.
49911         * lib/realloc.c: Include errno.h.
49912         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
49913         and a POSIX-compatible realloc into a single function. Set ENOMEM
49914         when returning NULL.
49915         * m4/realloc.m4: New file.
49916         * doc/functions/realloc.texi: Mention the realloc-posix module.
49917         * lib/stdlib_.h (realloc): New declaration.
49918         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49919         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
49920         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
49921         and HAVE_REALLOC_POSIX.
49922
49923 2007-09-09  Bruno Haible  <bruno@clisp.org>
49924
49925         * modules/calloc-posix: New file.
49926         * modules/calloc (Depends-on): Add calloc-posix.
49927         * lib/calloc.c: Include errno.h.
49928         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
49929         and a POSIX-compatible calloc into a single function. Set ENOMEM
49930         when returning NULL.
49931         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
49932         * doc/functions/calloc.texi: Mention the calloc-posix module.
49933         * lib/stdlib_.h (calloc): New declaration.
49934         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49935         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
49936         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
49937         and HAVE_CALLOC_POSIX.
49938
49939 2007-09-09  Bruno Haible  <bruno@clisp.org>
49940
49941         Allow for modules to show an arbitrary notice.
49942         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
49943         * gnulib-tool: New option --extract-notice.
49944         (func_usage): Document it.
49945         (sed_extract_prog): Update.
49946         (func_get_notice): New function.
49947         (func_modules_notice): New function.
49948         (func_import, func_create_testdir): Invoke it.
49949         Suggested by Jim Meyering.
49950
49951 2007-09-09  Bruno Haible  <bruno@clisp.org>
49952
49953         * gnulib-tool: New options --verbose, --quiet.
49954         (func_usage): Document them.
49955         (verbose): New variable.
49956         (func_execute_command): New function.
49957         (func_import): Don't show the module list and the file list if
49958         $verbose < 0.
49959         (func_create_testdir): Likewise. Use func_execute_command.
49960         (func_create_megatestdir): Use func_execute_command.
49961
49962 2007-09-08  Bruno Haible  <bruno@clisp.org>
49963
49964         * gnulib-tool (func_import): Prefer rsync over wget when available,
49965         for fetching the PO files.
49966
49967 2007-09-08  Bruno Haible  <bruno@clisp.org>
49968
49969         * posix-modules: New file. Portions copied from gnulib-tool.
49970         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
49971
49972 2007-09-08  Jim Meyering  <jim@meyering.net>
49973
49974         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
49975         * lib/fpending.h: Rename from __fpending.h.
49976         * lib/fpending.c: Rename from __fpending.c.
49977         Include "fpending.h", not "__fpending.h".
49978         * lib/__fpending.h, lib/__fpending.c: Remove files.
49979         * modules/fpending (Files): Reflect new file names.
49980         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
49981
49982 2007-09-08  Bruno Haible  <bruno@clisp.org>
49983
49984         * m4/inttypes-h.m4: Remove stub file.
49985
49986 2007-09-07  Simon Josefsson  <simon@josefsson.org>
49987
49988         * doc/headers/stdint.texi: Discuss #include_next issue.
49989
49990 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
49991
49992         * build-aux/bootstrap: Remove obsolete comment about wget --help.
49993
49994 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49995
49996         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
49997         in variable name.
49998
49999 2007-09-03  Jim Meyering  <jim@meyering.net>
50000
50001         New module: git-version-gen.
50002         * modules/git-version-gen: New file.
50003
50004         Import changes from coreutils for bootstrap script.
50005
50006         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
50007
50008         bootstrap: uses rsync to download the .po files
50009         * build-aux/bootstrap (po_download_command_format): New global.
50010         (download_po_files): Use rsync.
50011         (update_po_files): Don't remove .po files after download,
50012         so future rsync runs can take advantage of the copies.
50013
50014         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
50015
50016         Solve the unnecessary-.po-file-regeneration problem once and for all.
50017         * build-aux/bootstrap (download_po_files): New function, renamed from
50018         get_translations.  Now, downloads, but doesn't update LINGUAS.
50019         (update_po_files): New function.
50020
50021         bootstrap: Ignore more.
50022         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
50023         uniwidth to e.g., lib/.gitignore.
50024         (slurp): Handle the sys_stat_.h -> sys mapping, too.
50025
50026         * build-aux/bootstrap: New setting: vc_ignore.
50027         (insert_sorted_if_absent): Create $file if absent.
50028         Adapt to new, possibly empty, list: $vc_ignore.
50029
50030         bootstrap: generate more ignorable names
50031         * build-aux/bootstrap (slurp): When generating ignorable names,
50032         also map .sin to .sed, .gperf to .c, and .y to .c.
50033
50034 2007-09-03  Jim Meyering  <jim@meyering.net>
50035
50036         * build-aux/git-version-gen: New file, from coreutils.  For details, see
50037         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
50038
50039 2007-09-02  Bruno Haible  <bruno@clisp.org>
50040
50041         Fix mis-recognition of 'mcs' on QNX 6.
50042         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
50043         output contains the string "Mono".
50044         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
50045         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
50046
50047 2007-09-01  Bruno Haible  <bruno@clisp.org>
50048
50049         Fix collision between uniwidth/* and linebreak modules.
50050         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
50051         u32_width): Remove declarations.
50052         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
50053         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
50054         streq3, streq2, streq1, streq0): Remove functions.
50055         (STREQ): Remove macro.
50056         (is_cjk_encoding): Remove function.
50057         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
50058         (uc_width, u8_width, u16_width, u32_width): Remove functions.
50059         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
50060         * NEWS: Document the change.
50061
50062 2007-09-01  Bruno Haible  <bruno@clisp.org>
50063
50064         * lib/streq.h: Add double-inclusion guard.
50065
50066 2007-09-01  Karl Berry  <karl@gnu.org>
50067
50068         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
50069
50070 2007-08-28  Jim Meyering  <jim@meyering.net>
50071
50072         Rename mreadlink_with_size to areadlink_with_size.
50073         * NEWS: Document the change.
50074         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
50075         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
50076         * lib/mreadlink.h: Rename this to...
50077         * lib/areadlink.h: ...this.
50078         * modules/mreadlink-with-size: Rename this to...
50079         * modules/areadlink-with-size: ...this.
50080         * lib/canonicalize.c: Reflect the renaming.
50081         * modules/canonicalize: Likewise.
50082
50083 2007-08-26  Bruno Haible  <bruno@clisp.org>
50084
50085         * gnulib-tool (func_import): When deciding which files to remove,
50086         consider also dangling symbolic links.
50087         Reported by Eric Blake.
50088
50089 2007-08-26  Bruno Haible  <bruno@clisp.org>
50090
50091         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
50092
50093 2007-08-23  Simon Josefsson  <simon@josefsson.org>
50094
50095         * lib/readline.c: Don't include getline.h, the prototype is now
50096         found in stdio.h.
50097
50098 2007-08-23  Jim Meyering  <jim@meyering.net>
50099
50100         Getdelim touchup.
50101         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
50102         around the funlockfile call, since funlockfile never sets errno.
50103         Don't set errno upon failed realloc.
50104
50105 2007-08-22  Eric Blake  <ebb9@byu.net>
50106
50107         Getline touchups.
50108         * lib/getdelim.c (getdelim): Revert regression that required *n to
50109         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
50110         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
50111         getdelim, rather than whether implementation is missing.
50112         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
50113         * lib/stdio_.h (getline): Also declare if replacement is
50114         required.
50115         * doc/functions/getdelim.texi: New file.
50116         * doc/functions/getline.texi: Likewise.
50117         * doc/gnulib.texi (Function Substitutes): Add new files.
50118         Reported by Bruno Haible.
50119
50120 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
50121
50122         * users.txt: Add Guile.
50123
50124 2007-08-22  Eric Blake  <ebb9@byu.net>
50125
50126         * tests/test-getdelim.c (main): Use remove, not unlink.
50127         * tests/test-getline.c (main): Likewise.
50128
50129         Move getline and getdelim into stdio.h, per POSIX 200x.
50130         * modules/getline (Files): Remove getline.h.
50131         (Depends-on): Add stdio.
50132         (configure.ac): Add module indicator.
50133         * modules/getdelim (Files): Remove getdelim.h.
50134         (Depends-on): Add stdio.
50135         (configure.ac): Add module indicator.
50136         * modules/stdio (Makefile.am): Work with new indicators.
50137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
50138         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
50139         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
50140         * lib/getdelim.h: Delete.
50141         * lib/getline.h: Delete.
50142         * lib/stdio_.h (getdelim, getline): Declare.
50143         * modules/getdelim-tests: New module.
50144         * modules/getline-tests: Likewise.
50145         * tests/test-getdelim.c: New file.
50146         * tests/test-getline.c: Likewise.
50147         * NEWS: Document the change.
50148         * lib/getline.c: Update choice of header.
50149         * lib/csharpcomp.c: Likewise.
50150         * lib/getpass.c: Likewise.
50151         * lib/javacomp.c: Likewise.
50152         * lib/javaversion.c: Likewise.
50153         * lib/yesno.c: Likewise.
50154         * lib/getdelim.c: Likewise.
50155         (getdelim): Set errno on failure, and avoid memory leak.
50156
50157 2007-08-19  Bruno Haible  <bruno@clisp.org>
50158
50159         * modules/closein (Depends-on): Add freadahead.
50160         * lib/closein.c: Include freadahead.h.
50161         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
50162         is zero.
50163
50164 2007-08-19  Bruno Haible  <bruno@clisp.org>
50165
50166         * modules/freadahead-tests: New file.
50167         * tests/test-freadahead.sh: New file.
50168         * tests/test-freadahead.c: New file.
50169
50170         * modules/freadahead: New file.
50171         * lib/freadahead.h: New file.
50172         * lib/freadahead.c: New file.
50173         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
50174         fbufmode, fpurge, freadable, fwritable.
50175
50176 2007-08-19  Eric Blake  <ebb9@byu.net>
50177
50178         Test yesno in combination with closein.
50179         * lib/yesno.c (yesno): Document use of stdin.
50180         * modules/yesno-tests (Files): New module.
50181         * tests/test-yesno.c (main): New file.
50182         * tests/test-yesno.sh: Likewise.
50183
50184 2007-08-19  Bruno Haible  <bruno@clisp.org>
50185
50186         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
50187         * lib/fseeko.c (rpl_fseeko): Likewise.
50188         * lib/fseterr.c (fseterr): Likewise.
50189
50190 2007-08-19  Bruno Haible  <bruno@clisp.org>
50191
50192         * tests/test-lseek.c (main): Disable a test for BeOS.
50193         * doc/functions/lseek.texi: Document the BeOS bug.
50194
50195 2007-08-19  Bruno Haible  <bruno@clisp.org>
50196             Eric Blake  <ebb9@byu.net>
50197
50198         * lib/lseek.c: Include <sys/stat.h>.
50199         (rpl_lseek): Add workaround code also for Unix platforms.
50200         Needed for BeOS.
50201         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
50202         * doc/functions/lseek.texi: Document BeOS definiency.
50203
50204 2007-08-18  Bruno Haible  <bruno@clisp.org>
50205
50206         * modules/fstrcmp-tests: New file.
50207         * tests/test-fstrcmp.c: New file.
50208
50209 2007-08-18  Bruno Haible  <bruno@clisp.org>
50210
50211         * modules/fstrcmp: New file, from GNU gettext with modifications.
50212         * lib/fstrcmp.h: New file, from GNU gettext.
50213         * lib/fstrcmp.c: New file, from GNU gettext.
50214         * MODULES.html.sh (String handling): Add fstrcmp.
50215
50216 2007-08-18  Bruno Haible  <bruno@clisp.org>
50217
50218         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
50219         'bool'.
50220         (diag, compareseq): Remove const from the ctxt argument.
50221         (USE_HEURISTIC): Undefine at the end.
50222
50223 2007-08-18  Jim Meyering  <jim@meyering.net>
50224
50225         New file: lib/idcache.h
50226         * NEWS: Mention the addition.
50227         * modules/idcache (Files): Add lib/idcache.h
50228         * lib/idcache.c: Include "idcache.h".
50229         Don't include <sys/types.h>.
50230         Add a FIXME comment.
50231         Move file-scoped "static" declarations to the top.
50232         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
50233
50234 2007-08-17  Bruno Haible  <bruno@clisp.org>
50235         and Paul Eggert  <eggert@cs.ucla.edu>
50236
50237         * MODULES.html.sh: Add diffseq.
50238         * modules/diffseq: New file.
50239         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
50240         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
50241
50242 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50243
50244         Import changes from coreutils for bootstrap script.
50245
50246         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
50247
50248         * build-aux/bootstrap (slurp): Work even in environments where
50249         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
50250         current code does not slurp files whose names start with ".", and
50251         this looks like it might be a troublesome area.
50252
50253         2007-07-11  Jim Meyering  <jim@meyering.net>
50254
50255         If there's a GPL vN copyright comment, require that N == 3.
50256
50257         2007-07-08  Jim Meyering  <jim@meyering.net>
50258
50259         Run the coreutils-specific code only if tests/Makefile.am.in exists.
50260         * build-aux/bootstrap (mam_template): Move definition out of loop.
50261
50262         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
50263
50264         * build-aux/bootstrap (symlink_to_dir): Rename function from
50265         symlink_to_gnulib.  Add a directory parameter.  Update all
50266         callers.
50267         (cp_mark_as_generated): Also check for -- and link to -- files in
50268         gl/.
50269
50270         2007-07-08  Jim Meyering  <jim@meyering.net>
50271
50272         Adapt to deeper hierarchy in gnulib.
50273         * build-aux/bootstrap (symlink_to_dir): If the destination
50274         directory doesn't exist, create it. This is required at least for
50275         "lib/uniwidth/cjk.h".
50276
50277         2007-05-15  Jim Meyering  <jim@meyering.net>
50278
50279         * build-aux/bootstrap: Now that generated Makefile.am files
50280         are no longer under version control, they must be created at
50281         bootstrap time.
50282
50283 2007-08-14  Ben Pfaff  <blp@gnu.org>
50284
50285         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
50286
50287 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50288
50289         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
50290         given the changes below.
50291         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
50292         even on hosts that have padding bits beyond the supported 64.
50293
50294 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50295
50296         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
50297         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
50298         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
50299         depends on it.
50300         (xstrtol_error): Remove.
50301         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
50302         but with a different signature.
50303         (ATTRIBUTE_NORETURN, __attribute__): New macros.
50304         * lib/xstrtol-error.c: Include exitfail.h.
50305         (xstrtol_fatal): New function, with a different signature from the
50306         old xstrtol_error, so that the caller need not worry about passing
50307         in an exit status, or about storage management of the option argument.
50308         (xstrtol_error): Now a static function.  Redo signature to
50309         implement xstrtol_fatal.  Output the correct number of hyphens in
50310         front of the option so that the caller need not worry about
50311         storage management.
50312         (N_): New macro.
50313         (_): Remove; not used now.
50314         * modules/xstrtol: Depend on getopt.
50315         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
50316         of old STRTOL_FATAL_ERROR macro.
50317         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
50318         of test program.
50319         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
50320         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
50321
50322 2007-08-08  Eric Blake  <ebb9@byu.net>
50323
50324         * lib/xstrtol-error.c: Add missing include.
50325
50326         Move xstrtol messages into gnulib domain, when --pobase is used.
50327         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
50328         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
50329         * modules/xstrtol (Files): Distribute new file.
50330         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
50331         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
50332         * tests/test-xstrtol.c: ...into new file.
50333         * tests/test-xstrtoul.c: Also test xstrtoul.
50334         * tests/test-xstrtoimax.c: Also test xstrtoimax.
50335         * tests/test-xstrtoumax.c: Also test xstrtoumax.
50336         * tests/test-xstrtol.sh: Drive the tests.
50337         * tests/test-xstrtoimax.sh: Likewise.
50338         * tests/test-xstrtoumax.sh: Likewise.
50339         * modules/xstrtol-tests: New module.
50340         * modules/xstrtoimax-tests: Likewise.
50341         * modules/xstrtoumax-tests: Likewise.
50342
50343 2007-08-08  Jim Meyering  <jim@meyering.net>
50344
50345         New function: mfile_name_concat.
50346         * lib/filenamecat.c (mfile_name_concat): New function, just like
50347         file_name_concat, but return NULL upon failure rather than exiting
50348         with a diagnostic.
50349         * lib/filenamecat.h: Declare it.
50350
50351 2007-08-07  Bruno Haible  <bruno@clisp.org>
50352
50353         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
50354         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
50355         warning from gcc.
50356         Reported by Eric Blake.
50357
50358 2007-08-07  Simon Josefsson  <simon@josefsson.org>
50359
50360         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
50361         * modules/crypto/arcfour (License): Likewise.
50362         * modules/crypto/des-tests (License): Likewise.
50363         * modules/crypto/gc-arctwo-tests (License): Likewise.
50364         * modules/crypto/gc-des-tests (License): Likewise.
50365         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
50366         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
50367         * modules/crypto/gc-md2-tests (License): Likewise.
50368         * modules/crypto/gc-md4-tests (License): Likewise.
50369         * modules/crypto/gc-md5-tests (License): Likewise.
50370         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
50371         * modules/crypto/gc-rijndael-tests (License): Likewise.
50372         * modules/crypto/gc-sha1-tests (License): Likewise.
50373         * modules/crypto/gc-tests (License): Likewise.
50374         * modules/crypto/hmac-md5 (License): Likewise.
50375         * modules/crypto/hmac-sha1 (License): Likewise.
50376         * modules/crypto/md2-tests (License): Likewise.
50377         * modules/crypto/md4-tests (License): Likewise.
50378         * modules/crypto/md5 (License): Likewise.
50379         * modules/crypto/rijndael (License): Likewise.
50380         * modules/crypto/sha1 (License): Likewise.
50381         * modules/memxor (License): Likewise.
50382
50383 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50384         and Bruno Haible  <bruno@clisp.org>
50385
50386         * NEWS: Describe interface changes to human, xstrtol.
50387         * lib/human.h: Include <xstrtol.h>.
50388         (human_options): Return enum strtol_error, not int.  Remove
50389         bool arg; take int * instead.
50390         * lib/human.c: Don't include "gettext.h".
50391         (_): Remove; no longer used.
50392         Don't include <xstrtol.h>, since human.h does it.
50393         (human_options): Adjust to abovementioned interface changes.
50394         Do not report error to stderr; that's now the caller's
50395         responsibility.
50396         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
50397         interface change.
50398         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
50399         Str, Argument_type_string.  All uses changed.  Put " argument"
50400         in diagnostics to make them clearer.  Change wording of suffix
50401         message for clarity.
50402         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
50403         Argument_type_string.
50404         (STRTOL_FATAL_WARN): Remove; no longer used.
50405         * modules/human (Depends-on): Remove gettext-h.
50406
50407 2007-08-06  Simon Josefsson  <simon@josefsson.org>
50408
50409         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
50410
50411 2007-07-31  Bruno Haible  <bruno@clisp.org>
50412
50413         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
50414         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
50415         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
50416
50417 2007-07-31  Bruno Haible  <bruno@clisp.org>
50418
50419         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
50420         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
50421
50422 2007-07-30  Bruno Haible  <bruno@clisp.org>
50423
50424         * modules/base64 (License): Use the synonymous term "LGPLv2+".
50425         * modules/c-ctype (License): Likewise.
50426         * modules/c-strcase (License): Likewise.
50427         * modules/check-version (License): Likewise.
50428         * modules/iconv (License): Likewise.
50429         * modules/iconv_open (License): Likewise.
50430         * modules/read-file (License): Likewise.
50431         * modules/striconv (License): Likewise.
50432         * modules/strverscmp (License): Likewise.
50433         * modules/vasprintf (License): Likewise.
50434         * modules/crypto/des (License): Likewise.
50435         * modules/crypto/gc (License): Likewise.
50436         * modules/crypto/gc-arcfour (License): Likewise.
50437         * modules/crypto/gc-arctwo (License): Likewise.
50438         * modules/crypto/gc-des (License): Likewise.
50439         * modules/crypto/gc-hmac-md5 (License): Likewise.
50440         * modules/crypto/gc-hmac-sha1 (License): Likewise.
50441         * modules/crypto/gc-md2 (License): Likewise.
50442         * modules/crypto/gc-md4 (License): Likewise.
50443         * modules/crypto/gc-md5 (License): Likewise.
50444         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
50445         * modules/crypto/gc-random (License): Likewise.
50446         * modules/crypto/gc-rijndael (License): Likewise.
50447         * modules/crypto/gc-sha1 (License): Likewise.
50448         * modules/crypto/md2 (License): Likewise.
50449         * modules/crypto/md4 (License): Likewise.
50450
50451 2007-07-30  Jim Meyering  <jim@meyering.net>
50452
50453         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
50454         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
50455         it has valid stat data.  This bug would cause du not to count the
50456         sizes of inaccessible directories.
50457         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
50458         in <http://bugzilla.redhat.com/250077>.
50459
50460 2007-07-25  Peter O'Gorman  <peter@pogma.com>
50461             Bruno Haible  <bruno@clisp.org>
50462
50463         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
50464         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
50465         #include_next, gives a diagnostic about it, but reports no error in
50466         the exit code.
50467         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50468
50469 2007-07-24  Ben Pfaff  <blp@gnu.org>
50470
50471         Improve name: "count-one-bits" is better than "popcount".
50472         * MODULES.html.sh: Update name.
50473         * lib/popcount.h: Renamed lib/count-one-bits.h.
50474         (popcount): Renamed count_one_bits.
50475         (popcountl): Renamed count_one_bits_l.
50476         (popcountll): Renamed count_one_bits_ll.
50477         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
50478         * modules/popcount: Renamed module/count-one-bits.
50479         * modules/popcount-tests: Renamed module/count-one-bits-tests.
50480         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
50481
50482 2007-07-23  Ben Pfaff  <blp@gnu.org>
50483
50484         * lib/popcount.h (popcount32): Reduce size of constants, to allow
50485         better code generation, and add U to large constants to avoid
50486         warnings, in non-GCC case.
50487         Suggested by Bruno Haible.
50488
50489 2007-07-23  Ben Pfaff  <blp@gnu.org>
50490
50491         * lib/popcount.h: Use verify_true instead of if...abort.
50492         * modules/popcount: Depend on verify module.
50493         Suggested by Jim Meyering.
50494
50495 2007-07-23  Bruno Haible  <bruno@clisp.org>
50496
50497         * gnulib-tool (func_import): Create a .cvsignore file also when the
50498         directory is not yet in CVS but the toplevel directory is. When
50499         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
50500         Reported by Karl Berry.
50501
50502 2007-07-22  Ben Pfaff  <blp@gnu.org>
50503
50504         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
50505         case.
50506         Suggested by Eric Blake.
50507
50508 2007-07-22  Ben Pfaff  <blp@gnu.org>
50509
50510         New module: popcount.
50511         * MODULES.html.sh: Add popcount.
50512         * modules/popcount: New file.
50513         * modules/popcount-tests: New file.
50514         * tests/test-popcount.c: New file.
50515         * lib/popcount.h: New file.
50516         * m4/popcount.m4: New file.
50517
50518 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50519
50520         * build-aux/announce-gen: Update to GPLv3.
50521
50522         * build-aux/config.guess: Update from config.
50523
50524 2007-07-21  Bruno Haible  <bruno@clisp.org>
50525
50526         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
50527         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
50528
50529 2007-07-20  Jim Meyering  <jim@meyering.net>
50530
50531         * check-module: Diagnose a self-dependency.
50532
50533 2007-07-19  Bruno Haible  <bruno@clisp.org>
50534
50535         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
50536         empty.
50537         Reported by Eric Blake.
50538
50539 2007-07-18  Bruno Haible  <bruno@clisp.org>
50540
50541         * gnulib-tool: New options --po-base, --po-domain.
50542         (func_usage): Document them.
50543         (pobase, po_domain): New variables.
50544         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
50545         DEFAULT_TEXT_DOMAIN.
50546         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
50547         (func_import): Consider pobase and po_domain. Create a po/ directory.
50548         (func_create_testdir): Set pobase and po_domain to empty.
50549         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
50550         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
50551
50552 2007-07-18  Bruno Haible  <bruno@clisp.org>
50553
50554         * gnulib-tool (func_get_automake_snippet): Synthesize also an
50555         EXTRA_DIST augmentation for files in build-aux/.
50556
50557 2007-07-16  Bruno Haible  <bruno@clisp.org>
50558
50559         * modules/lseek (License): Use the synonymous term "LGPLv2+".
50560         * modules/getdelim (License): Likewise.
50561
50562 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50563
50564         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
50565         * modules/d-type (License): Likewise.
50566         * modules/extensions (License): Likewise.
50567         * modules/fnmatch (License): Likewise.
50568         * modules/fseeko (License): Likewise.
50569         * modules/getaddrinfo (License): Likewise.
50570         * modules/getline (License): Likewise.
50571         * modules/getlogin_r (License): Likewise.
50572         * modules/getpass (License): Likewise.
50573         * modules/gettimeofday (License): Likewise.
50574         * modules/glob (License): Likewise.
50575         * modules/inet_ntop (License): Likewise.
50576         * modules/malloc (License): Likewise.
50577         * modules/malloca (License): Likewise.
50578         * modules/memmem (License): Likewise.
50579         * modules/mempcpy (License): Likewise.
50580         * modules/memset (License): Likewise.
50581         * modules/minmax (License): Likewise.
50582         * modules/mktime (License): Likewise.
50583         * modules/netinet_in (License): Likewise.
50584         * modules/pathmax (License): Likewise.
50585         * modules/poll (License): Likewise.
50586         * modules/regex (License): Likewise.
50587         * modules/snprintf (License): Likewise.
50588         * modules/stdbool (License): Likewise.
50589         * modules/stdint (License): Likewise.
50590         * modules/stdio (License): Likewise.
50591         * modules/strcase (License): Likewise.
50592         * modules/strcasestr (License): Likewise.
50593         * modules/strdup (License): Likewise.
50594         * modules/string (License): Likewise.
50595         * modules/strndup (License): Likewise.
50596         * modules/strnlen (License): Likewise.
50597         * modules/strpbrk (License): Likewise.
50598         * modules/strptime (License): Likewise.
50599         * modules/strsep (License): Likewise.
50600         * modules/sys_select (License): Likewise.
50601         * modules/sys_socket (License): Likewise.
50602         * modules/sys_stat (License): Likewise.
50603         * modules/sys_time (License): Likewise.
50604         * modules/time (License): Likewise.
50605         * modules/time_r (License): Likewise.
50606         * modules/timegm (License): Likewise.
50607         * modules/unistd (License): Likewise.
50608         * modules/vsnprintf (License): Likewise.
50609         * modules/wctype (License): Likewise.
50610
50611 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50612
50613         * modules/argz (License): LGPLv2+.
50614
50615 2007-07-15  Karl Berry  <karl@gnu.org>
50616
50617         * doc/gnulib.texi: revise node structure per new fdl.texi.
50618
50619 2007-07-14  Bruno Haible  <bruno@clisp.org>
50620
50621         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
50622         the output file.
50623         * lib/uniname/uninames.h: Regenerated.
50624
50625 2007-07-14  Karl Berry  <karl@gnu.org>
50626
50627         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
50628         omitting sectioning and index commands.
50629
50630 2007-07-13  Bruno Haible  <bruno@clisp.org>
50631
50632         New gnulib-tool option --more-symlinks.
50633         * gnulib-tool (func_usage): Document --more-symlinks.
50634         (do_copyrights): New variable.
50635         Recognize option --more-symlinks.
50636         (func_import): Don't add a copyright notice transform to
50637         sed_transform_lib_file if do_copyrights is empty.
50638
50639 2007-07-13  Bruno Haible  <bruno@clisp.org>
50640
50641         * lib/vasnprintf.c (decimal_point_char): Define also if
50642         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
50643         && !NEED_PRINTF_DIRECTIVE_A.
50644         Reported by Clemens Koller <clemens.koller@anagramm.de> via
50645         Gary V. Vaughan <gary@gnu.org>.
50646
50647 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
50648
50649         * lib/inttypes_.h: Undo previous change, since it was fixed
50650         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
50651
50652 2007-07-13  Bruno Haible  <bruno@clisp.org>
50653
50654         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
50655         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
50656
50657 2007-07-13  Jim Meyering  <jim@meyering.net>
50658
50659         df: Don't fail for Tru64's "file-on-file mount".
50660         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
50661         so we fall through and use statfs instead.  Details here:
50662         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
50663         Reported by Albert Chin.
50664
50665 2007-07-13  Bruno Haible  <bruno@clisp.org>
50666
50667         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
50668         * modules/configmake (License): Likewise.
50669         * modules/gettext (License): Likewise.
50670         * modules/gettext-h (License): Likewise.
50671         * modules/include_next (License): Likewise.
50672         * modules/link-warning (License): Likewise.
50673         * modules/localcharset (License): Likewise.
50674         * modules/localename (License): Likewise.
50675         * modules/lock (License): Likewise.
50676         * modules/relocatable-lib-lgpl (License): Likewise.
50677         * modules/size_max (License): Likewise.
50678         * modules/vasnprintf (License): Likewise.
50679         * modules/wchar (License): Likewise.
50680         * modules/xsize (License): Likewise.
50681
50682 2007-07-13  Bruno Haible  <bruno@clisp.org>
50683
50684         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
50685         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
50686
50687 2007-07-12  Bruno Haible  <bruno@clisp.org>
50688
50689         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
50690         in the modules files.
50691
50692 2007-07-11  Karl Berry  <karl@gnu.org>
50693
50694         * MODULES.html.sh (func_module): use
50695          sed -e '\|^'"${includefile}"'$|d'
50696          instead of /.../d, to avoid errors on $includefile's containing /.
50697
50698 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50699
50700         * gnulib-tool (func_import): Avoid duplication of --avoid
50701         statements
50702         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
50703         names to `_' in variable names.
50704
50705 2007-07-10  Eric Blake  <ebb9@byu.net>
50706
50707         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
50708         * NEWS: Document this change.
50709
50710 2007-07-08  Bruno Haible  <bruno@clisp.org>
50711
50712         Update to Unicode 5.0.
50713         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
50714         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
50715         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
50716         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
50717         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
50718         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
50719         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
50720         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
50721         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
50722         U+10A3F, U+1D242..U+1D244.
50723         (nonspacing_table_ind): Update.
50724         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
50725         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
50726
50727 2007-07-08  Bruno Haible  <bruno@clisp.org>
50728
50729         Update to Unicode 5.0.
50730         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
50731         code transform. Extend the name index field of unicode_name_to_code and
50732         unicode_code_to_name from 16 to 24 bits.
50733         * lib/uniname/uniname.c (unicode_character_name,
50734         unicode_name_character): Add the range 0x12xxx to the code transform.
50735         * lib/uniname/uninames.h: Regenerated.
50736         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
50737
50738 2007-07-07  Bruno Haible  <bruno@clisp.org>
50739
50740         * modules/wcwidth-tests: New file.
50741         * tests/test-wcwidth.c: New file.
50742
50743         Work around MacOS X wcwidth() bug.
50744         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
50745         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
50746         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
50747         original wcwidth in non-UTF-8 locales.
50748         * modules/wcwidth (Depends-on): Add localcharset, streq,
50749         uniwidth/width.
50750         * doc/functions/wcwidth.texi: Update.
50751
50752 2007-07-07  Bruno Haible  <bruno@clisp.org>
50753
50754         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
50755         (wcwidth): New declaration.
50756         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
50757         macros.
50758         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
50759         here. Prepare for creating <wchar.h> unconditionally.
50760         * modules/wchar (Depends-on): Add link-warning.
50761         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
50762         REPLACE_WCWIDTH, and GL_LINK_WARNING.
50763         * lib/wcwidth.h: Remove file.
50764         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
50765         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
50766         * modules/wcwidth (Files): Remove lib/wcwidth.h.
50767         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
50768         (Include): Replace wcwidth.h with <wchar.h>.
50769         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
50770         * lib/mbchar.h: Don't include wcwidth.h.
50771         * lib/mbswidth.c: Likewise.
50772         * NEWS: Mention the change.
50773
50774 2007-07-07  Bruno Haible  <bruno@clisp.org>
50775
50776         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
50777         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
50778         definition with an external declaration.
50779         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
50780         defined as a function. Remove AC_C_INLINE requirement.
50781         * modules/wcwidth (Files): Add lib/wcwidth.c.
50782         (Makefile.am): Remove redundant statement.
50783
50784 2007-07-07  Bruno Haible  <bruno@clisp.org>
50785
50786         * MODULES.html.sh (Unicode string functions): Add the new modules.
50787
50788         * tests/uniwidth/test-u32-strwidth.c: New file.
50789         * modules/uniwidth/u32-strwidth-tests: New file.
50790
50791         * lib/uniwidth/u32-strwidth.c: New file.
50792         * modules/uniwidth/u32-strwidth: New file.
50793
50794         * tests/uniwidth/test-u16-strwidth.c: New file.
50795         * modules/uniwidth/u16-strwidth-tests: New file.
50796
50797         * lib/uniwidth/u16-strwidth.c: New file.
50798         * modules/uniwidth/u16-strwidth: New file.
50799
50800         * tests/uniwidth/test-u8-strwidth.c: New file.
50801         * modules/uniwidth/u8-strwidth-tests: New file.
50802
50803         * lib/uniwidth/u8-strwidth.c: New file.
50804         * modules/uniwidth/u8-strwidth: New file.
50805
50806         * tests/uniwidth/test-u32-width.c: New file.
50807         * modules/uniwidth/u32-width-tests: New file.
50808
50809         * lib/uniwidth/u32-width.c: New file.
50810         * modules/uniwidth/u32-width: New file.
50811
50812         * tests/uniwidth/test-u16-width.c: New file.
50813         * modules/uniwidth/u16-width-tests: New file.
50814
50815         * lib/uniwidth/u16-width.c: New file.
50816         * modules/uniwidth/u16-width: New file.
50817
50818         * tests/uniwidth/test-u8-width.c: New file.
50819         * modules/uniwidth/u8-width-tests: New file.
50820
50821         * lib/uniwidth/u8-width.c: New file.
50822         * modules/uniwidth/u8-width: New file.
50823
50824         * tests/uniwidth/test-uc_width.c: New file.
50825         * modules/uniwidth/width-tests: New file.
50826
50827         * lib/uniwidth/width.c: New file, from GNU libiconv.
50828         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
50829         * modules/uniwidth/width: New file.
50830
50831         * lib/uniwidth.h: New file, from GNU libiconv.
50832         * modules/uniwidth/base: New file.
50833
50834 2007-07-07  Bruno Haible  <bruno@clisp.org>
50835
50836         * lib/uniname.h: New file, from GNU gettext.
50837         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
50838         * lib/uniname/uninames.h: New file, from GNU gettext.
50839         * lib/uniname/uniname.c: New file, from GNU gettext.
50840         * tests/uniname/test-uninames.sh: New file.
50841         * tests/uniname/test-uninames.c: New file, from GNU gettext.
50842         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
50843         * modules/uniname/base: New file.
50844         * modules/uniname/uniname: New file.
50845         * modules/uniname/uniname-tests: New file.
50846         * MODULES.html.sh (Unicode string functions): Add the new modules.
50847
50848 2007-07-06  Bruno Haible  <bruno@clisp.org>
50849
50850         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
50851
50852 2007-07-06  Bruno Haible  <bruno@clisp.org>
50853
50854         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
50855         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
50856         includes <cygwin/sys_time.h> which includes <sys/select.h> which
50857         include <sys/time.h>.
50858         Reported by Eric Blake.
50859
50860 2007-07-06  Eric Blake  <ebb9@byu.net>
50861
50862         Fix testing canonicalize on cygwin.
50863         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
50864         Revert patch from 2007-06-19.
50865         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
50866         canonicalize module is also in use.
50867         * tests/test-canonicalize.c: New file.
50868         * tests/test-canonicalize.sh: Likewise.
50869         * modules/canonicalize-tests: Likewise.
50870
50871 2007-07-06  Jim Meyering  <jim@meyering.net>
50872
50873         * lib/getugroups.c (getugroups): Detect getgrent failure.
50874         Adjust comment to reflect reality: this function may return -1.
50875
50876 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
50877
50878         * build-aux/bootstrap (TP_URL,get_translations): Update to use
50879         the new TP address.
50880         (usage): Fix typo
50881         (gnulib_mk): New variable.
50882
50883 2007-07-05  Jim Meyering  <jim@meyering.net>
50884
50885         Don't let endgrent clobber errno, no matter how improbable.
50886         * lib/getugroups.c (getugroups): Save and restore errno around
50887         endgrent call.
50888
50889         Close the group DB even when failing with 2^31 or more members.
50890         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
50891
50892 2007-07-04  Jim Meyering  <jim@meyering.net>
50893
50894         * lib/getugroups.h: New file.
50895         * lib/getugroups.c: Include "getugroups.h".
50896         Remove uses of "register" keyword.
50897         Move local variable, "cp", down into scope where used.
50898         Give "username" parameter the "const" attribute.
50899         * modules/getugroups (Files): Add lib/getugroups.h
50900
50901 2007-07-04  Karl Berry  <karl@gnu.org>
50902
50903         * MODULES.html.sh (func_all_modules): Complete rename of
50904         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
50905
50906 2007-07-02  Bruno Haible  <bruno@clisp.org>
50907
50908         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
50909         mode, when inttypes.h comes from gnulib.
50910         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50911
50912 2007-07-02  Simon Josefsson  <simon@josefsson.org>
50913
50914         * NEWS: Mention lgpl module name change.
50915
50916         * modules/lgpl-2.1: Renamed from lgpl.
50917
50918         * NEWS: Mention gpl module name change.
50919
50920         * modules/gpl-3.0: New file, based on gpl-2.0.
50921
50922         * modules/gpl-2.0: Renamed from gpl.
50923
50924         * modules/gpl: Fix filename, doc/gpl.texi is now found at
50925         doc/gpl-2.0.texi.
50926
50927 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50928
50929         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
50930         #define __STDC_LIMIT_MACROS temporarily while including
50931         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
50932         Problem reported by Joel E. Denny in
50933         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
50934
50935 2007-07-01  Bruno Haible  <bruno@clisp.org>
50936
50937         * lib/unistdio.h: New file.
50938         * lib/unistdio/u-asnprintf.h: New file.
50939         * lib/unistdio/u-asprintf.h: New file.
50940         * lib/unistdio/u-printf-args.c: New file.
50941         * lib/unistdio/u-printf-args.h: New file.
50942         * lib/unistdio/u-printf-parse.h: New file.
50943         * lib/unistdio/u-snprintf.h: New file.
50944         * lib/unistdio/u-sprintf.h: New file.
50945         * lib/unistdio/u-vasprintf.h: New file.
50946         * lib/unistdio/u-vsnprintf.h: New file.
50947         * lib/unistdio/u-vsprintf.h: New file.
50948         * lib/unistdio/ulc-asnprintf.c: New file.
50949         * lib/unistdio/ulc-asprintf.c: New file.
50950         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
50951         * lib/unistdio/ulc-printf-parse.c: New file.
50952         * lib/unistdio/ulc-snprintf.c: New file.
50953         * lib/unistdio/ulc-sprintf.c: New file.
50954         * lib/unistdio/ulc-vasnprintf.c: New file.
50955         * lib/unistdio/ulc-vasprintf.c: New file.
50956         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
50957         * lib/unistdio/ulc-vsnprintf.c: New file.
50958         * lib/unistdio/ulc-vsprintf.c: New file.
50959         * lib/unistdio/u8-asnprintf.c: New file.
50960         * lib/unistdio/u8-asprintf.c: New file.
50961         * lib/unistdio/u8-printf-parse.c: New file.
50962         * lib/unistdio/u8-snprintf.c: New file.
50963         * lib/unistdio/u8-sprintf.c: New file.
50964         * lib/unistdio/u8-vasnprintf.c: New file.
50965         * lib/unistdio/u8-vasprintf.c: New file.
50966         * lib/unistdio/u8-vsnprintf.c: New file.
50967         * lib/unistdio/u8-vsprintf.c: New file.
50968         * lib/unistdio/u8-u8-asnprintf.c: New file.
50969         * lib/unistdio/u8-u8-asprintf.c: New file.
50970         * lib/unistdio/u8-u8-snprintf.c: New file.
50971         * lib/unistdio/u8-u8-sprintf.c: New file.
50972         * lib/unistdio/u8-u8-vasnprintf.c: New file.
50973         * lib/unistdio/u8-u8-vasprintf.c: New file.
50974         * lib/unistdio/u8-u8-vsnprintf.c: New file.
50975         * lib/unistdio/u8-u8-vsprintf.c: New file.
50976         * lib/unistdio/u16-asnprintf.c: New file.
50977         * lib/unistdio/u16-asprintf.c: New file.
50978         * lib/unistdio/u16-printf-parse.c: New file.
50979         * lib/unistdio/u16-snprintf.c: New file.
50980         * lib/unistdio/u16-sprintf.c: New file.
50981         * lib/unistdio/u16-vasnprintf.c: New file.
50982         * lib/unistdio/u16-vasprintf.c: New file.
50983         * lib/unistdio/u16-vsnprintf.c: New file.
50984         * lib/unistdio/u16-vsprintf.c: New file.
50985         * lib/unistdio/u16-u16-asnprintf.c: New file.
50986         * lib/unistdio/u16-u16-asprintf.c: New file.
50987         * lib/unistdio/u16-u16-snprintf.c: New file.
50988         * lib/unistdio/u16-u16-sprintf.c: New file.
50989         * lib/unistdio/u16-u16-vasnprintf.c: New file.
50990         * lib/unistdio/u16-u16-vasprintf.c: New file.
50991         * lib/unistdio/u16-u16-vsnprintf.c: New file.
50992         * lib/unistdio/u16-u16-vsprintf.c: New file.
50993         * lib/unistdio/u32-asnprintf.c: New file.
50994         * lib/unistdio/u32-asprintf.c: New file.
50995         * lib/unistdio/u32-printf-parse.c: New file.
50996         * lib/unistdio/u32-snprintf.c: New file.
50997         * lib/unistdio/u32-sprintf.c: New file.
50998         * lib/unistdio/u32-vasnprintf.c: New file.
50999         * lib/unistdio/u32-vasprintf.c: New file.
51000         * lib/unistdio/u32-vsnprintf.c: New file.
51001         * lib/unistdio/u32-vsprintf.c: New file.
51002         * lib/unistdio/u32-u32-asnprintf.c: New file.
51003         * lib/unistdio/u32-u32-asprintf.c: New file.
51004         * lib/unistdio/u32-u32-snprintf.c: New file.
51005         * lib/unistdio/u32-u32-sprintf.c: New file.
51006         * lib/unistdio/u32-u32-vasnprintf.c: New file.
51007         * lib/unistdio/u32-u32-vasprintf.c: New file.
51008         * lib/unistdio/u32-u32-vsnprintf.c: New file.
51009         * lib/unistdio/u32-u32-vsprintf.c: New file.
51010         * tests/unistdio/test-ulc-asnprintf1.c: New file.
51011         * tests/unistdio/test-ulc-asnprintf1.h: New file.
51012         * tests/unistdio/test-ulc-printf1.h: New file.
51013         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
51014         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
51015         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
51016         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
51017         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
51018         * tests/unistdio/test-ulc-vasprintf1.c: New file.
51019         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
51020         * tests/unistdio/test-ulc-vsprintf1.c: New file.
51021         * tests/unistdio/test-u8-asnprintf1.c: New file.
51022         * tests/unistdio/test-u8-asnprintf1.h: New file.
51023         * tests/unistdio/test-u8-printf1.h: New file.
51024         * tests/unistdio/test-u8-vasnprintf1.c: New file.
51025         * tests/unistdio/test-u8-vasnprintf2.c: New file.
51026         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
51027         * tests/unistdio/test-u8-vasnprintf3.c: New file.
51028         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
51029         * tests/unistdio/test-u8-vasprintf1.c: New file.
51030         * tests/unistdio/test-u8-vsnprintf1.c: New file.
51031         * tests/unistdio/test-u8-vsprintf1.c: New file.
51032         * tests/unistdio/test-u16-asnprintf1.c: New file.
51033         * tests/unistdio/test-u16-asnprintf1.h: New file.
51034         * tests/unistdio/test-u16-printf1.h: New file.
51035         * tests/unistdio/test-u16-vasnprintf1.c: New file.
51036         * tests/unistdio/test-u16-vasnprintf2.c: New file.
51037         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
51038         * tests/unistdio/test-u16-vasnprintf3.c: New file.
51039         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
51040         * tests/unistdio/test-u16-vasprintf1.c: New file.
51041         * tests/unistdio/test-u16-vsnprintf1.c: New file.
51042         * tests/unistdio/test-u16-vsprintf1.c: New file.
51043         * tests/unistdio/test-u32-asnprintf1.c: New file.
51044         * tests/unistdio/test-u32-asnprintf1.h: New file.
51045         * tests/unistdio/test-u32-printf1.h: New file.
51046         * tests/unistdio/test-u32-vasnprintf1.c: New file.
51047         * tests/unistdio/test-u32-vasnprintf2.c: New file.
51048         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
51049         * tests/unistdio/test-u32-vasnprintf3.c: New file.
51050         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
51051         * tests/unistdio/test-u32-vasprintf1.c: New file.
51052         * tests/unistdio/test-u32-vsnprintf1.c: New file.
51053         * tests/unistdio/test-u32-vsprintf1.c: New file.
51054         * modules/unistdio/base: New file.
51055         * modules/unistdio/u-printf-args: New file.
51056         * modules/unistdio/ulc-asnprintf: New file.
51057         * modules/unistdio/ulc-asprintf: New file.
51058         * modules/unistdio/ulc-fprintf: New file.
51059         * modules/unistdio/ulc-printf-parse: New file.
51060         * modules/unistdio/ulc-snprintf: New file.
51061         * modules/unistdio/ulc-sprintf: New file.
51062         * modules/unistdio/ulc-vasnprintf: New file.
51063         * modules/unistdio/ulc-vasprintf: New file.
51064         * modules/unistdio/ulc-vfprintf: New file.
51065         * modules/unistdio/ulc-vsnprintf: New file.
51066         * modules/unistdio/ulc-vsprintf: New file.
51067         * modules/unistdio/u8-asnprintf: New file.
51068         * modules/unistdio/u8-asprintf: New file.
51069         * modules/unistdio/u8-printf-parse: New file.
51070         * modules/unistdio/u8-snprintf: New file.
51071         * modules/unistdio/u8-sprintf: New file.
51072         * modules/unistdio/u8-vasnprintf: New file.
51073         * modules/unistdio/u8-vasprintf: New file.
51074         * modules/unistdio/u8-vsnprintf: New file.
51075         * modules/unistdio/u8-vsprintf: New file.
51076         * modules/unistdio/u8-u8-asnprintf: New file.
51077         * modules/unistdio/u8-u8-asprintf: New file.
51078         * modules/unistdio/u8-u8-snprintf: New file.
51079         * modules/unistdio/u8-u8-sprintf: New file.
51080         * modules/unistdio/u8-u8-vasnprintf: New file.
51081         * modules/unistdio/u8-u8-vasprintf: New file.
51082         * modules/unistdio/u8-u8-vsnprintf: New file.
51083         * modules/unistdio/u8-u8-vsprintf: New file.
51084         * modules/unistdio/u16-asnprintf: New file.
51085         * modules/unistdio/u16-asprintf: New file.
51086         * modules/unistdio/u16-printf-parse: New file.
51087         * modules/unistdio/u16-snprintf: New file.
51088         * modules/unistdio/u16-sprintf: New file.
51089         * modules/unistdio/u16-vasnprintf: New file.
51090         * modules/unistdio/u16-vasprintf: New file.
51091         * modules/unistdio/u16-vsnprintf: New file.
51092         * modules/unistdio/u16-vsprintf: New file.
51093         * modules/unistdio/u16-u16-asnprintf: New file.
51094         * modules/unistdio/u16-u16-asprintf: New file.
51095         * modules/unistdio/u16-u16-snprintf: New file.
51096         * modules/unistdio/u16-u16-sprintf: New file.
51097         * modules/unistdio/u16-u16-vasnprintf: New file.
51098         * modules/unistdio/u16-u16-vasprintf: New file.
51099         * modules/unistdio/u16-u16-vsnprintf: New file.
51100         * modules/unistdio/u16-u16-vsprintf: New file.
51101         * modules/unistdio/u32-asnprintf: New file.
51102         * modules/unistdio/u32-asprintf: New file.
51103         * modules/unistdio/u32-printf-parse: New file.
51104         * modules/unistdio/u32-snprintf: New file.
51105         * modules/unistdio/u32-sprintf: New file.
51106         * modules/unistdio/u32-vasnprintf: New file.
51107         * modules/unistdio/u32-vasprintf: New file.
51108         * modules/unistdio/u32-vsnprintf: New file.
51109         * modules/unistdio/u32-vsprintf: New file.
51110         * modules/unistdio/u32-u32-asnprintf: New file.
51111         * modules/unistdio/u32-u32-asprintf: New file.
51112         * modules/unistdio/u32-u32-snprintf: New file.
51113         * modules/unistdio/u32-u32-sprintf: New file.
51114         * modules/unistdio/u32-u32-vasnprintf: New file.
51115         * modules/unistdio/u32-u32-vasprintf: New file.
51116         * modules/unistdio/u32-u32-vsnprintf: New file.
51117         * modules/unistdio/u32-u32-vsprintf: New file.
51118         * modules/unistdio/ulc-asnprintf-tests: New file.
51119         * modules/unistdio/ulc-vasnprintf-tests: New file.
51120         * modules/unistdio/ulc-vasprintf-tests: New file.
51121         * modules/unistdio/ulc-vsnprintf-tests: New file.
51122         * modules/unistdio/ulc-vsprintf-tests: New file.
51123         * modules/unistdio/u8-asnprintf-tests: New file.
51124         * modules/unistdio/u8-vasnprintf-tests: New file.
51125         * modules/unistdio/u8-vasprintf-tests: New file.
51126         * modules/unistdio/u8-vsnprintf-tests: New file.
51127         * modules/unistdio/u8-vsprintf-tests: New file.
51128         * modules/unistdio/u16-asnprintf-tests: New file.
51129         * modules/unistdio/u16-vasnprintf-tests: New file.
51130         * modules/unistdio/u16-vasprintf-tests: New file.
51131         * modules/unistdio/u16-vsnprintf-tests: New file.
51132         * modules/unistdio/u16-vsprintf-tests: New file.
51133         * modules/unistdio/u32-asnprintf-tests: New file.
51134         * modules/unistdio/u32-vasnprintf-tests: New file.
51135         * modules/unistdio/u32-vasprintf-tests: New file.
51136         * modules/unistdio/u32-vsnprintf-tests: New file.
51137         * modules/unistdio/u32-vsprintf-tests: New file.
51138         * MODULES.html.sh (Unicode string functions): Add the new modules.
51139
51140 2007-07-01  Bruno Haible  <bruno@clisp.org>
51141
51142         * lib/sprintf.c (sprintf): Limit the available length estimation,
51143         to avoid address wraparound.
51144         * lib/vsprintf.c (vsprintf): Likewise.
51145         * modules/sprintf-posix (Dependencies): Add stdint.
51146         * modules/vsprintf-posix (Dependencies): Likewise.
51147
51148 2007-07-01  Bruno Haible  <bruno@clisp.org>
51149
51150         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
51151         Windows PATH as well. Conservative double-quoting. Comments.
51152
51153 2007-07-01  Bruno Haible  <bruno@clisp.org>
51154             Eric Blake  <ebb9@byu.net>
51155             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51156
51157         * gnulib-tool (self_abspathname): Fix algorithm to cope with
51158         empty components in $PATH, denoting '.'.
51159
51160 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51161
51162         * gnulib-tool: Fix indentation.
51163         (func_create_megatestdir): Likewise.
51164         Report by Bruno Haible.
51165
51166 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51167
51168         Sync from Automake.
51169         * build-aux/gnupload: Fix shell portability issues with for loops.
51170         Report by Karl Berry.
51171
51172 2007-06-29  Simon Josefsson  <simon@josefsson.org>
51173
51174         * build-aux/maint.mk (POURL): Use translationproject.org.
51175
51176 2007-06-27  Simon Josefsson  <simon@josefsson.org>
51177             Bruno Haible  <bruno@clisp.org>
51178
51179         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
51180         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
51181         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
51182         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
51183         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
51184
51185 2007-06-27  Bruno Haible  <bruno@clisp.org>
51186
51187         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
51188         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
51189
51190 2007-06-26  Karl Berry  <karl@gnu.org>
51191
51192         * MODULES.html.sh: remove xreadlink-with-size.
51193
51194 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51195
51196         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
51197         method that I hope also handles the double-include problem noted
51198         by Bruno Haible in
51199         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
51200
51201 2007-06-23  Bruno Haible  <bruno@clisp.org>
51202
51203         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51204         Don't let the 'mostlyclean' target fail if the last subdirectory could
51205         not be removed.
51206         Reported by Karl Berry.
51207
51208 2007-06-23  Bruno Haible  <bruno@clisp.org>
51209
51210         * gnulib-tool (echo): Add a speedier workaround for ksh.
51211         * tests/test-echo.sh: Likewise.
51212
51213 2007-06-23  Bruno Haible  <bruno@clisp.org>
51214
51215         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
51216         * tests/test-echo.sh: Likewise.
51217
51218 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51219
51220         * gnulib-tool (IFS): Initialize early, so we don't set it to
51221         empty later.
51222         (self_abspathname): Rewrite algorithm to set it, reindent.
51223         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
51224         (func_create_megatestdir): Merge some sed scripts.
51225
51226 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51227
51228         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
51229         exposed by Sun Studio 11 cc on Solaris 8.
51230
51231 2007-06-22  Bruno Haible  <bruno@clisp.org>
51232
51233         * gnulib-tool (echo): Ensure the echo primitive does not interpret
51234         backslashes.
51235         * tests/test-echo.sh: New file.
51236
51237 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51238
51239         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
51240         simplify `sed_replace_build_aux' scripts, they are portable but
51241         echoing them with `echo' is not.
51242         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
51243
51244 2007-06-21  Karl Berry  <karl@gnu.org>
51245
51246         * config/srclist.txt: guess we can't handle the licenses via
51247         srclist at the moment.
51248
51249 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
51250
51251         * MODULES.html.sh: Add include_next.
51252         * modules/include_next: New file.
51253
51254 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51255
51256         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
51257         INCLUDE_NEXT.
51258         (gl_CHECK_NEXT_HEADERS): New macro.
51259         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
51260         the obsolescent gl_ABSOLUTE_HEADER.
51261         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
51262         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
51263         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
51264         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
51265         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
51266         * m4/math_h.m4 (gl_MATH_H): Likewise.
51267         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
51268         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
51269         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
51270         * m4/stdint.m4 (gl_STDINT_H): Likewise.
51271         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
51272         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
51273         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
51274         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
51275         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
51276         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
51277         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
51278         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
51279         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
51280         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
51281         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
51282         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
51283         * m4/inttypes.m4 (gl_INTTYPES_H): Define
51284         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
51285         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
51286         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
51287         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
51288         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
51289         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
51290         * lib/float_.h: Likewise.
51291         * lib/inttypes_.h: Likewise.
51292         * lib/math_.h: Likewise.
51293         * lib/search_.h: Likewise.
51294         * lib/signal_.h: Likewise.
51295         * lib/stdint_.h: Likewise.
51296         * lib/stdio_.h: Likewise.
51297         * lib/stdlib_.h: Likewise.
51298         * lib/string_.h: Likewise.
51299         * lib/sys_stat_.h: Likewise.
51300         * lib/sys_time_.h: Likewise.
51301         * lib/time_.h: Likewise.
51302         * lib/unistd_.h: Likewise.
51303         * lib/wchar_.h: Likewise.
51304         * lib/wctype_.h: Likewise.
51305         * lib/dirent_.h: Likewise.
51306         * lib/iconv_.h: Likewise.
51307         * lib/locale_.h: Likewise.
51308         * lib/netinet_in_.h: Likewise.
51309         * lib/sys_select_.h: Likewise.
51310         * lib/sys_socket_.h: Likewise.
51311         * lib/sysexits_.h: Likewise.
51312         * modules/fcntl (Depends-on): Depend on include_next, not
51313         absolute_header.
51314         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
51315         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
51316         * modules/fchdir: Likewise.
51317         * modules/float: Likewise.
51318         * modules/iconv_open: Likewise.
51319         * modules/inttypes: Likewise.
51320         * modules/locale: Likewise.
51321         * modules/math: Likewise.
51322         * modules/netinet_in: Likewise.
51323         * modules/search: Likewise.
51324         * modules/signal: Likewise.
51325         * modules/stdint: Likewise.
51326         * modules/stdio: Likewise.
51327         * modules/stdlib: Likewise.
51328         * modules/string: Likewise.
51329         * modules/sys_select: Likewise.
51330         * modules/sys_socket: Likewise.
51331         * modules/sys_stat: Likewise.
51332         * modules/sys_time: Likewise.
51333         * modules/sysexits: Likewise.
51334         * modules/time: Likewise.
51335         * modules/unistd: Likewise.
51336         * modules/wchar: Likewise.
51337         * modules/wctype: Likewise.
51338         * modules/sys_stat: Change maintainer to "all".
51339         * modules/unistd: Likewise.
51340
51341 2007-06-20  Karl Berry  <karl@gnu.org>
51342
51343         * config/srclist.txt: track www changes in license files.
51344
51345 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
51346
51347         * build-aux/bootstrap: Remove stray dot.
51348         Make sure build_aux settings are honored when linking
51349         gnulib_extra_files.
51350
51351 2007-06-19  Eric Blake  <ebb9@byu.net>
51352
51353         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
51354         Allow compilation on cygwin.
51355
51356 2007-06-19  Jim Meyering  <jim@meyering.net>
51357
51358         xreadlink-with-size: Remove module.  No longer used.
51359         Ex-callers now use xreadlink or mreadlink-with-size.
51360         * modules/xreadlink-with-size: Remove module.
51361         * lib/xreadlink-with-size.c: Remove file.
51362         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
51363         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
51364         just before the function definition *is* accurate.
51365
51366         Eliminate one way canonicalize_filename_mode could exit.
51367         * lib/canonicalize.c (canonicalize_filename_mode):
51368         Use mreadlink_with_size, not xreadlink_with_size.
51369
51370 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
51371
51372         Detect porting problems to FreeBSD/arm, which has time_t wider than
51373         long int.  Original problem reported for GNU diff by Xin Li in
51374         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
51375         * modules/getdate (Depends-on): Add intprops, verify.
51376         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
51377         is an integer type no wider than long int.
51378
51379 2007-06-18  Jim Meyering  <jim@meyering.net>
51380
51381         New module: mreadlink-with-size.
51382         * MODULES.html.sh: Add mreadlink-with-size.
51383         * modules/mreadlink-with-size: New module
51384         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
51385         not xreadlink-with-size.
51386         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
51387
51388 2007-06-16  Bruno Haible  <bruno@clisp.org>
51389
51390         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
51391         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
51392         Reported by Gary V. Vaughan <gary@gnu.org>.
51393
51394 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
51395
51396         Revamp lchown so that it lives in unistd.h where it belongs.
51397         * lib/lchown.h: Remove.
51398         * lib/dirchownmod.c: Don't include lib/lchown.h.
51399         * lib/fchownat.c: Likewise.
51400         * lib/openat.c: Likewise.
51401         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
51402         does not follow symlinks.
51403         (EOPNOTSUPP): Define if not defined.
51404         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
51405         is defined to 0.
51406         (lchown): New decl.
51407         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
51408         Do not check for lchown decl.
51409         Set REPLACE_LCHOWN.
51410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
51411         REPLACE_LCHOWN.
51412         * modules/chown: Make it clear it follows symlinks.
51413         * modules/lchown: Make it clear it doesn't follow symlinks.
51414         (Files): Remove lib/lchown.h
51415         (Depends-on): Add unistd.
51416         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
51417         (Include): Include <unistd.h>, not "lchown.h".
51418         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
51419         REPLACE_LCHOWN.
51420
51421 2007-06-15  Jim Meyering  <jim@meyering.net>
51422
51423         Change license (GPL to LGPL) of fsusage and dependents.
51424         * modules/fsusage (License): Change to LGPL.
51425         * modules/full-read (License): Likewise.
51426         * modules/full-write (License): Likewise.
51427         * modules/safe-read (License): Likewise.
51428         * modules/safe-write (License): Likewise.
51429
51430 2007-06-14  Ben Pfaff  <blp@gnu.org>
51431
51432         Missing part of allocsa -> malloca transition.
51433         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
51434         gl_MALLOCA.
51435
51436 2007-06-12  Bruno Haible  <bruno@clisp.org>
51437
51438         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
51439         to ia64, x86_64, i386.
51440         Reported by Eric Blake.
51441
51442 2007-06-12  Bruno Haible  <bruno@clisp.org>
51443
51444         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
51445         cross-compiling to x86_64.
51446
51447 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
51448
51449         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
51450         glitch reported by Ralf Wildenhues in
51451         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
51452
51453         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
51454         Vin Shelton.
51455
51456 2007-06-11  Bruno Haible  <bruno@clisp.org>
51457
51458         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
51459         replacement string.
51460         Reported by Eric Blake.
51461
51462 2007-06-10  Bruno Haible  <bruno@clisp.org>
51463
51464         Prepare vasnprintf code for use with Unicode strings.
51465         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
51466         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
51467         TYPE_U32_STRING.
51468         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
51469         a_u32_string variants.
51470         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
51471         * lib/printf-args.c: Don't include config.h and the specification
51472         header if PRINTF_FETCHARGS is already defined.
51473         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
51474         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
51475         TYPE_U16_STRING, TYPE_U32_STRING.
51476         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
51477         u16_directive, u16_directives, u32_directive, u32_directives): New
51478         types.
51479         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
51480         New declarations.
51481         * lib/printf-parse.c: Don't include config.h and the specification
51482         header if PRINTF_PARSE is already defined. Eliminate the set of
51483         parameters for WIDE_CHAR_VERSION; the user of this file must provide
51484         them now. Include c-ctype.h.
51485         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
51486         directive and CHAR_T_ONLY_ASCII.
51487         * lib/vasnprintf.c: Don't include config.h and the specification header
51488         if VASNPRINTF is already defined.
51489         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
51490         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
51491         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
51492         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
51493         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
51494         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
51495         code accordingly.
51496         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
51497         pad_ourselves also in this case, with the 'c' and 's' directives, and
51498         with a different notion of "width".
51499         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
51500
51501 2007-06-10  Bruno Haible  <bruno@clisp.org>
51502
51503         * modules/unistr/u32-mbsnlen: New file.
51504         * lib/unistr/u32-mbsnlen.c: New file.
51505
51506         * modules/unistr/u16-mbsnlen: New file.
51507         * lib/unistr/u16-mbsnlen.c: New file.
51508
51509         * modules/unistr/u8-mbsnlen: New file.
51510         * lib/unistr/u8-mbsnlen.c: New file.
51511
51512         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
51513         declarations.
51514
51515 2007-06-10  Bruno Haible  <bruno@clisp.org>
51516
51517         * lib/string_.h (mbsnlen): New declaration.
51518         * lib/mbsnlen.c: New file.
51519         * m4/mbsnlen.m4: New file.
51520         * modules/mbsnlen: New file.
51521         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
51522         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
51523         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
51524
51525 2007-06-10  Bruno Haible  <bruno@clisp.org>
51526
51527         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
51528
51529 2007-06-10  Bruno Haible  <bruno@clisp.org>
51530
51531         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
51532         * lib/mbuiter.h: Likewise.
51533
51534 2007-06-10  Bruno Haible  <bruno@clisp.org>
51535
51536         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
51537         declaration.
51538
51539 2007-06-10  Karl Berry  <karl@gnu.org>
51540
51541         * config/srclist.txt: remove gettext entries, Bruno prefers
51542         to update individually.
51543
51544 2007-06-10  Bruno Haible  <bruno@clisp.org>
51545
51546         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
51547         'maxlen'. Ensure only length + width bytes are allocated, not
51548         length + 1 + width.
51549
51550 2007-06-09  Bruno Haible  <bruno@clisp.org>
51551
51552         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
51553         (CHAR_T): Remove macro.
51554         (VASNPRINTF): Update.
51555
51556 2007-06-09  Bruno Haible  <bruno@clisp.org>
51557
51558         * MODULES.html.sh (Unicode string functions): Add the new modules.
51559
51560         * modules/uniconv/u32-conv-to-enc: New file.
51561         * lib/uniconv/u32-conv-to-enc.c: New file.
51562         * modules/uniconv/u32-conv-to-enc-tests: New file.
51563         * tests/uniconv/test-u32-conv-to-enc.c: New file.
51564
51565         * modules/uniconv/u16-conv-to-enc: New file.
51566         * lib/uniconv/u16-conv-to-enc.c: New file.
51567         * lib/uniconv/u-conv-to-enc.h: New file.
51568         * modules/uniconv/u16-conv-to-enc-tests: New file.
51569         * tests/uniconv/test-u16-conv-to-enc.c: New file.
51570
51571         * modules/uniconv/u8-conv-to-enc: New file.
51572         * lib/uniconv/u8-conv-to-enc.c: New file.
51573         * modules/uniconv/u8-conv-to-enc-tests: New file.
51574         * tests/uniconv/test-u8-conv-to-enc.c: New file.
51575
51576         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
51577         u32_conv_to_encoding): New declarations.
51578
51579 2007-06-09  Bruno Haible  <bruno@clisp.org>
51580
51581         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
51582
51583 2007-06-09  Bruno Haible  <bruno@clisp.org>
51584
51585         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
51586         * modules/malloca: Renamed from modules/allocsa, updated.
51587         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
51588         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
51589         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
51590         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
51591         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
51592         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
51593         * modules/xmalloca: Renamed from modules/xallocsa, updated.
51594         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
51595         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
51596         * modules/c-strcasestr (Depends-on): Update.
51597         * lib/c-strcasestr.c: Update.
51598         * modules/c-strstr (Depends-on): Update.
51599         * lib/c-strstr.c: Update.
51600         * modules/canonicalize-lgpl (Depends-on): Update.
51601         * lib/canonicalize-lgpl.c: Update.
51602         * modules/clean-temp (Depends-on): Update.
51603         * lib/clean-temp.c: Update.
51604         * modules/csharpcomp (Depends-on): Update.
51605         * lib/csharpcomp.c: Update.
51606         * modules/csharpexec (Depends-on): Update.
51607         * lib/csharpexec.c: Update.
51608         * modules/javacomp (Depends-on): Update.
51609         * lib/javacomp.c: Update.
51610         * modules/javaexec (Depends-on): Update.
51611         * lib/javaexec.c: Update.
51612         * modules/mbscasestr (Depends-on): Update.
51613         * lib/mbscasestr.c: Update.
51614         * modules/mbsstr (Depends-on): Update.
51615         * lib/mbsstr.c: Update.
51616         * modules/setenv (Depends-on): Update.
51617         * lib/setenv.c: Update.
51618         * modules/strcasestr (Depends-on): Update.
51619         * lib/strcasestr.c: Update.
51620         * modules/striconveha (Depends-on): Update.
51621         * lib/striconveha.c: Update.
51622         * modules/relocatable-prog-wrapper (Files): Update.
51623         * lib/relocwrapper.c: Update.
51624         * build-aux/install-reloc: Update.
51625         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
51626
51627 2007-06-08  Bruno Haible  <bruno@clisp.org>
51628
51629         Port to uClibc.
51630         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
51631         * lib/fpurge.c (fpurge): Likewise.
51632         * lib/freading.c (freading): Likewise.
51633         * lib/fseeko.c (rpl_fseeko): Likewise.
51634         * lib/fseterr.c (fseterr): Likewise.
51635         * lib/fwriting.c (fwriting): Likewise.
51636         * tests/test-fflush.c (main): Avoid a failure on uClibc.
51637
51638 2007-06-08  Bruno Haible  <bruno@clisp.org>
51639
51640         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
51641         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
51642         * modules/gettext (Files): Add m4/intlmacosx.m4.
51643
51644 2007-06-07  Bruno Haible  <bruno@clisp.org>
51645
51646         * modules/localename-tests: New file.
51647         * tests/test-localename.c: New file.
51648
51649         New module 'localename'.
51650         * lib/localename.h: New file.
51651         * lib/localename.c: New file, from GNU gettext.
51652         * m4/localename.m4: New file.
51653         * modules/localename: New file.
51654
51655 2007-06-07  Bruno Haible  <bruno@clisp.org>
51656
51657         Work around the lack of <wchar.h> on some builds of uClibc.
51658         * doc/headers/wchar.texi: Update.
51659         * lib/wchar_.h: Include <wchar.h> only if it exists.
51660         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
51661         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
51662         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
51663         doesn't exist.
51664         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
51665         * modules/mbfile (Depends-on): Add wchar.
51666         * modules/mbiter (Depends-on): Likewise.
51667         * modules/mbuiter (Depends-on): Likewise.
51668         Reported by Simon Josefsson.
51669
51670 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
51671
51672         Work around problem reported by Steven M. Schweda in
51673         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
51674         Tru64 5.1B with the Compaq compiler environment installed declares
51675         an 'isblank' function but does not define it in the C library.
51676         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
51677         * lib/regex_internal.h (isblank): Likewise.
51678         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
51679         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51680
51681 2007-06-05  Bruno Haible  <bruno@clisp.org>
51682
51683         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
51684         ia64.
51685         * modules/printf-safe: New file.
51686         * modules/fprintf-posix (Depends-on): Add printf-safe.
51687         * modules/printf-posix (Depends-on): Likewise.
51688         * modules/snprintf-posix (Depends-on): Likewise.
51689         * modules/sprintf-posix (Depends-on): Likewise.
51690         * modules/vasnprintf-posix (Depends-on): Likewise.
51691         * modules/vasprintf-posix (Depends-on): Likewise.
51692         * modules/vfprintf-posix (Depends-on): Likewise.
51693         * modules/vprintf-posix (Depends-on): Likewise.
51694         * modules/vsnprintf-posix (Depends-on): Likewise.
51695         * modules/vsprintf-posix (Depends-on): Likewise.
51696         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
51697         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
51698         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
51699         "no" on i386, x86_64, ia64.
51700         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
51701         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51702         on i386, x86_64, ia64.
51703         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
51704         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51705         on i386, x86_64, ia64.
51706         * tests/test-vasnprintf-posix.c: Include float.h.
51707         (LDBL80_WORDS): New macro.
51708         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51709         on i386, x86_64, ia64.
51710         * tests/test-vasprintf-posix.c: Include float.h.
51711         (LDBL80_WORDS): New macro.
51712         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51713         on i386, x86_64, ia64.
51714         * tests/test-snprintf-posix.c: Include float.h.
51715         * tests/test-sprintf-posix.c: Likewise.
51716         * tests/test-vsnprintf-posix.c: Likewise.
51717         * tests/test-vsprintf-posix.c: Likewise.
51718
51719 2007-06-05  Bruno Haible  <bruno@clisp.org>
51720
51721         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
51722         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
51723         non-IEEE numbers on i386, x86_64, ia64.
51724         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
51725         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
51726         * tests/test-isnanl.h: Include float.h.
51727         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
51728
51729 2007-06-05  Bruno Haible  <bruno@clisp.org>
51730
51731         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
51732         also the %a / %A. Handle the %a / %A code before this extra handling.
51733
51734 2007-06-05  Bruno Haible  <bruno@clisp.org>
51735
51736         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
51737         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
51738
51739 2007-06-05  Bruno Haible  <bruno@clisp.org>
51740
51741         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
51742         typo in variable name.
51743
51744 2007-06-05  Eric Blake  <ebb9@byu.net>
51745
51746         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
51747         Reported by Simon Josefsson.
51748
51749 2007-06-04  Bruno Haible  <bruno@clisp.org>
51750
51751         Avoid test failures on some PowerPC platforms.
51752         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
51753         Define differently for PowerPC.
51754         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
51755         Reported by Gary V. Vaughan <gary@gnu.org>.
51756
51757 2007-06-02  Bruno Haible  <bruno@clisp.org>
51758
51759         Fix test-stdint failure on FreeBSD/ia64.
51760         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
51761         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
51762         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
51763         * doc/headers/stdint.texi: Update.
51764
51765 2007-06-01  Bruno Haible  <bruno@clisp.org>
51766
51767         * tests/test-binary-io.c (main): Pass a third argument to open().
51768         Reported by Gary V. Vaughan <gary@gnu.org>.
51769
51770 2007-06-01  Bruno Haible  <bruno@clisp.org>
51771
51772         * doc/functions/frexpl.texi: Update for mingw.
51773
51774 2007-06-01  Bruno Haible  <bruno@clisp.org>
51775
51776         * tests/test-lseek.c (main): Disable test of errno for invalid third
51777         argument.
51778         * doc/functions/lseek.texi: Update.
51779         Reported by Gary V. Vaughan <gary@gnu.org>.
51780
51781 2007-05-28  Bruno Haible  <bruno@clisp.org>
51782
51783         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
51784
51785 2007-05-31  Eric Blake  <ebb9@byu.net>
51786
51787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
51788         cross compiling.
51789
51790 2007-05-30  Eric Blake  <ebb9@byu.net>
51791         and Bruno Haible  <bruno@clisp.org>
51792
51793         Work around mingw test failures exposed by m4-1.4.9b.
51794         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
51795         * tests/test-unistd.c: Disable uid_t and git_t tests for the
51796         moment.
51797
51798 2007-05-30  Bruno Haible  <bruno@clisp.org>
51799
51800         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
51801         assuming that they are closed. Needed on HP-UX 11.
51802
51803 2007-05-29  Bruno Haible  <bruno@clisp.org>
51804
51805         Fix a problem with #include_next.
51806         * lib/dirent_.h: Split the double-inclusion guard.
51807         * lib/fcntl_.h: Likewise.
51808         * lib/float_.h: Likewise.
51809         * lib/iconv_.h: Likewise.
51810         * lib/inttypes_.h: Likewise.
51811         * lib/locale_.h: Likewise.
51812         * lib/math_.h: Likewise.
51813         * lib/netinet_in_.h: Likewise.
51814         * lib/search_.h: Likewise.
51815         * lib/signal_.h: Likewise.
51816         * lib/stdint_.h: Likewise.
51817         * lib/stdio_.h: Likewise.
51818         * lib/stdlib_.h: Likewise.
51819         * lib/string_.h: Likewise.
51820         * lib/sys_select_.h: Likewise.
51821         * lib/sys_socket_.h: Likewise.
51822         * lib/sys_stat_.h: Likewise.
51823         * lib/sys_time_.h: Likewise.
51824         * lib/sysexits_.h: Likewise.
51825         * lib/time_.h: Likewise.
51826         * lib/unistd_.h: Likewise.
51827         * lib/wchar_.h: Likewise.
51828         * lib/wctype_.h: Likewise.
51829
51830 2007-05-29  Bruno Haible  <bruno@clisp.org>
51831
51832         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
51833         for the moment.
51834
51835 2007-05-29  Bruno Haible  <bruno@clisp.org>
51836
51837         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
51838         invocation.
51839         Reported by Eric Blake.
51840
51841 2007-05-29  Bruno Haible  <bruno@clisp.org>
51842
51843         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
51844         compiling case.
51845
51846 2007-05-29  Eric Blake  <ebb9@byu.net>
51847             Bruno Haible  <bruno@clisp.org>
51848
51849         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
51850         cross compiles.
51851
51852 2007-05-28  Eric Blake  <ebb9@byu.net>
51853
51854         * modules/closein-tests (test_closein_LDADD): Support test on
51855         cygwin with libtool.
51856
51857 2007-05-28  Bruno Haible  <bruno@clisp.org>
51858
51859         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
51860         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
51861         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
51862         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
51863         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
51864         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
51865         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
51866         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
51867         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
51868
51869 2007-05-28  Eric Blake  <ebb9@byu.net>
51870
51871         Unconditionally include <config.h> in unit tests.
51872         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
51873         * tests/test-allocsa.c, tests/test-arcfour.c,
51874         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
51875         tests/test-array_list.c, tests/test-array_oset.c,
51876         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
51877         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
51878         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
51879         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
51880         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
51881         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
51882         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
51883         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
51884         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
51885         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
51886         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
51887         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
51888         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
51889         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
51890         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
51891         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
51892         test-md5.c, test-memmem.c, test-printf-posix.c,
51893         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
51894         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
51895         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
51896         test-strcasestr.c, test-striconv.c, test-striconveh.c,
51897         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
51898         test-vasnprintf-posix2.c, test-vasnprintf.c,
51899         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
51900         test-vfprintf-posix.c, test-vprintf-posix.c,
51901         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
51902         test-xvasprintf.c: Likewise.
51903
51904 2007-05-28  Bruno Haible  <bruno@clisp.org>
51905
51906         * gnulib-tool (func_import): Remember the --with-tests command-line
51907         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
51908         Reported by Eric Blake.
51909
51910 2007-05-28  Bruno Haible  <bruno@clisp.org>
51911
51912         * modules/ftell-tests: New file.
51913         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
51914         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
51915
51916         * lib/ftell.c: New file.
51917         * modules/ftell: New file.
51918         * m4/ftell.m4: New file.
51919         * doc/functions/ftell.texi: Update.
51920         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
51921         REPLACE_FTELL.
51922         * lib/stdio_.h (rpl_ftell): New declaration.
51923         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
51924         REPLACE_FTELL.
51925
51926 2007-05-28  Eric Blake  <ebb9@byu.net>
51927
51928         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
51929
51930 2007-05-28  Bruno Haible  <bruno@clisp.org>
51931
51932         * modules/fseek-tests: New file.
51933         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
51934         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
51935
51936         * lib/fseek.c: New file.
51937         * modules/fseek: New file.
51938         * m4/fseek.m4: New file.
51939         * doc/functions/fseek.texi: Update.
51940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
51941         REPLACE_FSEEK.
51942         * lib/stdio_.h (rpl_fseek): New declaration.
51943         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
51944         REPLACE_FSEEK.
51945
51946 2007-05-28  Bruno Haible  <bruno@clisp.org>
51947
51948         * lib/stdio_.h (fflush): More comments.
51949
51950 2007-05-28  Bruno Haible  <bruno@clisp.org>
51951
51952         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
51953         runtime test.
51954
51955 2007-05-28  Eric Blake  <ebb9@byu.net>
51956
51957         Improve lseek module.
51958         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
51959         * lib/unistd_.h (lseek): Scale back link warning message.
51960         * tests/test-lseek.c: Beef up test.
51961         * tests/test-lseek.sh: Exercise more facets of lseek.
51962         Reported by Bruno Haible.
51963
51964 2007-05-28  Bruno Haible  <bruno@clisp.org>
51965
51966         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
51967         to define.
51968
51969 2007-05-27  Bruno Haible  <bruno@clisp.org>
51970
51971         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
51972
51973 2007-05-27  Bruno Haible  <bruno@clisp.org>
51974
51975         * modules/openmp: New file.
51976         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
51977         Noah Misch.
51978
51979 2007-05-26  Bruno Haible  <bruno@clisp.org>
51980
51981         * modules/chdir-long (Depends-on): Add fchdir.
51982         * modules/chdir-safer (Depends-on): Likewise.
51983         * modules/fts (Depends-on): Likewise.
51984         * modules/fts-lgpl (Depends-on): Likewise.
51985         * modules/openat (Depends-on): Likewise.
51986         * modules/savewd (Depends-on): Likewise.
51987
51988 2007-05-24  Eric Blake  <ebb9@byu.net>
51989
51990         Fix lseek on mingw.
51991         * modules/lseek: New module.
51992         * m4/lseek.m4: New file.
51993         * lib/lseek.c: New file.
51994         * modules/lseek-tests: New file.
51995         * tests/test-lseek.c: New file.
51996         * tests/test-lseek.sh: New file.
51997         * MODULES.html.sh: Document lseek module.
51998         * modules/fflush (Depends-on): Add lseek, fseeko.
51999         * modules/fseeko (Depends-on): Likewise.
52000         * modules/ftello (Depends-on): Likewise.
52001         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
52002         broken.
52003         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
52004         broken.
52005         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
52006         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
52007         * lib/ftello.c (rpl_ftello): Likewise.
52008         * tests/test-fseeko.c (main): Test this.
52009         * tests/test-fseeko.sh: Likewise.
52010         * tests/test-ftello.c (main): Likewise.
52011         * tests/test-ftello.sh: Likewise.
52012         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
52013         implies replacing fseek.
52014         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
52015         HAVE_FTELLO.
52016         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
52017         * modules/unistd (Makefile.am): Likewise.
52018         * lib/unistd_.h (lseek): Declare a replacement.
52019         * doc/functions/lseek.texi (lseek): Document this fix.
52020         * doc/functions/fseek.texi (fseek): Likewise.
52021         * doc/functions/ftell.texi (ftell): Likewise.
52022
52023 2007-05-24  Bruno Haible  <bruno@clisp.org>
52024
52025         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
52026         in the printed representation of a NaN.
52027         * tests/test-vasprintf-posix.c (test_function): Likewise.
52028         * tests/test-snprintf-posix.h (test_function): Likewise.
52029         * tests/test-sprintf-posix.h (test_function): Likewise.
52030         Reported by Eric Blake.
52031
52032 2007-05-23  Eric Blake  <ebb9@byu.net>
52033
52034         Fix fseeko/ftello on cygwin 1.5.24.
52035         * doc/functions/fseeko.texi (fseeko): Document the fix.
52036         * doc/functions/ftello.texi (ftello): Document the fix.
52037         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
52038         * doc/functions/stdout.text (stdout): New file.
52039         * doc/functions/stderr.text (stderr): New file.
52040         * doc/gnulib.texi (Function Substitutes): Use new files.
52041         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
52042         prior to 1.7.0.
52043         * tests/test-ftello.c (main): Likewise for ftello.
52044         * tests/test-fseeko.sh: New file.
52045         * tests/test-ftello.sh: New file.
52046         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
52047         with seekable stdin.
52048         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
52049         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
52050         (gl_REPLACE_FSEEKO): New macro.
52051         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
52052         * modules/fseeko (Files): Distribute fseeko.c.
52053         * modules/ftello (Files): Distribute ftello.c.
52054         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
52055         mode.
52056         * lib/ftello.c (rpl_ftello): New file.
52057         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
52058         fseeko, ftello.
52059         (gl_STDIN_LARGE_OFFSET): New macro.
52060         * modules/stdio (Makefile.am): Perform the replacement.
52061         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
52062
52063 2007-05-23  Bruno Haible  <bruno@clisp.org>
52064
52065         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
52066         GNULIB_POSIXCHECK is defined.
52067
52068 2007-05-21  Bruno Haible  <bruno@clisp.org>
52069
52070         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
52071         Check also the output for NaN arguments. When cross-compiling, guess
52072         no on IRIX.
52073         * lib/vasnprintf.c: Update comments.
52074         * tests/test-vasnprintf-posix.c (strisnan): New function.
52075         (test_function): Use it.
52076         * tests/test-vasprintf-posix.c (strisnan): New function.
52077         (test_function): Use it.
52078         * tests/test-snprintf-posix.h (strisnan): New function.
52079         (test_function): Use it.
52080         * tests/test-sprintf-posix.h (strisnan): New function.
52081         (test_function): Use it.
52082         Reported by Eric Blake.
52083
52084 2007-05-20  Bruno Haible  <bruno@clisp.org>
52085
52086         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
52087         numbers that fails on BeOS.
52088         * doc/functions/frexpl.texi: Update.
52089
52090 2007-05-20  Jim Meyering  <jim@meyering.net>
52091
52092         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
52093         forced upon us by glibc-2.6.
52094
52095 2007-05-20  Bruno Haible  <bruno@clisp.org>
52096
52097         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
52098         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
52099         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
52100         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
52101         NEED_PRINTF_INFINITE.
52102         (is_infinitel): New function.
52103         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
52104         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
52105         gl_PREREQ_VASNPRINTF_INFINITE.
52106         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
52107         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52108         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
52109         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
52110         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
52111         gl_PREREQ_VASNPRINTF_INFINITE.
52112         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52113         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52114         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52115         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52116         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52117         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52118         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52119         * doc/functions/fprintf.texi: Update.
52120         * doc/functions/printf.texi: Update.
52121         * doc/functions/snprintf.texi: Update.
52122         * doc/functions/sprintf.texi: Update.
52123         * doc/functions/vfprintf.texi: Update.
52124         * doc/functions/vprintf.texi: Update.
52125         * doc/functions/vsnprintf.texi: Update.
52126         * doc/functions/vsprintf.texi: Update.
52127
52128 2007-05-20  Bruno Haible  <bruno@clisp.org>
52129
52130         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
52131         was not found in libc.
52132         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
52133
52134 2007-05-20  Bruno Haible  <bruno@clisp.org>
52135
52136         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
52137         printed as "-nan" instead of "nan".
52138         * tests/test-vasprintf-posix.c (test_function): Likewise.
52139         * tests/test-snprintf-posix.h (test_function): Likewise.
52140         * tests/test-sprintf-posix.h (test_function): Likewise.
52141         Needed for HP-UX 11.
52142
52143 2007-05-20  Jim Meyering  <jim@meyering.net>
52144
52145         Fix buggy test for the fchownat-deref bug.
52146         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
52147         symlink required for the run-test.  Without it, this test would
52148         always declare that fchownat doesn't work, and client code would
52149         unnecessarily use the replacement function with fixed libc.
52150         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
52151         Reported by Greg Schafer.
52152
52153 2007-05-19  Bruno Haible  <bruno@clisp.org>
52154
52155         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
52156         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
52157         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
52158         Needed for IRIX 6.5 and Solaris 2.5.1.
52159
52160 2007-05-19  Bruno Haible  <bruno@clisp.org>
52161
52162         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
52163         (test_function): Skip tests involving -0.0 on platforms where
52164         -0.0 = 0.0.
52165         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
52166         (test_function): Skip tests involving -0.0 on platforms where
52167         -0.0 = 0.0.
52168         * tests/test-snprintf-posix.h (have_minus_zero): New function.
52169         (test_function): Skip tests involving -0.0 on platforms where
52170         -0.0 = 0.0.
52171         * tests/test-sprintf-posix.h (have_minus_zero): New function.
52172         (test_function): Skip tests involving -0.0 on platforms where
52173         -0.0 = 0.0.
52174         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
52175         tests.
52176         * tests/test-printf-posix.h (test_function): Likewise.
52177         * tests/test-printf-posix.output: Remove all -0.0 related results.
52178         Needed for IRIX 6.5.
52179
52180 2007-05-19  Bruno Haible  <bruno@clisp.org>
52181
52182         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
52183         printed as "nan0x7fffffff" instead of "nan".
52184         * tests/test-vasprintf-posix.c (test_function): Likewise.
52185         * tests/test-snprintf-posix.h (test_function): Likewise.
52186         * tests/test-sprintf-posix.h (test_function): Likewise.
52187         * tests/test-fprintf-posix.h (NaN): Remove macro.
52188         (test_function): Remove all NaN related tests.
52189         * tests/test-printf-posix.h (NaN): Remove macro.
52190         (test_function): Remove all NaN related tests.
52191         * tests/test-printf-posix.output: Remove all NaN related results.
52192         Needed for IRIX 6.5.
52193
52194 2007-05-19  Bruno Haible  <bruno@clisp.org>
52195
52196         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
52197         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
52198
52199 2007-05-19  Bruno Haible  <bruno@clisp.org>
52200
52201         * lib/float_.h: New file.
52202         * m4/float_h.m4: New file.
52203         * modules/float: New file.
52204         * modules/isnanl (Dependencies): Add float.
52205         * modules/isnanl-nolibm (Dependencies): Likewise.
52206         * modules/mathl (Dependencies): Likewise.
52207         * modules/printf-frexpl (Dependencies): Likewise.
52208         * modules/signbit (Dependencies): Likewise.
52209         * modules/vasnprintf (Dependencies): Likewise.
52210         * doc/headers/float.texi: Update.
52211
52212 2007-05-19  Jim Meyering  <jim@meyering.net>
52213
52214         * lib/utimens.c (gl_futimens): Rename from futimens,
52215         now that glibc-2.6 declares futimens.
52216         * lib/utimens.h: Likewise.
52217
52218 2007-05-19  Bruno Haible  <bruno@clisp.org>
52219
52220         Avoid test failures on mingw.
52221         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
52222         * tests/test-printf-posix.sh: Likewise.
52223         * tests/test-vfprintf-posix.sh: Likewise.
52224         * tests/test-vprintf-posix.sh: Likewise.
52225
52226 2007-05-19  Bruno Haible  <bruno@clisp.org>
52227
52228         Fix *printf result for NaN, Inf, -0.0 on mingw.
52229         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
52230         * lib/vasnprintf.c: Include math.h and isnan.h.
52231         (is_infinite_or_zero): New function.
52232         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
52233         values in the %f, %F, %e, %E, %g, %G directives.
52234         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
52235         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52236         gl_PRINTF_INFINITE and test its result. Invoke
52237         gl_PREREQ_VASNPRINTF_INFINITE.
52238         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52239         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52240         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52241         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52242         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52243         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52244         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52245         * doc/functions/fprintf.texi: Update.
52246         * doc/functions/printf.texi: Update.
52247         * doc/functions/snprintf.texi: Update.
52248         * doc/functions/sprintf.texi: Update.
52249         * doc/functions/vfprintf.texi: Update.
52250         * doc/functions/vprintf.texi: Update.
52251         * doc/functions/vsnprintf.texi: Update.
52252         * doc/functions/vsprintf.texi: Update.
52253
52254 2007-05-19  Bruno Haible  <bruno@clisp.org>
52255
52256         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
52257         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
52258         Instead of multiplying with 10^k, set extra_zeroes to k.
52259         (scale10_round_long_double): Remove function.
52260
52261 2007-05-18  Bruno Haible  <bruno@clisp.org>
52262
52263         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
52264         introduced on 2007-05-06.
52265
52266 2007-05-18  Bruno Haible  <bruno@clisp.org>
52267
52268         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
52269         %g directives.
52270         * tests/test-vasprintf-posix.c (test_function): Likewise.
52271         * tests/test-snprintf-posix.h (test_function): Likewise.
52272         * tests/test-sprintf-posix.h (test_function): Likewise.
52273
52274 2007-05-18  Bruno Haible  <bruno@clisp.org>
52275
52276         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
52277         (strmatch): New function.
52278         (test_function): Test the %f directive on numbers of various exponents.
52279         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
52280         (strmatch): New function.
52281         (test_function): Test the %f directive on numbers of various exponents.
52282         * tests/test-snprintf-posix.h (strmatch): New function.
52283         (test_function): Test the %f directive on numbers of various exponents.
52284         * tests/test-sprintf-posix.h (strmatch): New function.
52285         (test_function): Test the %f directive on numbers of various exponents.
52286         * tests/test-snprintf-posix.c (SIZEOF): New macro.
52287         * tests/test-sprintf-posix.c (SIZEOF): New macro.
52288         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
52289         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
52290
52291 2007-05-18  Bruno Haible  <bruno@clisp.org>
52292
52293         Add support for 'long double' number output.
52294         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
52295         * lib/vasnprintf.c: Include math.h and float+.h.
52296         (mp_limb_t): New type.
52297         (GMP_LIMB_BITS): New macro.
52298         (mp_twolimb_t): New type.
52299         (GMP_TWOLIMB_BITS): New macro.
52300         (mpn_t): New type.
52301         (multiply, divide, convert_to_decimal, decode_long_double,
52302         scale10_round_long_double, scale10_round_decimal_long_double,
52303         floorlog10l): New functions.
52304         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
52305         for the %f, %F, %e, %E, %g, %G directives.
52306         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
52307         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52308         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
52309         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
52310         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52311         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52312         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52313         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52314         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52315         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52316         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52317         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
52318         * modules/snprintf-posix (Depends-on): Likewise.
52319         * modules/sprintf-posix (Depends-on): Likewise.
52320         * modules/vasnprintf-posix (Depends-on): Likewise.
52321         * modules/vasprintf-posix (Depends-on): Likewise.
52322         * modules/vfprintf-posix (Depends-on): Likewise.
52323         * modules/vsnprintf-posix (Depends-on): Likewise.
52324         * modules/vsprintf-posix (Depends-on): Likewise.
52325         * modules/vasnprintf (Files): Add lib/float+.h.
52326         * doc/functions/fprintf.texi: Update.
52327         * doc/functions/printf.texi: Update.
52328         * doc/functions/snprintf.texi: Update.
52329         * doc/functions/sprintf.texi: Update.
52330         * doc/functions/vfprintf.texi: Update.
52331         * doc/functions/vprintf.texi: Update.
52332         * doc/functions/vsnprintf.texi: Update.
52333         * doc/functions/vsprintf.texi: Update.
52334
52335 2007-05-18  Bruno Haible  <bruno@clisp.org>
52336
52337         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
52338
52339 2007-05-18  Bruno Haible  <bruno@clisp.org>
52340
52341         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
52342         for printing 64-bit integers. Needed for mingw.
52343
52344 2007-05-18  Bruno Haible  <bruno@clisp.org>
52345
52346         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
52347         gl_FUNC_FREXPL_WORKS.
52348         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
52349
52350 2007-05-18  Bruno Haible  <bruno@clisp.org>
52351
52352         * modules/frexpl-nolibm-tests: New file.
52353
52354         * modules/frexpl-nolibm: New file.
52355         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
52356
52357 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
52358
52359         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
52360         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
52361         GCC 4.2, which otherwise issues a lot of warnings.
52362         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
52363         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
52364         Likewise.
52365         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
52366         * modules/iconv_open (iconv.h): Likewise.
52367         * modules/locale (locale.h): Likewise.
52368         * modules/netinet_in (netinet/in.h): Likewise.
52369         * modules/sys_select (sys_select.h): Likewise.
52370         * modules/sys_socket (sys/socket.h): Likewise.
52371         * modules/sys_stat (sys/stat.h): Likewise.
52372         * modules/sysexits (sysexits.h): Likewise.
52373         * modules/unistd (unistd.h): Likewise.
52374
52375 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52376
52377         * modules/closein-tests (Makefile.am): Distribute
52378         `test-closein.sh'.
52379
52380 2007-05-17  Bruno Haible  <bruno@clisp.org>
52381
52382         * tests/test-printf-posix.output: Renamed from
52383         tests/test-fprintf-posix.out.
52384         * modules/fprintf-posix-tests: Update.
52385         * modules/printf-posix-tests: Update.
52386         * modules/vfprintf-posix-tests: Update.
52387         * modules/vprintf-posix-tests: Update.
52388         * tests/test-fprintf-posix.sh: Update.
52389         * tests/test-printf-posix.sh: Update.
52390         * tests/test-vfprintf-posix.sh: Update.
52391         * tests/test-vprintf-posix.sh: Update.
52392         Reported by Ralf Wildenhues.
52393
52394 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
52395
52396         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
52397         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
52398         GCC 4.2, which otherwise issues a lot of warnings.
52399         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
52400         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
52401         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
52402         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
52403         it should no longer be needed.
52404         * lib/string_.h: Likewise.
52405         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
52406         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
52407         * modules/inttypes (inttypes.h): Likewise.
52408         * modules/math (math.h): Likewise.
52409         * modules/search (search.h): Likewise.
52410         * modules/signal (signal.h): Likewise.
52411         * modules/stdint (stdint.h): Likewise.
52412         * modules/stdio (stdio.h): Likewise.
52413         * modules/stdlib (stdlib.h): Likewise.
52414         * modules/string (string.h): Likewise.
52415         * modules/sys_time (sys/time.h): Likewise.
52416         * modules/time (time.h): Likewise.
52417         * modules/wchar (wchar.h): Likewise.
52418         * modules/wctype (wtype.h): Likewise.
52419
52420 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
52421
52422         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
52423
52424 2007-05-13  Bruno Haible  <bruno@clisp.org>
52425
52426         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
52427         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52428         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
52429         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52430         (gl_PREREQ_STRTOK_R): Don't require it here.
52431
52432 2007-05-13  Bruno Haible  <bruno@clisp.org>
52433
52434         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
52435         when used in C++ mode.
52436
52437 2007-05-12  Bruno Haible  <bruno@clisp.org>
52438
52439         * lib/linebuffer.h: Tweak doc.
52440         * lib/linebuffer.c: Likewise.
52441
52442 2007-05-12  James Youngman  <jay@gnu.org>
52443
52444         * lib/linebuffer.c (readlinebuffer_delim): New function,
52445         like readlinebuffer, but use a caller-specified delimiter.
52446         (readlinebuffer): Just call readlinebuffer_delim with '\n'
52447         as the delimiter.
52448         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
52449
52450 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
52451
52452         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
52453         * modules/openat (Files): Remove openat-die.c.
52454         (Depends-on): Add openat-die.
52455         * modules/openat-die: New module.
52456
52457 2007-05-06  Bruno Haible  <bruno@clisp.org>
52458
52459         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
52460         Update with info about Cygwin.
52461         * doc/functions/fprintf.texi: Update.
52462         * doc/functions/printf.texi: Update.
52463         * doc/functions/snprintf.texi: Update.
52464         * doc/functions/sprintf.texi: Update.
52465         * doc/functions/vfprintf.texi: Update.
52466         * doc/functions/vprintf.texi: Update.
52467         * doc/functions/vsnprintf.texi: Update.
52468         * doc/functions/vsprintf.texi: Update.
52469         Reported by Eric Blake.
52470
52471 2007-05-06  Bruno Haible  <bruno@clisp.org>
52472
52473         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
52474         padding ourselves for the floating-point directives.
52475         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
52476         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
52477         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52478         gl_PRINTF_FLAG_ZERO and test its result. Invoke
52479         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
52480         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52481         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
52482         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52483         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52484         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52485         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52486         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52487         * tests/test-snprintf-posix.h (test_function): Also check the width
52488         and some flags in the %f directive.
52489         * tests/test-sprintf-posix.h (test_function): Likewise.
52490         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52491         * tests/test-vasprintf-posix.c (test_function): Likewise.
52492         * doc/functions/fprintf.texi: Update.
52493         * doc/functions/printf.texi: Update.
52494         * doc/functions/snprintf.texi: Update.
52495         * doc/functions/sprintf.texi: Update.
52496         * doc/functions/vfprintf.texi: Update.
52497         * doc/functions/vprintf.texi: Update.
52498         * doc/functions/vsnprintf.texi: Update.
52499         * doc/functions/vsprintf.texi: Update.
52500
52501 2007-05-06  Bruno Haible  <bruno@clisp.org>
52502
52503         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
52504         pass the ' flag character to sprintf or snprintf.
52505         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
52506         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
52507         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52508         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
52509         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
52510         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52511         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
52512         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52513         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52514         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52515         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52516         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52517         * tests/test-snprintf-posix.h (test_function): Also check the grouping
52518         flag.
52519         * tests/test-sprintf-posix.h (test_function): Likewise.
52520         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52521         * tests/test-vasprintf-posix.c (test_function): Likewise.
52522         * doc/functions/fprintf.texi: Update.
52523         * doc/functions/printf.texi: Update.
52524         * doc/functions/snprintf.texi: Update.
52525         * doc/functions/sprintf.texi: Update.
52526         * doc/functions/vfprintf.texi: Update.
52527         * doc/functions/vprintf.texi: Update.
52528         * doc/functions/vsnprintf.texi: Update.
52529         * doc/functions/vsprintf.texi: Update.
52530
52531 2007-05-01  Bruno Haible  <bruno@clisp.org>
52532
52533         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
52534
52535 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
52536
52537         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
52538         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
52539
52540 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52541
52542         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
52543         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
52544         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
52545
52546 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
52547
52548         * lib/argp-help.c (struct hol_entry): New member `ord'.
52549         (HOL_ENTRY_PTRCMP): Use ord for comparison
52550         (hol_sort): Initialize ord.
52551
52552 2007-05-01  Bruno Haible  <bruno@clisp.org>
52553
52554         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
52555         Reported by Eric Blake.
52556         * doc/gnulib.texi (Function Substitutes): Update.
52557
52558 2007-05-01  Bruno Haible  <bruno@clisp.org>
52559
52560         * doc/functions.texi: Remove file, now redundant through
52561         doc/functions/*.texi.
52562
52563 2007-05-01  Bruno Haible  <bruno@clisp.org>
52564
52565         * modules/argp (Depends-on): Add sleep.
52566
52567 2007-05-01  Bruno Haible  <bruno@clisp.org>
52568
52569         * modules/sleep-tests: New file.
52570         * tests/test-sleep.c: New file.
52571
52572         * modules/sleep: New file.
52573         * lib/sleep.c: New file.
52574         * m4/sleep.m4: New file.
52575         * lib/unistd_.h (sleep): New declaration.
52576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
52577         HAVE_SLEEP.
52578         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
52579         * doc/functions/sleep.texi: Document the sleep module.
52580
52581 2007-05-01  Bruno Haible  <bruno@clisp.org>
52582
52583         * lib/sigprocmask.h: Remove file.
52584         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
52585         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
52586         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
52587         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
52588         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
52589         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
52590         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
52591         HAVE_SIGSET_T as a shell variable.
52592         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
52593         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
52594         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
52595         (Depends-on): Add signal. Remove verify.
52596         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
52597         (Include): Mention <signal.h> instead of sigprocmask.h.
52598         * NEWS: Mention the change.
52599         * lib/fatal-signal.c: Don't include sigprocmask.h.
52600
52601 2007-05-01  Bruno Haible  <bruno@clisp.org>
52602
52603         * modules/signal: New file.
52604         * lib/signal_.h: New file.
52605         * m4/signal_h.m4: New file.
52606
52607 2007-05-01  Bruno Haible  <bruno@clisp.org>
52608
52609         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
52610         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
52611         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
52612         HAVE_WCTYPE_CTMP_BUG into wctype.h.
52613
52614 2007-05-01  Bruno Haible  <bruno@clisp.org>
52615
52616         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
52617         configure time.
52618         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
52619         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
52620         * modules/sys_stat (Makefile.am): Substitute their values into
52621         sys/stat.h.
52622
52623 2007-05-01  Bruno Haible  <bruno@clisp.org>
52624
52625         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
52626         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
52627         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
52628
52629 2007-05-01  Bruno Haible  <bruno@clisp.org>
52630
52631         * doc/header/assert.texi: Undo last change: don't mention the gnulib
52632         'assert' module here.
52633
52634 2007-05-01  Bruno Haible  <bruno@clisp.org>
52635
52636         * doc/functions/*.texi: New files.
52637         * doc/functions/google-ranking.txt: New file.
52638         * doc/gnulib.texi (Function Substitutes): New chapter.
52639         (ctime, inet_ntoa): Remove sections.
52640         * doc/ctime.texi: Remove file.
52641         * doc/inet_ntoa.texi: Remove file.
52642         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
52643         dependencies.
52644         (%.info): New rule, specifying a --reference-limit.
52645
52646 2007-05-01  Bruno Haible  <bruno@clisp.org>
52647
52648         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
52649
52650 2007-05-01  Bruno Haible  <bruno@clisp.org>
52651
52652         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
52653         the portability of 'mkdir' to mingw systems.
52654
52655 2007-05-01  Bruno Haible  <bruno@clisp.org>
52656
52657         * doc/headers/google-ranking.txt: New file.
52658
52659 2007-04-30  Eric Blake  <ebb9@byu.net>
52660
52661         Prefer fseeko to fseek.
52662         * modules/getpass (Depends-on): Add fseeko.
52663         * lib/getpass.c (getpass): Use fseeko, not fseek.
52664
52665 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
52666
52667         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
52668         assumes the sorting is stable, while most qsort implementations
52669         are not.  Use argument addresses to ensure they never compare as
52670         equal.
52671
52672         * tests/test-argp-2.sh (usage-indent test): Fix output
52673         (func_compare): Restore diff options
52674         * tests/test-argp.c: Restore #include "progname.h"
52675
52676 2007-04-29  Bruno Haible  <bruno@clisp.org>
52677
52678         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
52679         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52680         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
52681         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52682         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
52683         (configure.ac): Define CHECK_SNPRINTF_POSIX.
52684         (TESTS, check_PROGRAMS): Add test-snprintf.
52685         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
52686         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
52687         (TESTS, check_PROGRAMS): Add test-vsnprintf.
52688         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
52689         assertions that fail on HP-UX, OSF/1, or IRIX.
52690         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
52691
52692 2007-04-29  Bruno Haible  <bruno@clisp.org>
52693
52694         * MODULES.html.sh (posix_functions): Remove 'contents'.
52695
52696 2007-04-29  Karl Berry  <karl@gnu.org>
52697
52698         * config/srclist.txt (gendocs_template_min): new entry.
52699
52700 2007-04-29  Bruno Haible  <bruno@clisp.org>
52701
52702         Work around fpurge bug on BSD systems.
52703         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
52704         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
52705         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
52706         fpurge to rpl_fpurge if the system already has this function.
52707         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
52708         the case where the system already has this function. Correct invariants
52709         on BSD systems.
52710         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
52711         BSD systems.
52712
52713 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
52714
52715         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
52716         proposed by Sven Verdoolaege.
52717
52718         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
52719         options.
52720         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
52721         (usage and help tests): Update
52722
52723 2007-04-29  Bruno Haible  <bruno@clisp.org>
52724
52725         * tests/test-fflush.c (main): Use a file of size 17, not 10.
52726         Print more information in case of failure. Disable a test on BeOS.
52727
52728 2007-04-29  Bruno Haible  <bruno@clisp.org>
52729
52730         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
52731         This helps debugging on systems on which no gdb is available.
52732
52733 2007-04-29  Bruno Haible  <bruno@clisp.org>
52734
52735         * lib/freading.h: Improve comments.
52736         * lib/fwriting.h: Likewise.
52737         * tests/test-freading.c (main): Don't check freading immediately after
52738         repositioning. Needed for glibc.
52739
52740 2007-04-29  Bruno Haible  <bruno@clisp.org>
52741
52742         * lib/freading.c (freading): Trivial simplification.
52743
52744 2007-04-28  Bruno Haible  <bruno@clisp.org>
52745
52746         * tests/test-fwriting.c (main): Also test the interaction between
52747         fflush and fwriting.
52748         * modules/fwriting-tests (Depends-on): Add fflush.
52749
52750         * tests/test-freading.c (main): Also test the interaction between
52751         fflush and freading.
52752         * modules/freading-tests (Depends-on): Add fflush.
52753
52754 2007-04-28  Bruno Haible  <bruno@clisp.org>
52755
52756         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
52757         fseeko and ftello.
52758         Suggested by Eric Blake.
52759
52760 2007-04-28  Jim Meyering  <jim@meyering.net>
52761
52762         Avoid false-negative in gl_STDINT_H's C99 conformance test.
52763         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
52764         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
52765
52766 2007-04-27  Eric Blake  <ebb9@byu.net>
52767
52768         * doc/headers/assert.texi (assert.h): Document assert module use.
52769
52770 2007-04-27  Bruno Haible  <bruno@clisp.org>
52771
52772         * doc/headers/*.texi: New files.
52773         * doc/gnulib.texi (Header File Substitutes): New chapter.
52774         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
52775         dependencies.
52776         (standards.info ,standards.html, standards.dvi): Update dependencies.
52777         (mostlyclean, clean): New targets.
52778
52779 2007-04-27  Bruno Haible  <bruno@clisp.org>
52780
52781         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
52782         * modules/sysexits (Files, Makefile.am): Update.
52783
52784         * lib/sys_socket_.h: Renamed from lib/socket_.h.
52785         * modules/sys_socket (Files, Makefile.am): Update.
52786
52787         * lib/sys_stat_.h: Renamed from lib/stat_.h.
52788         * modules/sys_stat (Files, Makefile.am): Update.
52789
52790 2007-04-27  Eric Blake  <ebb9@byu.net>
52791
52792         * lib/freading.h: Improve comments.
52793         * lib/fwriting.h: Likewise.
52794         * lib/fflush.c: Likewise.
52795
52796         Fix closein for mingw.
52797         * modules/closein-tests: Add tests for closein.
52798         * tests/test-closein.c: New file.
52799         * tests/test-closein.sh: Likewise.
52800         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
52801         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
52802
52803 2007-04-27  Bruno Haible  <bruno@clisp.org>
52804
52805         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
52806         version is < 6.
52807         * lib/math_.h [__DECC]: Likewise.
52808         * lib/stdio_.h [__DECC]: Likewise.
52809         * lib/stdlib_.h [__DECC]: Likewise.
52810         * lib/string_.h [__DECC]: Likewise.
52811         * lib/time_.h [__DECC]: Likewise.
52812         * lib/wchar_.h [__DECC]: Likewise.
52813         * lib/wctype_.h [__DECC]: Likewise.
52814
52815 2007-04-27  Bruno Haible  <bruno@clisp.org>
52816
52817         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
52818
52819 2007-04-27  Bruno Haible  <bruno@clisp.org>
52820
52821         * lib/fflush.c: Add comments.
52822         * modules/fpurge-tests (Depends-on): Add fflush.
52823         * modules/freadable-tests (Depends-on): Likewise.
52824         * modules/fwritable-tests (Depends-on): Likewise.
52825
52826 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
52827
52828         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
52829         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
52830         Report by Bruno Haible <bruno@clisp.org>.
52831
52832 2007-04-26  Eric Blake  <ebb9@byu.net>
52833
52834         Fix fflush on mingw.
52835         * modules/fflush (Depends-on): Add freading.
52836         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
52837         but unread data.
52838
52839 2007-04-26  Eric Blake  <ebb9@byu.net>
52840         and Bruno Haible  <bruno@clisp.org>
52841
52842         Implement freading and fwriting.
52843         * lib/freading.c: New file.
52844         * lib/freading.h: Likewise.
52845         * m4/freading.m4: Likewise.
52846         * modules/freading: Likewise.
52847         * modules/freading-tests: Likewise.
52848         * tests/test-freading.c: Likewise.
52849         * lib/fwriting.c: New file.
52850         * lib/fwriting.h: Likewise.
52851         * m4/fwriting.m4: Likewise.
52852         * modules/fwriting: Likewise.
52853         * modules/fwriting-tests: Likewise.
52854         * tests/test-fwriting.c: Likewise.
52855         * MODULES.html.sh (File stream based Input/Output): Mention them.
52856
52857 2007-04-26  Bruno Haible  <bruno@clisp.org>
52858
52859         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
52860         'long' when we assume it.
52861         Suggested by Eric Blake.
52862
52863 2007-04-26  Bruno Haible  <bruno@clisp.org>
52864
52865         Ensure fseeko, ftello are declared on glibc systems.
52866         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
52867         * modules/fseeko (configure.ac-early): Likewise.
52868         * modules/ftello (configure.ac-early): Likewise.
52869         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
52870         AC_FUNC_FSEEKO for this.
52871         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
52872         (gl_CHECK_FSEEKO): Remove macro.
52873
52874 2007-04-26  Bruno Haible  <bruno@clisp.org>
52875
52876         * tests/test-fflush.c (main): Also check the ftell result after
52877         fflush and fseek/fseeko.
52878         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
52879         file descriptor position cache in the stream.
52880         * lib/fseeko.c (rpl_fseeko): Likewise.
52881
52882 2007-04-26  Bruno Haible  <bruno@clisp.org>
52883
52884         * modules/fflush-tests (Depends-on): Add fseeko.
52885
52886 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
52887             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52888
52889         * lib/argz_.h: ensure error_t definition is obtained in same
52890         mechanism system argz.h would have.
52891         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
52892         argz facilities are known bad.  Err on the side of caution if
52893         cross-compiling.
52894
52895 2007-04-25  Eric Blake  <ebb9@byu.net>
52896
52897         * lib/fpurge.c (includes): Use stdlib.h for free.
52898         * tests/test-fflush.c (main): Also test fflush-fseeko.
52899
52900 2007-04-25  Bruno Haible  <bruno@clisp.org>
52901
52902         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
52903         * lib/fseeko.c: New file.
52904         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
52905         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
52906         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
52907         gl_FUNC_FSEEKO.
52908         (gl_FUNC_FSEEKO): Invoke it.
52909         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
52910         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
52911         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
52912
52913 2007-04-25  Bruno Haible  <bruno@clisp.org>
52914
52915         * modules/fflush (Depends-on): Add ftello.
52916
52917 2007-04-25  Bruno Haible  <bruno@clisp.org>
52918
52919         * modules/ftello-tests: New file.
52920         * tests/test-ftello.c: New file.
52921
52922         * modules/ftello: New file.
52923         * m4/ftello.m4: New file.
52924         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
52925         HAVE_FTELLO.
52926         * lib/stdio_.h (ftello): New declaration.
52927         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
52928         HAVE_FTELLO.
52929
52930 2007-04-25  Bruno Haible  <bruno@clisp.org>
52931
52932         * modules/fseeko-tests: New file.
52933         * tests/test-fseeko.c: New file.
52934
52935         * modules/fseeko: New file.
52936         * m4/fseeko.m4: New file.
52937         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
52938         HAVE_FSEEKO.
52939         * lib/stdio_.h (fseeko): New declaration.
52940         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
52941         HAVE_FSEEKO.
52942
52943 2007-04-25  Bruno Haible  <bruno@clisp.org>
52944
52945         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
52946
52947 2007-04-25  Bruno Haible  <bruno@clisp.org>
52948
52949         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
52950         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
52951         * tests/test-unistd.c: Likewise.
52952         * tests/test-fcntl.c: Likewise.
52953
52954 2007-04-23  Eric Blake  <ebb9@byu.net>
52955
52956         * lib/fflush.c: Fix missing include.
52957         Reported by Bruno Haible.
52958
52959 2007-04-23  Bruno Haible  <bruno@clisp.org>
52960
52961         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
52962         Reported by Eric Blake.
52963
52964 2007-04-23  Bruno Haible  <bruno@clisp.org>
52965
52966         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
52967
52968 2007-04-23  Bruno Haible  <bruno@clisp.org>
52969
52970         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
52971
52972 2007-04-23  Bruno Haible  <bruno@clisp.org>
52973
52974         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
52975         Needed on HP-UX 11.
52976
52977 2007-04-16  Eric Blake  <ebb9@byu.net>
52978
52979         Make fflush rely on fpurge.
52980         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
52981         open coding all variants.
52982         * modules/fflush (Depends-on): Add fpurge and unistd.
52983         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
52984         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
52985
52986         Fix --with-tests compilation on cygwin.
52987         * modules/argmatch-tests (Makefile.am): List gnulib library first
52988         in LDADD.
52989         * modules/argp-tests (Makefile.am): Likewise.
52990         * modules/array-list-tests (Makefile.am): Likewise.
52991         * modules/array-oset-tests (Makefile.am): Likewise.
52992         * modules/avltree-list-tests (Makefile.am): Likewise.
52993         * modules/avltree-oset-tests (Makefile.am): Likewise.
52994         * modules/avltreehash-list-tests (Makefile.am): Likewise.
52995         * modules/carray-list-tests (Makefile.am): Likewise.
52996         * modules/dirname-tests (Makefile.am): Likewise.
52997         * modules/frexp-tests (Makefile.am): Likewise.
52998         * modules/isnanl-tests (Makefile.am): Likewise.
52999         * modules/linked-list-tests (Makefile.am): Likewise.
53000         * modules/linkedhash-list-tests (Makefile.am): Likewise.
53001         * modules/lock-tests (Makefile.am): Likewise.
53002         * modules/rbtree-list-tests (Makefile.am): Likewise.
53003         * modules/rbtree-oset-tests (Makefile.am): Likewise.
53004         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
53005         * modules/tls-tests (Makefile.am): Likewise.
53006         * modules/tsearch-tests (Makefile.am): Likewise.
53007         * modules/xvasprintf-tests (Makefile.am): Likewise.
53008
53009         Fix fpurge for cygwin.
53010         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
53011         value.
53012         * modules/fpurge-tests (Depends-on): Clean up trash.
53013
53014 2007-04-16  Simon Josefsson  <simon@josefsson.org>
53015
53016         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
53017
53018         * m4/autobuild.m4: Re-indent.
53019
53020 2007-04-13  Bruno Haible  <bruno@clisp.org>
53021
53022         * modules/fpurge-tests: New file.
53023         * tests/test-fpurge.c: New file.
53024
53025         * modules/fpurge: New file.
53026         * lib/fpurge.h: New file.
53027         * lib/fpurge.c: New file.
53028         * m4/fpurge.m4: New file.
53029
53030 2007-04-13  Bruno Haible  <bruno@clisp.org>
53031
53032         * modules/fbufmode-tests: New file.
53033         * tests/test-fbufmode.c: New file.
53034
53035         * modules/fbufmode: New file.
53036         * lib/fbufmode.h: New file.
53037         * lib/fbufmode.c: New file.
53038         * m4/fbufmode.m4: New file.
53039
53040 2007-04-13  Bruno Haible  <bruno@clisp.org>
53041
53042         * modules/fwritable-tests: New file.
53043         * tests/test-fwritable.c: New file.
53044
53045         * modules/fwritable: New file.
53046         * lib/fwritable.h: New file.
53047         * lib/fwritable.c: New file.
53048         * m4/fwritable.m4: New file.
53049
53050 2007-04-13  Bruno Haible  <bruno@clisp.org>
53051
53052         * modules/freadable-tests: New file.
53053         * tests/test-freadable.c: New file.
53054
53055         * modules/freadable: New file.
53056         * lib/freadable.h: New file.
53057         * lib/freadable.c: New file.
53058         * m4/freadable.m4: New file.
53059
53060 2007-04-13  Bruno Haible  <bruno@clisp.org>
53061
53062         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
53063         MOSTLYCLEANFILES.
53064
53065 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53066
53067         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
53068         gzip bootstrap.conf to avoid dragging in i18n machinery.
53069         (gnulib_tool_option): Use it.
53070
53071 2007-04-13  Bruno Haible  <bruno@clisp.org>
53072
53073         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
53074         %F directives.
53075         * tests/test-vasprintf-posix.c (test_function): Likewise.
53076         * tests/test-snprintf-posix.h (test_function): Likewise.
53077         * tests/test-sprintf-posix.h (test_function): Likewise.
53078         * tests/test-fprintf-posix.h (test_function): Likewise.
53079         * tests/test-printf-posix.h (test_function): Likewise.
53080         * tests/test-fprintf-posix.out: Likewise.
53081
53082 2007-04-13  Bruno Haible  <bruno@clisp.org>
53083
53084         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
53085         * modules/tls-tests (configure.ac): Likewise.
53086         Reported by Arto C. Nirkko <anirkko@insel.ch>.
53087
53088 2007-04-13  Bruno Haible  <bruno@clisp.org>
53089
53090         * lib/tls.c (glthread_tls_get): Fix return type.
53091         Patch by Arto C. Nirkko <anirkko@insel.ch>.
53092
53093 2007-04-12  Eric Blake  <ebb9@byu.net>
53094
53095         * modules/gettime (Depends-on): Remove gettime.
53096         Reported by Dmitry V. Levin.
53097
53098 2007-04-12  Bruno Haible  <bruno@clisp.org>
53099
53100         * modules/fflush (Include): Mention <stdio.h>.
53101         * modules/strtoimax (Include): Mention <inttypes.h>.
53102         * modules/strtoumax (Include): Likewise.
53103
53104 2007-04-12  Eric Blake  <ebb9@byu.net>
53105
53106         * .cvsignore: New file.
53107         * .gitignore: Likewise.
53108
53109 2007-04-12  Bruno Haible  <bruno@clisp.org>
53110
53111         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
53112         not before, since $(LDADD) often contains libgnu.a.
53113         * modules/striconv-tests (test_striconv_LDADD): Likewise.
53114         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
53115         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
53116         Needed on Cygwin.
53117
53118 2007-04-12  Eric Blake  <ebb9@byu.net>
53119
53120         Work around glibc's failure to flush stdin on fclose.
53121         * lib/closein.c (close_stdin): Flush stdin before closing.
53122
53123         Work around glibc's failure to reset seekable stdin on exit.
53124         * modules/closein: New module.
53125         * lib/closein.c: New file.
53126         * lib/closein.h: Likewise.
53127         * m4/closein.m4: Likewise.
53128         * MODULES.html.sh (File stream based Input/Output): Document it.
53129
53130 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53131
53132         * gnulib-tool: Rename generated 'autobuild' script to
53133         'do-autobuild' in --create-megatestdir output.
53134
53135         * doc/gnulib.texi (Build robot for gnulib): Fix.
53136
53137 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53138
53139         * modules/sysexits (Depends-on): Add absolute-header.
53140
53141 2007-04-12  Eric Blake  <ebb9@byu.net>
53142
53143         No need to preserve errno on success.
53144         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
53145         Reported by Bruno Haible.
53146
53147 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53148
53149         * MODULES.html.sh (Support for maintaining and releasing
53150         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
53151
53152 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53153
53154         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
53155
53156 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53157
53158         * modules/autobuild: New module.
53159
53160         * m4/autobuild.m4: New file.
53161
53162 2007-04-11  Bruno Haible  <bruno@clisp.org>
53163
53164         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
53165         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
53166         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
53167         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
53168         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53169         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53170         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53171         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53172         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53173         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53174         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
53175         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53176         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53177         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
53178         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53179         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53180         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
53181         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53182         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53183         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
53184         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53185         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53186         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
53187         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53188         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53189         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
53190         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53191         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53192         Reported by Eric Blake.
53193
53194 2007-04-11  Bruno Haible  <bruno@clisp.org>
53195
53196         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
53197
53198 2007-04-10  Bruno Haible  <bruno@clisp.org>
53199
53200         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
53201         for NaN and Infinity. Needed on FreeBSD 6.1.
53202         * tests/test-vasnprintf-posix.c (test_function): Undo last change
53203         regarding results for "%010a" of Infinity and NaN.
53204         * tests/test-vasprintf-posix.c (test_function): Likewise.
53205         * tests/test-snprintf-posix.h (test_function): Likewise.
53206         * tests/test-sprintf-posix.h (test_function): Likewise.
53207         * tests/test-fprintf-posix.h (test_function): Likewise.
53208         * tests/test-printf-posix.h (test_function): Likewise.
53209         * tests/test-fprintf-posix.out: Likewise.
53210
53211 2007-04-10  Bruno Haible  <bruno@clisp.org>
53212
53213         * modules/locale-tests: New file.
53214         * tests/test-locale.c: New file.
53215
53216         * modules/locale: New file.
53217         * lib/locale_.h: New file.
53218         * m4/locale_h.m4: New file.
53219
53220 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
53221             Bruno Haible  <bruno@clisp.org>
53222
53223         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
53224         be determined, test for availability of the copysignf, copysign,
53225         copysignl functions.
53226         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
53227         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
53228         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
53229
53230 2007-04-09  Eric Blake  <ebb9@byu.net>
53231
53232         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
53233         * modules/stdio (Makefile.am): Support fflush.
53234         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53235         * modules/fflush: New file.
53236         * lib/fflush.c: Likewise.
53237         * m4/fflush.m4: Likewise.
53238         * modules/fflush-tests: New test.
53239         * tests/test-fflush.c: Likewise.
53240         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
53241
53242 2007-04-06  Bruno Haible  <bruno@clisp.org>
53243
53244         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
53245         (VASNPRINTF): Use signbit for faster determination whether to print a
53246         minus sign.
53247         * modules/vasnprintf (Files): Remove lib/float+.h.
53248         * modules/fprintf-posix (Depends-on): Add signbit.
53249         * modules/snprintf-posix (Depends-on): Likewise.
53250         * modules/sprintf-posix (Depends-on): Likewise.
53251         * modules/vasnprintf-posix (Depends-on): Likewise.
53252         * modules/vasprintf-posix (Depends-on): Likewise.
53253         * modules/vfprintf-posix (Depends-on): Likewise.
53254         * modules/vsnprintf-posix (Depends-on): Likewise.
53255         * modules/vsprintf-posix (Depends-on): Likewise.
53256
53257 2007-04-06  Bruno Haible  <bruno@clisp.org>
53258
53259         * tests/test-frexp.c (main): Test also the sign bit of zero results.
53260         * tests/test-frexpl.c (main): Likewise.
53261         * tests/test-ldexpl.c (main): Likewise.
53262         * modules/frexp-tests (Depends-on): Add signbit.
53263         * modules/frexpl-tests (Depdends-on): Likewise.
53264         * modules/ldexpl-tests (Depdends-on): Likewise.
53265
53266 2007-04-06  Bruno Haible  <bruno@clisp.org>
53267
53268         * modules/signbit-tests: New file.
53269         * tests/test-signbit.c: New file.
53270
53271         * modules/signbit: New file.
53272         * lib/signbitf.c: New file.
53273         * lib/signbitd.c: New file.
53274         * lib/signbitl.c: New file.
53275         * m4/signbit.m4: New file.
53276         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
53277         (signbit): New macro.
53278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
53279         REPLACE_SIGNBIT.
53280         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
53281         REPLACE_FREXPL into math.h.
53282
53283 2007-04-06  Bruno Haible  <bruno@clisp.org>
53284
53285         * modules/isnanf-nolibm-tests: New file.
53286         * tests/test-isnanf.c: New file.
53287
53288         * modules/isnanf-nolibm: New file.
53289         * lib/isnanf.h: New file.
53290         * lib/isnanf.c: New file.
53291         * lib/isnan.c: Consider the USE_FLOAT macro.
53292         * m4/isnanf.m4: New file.
53293
53294 2007-04-06  Bruno Haible  <bruno@clisp.org>
53295
53296         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
53297         (Link): New section.
53298
53299         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
53300
53301 2007-04-06  Bruno Haible  <bruno@clisp.org>
53302
53303         Assume the 'long double' type.
53304         * m4/longdouble.m4: Remove file.
53305         * config/srclist.txt: Don't mention longdouble.m4.
53306         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
53307         * lib/float+.h: Likewise.
53308         * lib/frexp.c: Likewise.
53309         * lib/printf-args.h: Likewise.
53310         * lib/printf-args.c: Likewise.
53311         * lib/printf-frexp.c: Likewise.
53312         * lib/printf-parse.c: Likewise.
53313         * lib/vasnprintf.c: Likewise.
53314         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
53315         * m4/intl.m4: Likewise.
53316         * m4/isnanl.m4: Likewise.
53317         * m4/printf.m4: Likewise.
53318         * m4/printf-frexpl.m4: Likewise.
53319         * m4/vasnprintf.m4: Likewise.
53320         * modules/allocsa (Files): Remove m4/longdouble.m4.
53321         * modules/gettext (Files): Likewise.
53322         * modules/relocatable-prog-wrapper (Files): Likewise.
53323         * modules/vasnprintf (Files): Likewise.
53324         * modules/isnanl (Files): Likewise.
53325         (Include): Simplify.
53326         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
53327         (Include): Simplify.
53328         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
53329         (Include): Simplify.
53330         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
53331         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53332         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
53333         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53334         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
53335         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53336         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
53337         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53338         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
53339         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53340         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
53341         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53342         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
53343         * tests/test-isnanl.c: Likewise.
53344         * tests/test-snprintf-posix.h: Likewise.
53345         * tests/test-sprintf-posix.h: Likewise.
53346         * tests/test-vasnprintf-posix.c: Likewise.
53347         * tests/test-vasnprintf-posix2.c: Likewise.
53348         * tests/test-vasprintf-posix.c: Likewise.
53349
53350 2007-04-06  Bruno Haible  <bruno@clisp.org>
53351
53352         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
53353         * lib/math_.h [__DECC]: Include the overridden include file through
53354         #include_next, outside the double-inclusion guard.
53355         * lib/stdio_.h [__DECC]: Likewise.
53356         * lib/stdlib_.h [__DECC]: Likewise.
53357         * lib/string_.h [__DECC]: Likewise.
53358         * lib/time_.h [__DECC]: Likewise.
53359         * lib/wchar_.h [__DECC]: Likewise.
53360         * lib/wctype_.h [__DECC]: Likewise.
53361         * lib/inttypes_.h [__DECC]: Likewise.
53362         Reported by Albert Chin <china@thewrittenword.com> in
53363         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
53364
53365 2007-04-04  Eric Blake  <ebb9@byu.net>
53366
53367         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
53368         1.5.x.
53369
53370 2007-04-04  Bruno Haible  <bruno@clisp.org>
53371
53372         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
53373         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
53374
53375 2007-04-04  Bruno Haible  <bruno@clisp.org>
53376
53377         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
53378         results for "%010a" of Infinity and NaN.
53379         * tests/test-vasprintf-posix.c (test_function): Likewise.
53380         * tests/test-snprintf-posix.h (test_function): Likewise.
53381         * tests/test-sprintf-posix.h (test_function): Likewise.
53382         * tests/test-fprintf-posix.h (test_function): Remove these tests.
53383         * tests/test-printf-posix.h (test_function): Likewise.
53384         * tests/test-fprintf-posix.out: Update.
53385         Needed for FreeBSD 6.1.
53386
53387 2007-04-04  Bruno Haible  <bruno@clisp.org>
53388
53389         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
53390         directly used by the gnulib modules nor by gnulib-tool.
53391
53392 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53393
53394         * DEPENDENCIES: Give overall description of version dependency
53395         desirability.  Use more-typical names for apps.
53396         Add shell, coreutils, diffutils, grep, tar, gzip.
53397
53398 2007-04-04  Simon Josefsson  <simon@josefsson.org>
53399
53400         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
53401
53402 2007-04-04  Karl Berry  <karl@gnu.org>
53403
53404         * MODULES.html.sh (func_module): missing '.
53405
53406 2007-04-03  Bruno Haible  <bruno@clisp.org>
53407
53408         * modules/argmatch-tests (Makefile.am): New variable
53409         test_argmatch_LDADD.
53410         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
53411         * modules/array-list-tests (Makefile.am): New variable
53412         test_array_list_LDADD.
53413         * modules/array-oset-tests (Makefile.am): New variable
53414         test_array_oset_LDADD.
53415         * modules/avltree-list-tests (Makefile.am): New variable
53416         test_avltree_list_LDADD.
53417         * modules/avltree-oset-tests (Makefile.am): New variable
53418         test_avltree_oset_LDADD.
53419         * modules/avltreehash-list-tests (Makefile.am): New variable
53420         test_avltreehash_list_LDADD.
53421         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
53422         test_canonicalize_lgpl_LDADD.
53423         * modules/carray-list-tests (Makefile.am): New variable
53424         test_carray_list_LDADD.
53425         * modules/dirname-tests (Makefile.am): New variable
53426         test_dirname_LDADD.
53427         * modules/linked-list-tests (Makefile.am): New variable
53428         test_linked_list_LDADD.
53429         * modules/linkedhash-list-tests (Makefile.am): New variable
53430         test_linkedhash_list_LDADD.
53431         * modules/rbtree-list-tests (Makefile.am): New variable
53432         test_rbtree_list_LDADD.
53433         * modules/rbtree-oset-tests (Makefile.am): New variable
53434         test_rbtree_oset_LDADD.
53435         * modules/rbtreehash-list-tests (Makefile.am): New variable
53436         test_rbtreehash_list_LDADD.
53437         * modules/xvasprintf-tests (Makefile.am): New variable
53438         test_xvasprintf_LDADD.
53439         Reported by Eric Blake.
53440
53441 2007-04-03  Eric Blake  <ebb9@byu.net>
53442
53443         * DEPENDENCIES: Weaken m4 requirements.
53444
53445 2007-04-03  Bruno Haible  <bruno@clisp.org>
53446
53447         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
53448         * modules/isnanl-tests (configure.ac): Likewise.
53449
53450 2007-04-03  Ben Pfaff  <blp@gnu.org>
53451
53452         * modules/iconv_open: Add $(srcdir)/ to source directory
53453         references in Makefile fragments that call gperf, to fix VPATH
53454         builds.
53455
53456 2007-04-03  Bruno Haible  <bruno@clisp.org>
53457
53458         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
53459         * lib/ldexpl.c: Undo last change.
53460
53461 2007-04-03  Bruno Haible  <bruno@clisp.org>
53462
53463         * modules/printf-frexpl (Depends-on): Undo last change.
53464         (Files): Add m4/ldexpl.m4.
53465
53466 2007-04-03  Bruno Haible  <bruno@clisp.org>
53467
53468         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
53469         * modules/isnanl (Link): New section.
53470
53471         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
53472         * modules/frexp (Link): New section.
53473
53474         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
53475         * modules/frexpl (Link): New section.
53476
53477         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
53478         * modules/ldexpl (Link): New section.
53479
53480 2007-04-03  Bruno Haible  <bruno@clisp.org>
53481
53482         * modules/TEMPLATE-EXTENDED: New file.
53483         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
53484
53485 2007-04-03  Bruno Haible  <bruno@clisp.org>
53486
53487         * DEPENDENCIES: New file.
53488         Suggested by Simon Josefsson.
53489
53490 2007-04-03  Bruno Haible  <bruno@clisp.org>
53491
53492         * doc/gnulib.texi: Escape @.
53493
53494 2007-04-03  James Youngman  <jay@gnu.org>
53495         and Paul Eggert  <eggert@cs.ucla.edu>
53496
53497         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
53498         birthtime on all systems that have birthtime, not just those which
53499         use st_birthtimensec rather than st_birthtim.  Putting zero in
53500         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
53501         that the birth time is not available for files on an NFS mount.
53502
53503 2007-04-03  Simon Josefsson  <simon@josefsson.org>
53504
53505         * modules/memxor: Move back from crypto/, suggested by Bruno.
53506         * modules/crypto/hmac-sha1: Fix memxor dependency.
53507
53508         * modules/crypto/gc: Moved from ../.
53509
53510 2007-04-02  Eric Blake  <ebb9@byu.net>
53511
53512         * lib/ldexpl.c (includes): Avoid libm.
53513
53514         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
53515
53516 2007-04-02  Bruno Haible  <bruno@clisp.org>
53517
53518         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
53519         on IRIX.
53520
53521 2007-04-02  Bruno Haible  <bruno@clisp.org>
53522
53523         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
53524         x86 or x86_64 platforms running MacOS X.
53525         Reported by Ryan Schmidt <@ryandesign.com>.
53526
53527 2007-04-02  Bruno Haible  <bruno@clisp.org>
53528
53529         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
53530         i386.
53531
53532 2007-04-01  Simon Josefsson  <simon@josefsson.org>
53533
53534         * modules/crypto/arcfour: Moved from ../.
53535         * modules/crypto/arcfour-tests: Moved from ../.
53536         * modules/crypto/arctwo: Moved from ../.
53537         * modules/crypto/arctwo-tests: Moved from ../.
53538         * modules/crypto/des: Moved from ../.
53539         * modules/crypto/des-tests: Moved from ../.
53540         * modules/crypto/gc-arcfour: Moved from ../.
53541         * modules/crypto/gc-arcfour-tests: Moved from ../.
53542         * modules/crypto/gc-arctwo: Moved from ../.
53543         * modules/crypto/gc-arctwo-tests: Moved from ../.
53544         * modules/crypto/gc-des: Moved from ../.
53545         * modules/crypto/gc-des-tests: Moved from ../.
53546         * modules/crypto/gc-hmac-md5: Moved from ../.
53547         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
53548         * modules/crypto/gc-hmac-sha1: Moved from ../.
53549         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
53550         * modules/crypto/gc-md2: Moved from ../.
53551         * modules/crypto/gc-md2-tests: Moved from ../.
53552         * modules/crypto/gc-md4: Moved from ../.
53553         * modules/crypto/gc-md4-tests: Moved from ../.
53554         * modules/crypto/gc-md5: Moved from ../.
53555         * modules/crypto/gc-md5-tests: Moved from ../.
53556         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
53557         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
53558         * modules/crypto/gc-random: Moved from ../.
53559         * modules/crypto/gc-rijndael: Moved from ../.
53560         * modules/crypto/gc-rijndael-tests: Moved from ../.
53561         * modules/crypto/gc-sha1: Moved from ../.
53562         * modules/crypto/gc-sha1-tests: Moved from ../.
53563         * modules/crypto/gc-tests: Moved from ../.
53564         * modules/crypto/hmac-md5: Moved from ../.
53565         * modules/crypto/hmac-md5-tests: Moved from ../.
53566         * modules/crypto/hmac-sha1: Moved from ../.
53567         * modules/crypto/hmac-sha1-tests: Moved from ../.
53568         * modules/crypto/md2: Moved from ../.
53569         * modules/crypto/md2-tests: Moved from ../.
53570         * modules/crypto/md4: Moved from ../.
53571         * modules/crypto/md4-tests: Moved from ../.
53572         * modules/crypto/md5: Moved from ../.
53573         * modules/crypto/md5-tests: Moved from ../.
53574         * modules/crypto/memxor: Moved from ../.
53575         * modules/crypto/rijndael: Moved from ../.
53576         * modules/crypto/rijndael-tests: Moved from ../.
53577         * modules/crypto/sha1: Moved from ../.
53578
53579 2007-03-30  James Youngman  <jay@gnu.org>
53580
53581         * tests/test-stat-time.c (prepare_test): use chmod() rather than
53582         rename() to change the ctime of a file (because ctime is unaffected
53583         by rename on jfs2 on AIX 5.1).
53584         (main): Start by doing cleanup, in case a previous run failed leaving
53585         test files behind.
53586
53587 2007-03-31  Bruno Haible  <bruno@clisp.org>
53588
53589         Support old proprietary implementations of iconv.
53590         * modules/iconv_open: New file.
53591         * lib/iconv_.h: New file.
53592         * m4/iconv_h.m4: New file.
53593         * lib/iconv_open.c: New file.
53594         * lib/iconv_open-aix.gperf: New file.
53595         * lib/iconv_open-hpux.gperf: New file.
53596         * lib/iconv_open-irix.gperf: New file.
53597         * lib/iconv_open-osf.gperf: New file.
53598         * m4/iconv_open.m4: New file.
53599         * modules/linebreak (Depends-on): Add iconv_open.
53600         * modules/striconv (Depends-on): Likewise.
53601         * modules/striconveh (Depends-on): Likewise.
53602         * modules/unicodeio (Depends-on): Likewise.
53603         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
53604         (iconv_t)(-1).
53605         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
53606         conversion if cd is (iconv_t)(-1).
53607         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
53608         is not possible.
53609
53610 2007-03-31  Bruno Haible  <bruno@clisp.org>
53611
53612         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53613         work on Solaris either. Protect also second use of "autodetect_jp".
53614
53615 2007-03-31  Bruno Haible  <bruno@clisp.org>
53616
53617         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
53618         the function is not present.
53619
53620 2007-03-31  Bruno Haible  <bruno@clisp.org>
53621
53622         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
53623         the function is not present.
53624
53625 2007-03-31  Bruno Haible  <bruno@clisp.org>
53626
53627         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
53628         a bug in HP-UX iconv_open().
53629
53630 2007-03-31  Bruno Haible  <bruno@clisp.org>
53631
53632         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
53633         (Mathematics <math.h>): New section, add fpieee.
53634         (Input/output <stdio.h>): Add fseterr.
53635         (Mathematics <math.h>): New section, add printf-frexp.
53636         (Container data structures): Add sublist.
53637         (Core language properties): Add fpucw, inline.
53638         (Functions for greatest-width integer types <inttypes.h>): Add
53639         imaxabs, imaxdiv, inttypes.
53640         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
53641         isnanl-nolibm, ldexp.
53642         (Mathematics <math.h>): New section, add printf-frexpl.
53643         (Support for systems lacking POSIX:2001): Add fprintf-posix,
53644         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
53645         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
53646         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
53647         (Unicode string functions): Add unistr/u*-mbtoucr.
53648         (Java): Add javacomp-script, javaexec-script.
53649         (C#): Add csharpcomp-script, csharpexec-script.
53650         (Support for building libraries and executables): Add havelib,
53651         relocatable-*.
53652         (Support for maintaining and releasing projects): Renamed from
53653         'Support for maintaining and release projects'. Add announce-gen.
53654
53655 2007-03-31  Bruno Haible  <bruno@clisp.org>
53656
53657         * README: Talk primarily about git.
53658         (git and CVS): Renamed from CVS.
53659         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
53660         gnulib is available through git.
53661         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
53662
53663 2007-03-30  Bruno Haible  <bruno@clisp.org>
53664
53665         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
53666         * lib/poll_.h: Likewise.
53667         * lib/stat_.h: Likewise.
53668         * lib/sys_time_.h: Likewise.
53669         * lib/sysexit_.h: Likewise.
53670         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
53671         * lib/stdbool_.h: Likewise.
53672         * lib/byteswap_.h: Add double-inclusion guard.
53673
53674 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
53675
53676         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
53677
53678 2007-03-30  Karl Berry  <karl@gnu.org>
53679
53680         * config/srclist-update: double space after USA in the license
53681         substitution, since that's how it's usually (?) written.
53682
53683 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53684
53685         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
53686         reported by Bruno Haible.
53687
53688 2007-03-29  Bruno Haible  <bruno@clisp.org>
53689
53690         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
53691         a bug in AIX iconv().
53692
53693 2007-03-29  Bruno Haible  <bruno@clisp.org>
53694
53695         * modules/ldexpl-tests: New file.
53696         * tests/test-ldexpl.c: New file.
53697
53698 2007-03-29  Bruno Haible  <bruno@clisp.org>
53699
53700         * lib/ldexpl.c: Include fpucw.h.
53701         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
53702         multiplication.
53703         * modules/ldexpl (Depends-on): Add fpucw.
53704
53705 2007-03-29  Bruno Haible  <bruno@clisp.org>
53706
53707         * modules/ldexpl: New file.
53708         * m4/ldexpl.m4: New file.
53709         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
53710         set.
53711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
53712         REPLACE_LDEXPL.
53713         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
53714         REPLACE_LDEXPL.
53715         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
53716         gl_FUNC_LDEXPL_WORKS.
53717         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
53718         * modules/mathl (Files): Remove lib/ldexpl.c.
53719         (Depends-on): Add ldexpl.
53720
53721 2007-03-29  Bruno Haible  <bruno@clisp.org>
53722
53723         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
53724
53725 2007-03-29  Bruno Haible  <bruno@clisp.org>
53726
53727         * tests/test-striconveh.c (main): Don't assume that a direct conversion
53728         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
53729         and possibly also HP-UX.
53730         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53731         work on AIX, IRIX, HP-UX, OSF/1.
53732         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
53733         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
53734         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
53735         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
53736         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
53737         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
53738
53739 2007-03-29  Bruno Haible  <bruno@clisp.org>
53740
53741         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
53742
53743 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53744
53745         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
53746         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
53747
53748 2007-03-29  Eric Blake  <ebb9@byu.net>
53749
53750         * lib/acl-internal.h: Remove redundant include.
53751         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
53752         Cygwin when a file is locked.
53753
53754 2007-03-29  Bruno Haible  <bruno@clisp.org>
53755
53756         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
53757         file.
53758         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
53759
53760 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53761
53762         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
53763         try to remove a parent directory if the child couldn't be removed
53764         (except for the first rmdir, which could fail because the child
53765         doesn't exist).  Problem reported by Jeff Blaine in
53766         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
53767
53768 2007-03-28  Bruno Haible  <bruno@clisp.org>
53769
53770         * lib/striconveh.c (utf8conv_carefully): New function.
53771         (mem_cd_iconveh_internal): Invoke it.
53772
53773 2007-03-28  Bruno Haible  <bruno@clisp.org>
53774
53775         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
53776         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
53777         input.
53778         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
53779         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
53780         unistr/u8-uctomb.
53781
53782 2007-03-28  Bruno Haible  <bruno@clisp.org>
53783
53784         * modules/unistr/u8-mbtoucr: New file.
53785         * lib/unistr/u8-mbtoucr.c: New file.
53786         * modules/unistr/u16-mbtoucr: New file.
53787         * lib/unistr/u16-mbtoucr.c: New file.
53788         * modules/unistr/u16-mbtoucr: New file.
53789         * lib/unistr/u16-mbtoucr.c: New file.
53790         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
53791
53792 2007-03-27  Simon Josefsson  <simon@josefsson.org>
53793             Bruno Haible  <bruno@clisp.org>
53794
53795         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
53796         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
53797         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
53798
53799         * m4/stdio_h.m4: Add stubs for vasprintf too.
53800
53801         * modules/stdio: Support vasprintf in sed command.
53802
53803         * modules/vasprintf: Depend on stdio for prototypes.  Remove
53804         vasprintf.h.  Add stdio module indicator.
53805
53806         * lib/stdio_.h: Declare asprintf and vasprintf, based on
53807         vasprintf.h.
53808
53809         * lib/vasprintf.h: File removed.
53810
53811         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
53812         * lib/vasprintf.c: Ditto.
53813         * lib/xvasprintf.c: Ditto.
53814         * tests/test-vasprintf-posix.c: Ditto.
53815         * tests/test-vasprintf.c: Ditto.
53816
53817 2007-03-27  Bruno Haible  <bruno@clisp.org>
53818
53819         Make vasnprintf multithread-safe.
53820         * lib/vasnprintf.c (decimal_point_char): New function.
53821         (VASNPRINTF): Use it.
53822         Suggested by Simon Josefsson.
53823
53824 2007-03-27  Eric Blake  <ebb9@byu.net>
53825
53826         Support sub-second birthtime on cygwin.
53827         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
53828         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
53829         (get_stat_birthtime): Also work with st_birthtim.
53830
53831 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
53832
53833         * lib/stat-time.h (USE_BIRTHTIME): Remove.
53834         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
53835         (get_stat_birthtime_ns): Do not try to use "spare" fields.
53836         (get_stat_birthtime_ns): Simplify compile-time tests.
53837         (get_stat_birthtime): Change the API to look like
53838         get_stat_mtime etc., except return a negative tv_nsec on error.
53839         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
53840         Don't check for "spare" fields.
53841         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
53842         or for struct stat.st_birthtime, as these tests aren't used.
53843         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
53844
53845 2007-03-27  Bruno Haible  <bruno@clisp.org>
53846
53847         * lib/stat-time.h: Include <sys/stat.h>.
53848
53849 2007-03-27  James Youngman  <jay@gnu.org>
53850
53851         * lib/stat-time.h (get_stat_birthtime): New function for
53852           retrieving st_birthtime as provided by UFS2 (hence *BSD).
53853         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
53854           and its variants.
53855         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
53856         * modules/stat-time-test: New file.
53857         * tests/test-stat-time.c: New test, devised by Bruno Haible.
53858
53859 2007-03-26  Bruno Haible  <bruno@clisp.org>
53860
53861         Better support of signalling NaNs.
53862         * lib/atanl.c: Include isnanl.h.
53863         (atanl): Perform test for NaN at the beginning of the function and
53864         through a call to isnanl.
53865         * lib/cosl.c: Include isnanl.h.
53866         (cosl): Perform test for NaN at the beginning of the function and
53867         through a call to isnanl.
53868         * lib/ldexpl.c: Include isnanl.h.
53869         (ldexpl): Perform test for NaN through a call to isnanl.
53870         * lib/logl.c: Include isnanl.h.
53871         (logl): Perform test for NaN at the beginning of the function and
53872         through a call to isnanl.
53873         * lib/sinl.c: Include isnanl.h.
53874         (sinl): Perform test for NaN at the beginning of the function and
53875         through a call to isnanl.
53876         * lib/sqrtl.c: Include isnanl.h.
53877         (sqrtl): Perform test for NaN at the beginning of the function and
53878         through a call to isnanl.
53879         * lib/tanl.c: Include isnanl.h.
53880         (tanl): Perform test for NaN at the beginning of the function and
53881         through a call to isnanl.
53882         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
53883         * modules/mathl (Depends-on): Add isnanl.
53884
53885 2007-03-26  Eric Blake  <ebb9@byu.net>
53886
53887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
53888         regression in logic sense of previous patch.
53889
53890 2007-03-26  Bruno Haible  <bruno@clisp.org>
53891
53892         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
53893         unportable shell command "if ! ...".
53894         Reported by Ralf Wildenhues.
53895
53896 2007-03-25  Bruno Haible  <bruno@clisp.org>
53897
53898         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
53899         <sysexits.h> file, and only add EX_CONFIG.
53900         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
53901         absolute file name and whether it is sufficient. Substitute also
53902         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
53903         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
53904         ABSOLUTE_SYSEXITS_H into sysexits.h.
53905
53906 2007-03-25  Bruno Haible  <bruno@clisp.org>
53907
53908         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
53909         hints is NULL.
53910
53911 2007-03-25  Bruno Haible  <bruno@clisp.org>
53912
53913         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
53914         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
53915
53916 2007-03-25  Bruno Haible  <bruno@clisp.org>
53917
53918         * lib/vasnprintf.c: Include langinfo.h.
53919         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
53920         multithread-safe.
53921         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
53922         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
53923         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53924         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53925         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53926         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53927         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53928         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
53929         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53930         Reported by Simon Josefsson.
53931
53932 2007-03-25  Bruno Haible  <bruno@clisp.org>
53933
53934         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
53935         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
53936         * modules/vasnprintf (Depends-on): Add stdint.
53937
53938 2007-03-25  Bruno Haible  <bruno@clisp.org>
53939
53940         * modules/fpieee: New file.
53941         * m4/fpieee.m4: New file.
53942         * modules/isnan-nolibm (Depends-on): Add fpieee.
53943         * modules/isnanl-nolibm (Depends-on): Add fpieee.
53944         * modules/isnanl (Depends-on): Add fpieee.
53945
53946 2007-03-25  Bruno Haible  <bruno@clisp.org>
53947
53948         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
53949
53950 2007-03-25  Bruno Haible  <bruno@clisp.org>
53951
53952         Avoid test failures on IRIX 6.5.
53953         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
53954         (main): Use it.
53955         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
53956         macros.
53957         (main): Use them.
53958
53959 2007-03-25  Bruno Haible  <bruno@clisp.org>
53960
53961         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
53962         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
53963         exists but doesn't work.
53964         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
53965         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
53966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
53967         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
53968         math.h.
53969
53970 2007-03-25  Bruno Haible  <bruno@clisp.org>
53971
53972         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
53973         returns inf. Needed on IRIX 6.5.
53974
53975 2007-03-25  Bruno Haible  <bruno@clisp.org>
53976
53977         * tests/test-frexpl.c: Include isnanl-nolibm.h.
53978         (main): Use isnanl instead of x != x idiom.
53979         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
53980
53981         * tests/test-frexp.c: Include isnan.h.
53982         (main): Use isnan instead of x != x idiom.
53983         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
53984
53985 2007-03-25  Bruno Haible  <bruno@clisp.org>
53986
53987         * tests/test-frexp.c (NaN): New function/macro.
53988         (main): Use it instead of 0.0 / 0.0.
53989         * tests/test-isnan.c (NaN): New function/macro.
53990         (main): Use it instead of 0.0 / 0.0.
53991         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
53992         (test_function): Use it instead of 0.0 / 0.0.
53993         * tests/test-vasprintf-posix.c (NaN): New function/macro.
53994         (test_function): Use it instead of 0.0 / 0.0.
53995         * tests/test-snprintf-posix.h (NaN): New function/macro.
53996         (test_function): Use it instead of 0.0 / 0.0.
53997         * tests/test-sprintf-posix.h (NaN): New function/macro.
53998         (test_function): Use it instead of 0.0 / 0.0.
53999         * tests/test-fprintf-posix.h (NaN): New function/macro.
54000         (test_function): Use it instead of 0.0 / 0.0.
54001         * tests/test-printf-posix.h (NaN): New function/macro.
54002         (test_function): Use it instead of 0.0 / 0.0.
54003
54004         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
54005
54006 2007-03-25  Bruno Haible  <bruno@clisp.org>
54007
54008         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
54009
54010 2007-03-25  Bruno Haible  <bruno@clisp.org>
54011
54012         * lib/regexec.c (merge_state_with_log): Make static.
54013
54014 2007-03-25  Bruno Haible  <bruno@clisp.org>
54015
54016         * lib/trigl.c (kernel_rem_pio2): Make static.
54017
54018 2007-03-25  Bruno Haible  <bruno@clisp.org>
54019
54020         * lib/sincosl.c (sincosl_table): Make static.
54021
54022 2007-03-25  Bruno Haible  <bruno@clisp.org>
54023
54024         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
54025         if the compiler does not support C99.
54026
54027 2007-03-25  Bruno Haible  <bruno@clisp.org>
54028
54029         * modules/time (Makefile.am): Ensure all rule action lines start with a
54030         tab.
54031
54032 2007-03-24  Bruno Haible  <bruno@clisp.org>
54033
54034         * modules/tsearch-tests: New file.
54035         * tests/test-tsearch.sh: New file.
54036         * tests/test-tsearch.c: New file, mostly copied from glibc.
54037
54038         * modules/search-tests: New file.
54039         * tests/test-search.c: New file.
54040
54041         * modules/search: New file.
54042         * lib/search_.h: New file, incorporating lib/tsearch.h.
54043         * m4/search_h.m4: New file.
54044         * lib/tsearch.h: Remove file.
54045         * lib/tsearch.c: Include search.h instead of tsearch.h.
54046         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
54047         HAVE_TSEARCH.
54048         * modules/tsearch (Files): Remove lib/tsearch.h.
54049         (Depends-on): Add search.
54050         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
54051         (Include): Change tsearch.h into search.h.
54052
54053 2007-03-24  Bruno Haible  <bruno@clisp.org>
54054
54055         * modules/fpucw: New file.
54056         * lib/fpucw.h: New file.
54057         * lib/frexp.c: Include fpucw.h.
54058         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
54059         (FUNC): Use them.
54060         * lib/printf-frexp.c: Include fpucw.h.
54061         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
54062         (FUNC): Use them.
54063         * lib/vasnprintf.c: Include fpucw.h.
54064         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
54065         'long double' calculations.
54066         * tests/test-frexpl.c: Include fpucw.h.
54067         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
54068         * tests/test-printf-frexpl.c: Include fpucw.h.
54069         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
54070         * modules/frexpl (Depends-on): Add fpucw.
54071         * modules/printf-frexpl (Depends-on): Likewise.
54072         * modules/fprintf-posix (Depends-on): Likewise.
54073         * modules/snprintf-posix (Depends-on): Likewise.
54074         * modules/sprintf-posix (Depends-on): Likewise.
54075         * modules/vasnprintf-posix (Depends-on): Likewise.
54076         * modules/vasprintf-posix (Depends-on): Likewise.
54077         * modules/vfprintf-posix (Depends-on): Likewise.
54078         * modules/vsnprintf-posix (Depends-on): Likewise.
54079         * modules/vsprintf-posix (Depends-on): Likewise.
54080         * modules/frexpl-tests (Depends-on): Likewise.
54081         * modules/printf-frexpl-tests (Depends-on): Likewise.
54082
54083 2007-03-24  Bruno Haible  <bruno@clisp.org>
54084
54085         * lib/float+.h: New file.
54086         * lib/isnan.c: Include float+.h.
54087         (SIZE): New macro.
54088         (FUNC): Compare only SIZE bytes of the value.
54089         * lib/vasnprintf.c: Include float+.h.
54090         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
54091         SIZEOF_LDBL or SIZEOF_DBL bytes.
54092         * modules/isnan-nolibm (Files): Add lib/float+.h.
54093         * modules/isnanl-nolibm (Files): Add lib/float+.h.
54094         * modules/isnanl (Files): Add lib/float+.h.
54095         * modules/vasnprintf (Files): Add lib/float+.h.
54096
54097 2007-03-24  Bruno Haible  <bruno@clisp.org>
54098
54099         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
54100         include isnanl-nolibm.h.
54101
54102 2007-03-24  Bruno Haible  <bruno@clisp.org>
54103
54104         * tests/test-read-file.c (main): Don't produce spurious output for
54105         expected situations. Make the test fail if it encountered unexpected
54106         results.
54107
54108 2007-03-24  Bruno Haible  <bruno@clisp.org>
54109
54110         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
54111         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
54112
54113 2007-03-24  Bruno Haible  <bruno@clisp.org>
54114
54115         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
54116
54117 2007-03-24  Bruno Haible  <bruno@clisp.org>
54118
54119         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
54120         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
54121
54122         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
54123         * modules/utf8-ucs4: Turn into a symbolic link to module
54124         unistr/u8-mbtouc.
54125
54126         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
54127         utf8-ucs4-unsafe.
54128         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
54129         unistr/u8-mbtouc-unsafe.
54130
54131         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
54132         * modules/utf16-ucs4: Turn into a symbolic link to module
54133         unistr/u16-mbtouc.
54134
54135         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
54136         utf16-ucs4-unsafe.
54137         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
54138         unistr/u16-mbtouc-unsafe.
54139
54140         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
54141         * modules/ucs4-utf8: Turn into a symbolic link to module
54142         unistr/u8-ubtomb.
54143
54144         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
54145         * modules/ucs4-utf16: Turn into a symbolic link to module
54146         unistr/u16-ubtomb.
54147
54148 2007-03-24  Bruno Haible  <bruno@clisp.org>
54149
54150         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
54151         Enable the function only if HAVE_INLINE.
54152         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
54153         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
54154         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
54155         Enable the function only if HAVE_INLINE.
54156         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
54157         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
54158         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
54159         Enable the function only if HAVE_INLINE.
54160         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
54161         Enable the function only if HAVE_INLINE.
54162         * modules/utf8-ucs4: Update.
54163         * modules/utf8-ucs4-unsafe: Update.
54164         * modules/utf16-ucs4: Update.
54165         * modules/utf16-ucs4-unsafe: Update.
54166         * modules/ucs4-utf8: Update.
54167         * modules/ucs4-utf16: Update.
54168
54169 2007-03-24  Bruno Haible  <bruno@clisp.org>
54170
54171         * lib/utf8-ucs4.h: Remove file.
54172         * lib/utf8-ucs4-unsafe.h: Remove file.
54173         * lib/utf16-ucs4.h: Remove file.
54174         * lib/utf16-ucs4-unsafe.h: Remove file.
54175         * lib/ucs4-utf8.h: Remove file.
54176         * lib/ucs4-utf16.h: Remove file.
54177         * lib/unistr.h: Include their previous contents.
54178         * m4/utf-ucs4.m4: Remove file.
54179         * m4/ucs4-utf.m4: Remove file.
54180         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
54181         (Depends-on): Add unistr/base.
54182         (configure.ac): Remove gl_UTF_UCS4.
54183         (Makefile.am): Update.
54184         (Include): Change to unistr.h.
54185         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
54186         (Depends-on): Add unistr/base.
54187         (configure.ac): Remove gl_UTF_UCS4.
54188         (Makefile.am): Update.
54189         (Include): Change to unistr.h.
54190         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
54191         (Depends-on): Add unistr/base.
54192         (configure.ac): Remove gl_UTF_UCS4.
54193         (Makefile.am): Update.
54194         (Include): Change to unistr.h.
54195         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
54196         (Depends-on): Add unistr/base.
54197         (configure.ac): Remove gl_UTF_UCS4.
54198         (Makefile.am): Update.
54199         (Include): Change to unistr.h.
54200         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
54201         (Depends-on): Add unistr/base.
54202         (configure.ac): Remove gl_UCS4_UTF.
54203         (Makefile.am): Update.
54204         (Include): Change to unistr.h.
54205         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
54206         (Depends-on): Add unistr/base.
54207         (configure.ac): Remove gl_UCS4_UTF.
54208         (Makefile.am): Update.
54209         (Include): Change to unistr.h.
54210         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
54211         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
54212         utf8-ucs4-unsafe.h.
54213         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
54214         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
54215         utf16-ucs4-unsafe.h.
54216         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
54217         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
54218         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
54219         * lib/unistr/u8-strchr.c: Likewise.
54220         * lib/unistr/u8-strrchr.c: Likewise.
54221         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
54222         * lib/unistr/u16-strchr.c: Likewise.
54223         * lib/unistr/u16-strrchr.c: Likewise.
54224         * lib/striconveh.c: Update.
54225         * lib/linebreak.c: Update.
54226
54227 2007-03-24  Bruno Haible  <bruno@clisp.org>
54228
54229         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
54230         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
54231
54232 2007-03-22  Bruno Haible  <bruno@clisp.org>
54233
54234         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
54235
54236 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
54237
54238         * MODULES.html.sh (File system functions): New module write-any-file.
54239         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
54240         * m4/write-any-file.m4: New files.
54241
54242 2007-03-23  Eric Blake  <ebb9@byu.net>
54243
54244         * gnulib-tool: Rearrange space-tab sequences, since some editors
54245         like to eat them.
54246
54247 2007-03-23  Eric Blake  <ebb9@byu.net>
54248
54249         * lib/version-etc.c (version_etc_va): Update license wording to
54250         be more concise.  Recommended by Richard Stallman.
54251
54252 2007-03-22  Bruno Haible  <bruno@clisp.org>
54253
54254         * lib/poll.c (MSG_PEEK): New fallback definition.
54255
54256 2007-03-22  Bruno Haible  <bruno@clisp.org>
54257
54258         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
54259         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
54260         (main): Update.
54261         Fixes a compilation error on BeOS.
54262
54263 2007-03-22  Bruno Haible  <bruno@clisp.org>
54264
54265         * modules/frexpl-tests: New file.
54266         * tests/test-frexpl.c: New file.
54267
54268         * modules/frexpl: New file.
54269         * m4/frexpl.m4: New file.
54270         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
54271         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
54272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
54273         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
54274         (Depends-on): Add frexpl. Remove isnanl-nolibm.
54275         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
54276
54277 2007-03-22  Bruno Haible  <bruno@clisp.org>
54278
54279         * lib/frexpl.c: Share code with lib/frexp.c.
54280         * modules/mathl (Files): Add lib/frexp.c.
54281         (Depends-on): Add isnanl-nolibm.
54282
54283 2007-03-22  Bruno Haible  <bruno@clisp.org>
54284
54285         * modules/printf-frexp (Files): Add m4/frexp.m4.
54286         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
54287         only if the found frexp function actually works.
54288
54289 2007-03-22  Bruno Haible  <bruno@clisp.org>
54290
54291         * lib/frexp.c: Remove older implementation that uses divisions.
54292
54293 2007-03-21  Bruno Haible  <bruno@clisp.org>
54294
54295         * modules/frexp-tests: New file.
54296         * tests/test-frexp.c: New file.
54297
54298         * modules/frexp: New file.
54299         * lib/frexp.c: New file.
54300         * m4/frexp.m4: New file.
54301         * lib/math_.h (frexp): New declaration.
54302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
54303         REPLACE_FREXP.
54304         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
54305
54306 2007-03-21  Bruno Haible  <bruno@clisp.org>
54307
54308         * modules/isnanl-tests: New file.
54309         * tests/test-isnanl.c: New file.
54310
54311         * modules/isnanl: New file.
54312         * lib/isnanl.h: New file.
54313         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
54314         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
54315         gl_FUNC_ISNANL_WORKS.
54316         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
54317         New macros.
54318
54319 2007-03-21  Bruno Haible  <bruno@clisp.org>
54320
54321         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
54322         lib/isnanl.h.
54323         (Include): Update.
54324         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
54325         * lib/vasnprintf.c: Update.
54326         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
54327         tests/test-isnanl.h, remove tests/test-isnanl.c.
54328         (Makefile.am): Update.
54329         * tests/test-isnanl-nolibm.c: New file.
54330         * tests/test-isnanl.h: New file.
54331         * tests/test-isnanl.c: Remove file.
54332
54333 2007-03-21  Jim Meyering  <jim@meyering.net>
54334
54335         When trying to open ".", treat ESTALE like EACCES.
54336         * lib/savewd.c (savewd_save): Resort to forking not just upon
54337         failure with EACCES, but also when errno is ESTALE.
54338
54339 2007-03-20  Bruno Haible  <bruno@clisp.org>
54340
54341         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
54342         Needed on AIX 5.1. Reported by Matthew Woehlke.
54343
54344 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54345
54346         Suggestions by Bruno Haible:
54347         * lib/acl-internal.h: Include "gettext.h" rather than rolling
54348         our own.
54349         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
54350         * modules/acl (Depends-on): Add gettext.
54351
54352 2007-03-19  Bruno Haible  <bruno@clisp.org>
54353
54354         * modules/iconvme: Remove file.
54355         * lib/iconvme.h: Remove file.
54356         * lib/iconvme.c: Remove file.
54357         * m4/iconvme.m4: Remove file.
54358
54359 2007-03-19  Bruno Haible  <bruno@clisp.org>
54360
54361         * doc/relocatable-maint.texi: Break long shell script line.
54362         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
54363
54364 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54365
54366         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
54367         handle file_has_acl.
54368         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
54369         * lib/acl.c: Move header inclusions and related macro defns into
54370         lib/acl-internal.h.
54371         (S_ISLNK): Remove defn, since that's now done for us.
54372         (file_has_acl): Move to lib/file-has-acl.c.
54373         Call acl_trivial if available.  This is the crucial part of the fix.
54374         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
54375         shared within the library.  Rewrite a bit, partly to make it compatible
54376         with the GNU coding style.
54377         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
54378         Remove unnecessary double-quotes.
54379         Don't test for acl_to_text; the build will catch that.
54380         Replace acl_entries if it doesn't exist and it is needed.
54381         Check for -lsec and acl_trivial (as used on Solaris 10).
54382         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
54383         lib/file-has-acl.c.
54384         (Depends-on): Add sys_stat, for S_ISLNK.
54385
54386 2007-03-19  Ben Pfaff  <blp@gnu.org>
54387
54388         * doc/gnulib.texi: Fix typos.
54389         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
54390
54391 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54392
54393         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
54394         If size is zero here, buf must be zero.
54395
54396 2007-03-19  Simon Josefsson  <simon@josefsson.org>
54397
54398         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
54399         <bruno@clisp.org>.
54400
54401 2007-03-18  Bruno Haible  <bruno@clisp.org>
54402
54403         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
54404         Suggested by Eric Blake.
54405
54406 2007-03-18  Ben Pfaff  <blp@gnu.org>
54407
54408         * doc/relocatable.texi: Recommend using as prefix a directory
54409         that does not exist and will never be created.  Based on
54410         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
54411         and others.
54412
54413 2007-03-17  Bruno Haible  <bruno@clisp.org>
54414
54415         * lib/fchownat.c: Include lchown.h.
54416
54417 2007-03-17  Bruno Haible  <bruno@clisp.org>
54418
54419         Fix endless loop when the given allocated size was > INT_MAX.
54420         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
54421         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
54422         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
54423         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
54424         * lib/sprintf.c (sprintf): Likewise.
54425
54426 2007-03-17  Bruno Haible  <bruno@clisp.org>
54427
54428         * tests/test-argp-2.sh (func_compare): Output a context diff.
54429
54430 2007-03-17  Bruno Haible  <bruno@clisp.org>
54431
54432         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
54433         locale's decimal-point character.
54434
54435 2007-03-17  Bruno Haible  <bruno@clisp.org>
54436
54437         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
54438         before comparing it. Needed because on some platforms (e.g. x86) a
54439         'long double' occupies less bytes than sizeof (long double).
54440
54441 2007-03-17  Bruno Haible  <bruno@clisp.org>
54442
54443         * tests/test-crc.c (main): Make printf statements 64-bit clean.
54444         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
54445         * tests/test-getaddrinfo.c (simple): Likewise.
54446         * tests/test-read-file.c (main): Likewise.
54447
54448 2007-03-17  Bruno Haible  <bruno@clisp.org>
54449
54450         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
54451
54452 2007-03-17  Bruno Haible  <bruno@clisp.org>
54453
54454         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
54455         unused variable.
54456
54457 2007-03-17  Bruno Haible  <bruno@clisp.org>
54458
54459         * tests/test-c-strcasecmp.c: Include c-strcase.h.
54460         * tests/test-c-strncasecmp.c: Likewise.
54461
54462 2007-03-17  Bruno Haible  <bruno@clisp.org>
54463
54464         * modules/stdlib (Depends-on): Add unistd.
54465         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
54466         Needed for MacOS X 10.3.
54467
54468 2007-03-17  Bruno Haible  <bruno@clisp.org>
54469
54470         * lib/unistr/u-strdup.h: Include <stdlib.h>.
54471
54472 2007-03-17  Bruno Haible  <bruno@clisp.org>
54473
54474         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
54475
54476 2007-03-17  Bruno Haible  <bruno@clisp.org>
54477
54478         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
54479         to reflect files copied from gnulib (with or without modifications).
54480         Suggested by Jim Meyering.
54481
54482 2007-03-17  Eric Blake  <ebb9@byu.net>
54483
54484         * NEWS: Document stdlib change from 2007-02-18.
54485
54486 2007-03-17  Jim Meyering  <jim@meyering.net>
54487
54488         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
54489         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
54490         someone uses a name containing shell meta-characters.
54491         Reported by Alfred M. Szmidt.
54492
54493         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
54494
54495 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
54496
54497         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
54498         and copy gettext configuration files only if configure.ac contains
54499         a use of AM_GNU_GETTEXT_VERSION.
54500
54501 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
54502
54503         * build-aux/bootstrap (gnulib_name): New variable.
54504         (gnulib_tool_options): Use it.
54505
54506 2007-03-13  Simon Josefsson  <simon@josefsson.org>
54507
54508         * tests/test-des.c: Use new namespace.
54509
54510 2007-03-15  Bruno Haible  <bruno@clisp.org>
54511
54512         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
54513         Reported by James Youngman <jay@gnu.org>.
54514
54515 2007-03-15  Bruno Haible  <bruno@clisp.org>
54516
54517         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
54518         declared prototype. Needed with cc on OSF/1 5.1.
54519
54520 2007-03-15  Bruno Haible  <bruno@clisp.org>
54521
54522         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
54523         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
54524         (struct gl_list_implementation): Add dispose_fn argument to the
54525         'create_empty', 'create' methods.
54526         (struct gl_list_impl_base): Add field 'dispose_fn'.
54527         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
54528         argument.
54529         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
54530         dispose_fn argument.
54531         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
54532         dispose_fn on the dropped values.
54533         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
54534         dispose_fn argument.
54535         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
54536         dropped values.
54537         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
54538         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54539         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
54540         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54541         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
54542         argument.
54543         (gl_tree_list_free): Call dispose_fn on the dropped values.
54544         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
54545         the dropped values.
54546         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54547         Add dispose_fn argument.
54548         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
54549         Call dispose_fn on the dropped values.
54550         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
54551         Add dispose_fn argument.
54552         (gl_sublist_create): Initialize the 'dispose_fn' field.
54553         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
54554         * tests/test-array_list.c (main): Update.
54555         * tests/test-carray_list.c (main): Update.
54556         * tests/test-avltree_list.c (main): Update.
54557         * tests/test-rbtree_list.c (main): Update.
54558         * tests/test-avltreehash_list.c (main): Update.
54559         * tests/test-rbtreehash_list.c (main): Update.
54560         * tests/test-linked_list.c (main): Update.
54561         * tests/test-linkedhash_list.c (main): Update.
54562         * tests/test-array_oset.c (main): Update.
54563
54564 2007-03-15  Bruno Haible  <bruno@clisp.org>
54565
54566         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
54567         (gl_oset_create_empty): Add dispose_fn argument.
54568         (struct gl_oset_implementation): Add dispose_fn argument to
54569         'create_empty' method.
54570         (struct gl_oset_impl_base): Add dispose_fn field.
54571         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
54572         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
54573         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
54574         values.
54575         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
54576         (gl_tree_oset_free): Call dispose_fn on the dropped values.
54577         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54578         dropped value.
54579         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54580         dropped value.
54581         * tests/test-array_oset.c (main): Update.
54582         * tests/test-avltree_oset.c (main): Update.
54583         * tests/test-rbtree_oset.c (main): Update.
54584         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
54585
54586 2007-03-13  Bruno Haible  <bruno@clisp.org>
54587
54588         * tests/test-stdbool.c (i): Update after last patch.
54589
54590 2007-03-12  Bruno Haible  <bruno@clisp.org>
54591
54592         * lib/quotearg.c: Include <wctype.h> early, before the definition of
54593         the iswprint macro. Needed on Solaris 2.5.1.
54594
54595 2007-03-12  Bruno Haible  <bruno@clisp.org>
54596
54597         * tests/test-printf-frexp.c (main): Declare x as volatile.
54598
54599 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54600
54601         * doc/gnulib.texi (Build robot for gnulib): New section.
54602
54603 2007-03-12  Jim Meyering  <jim@meyering.net>
54604
54605         * build-aux/bootstrap: New file.
54606         * build-aux/bootstrap.conf: New file, from coreutils.
54607
54608 2007-03-11  Bruno Haible  <bruno@clisp.org>
54609
54610         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
54611
54612 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54613
54614         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
54615         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
54616         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
54617
54618 2007-03-11  Bruno Haible  <bruno@clisp.org>
54619
54620         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
54621         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
54622
54623 2007-03-11  Bruno Haible  <bruno@clisp.org>
54624
54625         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
54626         formula. Needed for SunPRO C 5.0.
54627
54628 2007-03-11  Bruno Haible  <bruno@clisp.org>
54629
54630         * modules/long-options (Depends-on): Add getopt.
54631
54632 2007-03-11  Bruno Haible  <bruno@clisp.org>
54633
54634         * modules/modechange (Depends-on): Add stdbool.
54635
54636 2007-03-11  Bruno Haible  <bruno@clisp.org>
54637
54638         * modules/i-ring (Depends-on): Add stdbool.
54639
54640 2007-03-11  Bruno Haible  <bruno@clisp.org>
54641
54642         * modules/gc-des (Depends-on): Add stdbool.
54643
54644 2007-03-11  Bruno Haible  <bruno@clisp.org>
54645
54646         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
54647
54648 2007-03-11  Bruno Haible  <bruno@clisp.org>
54649
54650         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
54651
54652 2007-03-11  Bruno Haible  <bruno@clisp.org>
54653
54654         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
54655
54656 2007-03-11  Bruno Haible  <bruno@clisp.org>
54657
54658         * lib/vasnprintf.c (sprintf): Undefine.
54659
54660 2007-03-11  Bruno Haible  <bruno@clisp.org>
54661
54662         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
54663         initializers in SunPRO C and Compaq C compilers.
54664
54665 2007-03-11  Bruno Haible  <bruno@clisp.org>
54666
54667         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
54668         decrementing code ANSI C compliant.
54669
54670 2007-03-11  Bruno Haible  <bruno@clisp.org>
54671
54672         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
54673         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
54674
54675 2007-03-11  Bruno Haible  <bruno@clisp.org>
54676
54677         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
54678         <stdbool.h> substitute doesn't pass.
54679
54680 2007-03-11  Bruno Haible  <bruno@clisp.org>
54681
54682         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
54683
54684 2007-03-11  Bruno Haible  <bruno@clisp.org>
54685
54686         * gnulib-tool (func_create_megatestdir): Create also an autobuild
54687         script, for submission to autobuild.josefsson.org.
54688
54689 2007-03-10  Bruno Haible  <bruno@clisp.org>
54690
54691         * modules/canonicalize-lgpl-tests: New file.
54692         * tests/test-canonicalize-lgpl.sh: New file.
54693         * tests/test-canonicalize-lgpl.c: New file.
54694
54695         * modules/c-strcase-tests: New file.
54696         * tests/test-c-strcase.sh: New file.
54697         * tests/test-c-strcasecmp.c: New file.
54698         * tests/test-c-strncasecmp.c: New file.
54699
54700         * modules/atexit-tests: New file.
54701         * tests/test-atexit.sh: New file.
54702         * tests/test-atexit.c: New file.
54703
54704 2007-03-10  Bruno Haible  <bruno@clisp.org>
54705
54706         * tests/test-binary-io.sh: Use temporary filenames that are not so
54707         likely to clash with those of other tests (in a parallel make).
54708         * tests/test-binary-io.c: Likewise.
54709
54710 2007-03-10  Bruno Haible  <bruno@clisp.org>
54711
54712         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
54713         fallback; use #error instead.
54714         Suggested by Simon Josefsson.
54715
54716 2007-03-10  Bruno Haible  <bruno@clisp.org>
54717
54718         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
54719         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
54720         first and the last.
54721
54722 2007-03-10  Bruno Haible  <bruno@clisp.org>
54723
54724         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
54725
54726 2007-03-10  Bruno Haible  <bruno@clisp.org>
54727
54728         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
54729         "make distcheck".
54730         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
54731         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
54732         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
54733
54734 2007-03-10  Bruno Haible  <bruno@clisp.org>
54735
54736         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
54737         variable.
54738         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
54739         variable.
54740
54741 2007-03-09  Eric Blake  <ebb9@byu.net>
54742         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
54743
54744         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
54745         types are not being provided by gnulib.
54746         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
54747         types are supported.
54748
54749 2007-03-10  Bruno Haible  <bruno@clisp.org>
54750
54751         * lib/stdio_.h (__attribute__): New macro.
54752         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
54753         vsprintf): Specify __attribute__ __format__ for GCC.
54754         Suggested by Eric Blake.
54755
54756 2007-03-09  Bruno Haible  <bruno@clisp.org>
54757
54758         * modules/printf-posix-tests: New file.
54759         * tests/test-printf-posix.sh: New file.
54760         * tests/test-printf-posix.c: New file.
54761
54762         * modules/printf-posix: New file.
54763         * lib/printf.c: New file.
54764         * m4/printf-posix-rpl.m4: New file.
54765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
54766         REPLACE_PRINTF.
54767         * lib/stdio_.h (printf): New declaration.
54768         (format, __format__, ____printf____, ____scanf____, ____strftime____,
54769         ____strfmon____): New macros.
54770         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
54771         REPLACE_PRINTF.
54772
54773 2007-03-09  Bruno Haible  <bruno@clisp.org>
54774
54775         * tests/test-vasnprintf-posix2.sh: New file.
54776         * tests/test-vasnprintf-posix2.c: New file.
54777         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
54778         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
54779         (Makefile.am): Activate test-vasnprintf-posix2.sh.
54780
54781         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
54782         a locale dependent decimal point, rather than always '.'.
54783
54784 2007-03-09  Eric Blake  <ebb9@byu.net>
54785
54786         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
54787         spite of platforms like Tandem/NSK that define it to -1.
54788
54789 2007-03-08  Bruno Haible  <bruno@clisp.org>
54790
54791         * modules/vprintf-posix-tests: New file.
54792         * tests/test-vprintf-posix.sh: New file.
54793         * tests/test-vprintf-posix.c: New file.
54794         * tests/test-printf-posix.h: New file.
54795
54796         * modules/vprintf-posix: New file.
54797         * lib/vprintf.c: New file.
54798         * m4/vprintf-posix.m4: New file.
54799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
54800         REPLACE_VPRINTF.
54801         * lib/stdio_.h (vprintf): New declaration.
54802         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
54803         REPLACE_VPRINTF.
54804
54805 2007-03-08  Bruno Haible  <bruno@clisp.org>
54806
54807         * modules/fprintf-posix-tests: New file.
54808         * tests/test-fprintf-posix.sh: New file.
54809         * tests/test-fprintf-posix.c: New file.
54810
54811         * modules/fprintf-posix: New file.
54812         * lib/fprintf.c: New file.
54813         * m4/fprintf-posix.m4: New file.
54814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
54815         REPLACE_FPRINTF.
54816         * lib/stdio_.h (fprintf): New declaration.
54817         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
54818         REPLACE_FPRINTF.
54819
54820 2007-03-08  Bruno Haible  <bruno@clisp.org>
54821
54822         * modules/vfprintf-posix-tests: New file.
54823         * tests/test-vfprintf-posix.sh: New file.
54824         * tests/test-vfprintf-posix.c: New file.
54825         * tests/test-fprintf-posix.h: New file.
54826         * tests/test-fprintf-posix.out: New file.
54827
54828         * modules/vfprintf-posix: New file.
54829         * lib/vfprintf.c: New file.
54830         * m4/vfprintf-posix.m4: New file.
54831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
54832         REPLACE_VFPRINTF.
54833         * lib/stdio_.h (vfprintf): New declaration.
54834         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
54835         REPLACE_VFPRINTF.
54836
54837 2007-03-08  Bruno Haible  <bruno@clisp.org>
54838
54839         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
54840
54841 2007-03-08  Bruno Haible  <bruno@clisp.org>
54842
54843         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
54844         instead of 'expr' invocations.
54845         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54846         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54847         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54848         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54849         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54850         Suggested by Paul Eggert.
54851
54852 2007-03-08  Bruno Haible  <bruno@clisp.org>
54853
54854         * modules/fseterr-tests: New file.
54855         * tests/test-fseterr.c: New file.
54856
54857         * modules/fseterr: New file.
54858         * lib/fseterr.h: New file.
54859         * lib/fseterr.c: New file.
54860
54861 2007-03-08  Bruno Haible  <bruno@clisp.org>
54862
54863         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
54864         * lib/getopt_.h: Likewise.
54865         * lib/mbswidth.h: Likewise.
54866         * lib/setenv.h: Likewise.
54867         * lib/vasnprintf.h: Likewise.
54868         * lib/vasprintf.h: Likewise.
54869         * lib/verror.h: Likewise.
54870         * lib/xsetenv.h: Likewise.
54871         * lib/xvasprintf.h: Likewise.
54872
54873 2007-03-08  Jim Meyering  <jim@meyering.net>
54874
54875         * users.txt: Add parted.
54876
54877         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
54878
54879 2007-03-07  Bruno Haible  <bruno@clisp.org>
54880
54881         * m4/printf.m4: Make the shell script snippets copy&pastable.
54882
54883 2007-03-02  Bruno Haible  <bruno@clisp.org>
54884
54885         * lib/netinet_in_.h: New file.
54886         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
54887         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
54888         * modules/netinet_in (Files): Add lib/netinet_in_.h.
54889         (Depends-on): Add absolute-header.
54890         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
54891         into netinet/in.h.
54892
54893 2007-03-03  Bruno Haible  <bruno@clisp.org>
54894
54895         * lib/sys_select_.h: New file.
54896         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
54897         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
54898         * modules/sys_select (Files): Add lib/sys_select_.h.
54899         (Depends-on): Add absolute-header.
54900         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
54901         into sys/select.h.
54902
54903 2007-03-02  Bruno Haible  <bruno@clisp.org>
54904
54905         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
54906         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
54907         values.
54908         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
54909         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
54910         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
54911         * modules/sys_socket (Depends-on): Add absolute-header.
54912         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
54913         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
54914         (Include): Remove requirement of inclusion of <sys/types.h>.
54915
54916 2007-03-02  Bruno Haible  <bruno@clisp.org>
54917
54918         * lib/byteswap_.h (bswap_32): Fix formula.
54919
54920 2007-03-06  Bruno Haible  <bruno@clisp.org>
54921
54922         * modules/sprintf-posix-tests: New file.
54923         * tests/test-sprintf-posix.c: New file.
54924
54925         * modules/sprintf-posix: New file.
54926         * lib/sprintf.c: New file.
54927         * m4/sprintf-posix.m4: New file.
54928         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
54929         REPLACE_SPRINTF.
54930         * lib/stdio_.h (sprintf): New declaration.
54931         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
54932         REPLACE_SPRINTF.
54933
54934 2007-03-06  Bruno Haible  <bruno@clisp.org>
54935
54936         * modules/vsprintf-posix-tests: New file.
54937         * tests/test-vsprintf-posix.c: New file.
54938         * tests/test-sprintf-posix.h: New file.
54939
54940         * modules/vsprintf-posix: New file.
54941         * lib/vsprintf.c: New file.
54942         * m4/vsprintf-posix.m4: New file.
54943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
54944         REPLACE_VSPRINTF.
54945         * lib/stdio_.h (vsprintf): New declaration.
54946         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
54947         REPLACE_VSPRINTF.
54948
54949 2007-03-06  Bruno Haible  <bruno@clisp.org>
54950
54951         * modules/vsnprintf (Depend-on): Remove minmax.
54952
54953 2007-03-06  Bruno Haible  <bruno@clisp.org>
54954
54955         * modules/snprintf-posix-tests: New file.
54956         * tests/test-snprintf-posix.c: New file.
54957
54958         * modules/snprintf-posix: New file.
54959         * m4/snprintf-posix.m4: New file.
54960         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
54961         gl_FUNC_SNPRINTF.
54962         (gl_FUNC_SNPRINTF): Invoke it.
54963         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
54964         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
54965         is set.
54966         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
54967
54968 2007-03-06  Bruno Haible  <bruno@clisp.org>
54969
54970         * modules/vsnprintf-posix-tests: New file.
54971         * tests/test-vsnprintf-posix.c: New file.
54972         * tests/test-snprintf-posix.h: New file.
54973
54974         * modules/vsnprintf-posix: New file.
54975         * m4/vsnprintf-posix.m4: New file.
54976         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
54977         gl_FUNC_VSNPRINTF.
54978         (gl_FUNC_VSNPRINTF): Invoke it.
54979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
54980         * lib/stdio_.h (vsnprintf): Define as a replacement if
54981         REPLACE_VSNPRINTF is set.
54982         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
54983
54984 2007-03-06  Bruno Haible  <bruno@clisp.org>
54985
54986         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
54987         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
54988
54989 2007-03-06  Bruno Haible  <bruno@clisp.org>
54990
54991         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
54992         (asinl): Declare also if HAVE_DECL_ASINL is set.
54993         (atanl): Declare also if HAVE_DECL_ATANL is set.
54994         (ceill): Declare also if HAVE_DECL_CEILL is set.
54995         (cosl): Declare also if HAVE_DECL_COSL is set.
54996         (expl): Declare also if HAVE_DECL_EXPL is set.
54997         (floorl): Declare also if HAVE_DECL_FLOORL is set.
54998         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
54999         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
55000         (logl): Declare also if HAVE_DECL_LOGL is set.
55001         (sinl): Declare also if HAVE_DECL_SINL is set.
55002         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
55003         (tanl): Declare also if HAVE_DECL_TANL is set.
55004         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
55005         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
55006         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
55007         declaration of frexpl, ldexpl.
55008         * modules/printf-frexpl (Depends-on): Add math.
55009         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
55010
55011 2007-03-05  Bruno Haible  <bruno@clisp.org>
55012
55013         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
55014         frexpl and ldexpl are declared.
55015         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
55016
55017 2007-03-05  Bruno Haible  <bruno@clisp.org>
55018
55019         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
55020         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
55021
55022 2007-03-05  Bruno Haible  <bruno@clisp.org>
55023
55024         * lib/stdio_.h: Include <stddef.h>.
55025
55026 2007-03-05  Bruno Haible  <bruno@clisp.org>
55027
55028         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
55029
55030 2007-03-05  Bruno Haible  <bruno@clisp.org>
55031
55032         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
55033         NetBSD 4, from Ralf Wildenhues.
55034
55035 2007-03-04  Bruno Haible  <bruno@clisp.org>
55036
55037         * lib/vasprintf.h: Update #if logic for the case when the functions
55038         exist but are overridden.
55039
55040 2007-03-04  Bruno Haible  <bruno@clisp.org>
55041
55042         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
55043         implementations: glibc-2.4 and MacOS X 10.3.
55044         * tests/test-vasnprintf-posix.c (test_function): Test also the case
55045         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
55046         * tests/test-vasprintf-posix.c (test_function): Likewise.
55047
55048 2007-03-04  Bruno Haible  <bruno@clisp.org>
55049
55050         * modules/vasprintf-posix-tests: New file.
55051         * tests/test-vasprintf-posix.c: New file.
55052
55053         * modules/vasprintf-posix: New file.
55054         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
55055         defined.
55056         * m4/vasprintf-posix.m4: New file.
55057         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
55058         gl_FUNC_VASPRINTF.
55059         (gl_FUNC_VASPRINTF): Invoke it.
55060         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
55061         here.
55062         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
55063
55064 2007-03-04  Bruno Haible  <bruno@clisp.org>
55065
55066         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
55067         REPLACE_GETTIMEOFDAY.
55068         * modules/sys_time (Makefile.am): Likewise.
55069         * m4/sys_time_h.m4: Likewise.
55070         * m4/gettimeofday.m4: Likewise.
55071
55072 2007-03-04  Bruno Haible  <bruno@clisp.org>
55073
55074         * modules/vasnprintf-posix-tests: New file.
55075         * tests/test-vasnprintf-posix.c: New file.
55076
55077         * modules/vasnprintf-posix: New file.
55078         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
55079         printf-frexpl.h.
55080         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
55081         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
55082         REPLACE_VASNPRINTF is defined.
55083         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
55084         gl_FUNC_VASNPRINTF.
55085         (gl_FUNC_VASNPRINTF): Invoke it.
55086         * m4/vasnprintf-posix.m4: New file.
55087         * m4/printf.m4: New file.
55088
55089 2007-03-04  Bruno Haible  <bruno@clisp.org>
55090
55091         Compile progreloc.c only if --enable-relocatable is specified.
55092         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
55093         if --enable-relocatable was specified.
55094         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
55095         lib_SOURCES.
55096
55097 2007-03-04  Jim Meyering  <jim@meyering.net>
55098
55099         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
55100         Use it consistently, rather than enumerating errno constants.
55101
55102 2007-03-04  Bruno Haible  <bruno@clisp.org>
55103
55104         * modules/xvasprintf-tests: New file.
55105         * tests/test-xvasprintf.c: New file.
55106
55107         * modules/vasprintf-tests: New file.
55108         * tests/test-vasprintf.c: New file.
55109
55110         * modules/vasnprintf-tests: New file.
55111         * tests/test-vasnprintf.c: New file.
55112
55113         * modules/vsnprintf-tests: New file.
55114         * tests/test-vsnprintf.c: New file.
55115
55116         * modules/snprintf-tests: New file.
55117         * tests/test-snprintf.c: New file.
55118
55119 2007-03-04  Bruno Haible  <bruno@clisp.org>
55120
55121         Compile relocatable.c only if --enable-relocatable is specified.
55122         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
55123         gl_RELOCATABLE_LIBRARY.
55124         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
55125         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
55126         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
55127         gl_RELOCATABLE_LIBRARY.
55128         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
55129         (Makefile.am): Remove lib_SOURCES.
55130         * modules/relocatable-lib-lgpl (configure.ac): Invoke
55131         gl_RELOCATABLE_LIBRARY.
55132         (Makefile.am): Remove lib_SOURCES.
55133         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
55134         always.
55135         * modules/relocatable-prog-wrapper (configure.ac): Invoke
55136         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
55137
55138 2007-03-04  Bruno Haible  <bruno@clisp.org>
55139
55140         * modules/argmatch-tests: New file.
55141         * tests/test-argmatch.c: New file.
55142
55143         * tests/test-allocsa.c (main): Halve the number of loop runs.
55144
55145         * modules/alloca-opt-tests: New file.
55146         * tests/test-alloca-opt.c: New file.
55147
55148 2007-03-04  Jim Meyering  <jim@meyering.net>
55149
55150         Work around difference between Linux ACLs and Solaris 10 ZFS.
55151         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
55152         for EINVAL.
55153
55154 2007-03-03  Bruno Haible  <bruno@clisp.org>
55155
55156         * modules/relocatable-prog (Depends-on): Add back progreloc's
55157         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
55158
55159 2007-03-03  Bruno Haible  <bruno@clisp.org>
55160
55161         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
55162         * modules/relocatable-lib: New file.
55163
55164 2007-03-03  Bruno Haible  <bruno@clisp.org>
55165
55166         * modules/relocatable-prog: Renamed from modules/relocatable.
55167         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
55168
55169 2007-03-03  Bruno Haible  <bruno@clisp.org>
55170
55171         * modules/relocatable-script (Files): Add doc/relocatable.texi,
55172         m4/relocatable-lib.m4.
55173         (Depends-on): Remove 'relocatable'.
55174         (configure.ac): Add gl_RELOCATABLE_NOP.
55175
55176 2007-03-03  Bruno Haible  <bruno@clisp.org>
55177
55178         * modules/relocatable-prog-wrapper: New file.
55179         * modules/relocatable (Depends-on): Add it. Remove all other
55180         dependencies except progname.
55181         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
55182
55183         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
55184         (gl_FUNC_STRERROR): Nop.
55185         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
55186
55187         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
55188         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
55189
55190         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
55191         (gl_FUNC_READLINK): Update.
55192
55193         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
55194
55195 2007-03-03  Bruno Haible  <bruno@clisp.org>
55196
55197         * lib/xreadlink.c: Include <unistd.h> unconditionally.
55198         * modules/xreadlink (Depends-on): Add unistd.
55199         * modules/xreadlink-with-size (Depends-on): Likewise.
55200
55201 2007-03-03  Bruno Haible  <bruno@clisp.org>
55202
55203         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
55204         extracted from gt_FUNC_SETENV.
55205         (gt_FUNC_SETENV): Remove macro.
55206         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
55207         remove gt_FUNC_SETENV.
55208
55209 2007-03-03  Bruno Haible  <bruno@clisp.org>
55210
55211         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
55212         ENABLE_RELOCATABLE here.
55213         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
55214
55215 2007-03-03  Bruno Haible  <bruno@clisp.org>
55216
55217         * modules/rbtreehash-list-tests (Depends-on): Add progname.
55218         * tests/test-rbtreehash_list.c: Include progname.h.
55219         (main): Call set_program_name.
55220
55221         * modules/rbtree-oset-tests (Depends-on): Add progname.
55222         * tests/test-rbtree_oset.c: Include progname.h.
55223         (main): Call set_program_name.
55224
55225         * modules/rbtree-list-tests (Depends-on): Add progname.
55226         * tests/test-rbtree_list.c: Include progname.h.
55227         (main): Call set_program_name.
55228
55229         * modules/linked-list-tests (Depends-on): Add progname.
55230         * tests/test-linked_list.c: Include progname.h.
55231         (main): Call set_program_name.
55232
55233 2007-03-03  Bruno Haible  <bruno@clisp.org>
55234
55235         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
55236         All uses of __restrict changed to _Restrict_.
55237         * lib/glob_.h (__restrict): Remove macro.
55238
55239 2007-03-02  Bruno Haible  <bruno@clisp.org>
55240
55241         * modules/gettext (configure.ac): Require gettext infrastructure
55242         from version 0.16.1.
55243
55244 2007-03-02  Bruno Haible  <bruno@clisp.org>
55245
55246         * modules/linkedhash-list-tests (Depends-on): Add progname.
55247         * tests/test-linkedhash_list.c: Include progname.h.
55248         (main): Call set_program_name.
55249
55250         * modules/carray-list-tests (Depends-on): Add progname.
55251         * tests/test-carray_list.c: Include progname.h.
55252         (main): Call set_program_name.
55253
55254         * modules/avltreehash-list-tests (Depends-on): Add progname.
55255         * tests/test-avltreehash_list.c: Include progname.h.
55256         (main): Call set_program_name.
55257
55258         * modules/avltree-oset-tests (Depends-on): Add progname.
55259         * tests/test-avltree_oset.c: Include progname.h.
55260         (main): Call set_program_name.
55261
55262         * modules/avltree-list-tests (Depends-on): Add progname.
55263         * tests/test-avltree_list.c: Include progname.h.
55264         (main): Call set_program_name.
55265
55266         * modules/array-oset-tests (Depends-on): Add progname.
55267         * tests/test-array_oset.c: Include progname.h.
55268         (main): Call set_program_name.
55269
55270         * modules/array-list-tests (Depends-on): Add progname.
55271         * tests/test-array_list.c: Include progname.h.
55272         (main): Call set_program_name.
55273
55274         * modules/argp-tests (Depends-on): Add progname.
55275         * tests/test-argp.c: Include argp.h first. Include progname.h.
55276         (main): Call set_program_name.
55277
55278 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
55279
55280         * doc/gnulib-tool.texi (Initial import): Reword description of
55281         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
55282         limited effect even if defined after the first system include.
55283
55284 2007-03-01  Bruno Haible  <bruno@clisp.org>
55285
55286         * build-aux/config.libpath: Update to libtool-1.5.22.
55287         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55288
55289 2007-03-01  Bruno Haible  <bruno@clisp.org>
55290
55291         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
55292         foo_CFLAGS.
55293         Reported by Ralf Wildenhues.
55294
55295 2007-03-01  Bruno Haible  <bruno@clisp.org>
55296
55297         * build-aux/install-reloc: Remove object files left over by some
55298         compilers.
55299         Reported by Ralf Wildenhues.
55300
55301 2007-03-01  Bruno Haible  <bruno@clisp.org>
55302
55303         * build-aux/install-reloc: Break long lines.
55304
55305 2007-03-01  Bruno Haible  <bruno@clisp.org>
55306
55307         * doc/relocatable.texi: Document that it may not work on OpenBSD.
55308         Reported by Ralf Wildenhues.
55309
55310 2007-03-01  Bruno Haible  <bruno@clisp.org>
55311
55312         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
55313         include ordering constraints.
55314
55315 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55316
55317         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
55318         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
55319         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
55320         as another example.
55321         * lib/time_.h: Fix misspelling.
55322         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55323         Require gl_HEADER_TIME_H_DEFAULTS.
55324         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
55325         * m4/time_r.m4 (gl_TIME_R): Likewise.
55326         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
55327
55328 2007-03-01  Bruno Haible  <bruno@clisp.org>
55329
55330         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
55331         * m4/utimens.m4 (gl_UTIMENS): Likewise.
55332
55333 2007-03-01  Jim Meyering  <jim@meyering.net>
55334
55335         * modules/xreadlink (Maintainer): Add my name.
55336         * modules/xreadlink-with-size (Depends-on): Alphabetize.
55337
55338 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
55339             Bruno Haible  <bruno@clisp.org>
55340
55341         * build-aux/install-reloc: Compile also c-ctype.c.
55342         * build-aux/relocatable.sh.in: New file.
55343         * doc/relocatable.texi: New file.
55344         * doc/relocatable-maint.texi: New file.
55345         * doc/gnulib.texi: Include relocatable-maint.texi.
55346         * lib/progreloc.c: Include unistd.h unconditionally.
55347         * lib/relocwrapper.c: Include unistd.h unconditionally.
55348         Include c-ctype.h.
55349         (add_dotbin): Use c_tolower.
55350         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
55351         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
55352         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
55353         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
55354         to m4/relocatable-lib.m4.
55355         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
55356         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
55357         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
55358         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
55359         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
55360         * modules/relocatable: New file.
55361         * modules/relocatable-lib: New file.
55362         * modules/relocatable-script: New file.
55363
55364 2007-02-28  Bruno Haible  <bruno@clisp.org>
55365
55366         Import --enable-relocatable infrastructure.
55367         * build-aux/config.libpath: New file, from GNU gettext.
55368         * build-aux/install-reloc: New file, from GNU gettext.
55369         * build-aux/reloc-ldflags: New file, from GNU gettext.
55370         * lib/relocatable.h: New file, from GNU gettext.
55371         * lib/relocatable.c: New file, from GNU gettext.
55372         * lib/relocwrapper.c: New file, from GNU gettext.
55373         * m4/relocatable.m4: New file, from GNU gettext.
55374
55375 2007-02-28  Bruno Haible  <bruno@clisp.org>
55376
55377         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
55378
55379         * modules/xreadlink: New file, from GNU gettext with modifications.
55380         * lib/xreadlink.c: New file, from GNU gettext.
55381         * lib/xreadlink.h: Add comments.
55382         (xreadlink): New declaration.
55383
55384         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
55385         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
55386         lib/xreadlink-with-size.c.
55387         (configure.ac): Remove gl_XREADLINK invocation.
55388         (Makefile.am): Augment lib_SOURCES.
55389         * m4/xreadlink.m4: Remove file.
55390         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
55391         (xreadlink_with_size): Renamed from xreadink.
55392         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
55393         * modules/canonicalize (Depends-on): Replace xreadlink with
55394         xreadlink-with-size.
55395         * lib/canonicalize.c (canonicalize_filename_mode): Update.
55396
55397 2007-02-25  Jim Meyering  <jim@meyering.net>
55398
55399         * build-aux/announce-gen: When complaining about excess arguments,
55400         list them.
55401
55402 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
55403
55404         * README: Document signed integer overflow situation more
55405         accurately.
55406
55407 2007-02-25  Bruno Haible  <bruno@clisp.org>
55408
55409         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
55410         'a' or 'A' conversion.
55411
55412 2007-02-25  Bruno Haible  <bruno@clisp.org>
55413
55414         * modules/filename: Renamed from modules/pathname.
55415         (Files): Replace lib/pathname.h with lib/filename.h. Replace
55416         lib/concatpath.c with lib/concat-filename.c.
55417         (Makefile.am): Update.
55418         (Include): Replace pathname.h with filename.h.
55419         * lib/filename.h: Renamed from lib/pathname.h.
55420         (concatenated_filename): Renamed from concatenated_pathname.
55421         * lib/concat-filename.c: Renamed from lib/concatpath.c.
55422         (concatenated_filename): Renamed from concatenated_pathname.
55423         * lib/findprog.c: Include filename.h instead of pathname.h.
55424         (find_in_path): Update.
55425         * lib/javacomp.c: Include filename.h instead of pathname.h.
55426         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
55427         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
55428         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
55429         is_oldgcj_14_13_usable, is_javac_usable): Update.
55430         * lib/javaexec.c: Include filename.h instead of pathname.h.
55431         (execute_java_class): Update.
55432         * modules/findprog: Update.
55433         * modules/javacomp: Update.
55434         * modules/javaexec: Update.
55435         * MODULES.html.sh (File system functions): Add 'filename', remove
55436         'pathname'.
55437
55438 2007-02-25  Bruno Haible  <bruno@clisp.org>
55439
55440         * modules/printf-frexpl-tests: New file.
55441         * tests/test-printf-frexpl.c: New file.
55442
55443         * modules/printf-frexpl: New file.
55444         * lib/printf-frexpl.h: New file.
55445         * lib/printf-frexpl.c: New file.
55446         * m4/printf-frexpl.m4: New file.
55447
55448 2007-02-25  Bruno Haible  <bruno@clisp.org>
55449
55450         * modules/printf-frexp-tests: New file.
55451         * tests/test-printf-frexp.c: New file.
55452
55453         * modules/printf-frexp: New file.
55454         * lib/printf-frexp.h: New file.
55455         * lib/printf-frexp.c: New file.
55456         * m4/printf-frexp.m4: New file.
55457
55458 2007-02-25  Bruno Haible  <bruno@clisp.org>
55459
55460         Assume automake >= 1.10 for the tests.
55461         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
55462         * modules/arctwo-tests: Likewise.
55463         * modules/argp-tests: Likewise.
55464         * modules/avltree-list-tests: Likewise.
55465         * modules/avltree-oset-tests: Likewise.
55466         * modules/avltreehash-list-tests: Likewise.
55467         * modules/carray-list-tests: Likewise.
55468         * modules/crc-tests: Likewise.
55469         * modules/des-tests: Likewise.
55470         * modules/gc-arcfour-tests: Likewise.
55471         * modules/gc-arctwo-tests: Likewise.
55472         * modules/gc-des-tests: Likewise.
55473         * modules/gc-hmac-md5-tests: Likewise.
55474         * modules/gc-hmac-sha1-tests: Likewise.
55475         * modules/gc-md2-tests: Likewise.
55476         * modules/gc-md4-tests: Likewise.
55477         * modules/gc-md5-tests: Likewise.
55478         * modules/gc-pbkdf2-sha1-tests: Likewise.
55479         * modules/gc-rijndael-tests: Likewise.
55480         * modules/gc-sha1-tests: Likewise.
55481         * modules/gc-tests: Likewise.
55482         * modules/getaddrinfo-tests: Likewise.
55483         * modules/hmac-md5-tests: Likewise.
55484         * modules/hmac-sha1-tests: Likewise.
55485         * modules/linked-list-tests: Likewise.
55486         * modules/linkedhash-list-tests: Likewise.
55487         * modules/lock-tests: Likewise.
55488         * modules/md2-tests: Likewise.
55489         * modules/md4-tests: Likewise.
55490         * modules/md5-tests: Likewise.
55491         * modules/rbtree-list-tests: Likewise.
55492         * modules/rbtree-oset-tests: Likewise.
55493         * modules/rbtreehash-list-tests: Likewise.
55494         * modules/read-file-tests: Likewise.
55495         * modules/rijndael-tests: Likewise.
55496         * modules/stdint-tests: Likewise.
55497         * modules/tls-tests: Likewise.
55498
55499 2007-02-24  Bruno Haible  <bruno@clisp.org>
55500
55501         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
55502         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
55503         function; instead check whether isnan with a double argument links.
55504         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
55505         function; instead check whether isnan with a 'long double' argument
55506         links.
55507         Reported by Eric Blake <ebb9@byu.net>.
55508
55509 2007-02-24  Bruno Haible  <bruno@clisp.org>
55510
55511         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
55512         defined.
55513         * lib/isnanl.c: Remove all code. Just include isnan.c.
55514         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
55515
55516 2007-02-25  Jim Meyering  <jim@meyering.net>
55517
55518         Avoid conflicting types for 'unsetenv' on FreeBSD.
55519         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
55520         conflicting with FreeBSD's (5.0 and 6.1) function declaration
55521         in stdlib.h.
55522
55523 2007-02-24  Bruno Haible  <bruno@clisp.org>
55524
55525         * modules/isnanl-nolibm-tests: New file.
55526         * tests/test-isnanl.c: New file.
55527
55528         * modules/isnanl-nolibm: New file.
55529         * lib/isnanl.h: New file.
55530         * lib/isnanl.c: New file.
55531         * m4/isnanl.m4: New file.
55532
55533 2007-02-24  Bruno Haible  <bruno@clisp.org>
55534
55535         * modules/isnan-nolibm-tests: New file.
55536         * tests/test-isnan.c: New file.
55537
55538         * modules/isnan-nolibm: New file.
55539         * lib/isnan.h: New file.
55540         * lib/isnan.c: New file.
55541         * m4/isnan.m4: New file.
55542
55543 2007-02-24  Bruno Haible  <bruno@clisp.org>
55544
55545         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
55546         assume that an exponent fits in 20 bits.
55547
55548 2007-02-24  Jim Meyering  <jim@meyering.net>
55549
55550         * m4/regex.m4: Update the description of the configure-time option,
55551         --without-included-regex, to state accurately what the defaults are,
55552         and perhaps to give people an idea why using this option is risky.
55553
55554 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
55555
55556         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
55557         loops on small arguments.  This attempts to avoid the problem
55558         Bruno Haible reported for AIX 4.3.2 in
55559         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
55560
55561 2007-02-23  Bruno Haible  <bruno@clisp.org>
55562
55563         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
55564         Needed for help2man.
55565
55566 2007-02-23  Karl Berry  <karl@gnu.org>
55567
55568         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
55569         exists, foo.h should be cvs-ignored, not committed.
55570
55571 2007-02-23  Eric Blake  <ebb9@byu.net>
55572
55573         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
55574         * lib/stat-time.h (includes): Likewise.
55575         * lib/utimecmp.c (includes): Likewise.
55576         * lib/utimens.h (includes): Likewise.
55577         * lib/getdate.y (includes): Also include "timespec.h" for use
55578         internal to the module.
55579         * modules/utimens (Depends-on): Revert yesterday's patch.
55580         * modules/nanosleep (Depends-on): Add missing dependency.
55581
55582 2007-02-22  Bruno Haible  <bruno@clisp.org>
55583
55584         * lib/glob.c: Don't include getlogin_r.h.
55585
55586 2007-02-22  Jim Meyering  <jim@meyering.net>
55587
55588         * modules/utimens (Depends-on): Add timespec, required for
55589         utimens.h's inclusion of timespec.h.
55590
55591 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
55592
55593         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
55594         long unreadable paths in GNU/Linux.  Problem reported by Andreas
55595         Schwab in
55596         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
55597         I'll try to think of a better way to fix the Solaris problem.
55598
55599         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
55600         like glibc; on Solaris 10, it fails with errno == EINVAL.
55601         POSIX says the behavior is unspecified if the first argument is NULL,
55602         so play it safe and never pass NULL to the system getcwd.
55603
55604 2007-02-21  Jim Meyering  <jim@meyering.net>
55605
55606         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
55607         of gettimeofday.  It would conflict with the one now always
55608         provided via sys_time_.h.  Reported by Matthew Woehlke, as
55609         an IRIX 6.5 build failure.
55610
55611 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
55612
55613         Minor fixups to port to Solaris 10 with Sun C 5.8.
55614         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
55615         * modules/getcwd (Depends-on): Add dirfd.
55616         * lib/putenv.c (putenv): #undef it.
55617         (rpl_putenv): New decl.
55618         (malloc, free): Include <stdlib.h> rather than prototyping separately.
55619
55620 2007-02-20  Bruno Haible  <bruno@clisp.org>
55621
55622         * modules/stdio-tests: New file.
55623         * tests/test-stdio.c: New file.
55624
55625         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
55626         (Depends-on): Add stdio.
55627         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55628         (Include): Use <stdio.h> instead of vsnprintf.h.
55629         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55630         HAVE_DECL_VSNPRINTF.
55631         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
55632
55633         * modules/snprintf (Files): Remove lib/snprintf.h.
55634         (Depends-on): Add stdio.
55635         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55636         (Include): Use <stdio.h> instead of snprintf.h.
55637         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55638         HAVE_DECL_SNPRINTF.
55639         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
55640         * lib/getaddrinfo.c: Likewise.
55641
55642         * modules/stdio: New file.
55643         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
55644         * lib/snprintf.h: Remove file.
55645         * lib/vsnprintf.h: Remove file.
55646         * lib/.cppi-disable: Remove snprintf.h.
55647         * m4/stdio_h.m4: New file.
55648         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
55649
55650 2007-02-20  Jim Meyering  <jim@meyering.net>
55651
55652         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
55653         used by e.g., mingw.  From Bruno Haible.
55654
55655 2007-02-19  Bruno Haible  <bruno@clisp.org>
55656
55657         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
55658         warnings.
55659         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55660
55661 2007-02-19  Bruno Haible  <bruno@clisp.org>
55662
55663         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
55664         from mingw users.
55665
55666 2007-02-19  Bruno Haible  <bruno@clisp.org>
55667
55668         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
55669         warnings.
55670         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
55671
55672 2007-02-19  Jim Meyering  <jim@meyering.net>
55673
55674         Don't use FD after a successful "fdopendir (fd)".
55675         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
55676         Reset it by calling dirfd on the just-obtained DIR*.
55677
55678         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
55679         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
55680
55681 2007-02-18  Bruno Haible  <bruno@clisp.org>
55682
55683         * lib/readlink.c: Include <unistd.h>.
55684         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
55685         HAVE_READLINK.
55686         * modules/readlink (Depends-on): Add unistd.
55687         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55688         (Include): Add <unistd.h>.
55689
55690         * lib/getlogin_r.h: Remove file.
55691         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
55692         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
55693         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
55694         HAVE_DECL_GETLOGIN_R.
55695         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
55696         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55697         (Include): Use <unistd.h> instead of getlogin_r.h.
55698
55699         * lib/getcwd.h: Remove file.
55700         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
55701         * lib/xgetcwd.c: Likewise.
55702         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
55703         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
55704         * modules/getcwd (Files): Remove lib/getcwd.h.
55705         (Depends-on): Add unistd.
55706         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55707         (Include): Use <unistd.h> instad of getcwd.h.
55708
55709         * lib/ftruncate.c: Include <unistd.h> first.
55710         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
55711         Set HAVE_FTRUNCATE.
55712         * modules/ftruncate (Depends-on): Add unistd.
55713         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55714
55715         * lib/fchdir.c: Include <unistd.h> first.
55716         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
55717         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
55718         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
55719         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55720         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
55721
55722         * lib/dup2.c: Include <unistd.h> first.
55723         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
55724         HAVE_DUP2.
55725         * modules/dup2 (Depends-on): Add unistd.
55726         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55727
55728         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
55729         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
55730         REPLACE_CHOWN. Don't define chown as a macro here.
55731         * modules/chown (Depends-on): Add unistd.
55732         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55733
55734         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
55735         Add definition for GL_LINK_WARNING.
55736         (chown, dup2): New declarations.
55737         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
55738         link warning.
55739         (ftruncate): New declaration.
55740         (getcwd): New declaration, taken from old getcwd.h.
55741         (getlogin_r): New declaration, taken from old getlogin_r.h.
55742         (readlink): New declaration.
55743         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
55744         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
55745         (gl_PREREQ_UNISTD): Remove macro.
55746         (gl_UNISTD_MODULE_INDICATOR): New macro.
55747         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
55748         many new variables. Don't set UNISTD_H.
55749         * modules/unistd (Description): Change.
55750         (Depends-on): Add link-warning.
55751         (configure.ac): Update.
55752         (Makefile.am): Create unistd.h always. Substitute many new variables
55753         into it.
55754
55755 2007-02-18  Bruno Haible  <bruno@clisp.org>
55756
55757         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
55758         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
55759         HAVE_GETSUBOPT.
55760         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
55761         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
55762         * lib/getsubopt.h: Remove file.
55763         * modules/getsubopt (Files): Remove lib/getsubopt.h.
55764         (Depends-on): Add stdlib.
55765         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55766         (Includes): Use <stdlib.h> instead of getsubopt.h.
55767         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
55768         Set HAVE_GETSUBOPT.
55769         * lib/getsubopt.c: Don't include getsubopt.h.
55770
55771 2007-02-18  Bruno Haible  <bruno@clisp.org>
55772
55773         * modules/fchdir (Depends-on): Add dup2.
55774
55775 2007-02-18  Bruno Haible  <bruno@clisp.org>
55776
55777         * lib/stdlib_.h: Handle glibc's special invocation convention
55778         specially.
55779
55780 2007-02-18  Bruno Haible  <bruno@clisp.org>
55781
55782         * modules/stdlib-tests: New file.
55783         * tests/test-stdlib.c: New file.
55784
55785         * modules/mkstemp (Files): Remove lib/mkstemp.h.
55786         (Depends-on): Add stdlib.
55787         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55788         (Includes): Use <stdlib.h> instead of mkstemp.h.
55789         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55790         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
55791         * lib/mkstemp.c: Don't include mkstemp.h.
55792         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
55793         * lib/stdlib--.h: Don't include mkstemp.h.
55794
55795         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
55796         (Depends-on): Add stdlib.
55797         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55798         (Includes): Use <stdlib.h> instead of mkdtemp.h.
55799         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55800         HAVE_MKDTEMP.
55801         * lib/mkdtemp.c: Don't include mkdtemp.h.
55802         * lib/clean-temp.c: Don't include mkdtemp.h.
55803
55804         * modules/exit (Files): Remove lib/exit.h.
55805         (Depends-on): Add stdlib.
55806         (Makefile.am): Remove lib_SOURCES.
55807         (Include): Use <stdlib.h> instead of exit.h.
55808         * lib/argmatch.c: Don't include exit.h.
55809         * lib/execute.c: Likewise.
55810         * lib/pagealign_alloc.c: Likewise.
55811         * lib/pipe.c: Likewise.
55812         * lib/wait-process.c: Likewise.
55813         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
55814         * lib/exitfail.c: Likewise.
55815         * lib/savewd.c: Likewise.
55816         * lib/xsetenv.c: Likewise.
55817
55818         * modules/stdlib: New file.
55819         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
55820         and extra comments about mkstemp().
55821         * lib/exit.h: Remove file.
55822         * lib/mkdtemp.h: Remove file.
55823         * lib/mkstemp.h: Remove file.
55824         * m4/stdlib_h.m4: New file.
55825         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
55826
55827 2007-02-18  Bruno Haible  <bruno@clisp.org>
55828
55829         * modules/math-tests: New file.
55830         * tests/test-math.c: New file.
55831
55832         * modules/math: New file.
55833         * modules/mathl (Files): Remove lib/mathl.h.
55834         (Depends-on): Add math.
55835         (Makefile.am): Don't mention mathl.h.
55836         (Include): Use <math.h> instead of mathl.h.
55837         * lib/math_.h: New file.
55838         * lib/mathl.h: Remove file.
55839         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
55840         mathl.h.
55841         * lib/asinl.c: Likewise.
55842         * lib/atanl.c: Likewise.
55843         * lib/ceill.c: Likewise.
55844         * lib/cosl.c: Likewise.
55845         * lib/expl.c: Likewise.
55846         * lib/floorl.c: Likewise.
55847         * lib/frexpl.c: Likewise.
55848         * lib/ldexpl.c: Likewise.
55849         * lib/logl.c: Likewise.
55850         * lib/sincosl.c: Likewise.
55851         * lib/sinl.c: Likewise.
55852         * lib/sqrtl.c: Likewise.
55853         * lib/tanl.c: Likewise.
55854         * lib/trigl.c: Likewise.
55855         * m4/math_h.m4: New file.
55856         * MODULES.html.sh (Mathematics): Add math.
55857
55858 2007-02-17  Bruno Haible  <bruno@clisp.org>
55859
55860         * modules/wctype-tests: New file.
55861         * tests/test-wctype.c: New file.
55862
55863         * modules/wchar-tests: New file.
55864         * tests/test-wchar.c: New file.
55865
55866         * modules/unistd-tests: New file.
55867         * tests/test-unistd.c: New file.
55868
55869         * modules/time-tests: New file.
55870         * tests/test-time.c: New file.
55871
55872         * modules/sysexits-tests: New file.
55873         * tests/test-sysexits.c: New file.
55874
55875         * modules/sys_time-tests: New file.
55876         * tests/test-sys_time.c: New file.
55877
55878         * modules/sys_stat-tests: New file.
55879         * tests/test-sys_stat.c: New file.
55880
55881         * modules/sys_socket-tests: New file.
55882         * tests/test-sys_socket.c: New file.
55883
55884         * modules/sys_select-tests: New file.
55885         * tests/test-sys_select.c: New file.
55886
55887         * modules/string-tests: New file.
55888         * tests/test-string.c: New file.
55889
55890         * modules/stdbool-tests: New file.
55891         * tests/test-stdbool.c: New file.
55892
55893         * modules/netinet_in-tests: New file.
55894         * tests/test-netinet_in.c: New file.
55895
55896         * modules/inttypes-tests: New file.
55897         * tests/test-inttypes.c: New file.
55898
55899         * modules/fcntl-tests: New file.
55900         * tests/test-fcntl.c: New file.
55901
55902         * modules/byteswap-tests: New file.
55903         * tests/test-byteswap.c: New file.
55904
55905         * modules/arpa_inet-tests: New file.
55906         * tests/test-arpa_inet.c: New file.
55907
55908 2007-02-17  Bruno Haible  <bruno@clisp.org>
55909
55910         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
55911         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
55912         if the corresponding module is not enabled. Emit link warnings if
55913         the function is used nevertheless.
55914         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
55915         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
55916         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
55917         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
55918         * modules/inttypes (Depends-on): Add link-warning.
55919         (Makefile.am): Copy the contents of build-aux/link-warning.h into
55920         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
55921         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
55922         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
55923         * modules/imaxdiv (configure.ac): Likewise.
55924         * modules/strtoimax (configure.ac): Likewise.
55925         * modules/strtoumax (configure.ac): Likewise.
55926
55927 2007-02-17  Bruno Haible  <bruno@clisp.org>
55928
55929         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
55930         gl_STRING_MODULE_INDICATOR_DEFAULTS.
55931         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
55932         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
55933
55934 2007-02-17  Bruno Haible  <bruno@clisp.org>
55935
55936         * modules/link-warning: New file.
55937         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
55938         * lib/string_.h (GL_LINK_WARNING): Remove definition.
55939         * modules/string (Depends-on): Add link-warning.
55940         (Makefile.am): Copy the contents of build-aux/link-warning.h into
55941         string.h.
55942         * MODULES.html.sh (Support for building libraries and executables): Add
55943         link-warning.
55944
55945 2007-02-17  Bruno Haible  <bruno@clisp.org>
55946
55947         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
55948         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
55949         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
55950         long lines.
55951
55952 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
55953             Bruno Haible  <bruno@clisp.org>
55954
55955         * modules/tmpfile: New file.
55956         * lib/tmpfile.c: New file.
55957         * m4/tmpfile.m4: New file.
55958         * MODULES.html.sh (func_all_modules): New section "Input/output".
55959
55960 2007-02-15  Bruno Haible  <bruno@clisp.org>
55961
55962         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
55963         (supports_delete_on_close): New function.
55964         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
55965
55966 2007-02-14  Bruno Haible  <bruno@clisp.org>
55967
55968         * modules/mbspcasecmp-tests: New file.
55969         * tests/test-mbspcasecmp.sh: New file.
55970         * tests/test-mbspcasecmp.c: New file.
55971
55972         New module mbspcasecmp.
55973         * modules/mbspcasecmp: New file.
55974         * lib/mbspcasecmp.c: New file.
55975         * lib/string_.h (strncasecmp): Change warning message.
55976         (mbspcasecmp): New declaration.
55977         * m4/mbspcasecmp.m4: New file.
55978         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55979         GNULIB_MBSPCASECMP.
55980         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
55981         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
55982
55983 2007-02-14  Bruno Haible  <bruno@clisp.org>
55984
55985         * modules/mbsncasecmp-tests: New file.
55986         * tests/test-mbsncasecmp.sh: New file.
55987         * tests/test-mbsncasecmp.c: New file.
55988
55989         New module mbsncasecmp.
55990         * modules/mbsncasecmp: New file.
55991         * lib/mbsncasecmp.c: New file.
55992         * lib/string_.h (mbsncasecmp): New declaration.
55993         * m4/mbsncasecmp.m4: New file.
55994         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55995         GNULIB_MBSNCASECMP.
55996         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
55997         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
55998
55999 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
56000
56001         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
56002         Verify that it doesn't overlap with our flags.
56003         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
56004         do not have the desired effect in multibyte locales; instead, use
56005         mbscasecmp.
56006         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
56007         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
56008         we don't require GNU fnmatch ourselves (if our users require it, they
56009         should do so explicitly).
56010
56011         Fix regex code so it doesn't rely on strcasecmp.
56012         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
56013         Otherwise, include gnulib's langinfo.h.
56014         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
56015         undesirable behavior in non-C locales.  Instead, rely on localecharset.
56016         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
56017         * modules/regex (FILES): Remove m4/codeset.m4.
56018         (Depends-on): Add localcharset.  Remove strcase.
56019
56020 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56021
56022         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
56023         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
56024
56025 2007-02-13  Bruno Haible  <bruno@clisp.org>
56026
56027         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
56028         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56029
56030 2007-02-12  Bruno Haible  <bruno@clisp.org>
56031
56032         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56033         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
56034         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
56035         time warning rather than a link error.
56036
56037 2007-02-12  Bruno Haible  <bruno@clisp.org>
56038
56039         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
56040         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56041         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56042
56043 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
56044
56045         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
56046         args, not 2.
56047
56048 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
56049
56050         New module 'time', so that apps can include <time.h> as per
56051         POSIX and GNU instead of separate include files like time_r.h
56052         and timegm.h.  This implementation tries out a simpler approach
56053         for replacing decls in standard include files (as compared to
56054         the string module), somewhat as an experiment.
56055
56056         * config/srclist.txt: Comment out mktime.c for now.
56057         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
56058         since it doesn't apply any more.  Use generic wording instead.
56059         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
56060         'time'.
56061         * lib/time_.h, m4/time_h.m4, modules/time: New files.
56062         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
56063         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
56064         Don't include <sys/types.h>; no longer needed since we assume C89.
56065         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
56066         * lib/strftime.c: Likewise.
56067         * lib/time_r.c: Likewise.
56068         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
56069         * lib/nanosleep.c: Include <time.h> first, to check interface.
56070         * lib/strptime.c: Likewise.
56071         * lib/time_r.c: Likewise.
56072         * lib/timegm.c: Likewise.
56073         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
56074         needed.
56075         * lib/timegm.c: Don't include timegm.h; no longer needed.
56076         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
56077         time.h now handles any problems in that area.
56078         (struct timespec, nanosleep): Remove; time.h now arranges for these.
56079         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
56080         that time.h defines struct timespec.
56081         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
56082         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
56083         handles that.
56084         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
56085         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
56086         needed.  Set REPLACE_LOCALTIME.
56087         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
56088         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
56089         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
56090         nanosleep; time_h.m4 now does that.  Don't require
56091         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
56092         module handles this now.
56093         * modules/getdate (Depends-on): Remove timespec.  Add time.
56094         * modules/nanosleep (Depends-on): Likewise.
56095         * modules/stat-time (Depends-on): Likewise.
56096         * modules/nanosleep (Include): Include time.h, not timespec.h.
56097         * modules/strptime (Files): Remove lib/strptime.h.
56098         (Depends-on): Add extensions, time.
56099         (Include): Include time.h, not strptime.h.
56100         * modules/time_r (Files): Remove lib/time_r.h.
56101         (Depends-on): Add time.
56102         (Include): Include time.h, not time_r.h.
56103         * modules/timegm: Likewise.
56104         * modules/timespec (Description): Now does timespec-related decls
56105         of our own, instead of struct timespec itself.
56106         (Depends-on): Add time; remove extensions.
56107         (Maintainer): Add self.
56108         * modules/utimecmp (Depends-on): Add time; remove timespec.
56109         * modules/utimens (Depends-on): Likewise.
56110         * modules/xnanosleep (Depends-on): Likewise.
56111
56112 2007-02-11  Bruno Haible  <bruno@clisp.org>
56113
56114         * lib/c-strstr.c: Include allocsa.h.
56115         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56116         * lib/c-strcasestr.c: Include allocsa.h.
56117         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56118         * lib/strcasestr.c: Include allocsa.h.
56119         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56120         * lib/mbsstr.c: Include allocsa.h.
56121         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
56122         allocsa/freesa instead of malloc/free.
56123         * lib/mbscasestr.c: Include allocsa.h.
56124         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
56125         allocsa/freesa instead of malloc/free.
56126         * modules/c-strstr (Depends-on): Add allocsa.
56127         * modules/c-strcasestr (Depends-on): Likewise.
56128         * modules/strcasestr (Depends-on): Likewise.
56129         * modules/mbsstr (Depends-on): Likewise.
56130         * modules/mbscasestr (Depends-on): Likewise.
56131
56132 2007-02-11  Bruno Haible  <bruno@clisp.org>
56133
56134         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
56135
56136         * modules/mbsspn-tests: New file.
56137         * tests/test-mbsspn.sh: New file.
56138         * tests/test-mbsspn.c: New file.
56139
56140 2007-02-11  Bruno Haible  <bruno@clisp.org>
56141
56142         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
56143
56144         * modules/mbspbrk-tests: New file.
56145         * tests/test-mbspbrk.sh: New file.
56146         * tests/test-mbspbrk.c: New file.
56147
56148 2007-02-11  Bruno Haible  <bruno@clisp.org>
56149
56150         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
56151         unneeded cast.
56152
56153         * modules/mbscspn-tests: New file.
56154         * tests/test-mbscspn.sh: New file.
56155         * tests/test-mbscspn.c: New file.
56156
56157 2007-02-11  Bruno Haible  <bruno@clisp.org>
56158
56159         * modules/mbscasecmp-tests: New file.
56160         * tests/test-mbscasecmp.sh: New file.
56161         * tests/test-mbscasecmp.c: New file.
56162
56163 2007-02-11  Bruno Haible  <bruno@clisp.org>
56164
56165         Ensure O(n) worst-case complexity of mbscasestr.
56166         * lib/mbscasestr.c: Include stdbool.h.
56167         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
56168         functions.
56169         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
56170         the bookkeeping indicates that it's worth it.
56171         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
56172
56173         * modules/mbscasestr-tests: New file.
56174         * tests/test-mbscasestr1.c: New file.
56175         * tests/test-mbscasestr2.sh: New file.
56176         * tests/test-mbscasestr2.c: New file.
56177         * tests/test-mbscasestr3.sh: New file.
56178         * tests/test-mbscasestr3.c: New file.
56179         * tests/test-mbscasestr4.sh: New file.
56180         * tests/test-mbscasestr4.c: New file.
56181         * m4/locale-tr.m4: New file.
56182
56183 2007-02-11  Bruno Haible  <bruno@clisp.org>
56184
56185         Ensure O(n) worst-case complexity of mbsstr.
56186         * lib/mbsstr.c: Include stdbool.h.
56187         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
56188         functions.
56189         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
56190         bookkeeping indicates that it's worth it.
56191         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
56192
56193         * modules/mbsstr-tests: New file.
56194         * tests/test-mbsstr1.c: New file.
56195         * tests/test-mbsstr2.sh: New file.
56196         * tests/test-mbsstr2.c: New file.
56197         * tests/test-mbsstr3.sh: New file.
56198         * tests/test-mbsstr3.c: New file.
56199         * m4/locale-fr.m4: New file.
56200
56201 2007-02-11  Bruno Haible  <bruno@clisp.org>
56202
56203         * lib/mbsrchr.c (mbsrchr): Fix bug.
56204
56205         * modules/mbsrchr-tests: New file.
56206         * tests/test-mbsrchr.sh: New file.
56207         * tests/test-mbsrchr.c: New file.
56208
56209 2007-02-11  Bruno Haible  <bruno@clisp.org>
56210
56211         * lib/mbschr.c (mbschr): Fix bug.
56212
56213         * modules/mbschr-tests: New file.
56214         * tests/test-mbschr.sh: New file.
56215         * tests/test-mbschr.c: New file.
56216         * m4/locale-zh.m4: New file.
56217
56218 2007-02-11  Bruno Haible  <bruno@clisp.org>
56219
56220         Support for copying multibyte string iterators.
56221         * lib/mbiter.h: Include <string.h>.
56222         (mbiter_multi_copy): New function.
56223         (mbi_copy): New macro.
56224         * lib/mbuiter.h: Include <string.h>.
56225         (mbuiter_multi_copy): New function.
56226         (mbui_copy): New macro.
56227
56228 2007-02-11  Bruno Haible  <bruno@clisp.org>
56229
56230         New module mbslen.
56231         * modules/mbslen: New file.
56232         * lib/mbslen.c: New file.
56233         * lib/string_.h (mbslen): New declaration.
56234         * m4/mbslen.m4: New file.
56235         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56236         GNULIB_MBSLEN.
56237         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
56238         * MODULES.html.sh (Internationalization functions): Add mbslen.
56239
56240 2007-02-11  Bruno Haible  <bruno@clisp.org>
56241
56242         Ensure O(n) worst-case complexity of strcasestr substitute.
56243         * lib/strcasestr.c: Include stdbool.h.
56244         (knuth_morris_pratt): New function.
56245         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
56246         bookkeeping indicates that it's worth it.
56247         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
56248
56249         * modules/strcasestr-tests: New file.
56250         * tests/test-strcasestr.c: New file.
56251
56252 2007-02-11  Bruno Haible  <bruno@clisp.org>
56253
56254         Ensure O(n) worst-case complexity of c_strcasestr.
56255         * lib/c-strcasestr.c: Include stdbool.h, string.h.
56256         (knuth_morris_pratt): New function.
56257         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
56258         the bookkeeping indicates that it's worth it.
56259         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
56260
56261         * modules/c-strcasestr-tests: New file.
56262         * tests/test-c-strcasestr.c: New file.
56263
56264 2007-02-11  Bruno Haible  <bruno@clisp.org>
56265
56266         Ensure O(n) worst-case complexity of c_strstr.
56267         * lib/c-strstr.c: Include stdbool.h, string.h.
56268         (knuth_morris_pratt): New function.
56269         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
56270         bookkeeping indicates that it's worth it.
56271         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
56272
56273         * lib/c-strstr.c: Complete rewrite for maintainability.
56274
56275         * modules/c-strstr-tests: New file.
56276         * tests/test-c-strstr.c: New file.
56277
56278 2007-02-11  Bruno Haible  <bruno@clisp.org>
56279
56280         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
56281         5.2.1 and earlier, whereby \055 was treated just like the range
56282         delimiter '-'.
56283         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
56284
56285 2007-02-08  Bruno Haible  <bruno@clisp.org>
56286
56287         * modules/regex (Depends-on): Add stdbool.
56288         Reported by Dalibor Topic <robilad@kaffe.org>.
56289
56290 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
56291
56292         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
56293         Prefer returning from main to exiting from it.
56294         Remove unnecessary parens after sizeof.
56295
56296 2007-02-05  Bruno Haible  <bruno@clisp.org>
56297
56298         New module mbssep.
56299         * modules/mbssep: New file.
56300         * lib/mbssep.c: New file.
56301         * lib/string_.h (strsep): Add a conditional link warning.
56302         (mbssep): New declaration.
56303         * m4/mbssep.m4: New file.
56304         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56305         GNULIB_MBSSEP.
56306         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
56307         * MODULES.html.sh (Internationalization functions): Add mbssep.
56308
56309 2007-02-05  Bruno Haible  <bruno@clisp.org>
56310
56311         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
56312         Optimize search in case of 1 delimiter.
56313
56314 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
56315
56316         * lib/acl.h: Include sys/types.h before sys/acl.h.
56317
56318 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
56319
56320         Merge upstream fix for glibc bugzilla #3957:
56321
56322         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
56323
56324         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
56325         bit for RE_HAT_LISTS_NOT_NEWLINE.
56326         (build_charclass_op): Remove bogus comment.
56327
56328 2007-02-05  Simon Josefsson  <simon@josefsson.org>
56329
56330         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
56331
56332 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56333
56334         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
56335         * lib/memmem.c [!defined _LIBC]: Include config.h.
56336
56337 2007-02-04  Bruno Haible  <bruno@clisp.org>
56338
56339         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
56340         warning message.
56341
56342 2007-02-04  Bruno Haible  <bruno@clisp.org>
56343
56344         New module mbstok_r.
56345         * modules/mbstok_r: New file.
56346         * lib/mbstok_r.c: New file.
56347         * lib/string_.h (strtok_r): Change argument names to match the
56348         comments. Add a conditional link warning.
56349         (mbstok_r): New declaration.
56350         * m4/mbstok_r.m4: New file.
56351         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56352         GNULIB_MBSTOK_R.
56353         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
56354         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
56355
56356 2007-02-04  Bruno Haible  <bruno@clisp.org>
56357
56358         New module mbsspn.
56359         * modules/mbsspn: New file.
56360         * lib/mbsspn.c: New file.
56361         * lib/string_.h (strspn): Add a conditional link warning.
56362         (mbsspn): New declaration.
56363         * m4/mbsspn.m4: New file.
56364         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56365         GNULIB_MBSSPN.
56366         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
56367         * MODULES.html.sh (Internationalization functions): Add mbsspn.
56368
56369 2007-02-04  Bruno Haible  <bruno@clisp.org>
56370
56371         New module mbspbrk.
56372         * modules/mbspbrk: New file.
56373         * lib/mbspbrk.c: New file.
56374         * lib/string_.h (strpbrk): Add a conditional link warning.
56375         (mbspbrk): New declaration.
56376         * m4/mbspbrk.m4: New file.
56377         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56378         GNULIB_MBSPBRK.
56379         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
56380         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
56381
56382 2007-02-04  Bruno Haible  <bruno@clisp.org>
56383
56384         New module mbscspn.
56385         * modules/mbscspn: New file.
56386         * lib/mbscspn.c: New file.
56387         * lib/string_.h (strcspn): Add a conditional link warning.
56388         (mbscspn): New declaration.
56389         * m4/mbscspn.m4: New file.
56390         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56391         GNULIB_MBSCSPN.
56392         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
56393         * MODULES.html.sh (Internationalization functions): Add mbscspn.
56394
56395 2007-02-04  Bruno Haible  <bruno@clisp.org>
56396
56397         New module mbscasestr, reduced goal of strcasestr.
56398         * modules/mbscasestr: New file.
56399         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
56400         (mbscasestr): Renamed from strcasestr.
56401         * lib/strcasestr.c: Don't include mbuiter.h.
56402         (strcasestr): Remove support for multibyte locales.
56403         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
56404         Change the conditional link warning.
56405         (mbscasestr): New declaration.
56406         * m4/mbscasestr.m4: New file.
56407         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
56408         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
56409         REPLACE_STRCASESTR.
56410         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
56411         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56412         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
56413         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
56414         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
56415         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
56416         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
56417         (Depends-on): Remove mbuiter.
56418         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
56419
56420 2007-02-04  Bruno Haible  <bruno@clisp.org>
56421
56422         Simplify handling of strncasecmp.
56423         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
56424         the conditional link warning.
56425         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56426         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
56427         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
56428         * modules/strcase (configure.ac): Don't invoke
56429         gl_STRING_MODULE_INDICATOR.
56430         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
56431
56432 2007-02-04  Bruno Haible  <bruno@clisp.org>
56433
56434         New module mbscasecmp, reduced goal of strcasecmp.
56435         * modules/mbscasecmp: New file.
56436         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
56437         (mbscasecmp): Renamed from strcasecmp.
56438         * lib/strcasecmp.c: Don't include mbuiter.h.
56439         (strcasecmp): Remove support for multibyte locales.
56440         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
56441         Change the conditional link warning.
56442         (mbscasecmp): New declaration.
56443         * m4/mbscasecmp.m4: New file.
56444         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
56445         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
56446         REPLACE_STRCASECMP.
56447         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
56448         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56449         GNULIB_MBSCASECMP.
56450         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
56451         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
56452         * modules/strcase (Files): Remove m4/mbrtowc.m4.
56453         (Depends-on): Remove mbuiter.
56454         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
56455
56456 2007-02-04  Bruno Haible  <bruno@clisp.org>
56457
56458         New module mbsstr. Remove module strstr.
56459         * modules/mbsstr: New file.
56460         * modules/strstr: Remove file.
56461         * lib/mbsstr.c: Renamed from lib/strstr.c.
56462         (mbsstr): Renamed from strstr.
56463         * lib/string_.h (strstr): Remove declaration. Change the conditional
56464         link warning.
56465         (mbsstr): New declaration.
56466         * m4/mbsstr.m4: New file.
56467         * m4/strstr.m4: Remove file.
56468         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
56469         REPLACE_STRSTR.
56470         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
56471         Don't initialize GNULIB_STRSTR.
56472         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
56473         substitute GNULIB_STRSTR and REPLACE_STRSTR.
56474         * MODULES.html.sh (Internationalization functions): Add mbsstr.
56475         (Support for systems lacking ANSI C 89): Remove strstr.
56476
56477 2007-02-04  Bruno Haible  <bruno@clisp.org>
56478
56479         New module mbsrchr.
56480         * modules/mbsrchr: New file.
56481         * lib/mbsrchr.c: New file.
56482         * lib/string_.h (strrchr): Add a conditional link warning.
56483         (mbsrchr): New declaration.
56484         * m4/mbsrchr.m4: New file.
56485         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56486         GNULIB_MBSRCHR.
56487         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
56488         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
56489
56490 2007-02-04  Bruno Haible  <bruno@clisp.org>
56491
56492         New module mbschr.
56493         * modules/mbschr: New file.
56494         * lib/mbschr.c: New file.
56495         * lib/string_.h (strchr): Add a conditional link warning.
56496         (mbschr): New declaration.
56497         * m4/mbschr.m4: New file.
56498         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56499         GNULIB_MBSCHR.
56500         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
56501         * MODULES.html.sh (Internationalization functions): Add mbschr.
56502
56503 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56504
56505         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
56506
56507         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
56508
56509 2007-02-04  Bruno Haible  <bruno@clisp.org>
56510
56511         New module description section 'configure.ac-early'.
56512         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
56513         (func_get_autoconf_early_snippet): New function.
56514         (func_import, func_create_testdir): Use it. Remove special cases for
56515         modules 'extensions' and 'lock'.
56516         * modules/extensions (configure.ac-early): Require
56517         gl_USE_SYSTEM_EXTENSIONS.
56518         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
56519
56520 2007-02-04  Bruno Haible  <bruno@clisp.org>
56521
56522         Make use of gcj-4.3's -fsource and -ftarget option.
56523         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
56524         and if so try the options -fsource and -ftarget.
56525         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
56526         source_version, ftarget_option, target_version arguments.
56527         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
56528         (is_envjavac_oldgcj_14_14_usable): Renamed from
56529         is_envjavac_gcj_14_14_usable.
56530         (is_envjavac_oldgcj_14_13_usable): Renamed from
56531         is_envjavac_gcj_14_13_usable.
56532         (is_gcj_present): Update.
56533         (is_gcj_43, is_gcj43_usable): New functions.
56534         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
56535         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
56536         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
56537         try the options -fsource and -ftarget.
56538
56539 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56540
56541         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
56542         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
56543         larger value.
56544
56545 2007-02-03  Jim Meyering  <jim@meyering.net>
56546
56547         Give tools a better chance to allocate space for very large buffers.
56548         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
56549
56550         Make pwd and readlink work also when run with an unreadable parent dir
56551         on systems with openat support.
56552         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
56553         provided getcwd function, even when we have openat support.
56554         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
56555
56556 2007-02-02  Bruno Haible  <bruno@clisp.org>
56557
56558         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56559         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
56560         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
56561         portability problems if one of these functions is only used on specific
56562         platforms.
56563         Reported by Paul Eggert.
56564
56565 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56566
56567         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
56568         is causing more trouble than it's curing.
56569         * lib/regex_internal.h (__mempcpy): Remove.
56570         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
56571         (and make the code a tad smaller to boot).
56572         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
56573
56574 2007-02-02  Jim Meyering  <jim@meyering.net>
56575
56576         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
56577         section, not in the Makefile.am: one.
56578
56579 2007-02-02  Eric Blake  <ebb9@byu.net>
56580
56581         * lib/strchrnul.c: Always include config.h first.
56582
56583         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
56584         gnulib strstr is not necessary here.
56585
56586 2007-02-02  Simon Josefsson  <simon@josefsson.org>
56587
56588         * m4/socklen.m4: Fix typo.
56589
56590 2007-02-02  Eric Blake  <ebb9@byu.net>
56591
56592         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
56593         * modules/netinet_in (Makefile.am): Likewise.
56594
56595 2007-02-01  Bruno Haible  <bruno@clisp.org>
56596
56597         * lib/string_.h (GL_LINK_WARNING): New macro.
56598         (strcasecmp, strstr, strcasestr): If provided by the system,
56599         conditionally define as a macro that leads to a warning instead of to
56600         an error.
56601         (strncasecmp): Conditionally define as a macro that leads to a warning.
56602
56603 2007-02-01  Karl Berry  <karl@gnu.org>
56604
56605         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
56606
56607 2007-02-01  Bruno Haible  <bruno@clisp.org>
56608
56609         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
56610         renamings.
56611
56612 2007-02-01  Eric Blake  <ebb9@byu.net>
56613
56614         * modules/regex (Depends-on): Revert dependence on mempcpy.
56615         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
56616         module's definition of mempcpy.
56617         Reported by Paul Eggert.
56618
56619 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56620
56621         * lib/string_.h: If the gnulib module XYZ is not present, undefine
56622         the symbol XYZ before redefining it.  This fixes a problem with
56623         programs that don't use XYZ, when compiled on systems that define
56624         XYZ to something else.
56625
56626 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
56627
56628         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
56629         occurs when "mkdir -m foo" creates a setgid directory that is (1)
56630         writeable to group or other and (2) is intended to have a special
56631         mode bit that is set or cleared.  In such a case, the directory
56632         should be neither group- nor other-writeable until the special
56633         mode bits are right.
56634
56635 2007-01-31  Eric Blake  <ebb9@byu.net>
56636
56637         * modules/mountlist (Depends-on): Add strstr.
56638
56639         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
56640         bug.
56641         * modules/string (Makefile.am): Remove redundant replacement.
56642         * modules/regex (Depends-on): Add mempcpy.
56643
56644 2007-01-31  Bruno Haible  <bruno@clisp.org>
56645
56646         New module description field 'Link'.
56647         * gnulib-tool (func_usage): Document --extract-link-directive.
56648         (sed_extract_prog): Recognize 'Link' directive.
56649         (func_get_link_directive): New function.
56650         (func_import): Show summary of link directives.
56651         Handle --extract-link-directive option.
56652         * modules/acl (Link): New section.
56653         * modules/clock-time (Link): New section.
56654         * modules/euidaccess (Link): New section.
56655         * modules/gettext (Link): New section.
56656         * modules/iconv (Link): New section.
56657         * modules/lock (Link): New section.
56658         * modules/nanosleep (Link): New section.
56659         * modules/readline (Link): New section.
56660
56661 2007-01-27  Bruno Haible  <bruno@clisp.org>
56662
56663         Enforce the use of gnulib modules for unportable <string.h> functions.
56664         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
56665         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
56666         (gl_HEADER_STRING_H_BODY): Require it.
56667         * lib/string_.h: If the gnulib module XYZ is not present, redefine
56668         the symbol XYZ to one that gives a link error.
56669         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
56670         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
56671         * modules/mempcpy (configure.ac): Likewise.
56672         * modules/memrchr (configure.ac): Likewise.
56673         * modules/stpcpy (configure.ac): Likewise.
56674         * modules/stpncpy (configure.ac): Likewise.
56675         * modules/strcase (configure.ac): Likewise.
56676         * modules/strcasestr (configure.ac): Likewise.
56677         * modules/strchrnul (configure.ac): Likewise.
56678         * modules/strdup (configure.ac): Likewise.
56679         * modules/strndup (configure.ac): Likewise.
56680         * modules/strnlen (configure.ac): Likewise.
56681         * modules/strpbrk (configure.ac): Likewise.
56682         * modules/strsep (configure.ac): Likewise.
56683         * modules/strstr (configure.ac): Likewise.
56684         * modules/strtok_r (configure.ac): Likewise.
56685
56686 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
56687
56688         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
56689
56690 2007-01-30  Jim Meyering  <jim@meyering.net>
56691
56692         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
56693
56694 2007-01-29  Bruno Haible  <bruno@clisp.org>
56695
56696         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
56697         * lib/execute.c: Likewise.
56698         * lib/pipe.c: Likewise.
56699         * lib/printf-args.h: Likewise.
56700         * lib/printf-args.c: Likewise.
56701         * lib/printf-parse.c: Likewise.
56702         * lib/vasnprintf.c: Likewise.
56703
56704 2007-01-29  Eric Blake  <ebb9@byu.net>
56705
56706         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
56707         declaration.
56708
56709 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
56710
56711         * lib/strptime.h (strptime): Use 'restrict' for args where
56712         POSIX requires this.
56713         * lib/strptime.c (strptime): Likewise.
56714         Change license notice from LGPL to GPL, since gnulib-tool will
56715         change this as needed.
56716         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
56717         defined.
56718         Include "strptime.h" first, to check interface.
56719         Do not #undef _LIBC and _NL_CURRENT.
56720         Do not include <stdlib.h>; no longer needed.
56721         Include "time_r.h" and declare ptime_locale_status
56722         only if _LIBC is not defined.
56723         (__P): Remove unused macro.
56724         (match_string): Bring back glibc version, but use it only if _LIBC
56725         is defined.
56726         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
56727         Remove unnecessary assertion and abort() call.
56728         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
56729         * m4/strptime.m4: Fix serial number comment.
56730         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
56731         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
56732         (Depends-on): Add time_r.
56733
56734 2007-01-29  Bruno Haible  <bruno@clisp.org>
56735
56736         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56737         strptime.
56738         * modules/strptime (Depends-on): Add stdbool.
56739         * lib/strptime.h: Include <time.h> always. Add comments.
56740
56741 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56742
56743         * modules/strptime: New file.
56744         * lib/strptime.h: New file.
56745         * lib/strptime.c: New file.
56746         * m4/strptime.m4: New file.
56747
56748 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56749
56750         * MODULES.html.sh: New module mpsort.
56751         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
56752
56753         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
56754         a circularity problem with HP-UX ia64 reported by Bob Proulx in
56755         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
56756         All uses changed.
56757         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
56758         All uses changed.
56759         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
56760         to _Restrict_.
56761         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
56762         the parameter matches the prototype.
56763
56764 2007-01-28  Jim Meyering  <jim@meyering.net>
56765
56766         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
56767         sys/time.h here, reverting that part of the previous patch:
56768         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
56769
56770 2007-01-28  Bruno Haible  <bruno@clisp.org>
56771
56772         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
56773         value of $(SYS_TIME_H).
56774         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
56775         remove it conditionally, too. [added by Jim Meyering]
56776         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
56777         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
56778         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
56779         GETTIMEOFDAY_REPLACEMENT to 1.
56780
56781 2007-01-28  Bruno Haible  <bruno@clisp.org>
56782
56783         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
56784         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
56785         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
56786         Set UNISTD_H instead of UNISTD_H2.
56787         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
56788
56789 2007-01-28  Bruno Haible  <bruno@clisp.org>
56790
56791         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
56792         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
56793
56794 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56795
56796         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
56797         (func_create_testdir): Ensure C locale for `grep' and `tr'
56798         character ranges.
56799         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
56800         ACLOCAL_AMFLAGS parsing state machine.
56801
56802 2007-01-27  Bruno Haible  <bruno@clisp.org>
56803
56804         * modules/unistr/base: Update.
56805
56806 2007-01-27  Bruno Haible  <bruno@clisp.org>
56807
56808         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
56809         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
56810         * modules/unistr/u32-mbtouc-unsafe: Renamed from
56811         modules/unistr/u32-mbtouc.
56812         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
56813         * lib/unistr.h: Update.
56814         * lib/linebreak.c: Update.
56815         * modules/unistr/u32-mbtouc: Renamed from
56816         modules/unistr/u32-mbtouc-safe.
56817         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
56818         * lib/unistr.h: Update.
56819         * lib/unistr/u32-to-u8.c: Update.
56820         * lib/unistr/u32-to-u16.c: Update.
56821
56822 2007-01-27  Bruno Haible  <bruno@clisp.org>
56823
56824         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
56825         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
56826         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
56827         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
56828         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
56829         * modules/unistr/u16-mbtouc-unsafe: Renamed from
56830         modules/unistr/u16-mbtouc.
56831         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
56832         * lib/unistr.h: Update.
56833         * lib/linebreak.c: Update.
56834         * modules/linebreak: Update.
56835         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
56836         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
56837         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
56838         * modules/unistr/u16-mbtouc: Renamed from
56839         modules/unistr/u16-mbtouc-safe.
56840         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
56841         * lib/unistr.h: Update.
56842         * lib/unistr/u16-to-u8.c: Update.
56843         * modules/unistr/u16-to-u8: Update.
56844         * lib/unistr/u16-to-u32.c: Update.
56845         * modules/unistr/u16-to-u32: Update.
56846
56847 2007-01-27  Bruno Haible  <bruno@clisp.org>
56848
56849         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
56850         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
56851         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
56852         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
56853         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
56854         * modules/unistr/u8-mbtouc-unsafe: Renamed from
56855         modules/unistr/u8-mbtouc.
56856         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
56857         * lib/unistr.h: Update.
56858         * lib/striconveh.c: Update.
56859         * modules/striconveh: Update.
56860         * lib/linebreak.c: Update.
56861         * modules/linebreak: Update.
56862         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
56863         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
56864         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
56865         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
56866         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
56867         * lib/unistr.h: Update.
56868         * lib/striconveh.c: Update.
56869         * modules/striconveh: Update.
56870         * lib/unistr/u8-to-u16.c: Update.
56871         * modules/unistr/u8-to-u16: Update.
56872         * lib/unistr/u8-to-u32.c: Update.
56873         * modules/unistr/u8-to-u32: Update.
56874
56875 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56876
56877         Sync from Libtool.
56878         * lib/argz.c: Do not include strings.h nor memory.h, include
56879         string.h unconditionally.  Patch by Simon Josefsson.
56880
56881 2007-01-27  Bruno Haible  <bruno@clisp.org>
56882
56883         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
56884         from gl_HEADER_STRING_H_BODY.
56885         (gl_HEADER_STRING_H_BODY): Require it.
56886         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
56887         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56888         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56889         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56890         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56891         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
56892         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56893         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56894         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
56895         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56896         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56897         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
56898         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56899         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56900         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
56901
56902 2007-01-27  Bruno Haible  <bruno@clisp.org>
56903
56904         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
56905         check_PROGRAMS into noinst_PROGRAMS.
56906         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
56907         check_PROGRAMS in this case.
56908         (func_import): Set for_test to false.
56909         (func_create_testdir): Set for_test to true.
56910
56911 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56912             Bruno Haible  <bruno@clisp.org>
56913
56914         * modules/strcasestr (Files): Remove lib/strcasestr.h.
56915         (Depends-on): Add string.
56916         (Includes): Use <string.h> instead of strcasestr.h.
56917         * modules/string (Makefile.am): Also substitute the value of
56918         REPLACE_STRCASESTR.
56919         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
56920         assume strcasestr is declared in <string.h> not <strings.h>. Also
56921         set REPLACE_STRCASESTR.
56922         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
56923         REPLACE_STRCASESTR.
56924         * lib/strcasestr.h: Remove file.
56925         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
56926         * lib/string_.h (strcasestr): New declaration.
56927
56928 2007-01-27  Bruno Haible  <bruno@clisp.org>
56929
56930         * lib/string_.h: Use 'extern'.
56931
56932 2007-01-27  Jim Meyering  <jim@meyering.net>
56933
56934         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
56935         of set-but-not-used local, "q".
56936
56937         * lib/mempcpy.c: Include <config.h> before <string.h>.
56938         This fixes a compilation error on HP-UX, due to the system's
56939         "restrict"-using mempcpy prototype.
56940
56941 2007-01-26  Bruno Haible  <bruno@clisp.org>
56942
56943         Small optimization.
56944         * lib/javacomp.c: Include c-strstr.h.
56945          (is_envjavac_gcj): Use c_strstr instead of strstr.
56946         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
56947
56948 2007-01-26  Bruno Haible  <bruno@clisp.org>
56949
56950         * MODULES.html.sh (Unicode string functions): Add the new modules.
56951
56952         * modules/uniconv/u32-strconv-to-locale: New file.
56953         * lib/uniconv/u32-strconv-to-locale.c: New file.
56954
56955         * modules/uniconv/u16-strconv-to-locale: New file.
56956         * lib/uniconv/u16-strconv-to-locale.c: New file.
56957
56958         * modules/uniconv/u8-strconv-to-locale: New file.
56959         * lib/uniconv/u8-strconv-to-locale.c: New file.
56960
56961         * modules/uniconv/u32-strconv-from-locale: New file.
56962         * lib/uniconv/u32-strconv-from-locale.c: New file.
56963
56964         * modules/uniconv/u16-strconv-from-locale: New file.
56965         * lib/uniconv/u16-strconv-from-locale.c: New file.
56966
56967         * modules/uniconv/u8-strconv-from-locale: New file.
56968         * lib/uniconv/u8-strconv-from-locale.c: New file.
56969
56970         * modules/uniconv/u32-strconv-to-enc: New file.
56971         * lib/uniconv/u32-strconv-to-enc.c: New file.
56972         * modules/uniconv/u32-strconv-to-enc-tests: New file.
56973         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
56974
56975         * modules/uniconv/u16-strconv-to-enc: New file.
56976         * lib/uniconv/u16-strconv-to-enc.c: New file.
56977         * lib/uniconv/u-strconv-to-enc.h: New file.
56978         * modules/uniconv/u16-strconv-to-enc-tests: New file.
56979         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
56980
56981         * modules/uniconv/u8-strconv-to-enc: New file.
56982         * lib/uniconv/u8-strconv-to-enc.c: New file.
56983         * modules/uniconv/u8-strconv-to-enc-tests: New file.
56984         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
56985
56986         * modules/uniconv/u32-strconv-from-enc: New file.
56987         * lib/uniconv/u32-strconv-from-enc.c: New file.
56988         * modules/uniconv/u32-strconv-from-enc-tests: New file.
56989         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
56990
56991         * modules/uniconv/u16-strconv-from-enc: New file.
56992         * lib/uniconv/u16-strconv-from-enc.c: New file.
56993         * modules/uniconv/u16-strconv-from-enc-tests: New file.
56994         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
56995
56996         * modules/uniconv/u8-strconv-from-enc: New file.
56997         * lib/uniconv/u8-strconv-from-enc.c: New file.
56998         * lib/uniconv/u-strconv-from-enc.h: New file.
56999         * modules/uniconv/u8-strconv-from-enc-tests: New file.
57000         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
57001
57002         * modules/uniconv/u32-conv-from-enc: New file.
57003         * lib/uniconv/u32-conv-from-enc.c: New file.
57004         * modules/uniconv/u32-conv-from-enc-tests: New file.
57005         * tests/uniconv/test-u32-conv-from-enc.c: New file.
57006
57007         * modules/uniconv/u16-conv-from-enc: New file.
57008         * lib/uniconv/u16-conv-from-enc.c: New file.
57009         * lib/uniconv/u-conv-from-enc.h: New file.
57010         * modules/uniconv/u16-conv-from-enc-tests: New file.
57011         * tests/uniconv/test-u16-conv-from-enc.c: New file.
57012
57013         * modules/uniconv/u8-conv-from-enc: New file.
57014         * lib/uniconv/u8-conv-from-enc.c: New file.
57015         * modules/uniconv/u8-conv-from-enc-tests: New file.
57016         * tests/uniconv/test-u8-conv-from-enc.c: New file.
57017
57018         * modules/uniconv/base: New file.
57019         * lib/uniconv.h: New file.
57020
57021 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
57022
57023         * doc/gnulib-tool.texi (Initial import): Update to match current
57024         behavior with strdup module.
57025         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
57026         * lib/memmem.h: Remove; all uses removed.  This is now done
57027         by <string.h>.
57028         * lib/mempcpy.h: Likewise.
57029         * lib/memrchr.h: Likewise.
57030         * lib/stpcpy.h: Likewise.
57031         * lib/stpncpy.h: Likewise.
57032         * lib/strcase.h: Likewise.
57033         * lib/strchrnul.h: Likewise.
57034         * lib/strdup.h: Likewise.
57035         * lib/strndup.h: Likewise.
57036         * lib/strnlen.h: Likewise.
57037         * lib/strpbrk.h: Likewise.
57038         * lib/strsep.h: Likewise.
57039         * lib/strstr.h: Likewise.
57040         * lib/strtok_r.h: Likewise.
57041         * lib/string_.h: New file.
57042         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
57043         Rely on <string.h> instead.
57044         * lib/canon-host.c: Likewise.
57045         * lib/chdir-long.c: Likewise.
57046         * lib/concatpath.c: Likewise.
57047         * lib/exclude.c: Likewise.
57048         * lib/fchdir.c: Likewise.
57049         * lib/getaddrinfo.c: Likewise.
57050         * lib/getcwd.c: Likewise.
57051         * lib/getsubopt.c: Likewise.
57052         * lib/glob.c: Likewise.
57053         * lib/hard-locale.c: Likewise.
57054         * lib/iconvme.c: Likewise.
57055         * lib/javacomp.c: Likewise.
57056         * lib/mempcpy.c: Likewise.
57057         * lib/memrchr.c: Likewise.
57058         * lib/regex_internal.h: Likewise.
57059         * lib/stpncpy.c: Likewise.
57060         * lib/strcasecmp.c: Likewise.
57061         * lib/strchrnul.c: Likewise.
57062         * lib/strdup.c: Likewise.
57063         * lib/striconv.c: Likewise.
57064         * lib/striconveh.c: Likewise.
57065         * lib/striconveha.c: Likewise.
57066         * lib/strncasecmp.c: Likewise.
57067         * lib/strndup.c: Likewise.
57068         * lib/strnlen.c: Likewise.
57069         * lib/strsep.c: Likewise.
57070         * lib/strstr.c: Likewise.
57071         * lib/strtok_r.c: Likewise.
57072         * lib/userspec.c: Likewise.
57073         * lib/w32spawn.h: Likewise.
57074         * lib/xstrndup.c: Likewise.
57075         * lib/mountlist.c (strstr): Remove decl.
57076         * m4/string_h.m4: New file.
57077         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
57078         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
57079         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
57080         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
57081         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
57082         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
57083         Set REPLACE_STRCASECMP if necessary.
57084         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
57085         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
57086         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
57087         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
57088         HAVE_DECL_STRDUP if necessary.
57089         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
57090         since gl_FUNC_STRNDUP does that now.
57091         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
57092         Check for decl here...
57093         (gl_PREREQ_STRNLEN): ... not here.
57094         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
57095         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
57096         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
57097         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
57098         necessary.
57099         * modules/string: New file.
57100         * modules/memmem (Files): Remove special-purpose include file.
57101         (Depends-on): Add string.
57102         (Include): Include <string.h>, not the removed file.
57103         * modules/mempcpy: Likewise.
57104         * modules/memrchr: Likewise.
57105         * modules/stpcpy: Likewise.
57106         * modules/stpncpy: Likewise.
57107         * modules/strcase: Likewise.
57108         * modules/strchrnul: Likewise.
57109         * modules/strdup: Likewise.
57110         * modules/strndup: Likewise.
57111         * modules/strnlen: Likewise.
57112         * modules/strpbrk: Likewise.
57113         * modules/strsep: Likewise.
57114         * modules/strstr: Likewise.
57115         * modules/strtok_r: Likewise.
57116         * tests/test-dirname.c: Don't include "strdup.h", since
57117         <string.h> now suffices.
57118         * tests/test-memmem.c: Don't include "memmem.h", since
57119         <string.h> now suffices.
57120
57121 2007-01-25  Bruno Haible  <bruno@clisp.org>
57122
57123         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
57124         *resultp is 0.
57125
57126         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
57127         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
57128         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
57129         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
57130
57131         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
57132         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
57133         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
57134         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
57135         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
57136         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
57137
57138 2007-01-24  Bruno Haible  <bruno@clisp.org>
57139
57140         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
57141         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
57142         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
57143         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
57144         gl_FUNC_FTS_CORE.
57145         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
57146         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
57147         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
57148         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
57149         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
57150         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
57151         gl_FUNC_FCHOWNAT.
57152         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
57153         gl_FUNC_STRFTIME.
57154         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
57155         Reported by Ralf Wildenhues.
57156
57157 2007-01-24  Bruno Haible  <bruno@clisp.org>
57158
57159         Drop AC_REQUIRE calls that are redundant with the module dependencies.
57160         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
57161         gl_GETADDRINFO.
57162         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
57163         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
57164         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
57165
57166 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
57167
57168         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
57169         Don't use 'exit'; just return from 'main'.
57170         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
57171
57172         * lib/fnmatch_.h: Readjust white space and comments to match
57173         glibc, to avoid spurious diffs.
57174
57175 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57176
57177         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
57178         2004-12-01 change by Jakub Jelinek, since this code won't compile
57179         if !LIBC.  Problem reported by Bob Proulx.
57180
57181 2007-01-23  Bruno Haible  <bruno@clisp.org>
57182
57183         * lib/striconveh.c: Include c-strcaseeq.h.
57184         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
57185         * modules/striconveh (Depends-on): Add c-strcaseeq.
57186
57187 2007-01-23  Bruno Haible  <bruno@clisp.org>
57188
57189         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
57190
57191         * modules/c-strcaseeq: New file.
57192         * lib/c-strcaseeq.h: New file.
57193
57194         * modules/streq: New file.
57195         * lib/streq.h: New file.
57196
57197 2007-01-23  Bruno Haible  <bruno@clisp.org>
57198
57199         * modules/striconveha-tests: New file.
57200         * tests/test-striconveha.c: New file.
57201
57202         * lib/striconveha.h: Include <stdbool.h>.
57203         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
57204         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
57205         (mem_iconveha_notranslit): Renamed from mem_iconveha.
57206         (mem_iconveha): New function.
57207         (str_iconveha_notranslit): Renamed from str_iconveha.
57208         (str_iconveha): New function.
57209         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
57210         c-strcase.
57211
57212 2007-01-23  Bruno Haible  <bruno@clisp.org>
57213
57214         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
57215         encodings without forgiving before trying any encoding with handler.
57216         (str_iconveha): Try all encodings without forgiving before trying any
57217         encoding with handler.
57218
57219 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57220
57221         Import the following changes from libc.
57222
57223         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
57224
57225         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
57226
57227         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
57228
57229         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
57230         normal_bracket label.
57231
57232         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
57233
57234         [BZ #361]
57235         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
57236         to normal_bracket after fetching the next character.
57237
57238 2007-01-22  Bruno Haible  <bruno@clisp.org>
57239
57240         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
57241         argument.
57242         * lib/striconveh.c (iconv_carefully_1): New function.
57243         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
57244         argument.
57245         (str_cd_iconveh): Update.
57246         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
57247         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
57248         * tests/test-striconveh.c (MAGIC): New macro.
57249         (new_offsets): New function.
57250         (main): Test call with and without offsets.
57251
57252 2007-01-22  Bruno Haible  <bruno@clisp.org>
57253
57254         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
57255         * modules/sys_select (Makefile.am): Likewise.
57256         * modules/sys_socket (Makefile.am): Likewise.
57257         * modules/sys_time (Makefile.am): Likewise.
57258
57259 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
57260
57261         * modules/gettimeofday (License): Change from GPL to LGPL, since
57262         gettimeofday is a library function.
57263
57264 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57265
57266         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
57267
57268 2007-01-21  Bruno Haible  <bruno@clisp.org>
57269
57270         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
57271
57272 2007-01-21  Bruno Haible  <bruno@clisp.org>
57273
57274         * modules/striconveha: New file.
57275         * lib/striconveha.h: New file.
57276         * lib/striconveha.c: New file.
57277         * MODULES.html.sh (Internationalization functions): Add striconveha.
57278         * lib/striconv.c (str_iconv): Optimize the case of an empty input
57279         string.
57280         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
57281
57282 2007-01-21  Bruno Haible  <bruno@clisp.org>
57283
57284         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
57285         * lib/striconveh.c (str_iconveh): Likewise.
57286
57287 2007-01-21  Bruno Haible  <bruno@clisp.org>
57288
57289         * lib/striconveh.h (mem_iconveh): New declaration.
57290         * lib/striconveh.c (mem_iconveh): New function.
57291         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
57292
57293 2007-01-21  Bruno Haible  <bruno@clisp.org>
57294
57295         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
57296
57297         * lib/striconveh.h (mem_cd_iconveh): Change specification.
57298         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
57299         original result buffer.
57300         (str_cd_iconveh): Update.
57301         * tests/test-striconveh.c (main): Update.
57302
57303         * lib/striconv.h (mem_cd_iconv): Change specification.
57304         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
57305         result buffer.
57306         (str_cd_iconv): Update.
57307         * tests/test-striconv.c (main): Update.
57308
57309 2007-01-21  Bruno Haible  <bruno@clisp.org>
57310
57311         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
57312
57313 2007-01-20  Jim Meyering  <jim@meyering.net>
57314
57315         * lib/userspec.c (parse_with_separator): If a user or group string
57316         starts with "+", skip the corresponding name-to-ID look-up, since
57317         such a look-up must fail: user and group names may not include "+".
57318
57319 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
57320
57321         * lib/poll.c: Include sys/time.h and time.h unconditionally,
57322         since we now assume the sys_time module.
57323         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
57324         check for sys/time.h; no longer needed.
57325         * modules/poll (Depends-on): Depend on sys_time.
57326
57327 2007-01-18  Bruno Haible  <bruno@clisp.org>
57328
57329         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
57330         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
57331
57332         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
57333         gettimeofday.
57334
57335         * tests/test-gettimeofday.c: Include <time.h>.
57336         (dummy): Remove variable.
57337
57338         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
57339         gl_HEADER_SYS_TIME_H.
57340         (gl_HEADER_SYS_TIME_H): New macro.
57341
57342         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
57343         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57344         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
57345         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
57346         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57347         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
57348         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
57349         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57350         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
57351         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
57352         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57353
57354         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
57355         last change; it caused a compilation error when cross-compiling to
57356         Cygwin.
57357
57358 2007-01-18  Jim Meyering  <jim@meyering.net>
57359
57360         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
57361         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
57362         than the race-prone "test -d sys || mkdir sys".
57363         (configure.ac): Use AC_PROG_MKDIR_P.
57364         * modules/sys_select: Likewise.
57365         * modules/sys_socket: Likewise.
57366         * modules/sys_time: Likewise.
57367
57368 2007-01-18  Eric Blake  <ebb9@byu.net>
57369
57370         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
57371         replace gettimeofday.
57372         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
57373         name, to avoid infinite recursion.
57374
57375 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
57376
57377         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
57378         module sys_time.
57379         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
57380         assume timespec.h defines struct timeval.
57381         * lib/settime.c: Likewise.
57382         * lib/utimens.c: Likewise.
57383         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
57384         since we now assume the gettimeofday module.
57385         * lib/tempname.c (__gen_tempname): Likewise.
57386         * lib/gettimeofday.h: Remove.
57387         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
57388         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
57389         Include <time.h>, for 'time()'.
57390         (localtime_buffer_addr): Also use this workaround if
57391         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
57392         to simplify the uses.  All uses changed.
57393         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
57394         that #undef is inside {}, and 'const' follows type name consistently.
57395         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
57396         (gettimeofday): Do not use the maximum possible value for
57397         tv->tv_usec, since that might break usages other than ls.c.
57398         Instead, we'll leave ls.c alone.  This undoes today's patch
57399         by Bruno.  Add a compile-time warning for 1s-clock resolution;
57400         we've never observed the problem but might as well keep the
57401         canary.
57402         * lib/nanosleep.c: Include timespec.h first, for interface check.
57403         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
57404         now assume the sys_time module.
57405         * lib/tempname.c: Likewise.
57406         * lib/timespec.h: Likewise.
57407         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
57408         needed.
57409         * lib/strftime.c: Likewise.
57410         * lib/timespec.h: Likewise.
57411         * lib/posixtm.c: Include posixtm.h first, for interface check.
57412         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
57413         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
57414         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
57415         * lib/sys_time_.h: New file.
57416         * lib/timespec.h (struct timespec): Use long int, not long.
57417         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
57418         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
57419         Remove obsolescent call to AC_HEADER_TIME.
57420         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
57421         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57422         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
57423         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
57424         Likewise.
57425         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
57426         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
57427         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
57428         into the sys_time module.  Check for gettimeofday just once.
57429         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
57430         for gettimeofday signature to just check the signature.  Merely
57431         compile it, since linking doesn't test signature.  Improve test for
57432         whether gettimeofday.o is actually needed.
57433         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
57434         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
57435         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
57436         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57437         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
57438         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
57439         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
57440         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
57441         than worrying about sys/time.h.
57442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57443         Don't bother worrying about TIME_WITH_SYS_TIME.
57444         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
57445         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
57446         * m4/sys_time_h.m4: New file.
57447         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
57448         Don't include sys/time.h.  Return from main rather than exiting.
57449         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
57450         all uses changed.
57451         * modules/gethrxtime (Depends-on): Add sys_time.
57452         * modules/gettime (Depends-on): Likewise.
57453         * modules/gettimeofday (Depends-on): Likewise.
57454         * modules/nanosleep (Depends-on): Likewise.
57455         * modules/settime (Depends-on): Likewise.
57456         * modules/tempname (Depends-on): Likewise.
57457         * modules/utimens (Depends-on): Likewise.
57458         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
57459         (Include): Change back to <sys/time.h>.
57460         (Maintainer): Add self.
57461         * modules/sys_time: New file.
57462         * modules/tempname (Depends-on): Add gettimeofday.
57463         * tests/test-gettimeofday.c: Include <sys/time.h>
57464         rather than gettimeofday.h.
57465
57466 2007-01-17  Bruno Haible  <bruno@clisp.org>
57467
57468         * gnulib-tool (func_get_license): Revert last patch. Instead, let
57469         the license default to GPL.
57470         (func_create_testdir): Don't complain if a module is LGPL and its
57471         tests module depends on GPLed modules.
57472
57473 2007-01-17  Bruno Haible  <bruno@clisp.org>
57474
57475         * lib/gettimeofday.c (gettimeofday): Add code for the case
57476         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
57477         maximum possible value for tv->tv_usec, rather than the minimum one.
57478
57479 2005-10-08  Martin Lambers  <marlam@marlam.de>
57480 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57481 2007-01-16  Bruno Haible  <bruno@clisp.org>
57482
57483         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
57484         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
57485         gl_FUNC_GETTIMEOFDAY.
57486         (Include): Add gettimeofday.h.
57487         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
57488         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
57489         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
57490         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
57491         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
57492         * lib/gettimeofday.h: New file.
57493         * lib/gettimeofday.c: Include <sys/timeb.h>.
57494         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
57495         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57496         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
57497         fall back on time().
57498
57499         * tests/test-gettimeofday.c: New file.
57500         * modules/gettimeofday-tests: New file.
57501
57502 2007-01-16  Eric Blake  <ebb9@byu.net>
57503
57504         * modules/fnmatch (Depends-on): Depend on wchar.
57505         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
57506         * m4/fnmatch.m4: Likewise.
57507         * modules/mbchar (Makefile.am): Assume <wchar.h>.
57508         * m4/mbchar.m4: Likewise.
57509         * modules/mbswidth (Depends-on): Depend on wchar.
57510         * lib/mbswidth.c: Assume <wchar.h>.
57511         * m4/mbswidth.m4: Likewise.
57512         * modules/quotearg (Depends-on): Depend on wchar.
57513         * lib/quotearg.c: Assume <wchar.h>.
57514         * m4/quotearg.m4: Likewise.
57515         * modules/regex (Depends-on): Depend on wchar.
57516         * lib/regex_internal.h: Assume <wchar.h>.
57517         * m4/regex.m4: Likewise.
57518         * modules/stdint (Depends-on): Depend on wchar.
57519         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
57520         * m4/stdint.m4: Likewise.
57521         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
57522         * modules/strftime (Depends-on): Depend on wchar.
57523         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
57524         * modules/strtol (Depends-on): Depend on wchar.
57525         * lib/strtol.c: Assume <wchar.h>.
57526         * modules/wcwidth (Depends-on): Depend on wchar.
57527         * lib/wcwidth.h: Assume <wchar.h>.
57528         * m4/wcwidth.m4: Likewise.
57529
57530 2007-01-16  Bruno Haible  <bruno@clisp.org>
57531
57532         * modules/csharpexec-script: New, created from...
57533         * modules/csharpexec: ... this.
57534
57535 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
57536
57537         * modules/javaexec-script: New, created from...
57538         * modules/javaexec: ... this.
57539
57540 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57541
57542         * modules/poll (Dependencies): Add sys_select.
57543
57544 2007-01-15  Jim Meyering  <jim@meyering.net>
57545
57546         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
57547         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
57548         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
57549         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
57550
57551 2007-01-15  Bruno Haible  <bruno@clisp.org>
57552
57553         * modules/striconveh: New file.
57554         * lib/striconveh.h: New file.
57555         * lib/striconveh.c: New file.
57556         * MODULES.html.sh (Internationalization functions): Add striconveh.
57557
57558         * modules/striconveh-tests: New file.
57559         * tests/test-striconveh.c: New file.
57560
57561 2007-01-15  Bruno Haible  <bruno@clisp.org>
57562
57563         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
57564         not from GNU libiconv or GNU libc.
57565
57566 2007-01-15  Bruno Haible  <bruno@clisp.org>
57567
57568         * doc/gnulib-intro.texi (Copyright): Explain the different license
57569         terms for module descriptions, autoconf macros, tests, documentation.
57570
57571 2007-01-14  Bruno Haible  <bruno@clisp.org>
57572
57573         * modules/striconv-tests: New file.
57574         * tests/test-striconv.c: New file.
57575
57576 2007-01-14  Bruno Haible  <bruno@clisp.org>
57577
57578         * modules/iconv-tests: New file.
57579         * tests/test-iconv.c: New file.
57580
57581 2007-01-14  Bruno Haible  <bruno@clisp.org>
57582
57583         * gnulib-tool (func_get_license): For test modules, use the license of
57584         the main module.
57585
57586 2007-01-14  Bruno Haible  <bruno@clisp.org>
57587
57588         * modules/iconv (Include): Clarify that <iconv.h> can only be included
57589         if iconv is found to exist.
57590
57591 2007-01-14  Bruno Haible  <bruno@clisp.org>
57592
57593         * modules/c-ctype-tests: New file.
57594         * tests/test-c-ctype.c: New file.
57595
57596 2007-01-14  Bruno Haible  <bruno@clisp.org>
57597
57598         * modules/binary-io-tests: New file.
57599         * tests/test-binary-io.sh: New file.
57600         * tests/test-binary-io.c: New file.
57601
57602 2007-01-14  Bruno Haible  <bruno@clisp.org>
57603
57604         * modules/array-oset-tests: New file.
57605         * tests/test-array_oset.c: New file.
57606
57607 2007-01-14  Bruno Haible  <bruno@clisp.org>
57608
57609         * modules/array-list-tests: New file.
57610         * tests/test-array_list.c: New file.
57611
57612 2007-01-14  Bruno Haible  <bruno@clisp.org>
57613
57614         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
57615         and make.
57616         Reported by Simon Josefsson in
57617         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
57618
57619 2007-01-14  Bruno Haible  <bruno@clisp.org>
57620
57621         * modules/allocsa-tests: New file.
57622         * tests/test-allocsa.c: New file.
57623
57624 2007-01-14  Bruno Haible  <bruno@clisp.org>
57625
57626         * modules/fchdir (Depends-on): Add absolute-header.
57627         * modules/unistd (Depends-on): Likewise.
57628
57629 2006-12-30  Bruno Haible  <bruno@clisp.org>
57630
57631         * modules/fchdir: New file.
57632         * modules/unistd (Files): Add lib/unistd_.h.
57633         (Makefile.am): Generate unistd.h from unistd_.h.
57634         * lib/fchdir.c: New file.
57635         * lib/dirent_.h: New file.
57636         * lib/unistd_.h: New file.
57637         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
57638         * m4/fchdir.m4: New file.
57639         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
57640         (gl_HEADER_UNISTD): Invoke it.
57641         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
57642         function.
57643         * lib/backupfile.c (opendir, closedir): Undefine.
57644         * lib/chown.c (open, close): Undefine.
57645         * lib/clean-temp.c (open, close): Undefine.
57646         * lib/copy-file.c (open, close): Undefine.
57647         * lib/execute.c (open, close): Undefine.
57648         * lib/fsusage.c (open, close): Undefine.
57649         * lib/gc-gnulib.c (open, close): Undefine.
57650         * lib/getcwd.c (opendir, closedir): Undefine.
57651         * lib/glob.c (opendir, closedir): Undefine.
57652         * lib/javacomp.c (open, close): Undefine.
57653         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
57654         * lib/openat-proc.c (open, close): Undefine.
57655         * lib/pagealign_alloc.c (open, close): Undefine.
57656         * lib/pipe.c (open, close): Undefine.
57657         * lib/progreloc.c (open, close): Undefine.
57658         * lib/savedir.c (opendir, closedir): Undefine.
57659         * lib/utime.c (open, close): Undefine.
57660         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
57661
57662 2007-01-10  Bruno Haible  <bruno@clisp.org>
57663
57664         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
57665
57666 2007-01-12  Eric Blake  <ebb9@byu.net>
57667
57668         Provide a robust <wchar.h>.  Further simplifications are now
57669         possible in other modules, but not included here.
57670         * modules/wchar: New module.
57671         * m4/wchar.m4: New file.
57672         * lib/wchar_.h: Likewise.
57673         * modules/mbchar (Depends-on): Depend on wchar, as the first use
57674         of the new module.
57675         * MODULES.html.sh (Extended multibyte and wide character utilities):
57676         New section.
57677
57678 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
57679
57680         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
57681         to a reasonable default for memory allocation.
57682         (xreadlink): Don't allocate a huge buffer, to work around a buggy
57683         file system that reports garbage st_size values for symlinks.
57684         Problem reported by Liyang Hu.
57685
57686 2007-01-11  Simon Josefsson  <simon@josefsson.org>
57687
57688         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
57689         Emacs .#* auto-save files).
57690
57691 2007-01-11  Bruno Haible  <bruno@clisp.org>
57692
57693         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
57694         directory.
57695
57696 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
57697
57698         Use @...@ consistently in lib/wctype_.h.
57699         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
57700         on it being set to 1 or 0.
57701         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
57702         go back to AC_SUBSTing it.
57703         * modules/wctype (Makefile.am): Undo previous change.
57704
57705 2007-01-10  Eric Blake  <ebb9@byu.net>
57706
57707         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
57708         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
57709         * modules/wctype (Makefile.am): Likewise.
57710         Reported by Chris McGuire.
57711
57712 2007-01-10  Jim Meyering  <jim@meyering.net>
57713
57714         fts.c: a small readability/maintainability improvement
57715         * lib/fts.c (fts_read): Make this code slightly more readable and
57716         maintainable by hoisting the "sp->fts_cur = p" assignments to
57717         immediately follow the statements that set P.  Derived from
57718         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
57719
57720 2007-01-10  Eric Blake  <ebb9@byu.net>
57721
57722         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
57723         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
57724         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57725         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
57726         Reported by Chris McGuire.
57727
57728 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57729
57730         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
57731         in sed script.
57732
57733 2007-01-09  Bruno Haible  <bruno@clisp.org>
57734
57735         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
57736         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
57737         variables.
57738         (func_module): Use them.
57739
57740 2007-01-09  Bruno Haible  <bruno@clisp.org>
57741
57742         * modules/unistr/base: New file.
57743         * lib/unistr.h: New file.
57744
57745         * modules/unistr/u8-to-u16: New file.
57746         * lib/unistr/u8-to-u16.c: New file.
57747
57748         * modules/unistr/u8-to-u32: New file.
57749         * lib/unistr/u8-to-u32.c: New file.
57750
57751         * modules/unistr/u16-to-u8: New file.
57752         * lib/unistr/u16-to-u8.c: New file.
57753
57754         * modules/unistr/u16-to-u32: New file.
57755         * lib/unistr/u16-to-u32.c: New file.
57756
57757         * modules/unistr/u32-to-u8: New file.
57758         * lib/unistr/u32-to-u8.c: New file.
57759
57760         * modules/unistr/u32-to-u16: New file.
57761         * lib/unistr/u32-to-u16.c: New file.
57762
57763         * modules/unistr/u8-check: New file.
57764         * modules/unistr/u16-check: New file.
57765         * modules/unistr/u32-check: New file.
57766         * lib/unistr/u8-check.c: New file.
57767         * lib/unistr/u16-check.c: New file.
57768         * lib/unistr/u32-check.c: New file.
57769
57770         * modules/unistr/u8-chr: New file.
57771         * modules/unistr/u16-chr: New file.
57772         * modules/unistr/u32-chr: New file.
57773         * lib/unistr/u8-chr.c: New file.
57774         * lib/unistr/u16-chr.c: New file.
57775         * lib/unistr/u32-chr.c: New file.
57776
57777         * modules/unistr/u8-cmp: New file.
57778         * modules/unistr/u16-cmp: New file.
57779         * modules/unistr/u32-cmp: New file.
57780         * lib/unistr/u8-cmp.c: New file.
57781         * lib/unistr/u16-cmp.c: New file.
57782         * lib/unistr/u32-cmp.c: New file.
57783
57784         * modules/unistr/u8-cpy: New file.
57785         * modules/unistr/u16-cpy: New file.
57786         * modules/unistr/u32-cpy: New file.
57787         * lib/unistr/u8-cpy.c: New file.
57788         * lib/unistr/u16-cpy.c: New file.
57789         * lib/unistr/u32-cpy.c: New file.
57790         * lib/unistr/u-cpy.h: New file.
57791
57792         * modules/unistr/u8-cpy-alloc: New file.
57793         * modules/unistr/u16-cpy-alloc: New file.
57794         * modules/unistr/u32-cpy-alloc: New file.
57795         * lib/unistr/u8-cpy-alloc.c: New file.
57796         * lib/unistr/u16-cpy-alloc.c: New file.
57797         * lib/unistr/u32-cpy-alloc.c: New file.
57798         * lib/unistr/u-cpy-alloc.h: New file.
57799
57800         * modules/unistr/u8-endswith: New file.
57801         * modules/unistr/u16-endswith: New file.
57802         * modules/unistr/u32-endswith: New file.
57803         * lib/unistr/u8-endswith.c: New file.
57804         * lib/unistr/u16-endswith.c: New file.
57805         * lib/unistr/u32-endswith.c: New file.
57806         * lib/unistr/u-endswith.h: New file.
57807
57808         * modules/unistr/u8-mblen: New file.
57809         * modules/unistr/u16-mblen: New file.
57810         * modules/unistr/u32-mblen: New file.
57811         * lib/unistr/u8-mblen.c: New file.
57812         * lib/unistr/u16-mblen.c: New file.
57813         * lib/unistr/u32-mblen.c: New file.
57814
57815         * modules/unistr/u8-mbtouc: New file.
57816         * modules/unistr/u16-mbtouc: New file.
57817         * modules/unistr/u32-mbtouc: New file.
57818         * lib/unistr/u8-mbtouc.c: New file.
57819         * lib/unistr/u16-mbtouc.c: New file.
57820         * lib/unistr/u32-mbtouc.c: New file.
57821
57822         * modules/unistr/u8-mbtouc-safe: New file.
57823         * modules/unistr/u16-mbtouc-safe: New file.
57824         * modules/unistr/u32-mbtouc-safe: New file.
57825         * lib/unistr/u8-mbtouc-safe.c: New file.
57826         * lib/unistr/u16-mbtouc-safe.c: New file.
57827         * lib/unistr/u32-mbtouc-safe.c: New file.
57828
57829         * modules/unistr/u8-move: New file.
57830         * modules/unistr/u16-move: New file.
57831         * modules/unistr/u32-move: New file.
57832         * lib/unistr/u8-move.c: New file.
57833         * lib/unistr/u16-move.c: New file.
57834         * lib/unistr/u32-move.c: New file.
57835         * lib/unistr/u-move.h: New file.
57836
57837         * modules/unistr/u8-next: New file.
57838         * modules/unistr/u16-next: New file.
57839         * modules/unistr/u32-next: New file.
57840         * lib/unistr/u8-next.c: New file.
57841         * lib/unistr/u16-next.c: New file.
57842         * lib/unistr/u32-next.c: New file.
57843
57844         * modules/unistr/u8-prev: New file.
57845         * modules/unistr/u16-prev: New file.
57846         * modules/unistr/u32-prev: New file.
57847         * lib/unistr/u8-prev.c: New file.
57848         * lib/unistr/u16-prev.c: New file.
57849         * lib/unistr/u32-prev.c: New file.
57850
57851         * modules/unistr/u8-set: New file.
57852         * modules/unistr/u16-set: New file.
57853         * modules/unistr/u32-set: New file.
57854         * lib/unistr/u8-set.c: New file.
57855         * lib/unistr/u16-set.c: New file.
57856         * lib/unistr/u32-set.c: New file.
57857         * lib/unistr/u-set.h: New file.
57858
57859         * modules/unistr/u8-startswith: New file.
57860         * modules/unistr/u16-startswith: New file.
57861         * modules/unistr/u32-startswith: New file.
57862         * lib/unistr/u8-startswith.c: New file.
57863         * lib/unistr/u16-startswith.c: New file.
57864         * lib/unistr/u32-startswith.c: New file.
57865         * lib/unistr/u-startswith.h: New file.
57866
57867         * modules/unistr/u8-stpcpy: New file.
57868         * modules/unistr/u16-stpcpy: New file.
57869         * modules/unistr/u32-stpcpy: New file.
57870         * lib/unistr/u8-stpcpy.c: New file.
57871         * lib/unistr/u16-stpcpy.c: New file.
57872         * lib/unistr/u32-stpcpy.c: New file.
57873         * lib/unistr/u-stpcpy.h: New file.
57874
57875         * modules/unistr/u8-stpncpy: New file.
57876         * modules/unistr/u16-stpncpy: New file.
57877         * modules/unistr/u32-stpncpy: New file.
57878         * lib/unistr/u8-stpncpy.c: New file.
57879         * lib/unistr/u16-stpncpy.c: New file.
57880         * lib/unistr/u32-stpncpy.c: New file.
57881         * lib/unistr/u-stpncpy.h: New file.
57882
57883         * modules/unistr/u8-strcat: New file.
57884         * modules/unistr/u16-strcat: New file.
57885         * modules/unistr/u32-strcat: New file.
57886         * lib/unistr/u8-strcat.c: New file.
57887         * lib/unistr/u16-strcat.c: New file.
57888         * lib/unistr/u32-strcat.c: New file.
57889         * lib/unistr/u-strcat.h: New file.
57890
57891         * modules/unistr/u8-strchr: New file.
57892         * modules/unistr/u16-strchr: New file.
57893         * modules/unistr/u32-strchr: New file.
57894         * lib/unistr/u8-strchr.c: New file.
57895         * lib/unistr/u16-strchr.c: New file.
57896         * lib/unistr/u32-strchr.c: New file.
57897
57898         * modules/unistr/u8-strcmp: New file.
57899         * modules/unistr/u16-strcmp: New file.
57900         * modules/unistr/u32-strcmp: New file.
57901         * lib/unistr/u8-strcmp.c: New file.
57902         * lib/unistr/u16-strcmp.c: New file.
57903         * lib/unistr/u32-strcmp.c: New file.
57904
57905         * modules/unistr/u8-strcpy: New file.
57906         * modules/unistr/u16-strcpy: New file.
57907         * modules/unistr/u32-strcpy: New file.
57908         * lib/unistr/u8-strcpy.c: New file.
57909         * lib/unistr/u16-strcpy.c: New file.
57910         * lib/unistr/u32-strcpy.c: New file.
57911         * lib/unistr/u-strcpy.h: New file.
57912
57913         * modules/unistr/u8-strcspn: New file.
57914         * modules/unistr/u16-strcspn: New file.
57915         * modules/unistr/u32-strcspn: New file.
57916         * lib/unistr/u8-strcspn.c: New file.
57917         * lib/unistr/u16-strcspn.c: New file.
57918         * lib/unistr/u32-strcspn.c: New file.
57919         * lib/unistr/u-strcspn.h: New file.
57920
57921         * modules/unistr/u8-strdup: New file.
57922         * modules/unistr/u16-strdup: New file.
57923         * modules/unistr/u32-strdup: New file.
57924         * lib/unistr/u8-strdup.c: New file.
57925         * lib/unistr/u16-strdup.c: New file.
57926         * lib/unistr/u32-strdup.c: New file.
57927         * lib/unistr/u-strdup.h: New file.
57928
57929         * modules/unistr/u8-strlen: New file.
57930         * modules/unistr/u16-strlen: New file.
57931         * modules/unistr/u32-strlen: New file.
57932         * lib/unistr/u8-strlen.c: New file.
57933         * lib/unistr/u16-strlen.c: New file.
57934         * lib/unistr/u32-strlen.c: New file.
57935         * lib/unistr/u-strlen.h: New file.
57936
57937         * modules/unistr/u8-strmblen: New file.
57938         * modules/unistr/u16-strmblen: New file.
57939         * modules/unistr/u32-strmblen: New file.
57940         * lib/unistr/u8-strmblen.c: New file.
57941         * lib/unistr/u16-strmblen.c: New file.
57942         * lib/unistr/u32-strmblen.c: New file.
57943
57944         * modules/unistr/u8-strmbtouc: New file.
57945         * modules/unistr/u16-strmbtouc: New file.
57946         * modules/unistr/u32-strmbtouc: New file.
57947         * lib/unistr/u8-strmbtouc.c: New file.
57948         * lib/unistr/u16-strmbtouc.c: New file.
57949         * lib/unistr/u32-strmbtouc.c: New file.
57950
57951         * modules/unistr/u8-strncat: New file.
57952         * modules/unistr/u16-strncat: New file.
57953         * modules/unistr/u32-strncat: New file.
57954         * lib/unistr/u8-strncat.c: New file.
57955         * lib/unistr/u16-strncat.c: New file.
57956         * lib/unistr/u32-strncat.c: New file.
57957         * lib/unistr/u-strncat.h: New file.
57958
57959         * modules/unistr/u8-strncmp: New file.
57960         * modules/unistr/u16-strncmp: New file.
57961         * modules/unistr/u32-strncmp: New file.
57962         * lib/unistr/u8-strncmp.c: New file.
57963         * lib/unistr/u16-strncmp.c: New file.
57964         * lib/unistr/u32-strncmp.c: New file.
57965
57966         * modules/unistr/u8-strncpy: New file.
57967         * modules/unistr/u16-strncpy: New file.
57968         * modules/unistr/u32-strncpy: New file.
57969         * lib/unistr/u8-strncpy.c: New file.
57970         * lib/unistr/u16-strncpy.c: New file.
57971         * lib/unistr/u32-strncpy.c: New file.
57972         * lib/unistr/u-strncpy.h: New file.
57973
57974         * modules/unistr/u8-strnlen: New file.
57975         * modules/unistr/u16-strnlen: New file.
57976         * modules/unistr/u32-strnlen: New file.
57977         * lib/unistr/u8-strnlen.c: New file.
57978         * lib/unistr/u16-strnlen.c: New file.
57979         * lib/unistr/u32-strnlen.c: New file.
57980         * lib/unistr/u-strnlen.h: New file.
57981
57982         * modules/unistr/u8-strpbrk: New file.
57983         * modules/unistr/u16-strpbrk: New file.
57984         * modules/unistr/u32-strpbrk: New file.
57985         * lib/unistr/u8-strpbrk.c: New file.
57986         * lib/unistr/u16-strpbrk.c: New file.
57987         * lib/unistr/u32-strpbrk.c: New file.
57988         * lib/unistr/u-strpbrk.h: New file.
57989
57990         * modules/unistr/u8-strrchr: New file.
57991         * modules/unistr/u16-strrchr: New file.
57992         * modules/unistr/u32-strrchr: New file.
57993         * lib/unistr/u8-strrchr.c: New file.
57994         * lib/unistr/u16-strrchr.c: New file.
57995         * lib/unistr/u32-strrchr.c: New file.
57996
57997         * modules/unistr/u8-strspn: New file.
57998         * modules/unistr/u16-strspn: New file.
57999         * modules/unistr/u32-strspn: New file.
58000         * lib/unistr/u8-strspn.c: New file.
58001         * lib/unistr/u16-strspn.c: New file.
58002         * lib/unistr/u32-strspn.c: New file.
58003         * lib/unistr/u-strspn.h: New file.
58004
58005         * modules/unistr/u8-strstr: New file.
58006         * modules/unistr/u16-strstr: New file.
58007         * modules/unistr/u32-strstr: New file.
58008         * lib/unistr/u8-strstr.c: New file.
58009         * lib/unistr/u16-strstr.c: New file.
58010         * lib/unistr/u32-strstr.c: New file.
58011         * lib/unistr/u-strstr.h: New file.
58012
58013         * modules/unistr/u8-strtok: New file.
58014         * modules/unistr/u16-strtok: New file.
58015         * modules/unistr/u32-strtok: New file.
58016         * lib/unistr/u8-strtok.c: New file.
58017         * lib/unistr/u16-strtok.c: New file.
58018         * lib/unistr/u32-strtok.c: New file.
58019         * lib/unistr/u-strtok.h: New file.
58020
58021         * modules/unistr/u8-uctomb: New file.
58022         * modules/unistr/u16-uctomb: New file.
58023         * modules/unistr/u32-uctomb: New file.
58024         * lib/unistr/u8-uctomb.c: New file.
58025         * lib/unistr/u16-uctomb.c: New file.
58026         * lib/unistr/u32-uctomb.c: New file.
58027
58028         * MODULES.html.sh (Unicode string functions): Add the new modules.
58029
58030 2007-01-08  Bruno Haible  <bruno@clisp.org>
58031
58032         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
58033         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
58034         subdirectories.
58035
58036 2007-01-08  Karl Berry  <karl@gnu.org>
58037
58038         * doc/error.texi: mention that main() fns must set program_name
58039         when progname is used.
58040
58041 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
58042
58043         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
58044         WCTYPE_H is empty, for the benefit of builds from non-distclean
58045         directories.  Problem reported by Eric Blake in
58046         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
58047
58048 2007-01-08  Bruno Haible  <bruno@clisp.org>
58049
58050         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
58051         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
58052         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
58053         PROVIDE_CANONICALIZE_FILENAME_MODE.
58054         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
58055
58056 2007-01-08  Bruno Haible  <bruno@clisp.org>
58057
58058         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
58059         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
58060         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
58061         * lib/fts.c: Likewise.
58062         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
58063
58064 2006-12-25  Bruno Haible  <bruno@clisp.org>
58065
58066         * modules/utf8-ucs4-safe: New file.
58067         * lib/utf8-ucs4-safe.h: New file.
58068         * lib/unistr/utf8-ucs4-safe.c: New file.
58069
58070         * modules/utf16-ucs4-safe: New file.
58071         * lib/utf16-ucs4-safe.h: New file.
58072         * lib/unistr/utf16-ucs4-safe.c: New file.
58073
58074         * MODULES.html.sh (Unicode string functions): Add the new modules.
58075
58076 2007-01-08  Bruno Haible  <bruno@clisp.org>
58077
58078         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
58079         (Depends-on): Add unitypes.
58080         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
58081         (u8_mbtouc_aux): Move out to separate file.
58082         (u8_mbtouc): Use ucs4_t, uint8_t types.
58083         * lib/unistr/utf8-ucs4.c: New file.
58084
58085         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
58086         (Depends-on): Add unitypes.
58087         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
58088         (u16_mbtouc_aux): Move out to separate file.
58089         (u16_mbtouc): Use ucs4_t, uint16_t types.
58090         * lib/unistr/utf16-ucs4.c: New file.
58091
58092         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
58093         (Depends-on): Add unitypes.
58094         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
58095         (u8_uctomb_aux): Move out to separate file.
58096         (u8_uctomb): Use ucs4_t, uint8_t types.
58097         * lib/unistr/ucs4-utf8.c: New file.
58098
58099         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
58100         (Depends-on): Add unitypes.
58101         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
58102         (u16_uctomb_aux): Move out to separate file.
58103         (u16_uctomb): Use ucs4_t, uint16_t types.
58104         * lib/unistr/ucs4-utf16.c: New file.
58105
58106 2006-12-25  Bruno Haible  <bruno@clisp.org>
58107
58108         * modules/unitypes: New file.
58109         * lib/unitypes.h: New file.
58110         * MODULES.html.sh (func_all_modules): New section "Unicode string
58111         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
58112         this section. Add unitypes.
58113
58114 2007-01-08  Bruno Haible  <bruno@clisp.org>
58115
58116         Avoid variable names that conflict with those from libtool.
58117         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
58118         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
58119         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
58120         library_names_spec to acl_library_names_spec, hardcode_* to
58121         acl_hardcode_*.
58122         Reported by Ralf Wildenhues.
58123
58124 2007-01-08  Bruno Haible  <bruno@clisp.org>
58125
58126         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
58127         definition.
58128         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
58129         definition.
58130         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
58131         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
58132         definition.
58133         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
58134         definition.
58135         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
58136         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
58137         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
58138         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
58139         definition.
58140         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
58141         definition.
58142         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
58143         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
58144         GC_USE_<algorithm>.
58145         * lib/gc-libgcrypt.c: Likewise.
58146         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
58147         * modules/gc-arctwo (configure.ac): Likewise.
58148         * modules/gc-des (configure.ac): Likewise.
58149         * modules/gc-hmac-md5 (configure.ac): Likewise.
58150         * modules/gc-hmac-sha1 (configure.ac): Likewise.
58151         * modules/gc-md2 (configure.ac): Likewise.
58152         * modules/gc-md4 (configure.ac): Likewise.
58153         * modules/gc-md5 (configure.ac): Likewise.
58154         * modules/gc-random (configure.ac): Likewise.
58155         * modules/gc-rijndael (configure.ac): Likewise.
58156         * modules/gc-sha1 (configure.ac): Likewise.
58157
58158 2007-01-08  Bruno Haible  <bruno@clisp.org>
58159
58160         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
58161         macro definition.
58162         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
58163         definition.
58164         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
58165         definition.
58166         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
58167         * modules/fcntl-safer (configure.ac): Likewise.
58168         * modules/fopen-safer (configure.ac): Likewise.
58169         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
58170         GNULIB_FWRITEERROR macro definition.
58171
58172 2007-01-08  Bruno Haible  <bruno@clisp.org>
58173
58174         * m4/gnulib-common.m4: New file.
58175         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
58176         (func_get_filelist): Add m4/gnulib-common.m4.
58177
58178 2007-01-08  Bruno Haible  <bruno@clisp.org>
58179
58180         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
58181         command.
58182
58183 2007-01-08  Jim Meyering  <jim@meyering.net>
58184
58185         Use a more robust test for a "can't happen" condition.
58186         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
58187         narrowed the st_size value.  Presuming the "can't happen" condition
58188         is true, that narrowing could conceivably convert an invalid st_size
58189         value into a valid one.  Instead, use a change based on Matthew
58190         Woehlke's original patch.
58191
58192         Slight readability improvement: use an assert-like macro
58193         in place of literal "abort ()" uses.
58194         * lib/fts.c (fts_assert): Define.
58195         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
58196         Use this macro instead of a bare 'abort'.
58197
58198 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
58199
58200         Don't worry about using IRIX 5.3's wctype.h broken definitions;
58201         simply work around them.
58202         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
58203         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
58204         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
58205         declaring.
58206         Don't bother to define as macros, since the standard doesn't require it.
58207         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
58208         longer worry about IRIX 5.3.
58209         (HAVE_WCTYPE_CTMP_BUG): Remove.
58210
58211 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
58212
58213         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
58214         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
58215         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58216         Problems reported by Georg Schwarz for IRIX 5.3.
58217
58218         * gnulib-tool (autoconf_minversion): Take the maximum version number
58219         found, not the minimum.  Problem reported by James Youngman.
58220
58221 2007-01-03  Karl Berry  <karl@gnu.org>
58222
58223         * doc/error.texi: new file, explaining interaction with progname.
58224         * doc/gnulib.texi: include it.  Update copyright.
58225
58226 2007-01-03  Simon Josefsson  <simon@josefsson.org>
58227
58228         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
58229         AC_CANONICAL_HOST, to improve autobuild outputs.
58230
58231 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
58232             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
58233
58234         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
58235         sockets, server sockets, and other file descriptors.  Count errors
58236         to compute the return value.  Reorder the code a bit to be easier
58237         to follow.  Don't set event bits that were not requested (except
58238         POLLERR and POLLHUP).
58239
58240 2007-01-01  Bruno Haible  <bruno@clisp.org>
58241
58242         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
58243
58244 2007-01-03  Jim Meyering  <jim@meyering.net>
58245
58246         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
58247
58248 2007-01-02  Bruno Haible  <bruno@clisp.org>
58249
58250         * modules/settime (Include): Require timespec.h.
58251         * modules/nanosleep (Include): Likewise.
58252
58253 2007-01-01  Bruno Haible  <bruno@clisp.org>
58254
58255         * gnulib-tool (func_emit_copyright_notice): Bump year.
58256         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
58257
58258 2007-01-01  Bruno Haible  <bruno@clisp.org>
58259
58260         Improve support for OpenBSD.
58261         * build-aux/config.rpath (libname_spec): Export.
58262         (library_names_spec): New variable. Export.
58263         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
58264         library_names_spec from the config.rpath output. Locate shared library
58265         through the name pattern in library_names_spec.
58266
58267 2007-01-01  Eric Blake  <ebb9@byu.net>
58268
58269         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
58270
58271 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
58272
58273         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
58274         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
58275         assume the C locale, and avoid an "eval" that could cause trouble.
58276         Problem with SORT reported by Bob Proulx.
58277
58278         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
58279         Define.  Trivial patch from Henning Nielsen Lund, originally
58280         sent to bug-grep@gnu.org today.
58281
58282 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58283
58284         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
58285         struct stat.  Problem reported by Henning Nielsen Lund.
58286         * lib/acl.c: Include acl.h first, to check interface.  Don't
58287         bother to include sys/types.h and sys/stat.h again.
58288
58289 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
58290
58291         Import the following change from libc; problem reported by
58292         Sven Verdoolaege.
58293
58294         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
58295
58296         [BZ #1373]
58297         * lib/argp.h: Remove __NTH for __argp_usage inline function.
58298
58299 2006-12-28  Jim Meyering  <jim@meyering.net>
58300
58301         * build-aux/announce-gen: Do not assume that the package
58302         builds any of tar.gz, tar.bz2, and .xdelta files.
58303         Suggestion from Simon Josefsson.
58304
58305 2006-12-28  Simon Josefsson  <simon@josefsson.org>
58306
58307         * modules/announce-gen: New file.
58308
58309 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
58310
58311         * lib/mbchar.h: Just include <wctype.h>; the wctype module
58312         handles its gotchas now.
58313         * lib/mbswidth.c: Likewise.
58314         * lib/wcwidth.h: Likewise.
58315         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
58316         and iswcntrl; the wctype module does this stuff now.
58317         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58318         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
58319         * modules/mbchar (Depends-on): Add wctype.
58320         * modules/mbswidth (Depends-on): Likewise.
58321         * modules/wcwidth (Depends-on): Likewise.
58322
58323 2006-12-27  Eric Blake  <ebb9@byu.net>
58324
58325         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
58326         module uses more than what <wctype.h> is required to provide.
58327
58328 2006-12-26  Eric Blake  <ebb9@byu.net>
58329
58330         * gnulib-tool (sed_extract_prog): Avoid space-tab.
58331
58332 2006-12-26  Eric Blake  <ebb9@byu.net>
58333
58334         * modules/absolute-header: New module.
58335         * modules/fcntl (Depends-on): Depend on it.
58336         * modules/inttypes (Depends-on): Likewise.
58337         * modules/stdint (Depends-on): Likewise.
58338         * modules/sys_stat (Depends-on): Likewise.
58339         * modules/wctype (Depends-on): Likewise.
58340         * MODULES.html.sh (Support for building libraries and
58341         executables): Document it.
58342
58343 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58344
58345         * gnulib-tool (SED): Remove, undoing previous change.
58346         The problem was that it broke coreutils on Solaris, because
58347         "sed --posix" leaked into a makefile.
58348         (sed): New alias, if 'alias' and GNU sed.
58349
58350 2006-12-24  Jim Meyering  <jim@meyering.net>
58351
58352         Work around an fchownat bug in glibc-2.4:
58353         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
58354         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
58355         in spite of the -P option.
58356         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
58357         New macros.
58358         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
58359         * modules/openat (Files): Add lib/fchownat.c.
58360         * lib/openat.c (fchownat): Don't define here.  Move to...
58361         * lib/fchownat.c: ...this new file.
58362
58363 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
58364
58365         Fix bug reported by Bruno Haible in
58366         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
58367         where quotearg.c didn't compile on Mac OS X 10.2 because it
58368         lacks <wchar.h> and wint_t.
58369         * lib/wctype_.h (__wctype_wint_t): New type.
58370         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
58371         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
58372         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
58373         Arg is now of type __wctype_wint_t, not wint_t.
58374         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
58375         substitute HAVE_WINT_T.
58376         * modules/wctype (Files): Add m4/wint_t.m4.
58377         (wctype.h): Substitute HAVE_WINT_T.
58378
58379 2006-12-23  Bruno Haible  <bruno@clisp.org>
58380
58381         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
58382
58383 2006-12-23  Bruno Haible  <bruno@clisp.org>
58384
58385         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
58386         S_ISLNK.
58387         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
58388         mingw.
58389
58390 2006-12-22  Bruno Haible  <bruno@clisp.org>
58391
58392         * lib/copy-file.c: Include acl.h.
58393         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
58394         Close the file descriptors only after being done with copy_acl.
58395         * modules/copy-file (Depends-on): Add acl.
58396
58397 2006-12-22  Bruno Haible  <bruno@clisp.org>
58398
58399         * gnulib-tool (SED): New variable.
58400         Use $SED instead of sed everywhere.
58401
58402 2006-12-22  Bruno Haible  <bruno@clisp.org>
58403
58404         * modules/no-c++: New file.
58405         * m4/no-c++.m4: New file.
58406         * MODULES.html.sh (Support for building libraries and executables):
58407         Add no-c++.
58408
58409 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
58410
58411         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
58412         Include <limits.h>, and use its INT_MAX to rewrite the
58413         j loop so that it does not overflow 'int'.  Problem reported by
58414         Ralf Wildenhues in
58415         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
58416         Play it safe by shifting left by 1 rather than multiplying by 2,
58417         as GCC is less likely to optimize this away when the value
58418         is signed (when it assumes overflow leads to undefined behavior).
58419         Also, don't assume time_t uses two's complement.
58420
58421 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
58422
58423         * MODULES.html.sh: New module wctype.
58424         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
58425         * lib/fnmatch.c: Don't bother to include <wchar.h> before
58426         <wctype.h>, since the new wctype module should fix this.
58427         * lib/quotearg.c: Include <wctype.h> unconditionally, since
58428         the wctype module should arrange for it.
58429         * lib/regex_internal.h: Likewise.
58430         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
58431         since the wctype module should handle this now.
58432         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
58433         * modules/fnmatch (Depends-on): Add wctype.
58434         * modules/quotearg (Depends-on): Likewise.
58435         * modules/regex (Depends-on): Likewise.
58436
58437 2006-12-19  Bruno Haible  <bruno@clisp.org>
58438
58439         * lib/strdup.h [C++]: Wrap definitions in extern "C".
58440         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
58441
58442 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58443
58444         * modules/savewd (Depends-on): Fix dependency on fcntl.
58445
58446 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58447
58448         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
58449         conforms to C99, rather than relying on the user's environment
58450         setting of STDINT_H.
58451
58452 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58453         and Eric Blake  <ebb9@byu.net>
58454
58455         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
58456         This is more consistent with the other defines here.
58457         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
58458         Port to z/OS.  Problem reported by Paul Gilmartin.
58459         Change local vars to use gl_ prefix rather than ac_.
58460         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
58461         with other defines.
58462         * modules/double-slash-root: New module.
58463         * modules/dirname (Files): Remove m4/double-slash-root.m4.
58464         (Depends-on): Add double-slash-root.
58465         * MODULES.html.sh (File system functions): Mention new module.
58466
58467 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
58468
58469         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
58470         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
58471         This is for the benefit of gzip, which doesn't do i18n.
58472
58473 2006-12-12  Jim Meyering  <jim@meyering.net>
58474
58475         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
58476         Reported by Andreas Schwab <schwab@suse.de>.
58477
58478 2006-12-12  Bruno Haible  <bruno@clisp.org>
58479
58480         Merge these changes.
58481         2006-09-05  Bruno Haible  <bruno@clisp.org>
58482         * lib/iconvme.c (iconv_string): No need to save and restore errno when
58483         iconv_alloc succeeded.
58484         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
58485         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
58486         test for " && dest " at the end - dest is always != NULL there. Call
58487         iconv with 4xNULL arguments initially, to reset the state. Call iconv
58488         with 2xNULL arguments, also to flush the state storage. Handle the
58489         IRIX iconv behaviour. Realloc the final result, to throw away unused
58490         memory.
58491
58492 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
58493
58494         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
58495         and fchmodat unconditionally, since glibc 2.4 has them.
58496         Problem reported by Arkadiusz Miskiewicz.
58497
58498 2006-12-10  Bruno Haible  <bruno@clisp.org>
58499
58500         * gnulib-tool (func_import): Show the include files only for those
58501         modules that are copied and specified.
58502         Reported by Karl Berry.
58503
58504 2006-12-08  Jim Meyering  <jim@meyering.net>
58505
58506         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
58507         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
58508
58509         * build-aux/announce-gen: Add two new options, both optional:
58510         --bootstrap-tools=TOOL_LIST
58511               a comma-separated list of tools, e.g.,
58512               autoconf,automake,bison,gnulib
58513         --gnulib-snapshot-date=DATE
58514               if gnulib is in the bootstrap tool list,
58515               then report this as the snapshot date.
58516               If not specified, use the current date/time.
58517               If you specify a date here, be sure it's UTC.
58518
58519 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58520
58521         * tests/test-argp-2.sh: Fix test to match actual output.
58522         (func_compare): Fix sed script to be portable.
58523
58524 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
58525
58526         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
58527         workaround for this case.  It is not autoconfigured now; offhand
58528         it's hard to see how to autoconfigure it.
58529
58530 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58531
58532         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
58533         a directory that is about to be chowned.  Such a directory's
58534         initial file permissions should permit the owner only and this
58535         should not be changed until after the chown, since the group and
58536         other bits would be incorrect if they granted permission before
58537         the chown.
58538
58539         Fix porting problem for iswctype reported by Georg Schwarz in:
58540         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
58541         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
58542         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
58543         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
58544         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58545
58546 2006-12-03  Jim Meyering  <jim@meyering.net>
58547
58548         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
58549         p->fts_statp may not yet be defined.
58550         (fts_read): Instead, set it in the caller, once p->fts_statp is
58551         sure to be defined, and corresponds to a top-level directory.
58552         This bug made du -x fail.  Here's the coreutils test case:
58553         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
58554         Reported by Mike Frysinger.
58555
58556 2006-12-01  Jim Meyering  <jim@meyering.net>
58557
58558         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
58559         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
58560         Reported by Simon Josefsson.
58561
58562 2006-11-30  Jim Meyering  <jim@meyering.net>
58563
58564         * m4/warning.m4: Use the all-permissive copyright notice
58565         recommended by RMS (rather than LGPL).
58566         * m4/vararrays.m4: Likewise.
58567         * m4/flexmember.m4: Likewise.
58568
58569 2006-11-29  Bruno Haible  <bruno@clisp.org>
58570
58571         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58572         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
58573         using +=.
58574         Reported by Simon Josefsson <simon@josefsson.org>.
58575
58576 2006-11-28  James Youngman <jay@gnu.org>
58577
58578         * README: Advise users that they might find the bug-gnulib@gnu.org
58579         and autotools-announce@gnu.org mailing lists useful.
58580
58581 2006-11-28  Bruno Haible  <bruno@clisp.org>
58582
58583         * m4/ptrdiff_max.m4: Remove file.
58584
58585 2006-11-21  Bruno Haible  <bruno@clisp.org>
58586
58587         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
58588         _AC_COMPUTE_INT.
58589         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58590         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
58591         _AC_COMPUTE_INT.
58592         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58593         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
58594         _AC_COMPUTE_INT.
58595         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58596
58597 2006-11-28  Jim Meyering  <jim@meyering.net>
58598
58599         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
58600         warning from "gcc -Wshadow" about shadowing the builtin.
58601
58602 2006-11-27  Bruno Haible  <bruno@clisp.org>
58603
58604         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
58605         _AC_COMPUTE_INT.
58606         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58607
58608 2006-11-27  Bruno Haible  <bruno@clisp.org>
58609             Paul Eggert  <eggert@cs.ucla.edu>
58610
58611         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
58612
58613 2006-11-26  Bruno Haible  <bruno@clisp.org>
58614
58615         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58616         noinst_LTLIBRARIES.
58617
58618 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
58619             Bruno Haible  <bruno@clisp.org>
58620
58621         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
58622         if compiling with "gcc -ansi".
58623
58624 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
58625
58626         Fix some incompatibilities with gcc -ansi -pedantic.
58627         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
58628         if compiling pedantically with GCC, unless it's C99 or later.
58629         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
58630         it mishandles gcc -ansi -pedantic as well.
58631         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
58632         if gcc -pedantic.
58633         * lib/regexec.c (check_node_accept_bytes): Don't use auto
58634         initializers for struct if -pedantic, unless it's C99 or later.
58635
58636 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
58637
58638         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
58639         Don't close an fd more than once. Identical atimes indicate
58640         success, not failure.
58641
58642 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
58643
58644         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
58645
58646 2006-11-23  Jim Meyering  <jim@meyering.net>
58647
58648         * build-aux/announce-gen: New file.  From coreutils.
58649
58650 2006-11-22  Jim Meyering  <jim@meyering.net>
58651
58652         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
58653         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
58654         (fts_read): Use a temporary to narrow the overused st_size member
58655         before using it in a switch statement.  Reported by Matthew Woehlke.
58656
58657         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
58658         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
58659
58660 2006-11-20  Bruno Haible  <bruno@clisp.org>
58661
58662         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
58663         changequote instead of pairs of brackets.
58664         Reported by Andreas Schwab <schwab@suse.de>.
58665
58666 2006-11-21  Jim Meyering  <jim@meyering.net>
58667
58668         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
58669         so as to remain compatible with older compilers.
58670         Patch from Michael Deutschmann.
58671
58672 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58673
58674         * MODULES.html.sh (File system functions): Add openat.
58675
58676         * lib/openat.h (rpl_fstatat): New macro, if
58677         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
58678         (fstatat): Define to rpl_fstatat under the same conditions,
58679         unless COMPILING_FSTATAT.
58680         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
58681         seems to have the bug.
58682         * lib/fstatat.c: New file.
58683         * modules/openat (Files): Add it.
58684
58685 2006-11-20  Bruno Haible  <bruno@clisp.org>
58686
58687         * Makefile: New file.
58688
58689 2006-11-20  Jim Meyering  <jim@meyering.net>
58690
58691         The beginnings of syntax-related checks for gnulib.
58692         * lib/Makefile: New file.
58693         * lib/t-idcache: New script.  Ensure that the two halves of
58694         idcache.c stay in sync.
58695
58696         * lib/idcache.c: Adjust comments in user- and group- portions to
58697         be more accurate, and to be consistent with one another.
58698
58699 2006-11-20  Jim Meyering  <jim@meyering.net>
58700
58701         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
58702         continue using the flexible array member (thus, this module performs
58703         half as many malloc calls), with the addition that...
58704         (getgroup, getuser): Consistently record a non-match via an empty
58705         "name" string, and map an empty string match to a NULL return value.
58706         * modules/idcache (Depends-on): Re-add flexmember.
58707
58708         * lib/idcache.c (getuser): Remove all uses of the register keyword.
58709         (getuidbyname, getgroup, getgidbyname): Likewise.
58710
58711         Use cleaner syntax: NULL rather than 0.
58712         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
58713
58714 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58715
58716         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
58717         It mishandled the case where the group was missing.
58718         Problem reported by Greg Schafer.
58719         * modules/idcache: Likewise.
58720
58721 2006-11-18  Jim Meyering  <jim@meyering.net>
58722
58723         * check-module (%exempt_header): Add exception for some
58724         conditionally-included headers.
58725
58726         * modules/i-ring (Depends-on): Add verify.
58727         (License): Change to LGPL.
58728
58729 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58730
58731         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
58732         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
58733         and inttostr.h.  Use snprintf rather than uinttostr, so that
58734         LGPLed code doesn't depend on GPLed.
58735
58736 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58737
58738         * modules/inline (License): Change from GPL to LGPL.
58739
58740 2006-11-17  Jim Meyering  <jim@meyering.net>
58741
58742         * modules/d-type (License): Switch to LGPL.
58743
58744 2006-11-15  Bruno Haible  <bruno@clisp.org>
58745
58746         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
58747
58748 2006-11-15  Eric Blake  <ebb9@byu.net>
58749
58750         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
58751         the module dependency.
58752
58753 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58754             Bruno Haible  <bruno@clisp.org>
58755
58756         * gnulib-tool (func_create_testdir): Add license consistency check.
58757
58758 2006-11-15  Eric Blake  <ebb9@byu.net>
58759
58760         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
58761         random "(cached)" in configure output.
58762
58763 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58764
58765         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
58766         test for conforming inttypes.h is both announced and cached.
58767
58768         * MODULES.html.sh (seen_modules, seen_files): New variables.
58769         (func_module): Rewrite to use a few less gnulib-tool and sed
58770         invocations.  Avoid a couple of quadratic algorithms for ...
58771         (missed_modules, missed_files): ... these, with ...
58772         (func_append, func_tmpdir): ... these new functions, from
58773         gnulib-tool.  Analogously, install traps for cleanup.
58774
58775         * tests/test-gc.c (main): Remove unused variables.
58776         * tests/test-read-file.c: Include stdlib.h, for 'free'.
58777
58778 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
58779
58780         * modules/inttostr (License): Change to LGPL.
58781
58782 2006-11-14  Eric Blake  <ebb9@byu.net>
58783
58784         * modules/tempname (License): Change to LGPL.
58785
58786 2006-11-14  Eric Blake  <ebb9@byu.net>
58787
58788         * doc/functions.texi (Function Portability): *printf functions on
58789         Cygwin now understand all POSIX size specifiers.
58790
58791 2006-11-14  Bruno Haible  <bruno@clisp.org>
58792
58793         * modules/c-ctype (License): Change to LGPL.
58794
58795 2006-11-12  Bruno Haible  <bruno@clisp.org>
58796
58797         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58798         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
58799         for GNOME libraries, for which the include files are installed in
58800         subdirectories of $prefix/include.
58801
58802 2006-11-12  Bruno Haible  <bruno@clisp.org>
58803
58804         * m4/lib-link.m4: Require at least autoconf-2.54.
58805         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
58806         name to underscores for the --with option.
58807
58808 2006-11-13  Bruno Haible  <bruno@clisp.org>
58809
58810         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
58811         the tests directory.
58812         Reported by Ralf Wildenhues.
58813
58814 2006-11-13  Bruno Haible  <bruno@clisp.org>
58815
58816         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
58817         (func_emit_initmacro_end): Undo the override here.
58818         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
58819         Works around the famous automake error in coreutils.
58820
58821 2006-11-13  Eric Blake  <ebb9@byu.net>
58822
58823         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
58824         element, not its node.
58825
58826 2006-11-12  Bruno Haible  <bruno@clisp.org>
58827
58828         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
58829         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
58830
58831 2006-11-12  Bruno Haible  <bruno@clisp.org>
58832
58833         * gnulib-tool: New option --local-symlink.
58834         (func_usage): Document it.
58835         (lsymbolic): New variable.
58836         (func_import, func_create_testdir): If --symlink was not specified,
58837         test whether --local-symlink was specified and the file comes from
58838         the local_gnulib_dir.
58839
58840 2006-11-12  Bruno Haible  <bruno@clisp.org>
58841
58842         * gnulib-tool (func_ln): New function.
58843         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
58844
58845 2006-11-12  Bruno Haible  <bruno@clisp.org>
58846
58847         Finish support for source files in subdirectories.
58848         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
58849         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
58850         AUTOMAKE_OPTIONS.
58851         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
58852
58853 2006-11-12  Bruno Haible  <bruno@clisp.org>
58854
58855         * gnulib-tool (func_get_automake_snippet): Synthesize also an
58856         EXTRA_lib_SOURCES augmentation.
58857         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
58858
58859 2006-11-12  Jim Meyering  <jim@meyering.net>
58860
58861         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
58862         file descriptors.  This also averts a failure on systems with
58863         native openat support when a traversed directory lacks "x" access.
58864         * lib/fts_.h: Include "i-ring.h"
58865         (struct FTS) [fts_fd_ring]: New member.
58866         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
58867         (FCHDIR): Add parentheses.
58868         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
58869         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
58870         When descending, rather than simply closing the previous
58871         fts_cwd_fd value, push that file descriptor onto the ring.
58872         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
58873         (fts_open): Initialize the new fd_ring member.
58874         (fts_close): Clear the ring.
58875         (fts_safe_changedir): When possible, use our new fd_ring to skip
58876         the diropen and fstat and dev/ino comparison that would normally
58877         accompany a virtual `chdir ("..")'.
58878
58879         * modules/fts (Depends-on): Add i-ring.
58880         * modules/i-ring: New module.
58881         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
58882         * m4/i-ring.m4: New file.
58883
58884 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58885
58886         * gnulib-tool (func_create_testdir): Fix replacement of
58887         `build-aux' in configure.ac.  Run autotools in gltests
58888         subdirectory.
58889         (func_create_testdir, func_create_megatestdir, test): There is
58890         no need for '--force' in most autotool invocations in a new
58891         tree.  Actually fail the whole test if any of the tools, or the
58892         configure or make stages fail.
58893
58894         Sync from Automake.
58895         * build-aux/gnupload: Revert last change.  Add pointer to upload
58896         instructions of the GNU Maintenance Instructions.
58897         Suggestion by Karl Berry.
58898
58899 2006-11-10  Jim Meyering  <jim@meyering.net>
58900
58901         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
58902
58903 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58904
58905         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
58906         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
58907         (bind_textdomain_codeset) [! ENABLE_NLS]:
58908         Evaluate all the arguments.  That way, callers get compatible behavior
58909         if the arguments have side effects.  Also, it avoids some GCC
58910         diagnostics in some cases; Joel E. Denny reported problems when Bison
58911         was configured with --enable-gcc-warnigs.
58912
58913 2006-11-10  Jim Meyering  <jim@meyering.net>
58914
58915         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
58916         relevant options in CFLAGS (like -O, -fno-inline) are taken into
58917         account.
58918
58919 2006-11-10  Jim Meyering  <jim@meyering.net>
58920
58921         * modules/inline: New file/module.
58922         * modules/xalloc (Files): Remove m4/inline.m4.
58923         (Depends-on): Add inline, instead.
58924         * modules/oset: Likewise.
58925         * modules/list: Likewise.
58926
58927 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58928
58929         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
58930         Problem reported by Matthew Woehlke.
58931
58932 2006-11-09  Bruno Haible  <bruno@clisp.org>
58933
58934         * lib/tempname.c (gen_tempname): Remove variant that invokes
58935         __gen_tempname.
58936         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
58937         __gen_tempname.
58938
58939 2006-11-08  Bruno Haible  <bruno@clisp.org>
58940
58941         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
58942         to 'yes' instead of 'cross-compiling'.
58943
58944 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
58945
58946         * lib/quotearg.h (quotearg_free): New decl.
58947         * lib/quotearg.c (quotearg_free): New function.
58948         (slot0, nslots, slotvec0, slotvec):
58949         Now file-scope so that quotearg_free can get at them.
58950
58951 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58952
58953         Sync from Automake.
58954         * build-aux/gnupload: Add missing 'gnu' to example URL.
58955         Report by Karl Berry.
58956
58957 2006-11-08  Bruno Haible  <bruno@clisp.org>
58958
58959         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
58960         Suggested by Paul Eggert.
58961
58962 2006-11-08  Jim Meyering  <jim@meyering.net>
58963
58964         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
58965         It's already included if !_LIBC.
58966         (fts_safe_changedir): Add a comment.
58967
58968 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
58969
58970         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
58971         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
58972         Matthew Woehlke.
58973
58974         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
58975         definitions up, to avoid colliding with change below.
58976         (static_inline) [HAVE_INLINE]: New macro.
58977         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
58978         Provide extern decls when !HAVE_INLINE.  Do not define unless
58979         static_inline is defined, either by us or by xmalloc.c.  Use
58980         static_inline rather than static inline.
58981         (XCALLOC): Optimize sizeof(T) = 1 case.
58982         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
58983
58984 2006-11-07  Bruno Haible  <bruno@clisp.org>
58985
58986         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
58987         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
58988         AC_C_INLINE.
58989         * modules/xalloc (Files): Add m4/inline.m4.
58990
58991 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58992
58993         * README: Fix typo.
58994         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
58995         (Miscellanous Notes): ...from this.
58996
58997 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
58998
58999         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
59000         Mention that offsetof should be used instead of sizeof.
59001         From Bruno Haible.
59002
59003 2006-11-07  Bruno Haible  <bruno@clisp.org>
59004
59005         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
59006
59007 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59008
59009         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
59010         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
59011         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59012         (gl_tree_add_before, gl_tree_add_after):
59013         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
59014         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
59015         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
59016         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
59017         (gl_linked_add_after, gl_linked_add_at): Likewise.
59018         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
59019         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59020         (gl_tree_add_before, gl_tree_add_after): Likewise.
59021         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
59022         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
59023         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59024
59025 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59026
59027         * lib/gl_oset.h: Use C comment style, not C++ comment style.
59028
59029 2006-11-06  Bruno Haible  <bruno@clisp.org>
59030
59031         * m4/inline.m4: New file.
59032         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
59033         * modules/list (Files): Add m4/inline.m4.
59034         * modules/oset (Files): Likewise.
59035
59036 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59037
59038         * lib/idcache.c: Include <stddef.h>, for offsetof.
59039         (struct userid.name): Change from char * to a flexible array member.
59040         All uses changed.
59041         * modules/idcache (Depends-on): Add flexmember.
59042
59043         * MODULES.html.sh (Core language properties): New module flexmember.
59044         * modules/flexmember, m4/flexmember.m4: New files.
59045
59046         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
59047         inline functions that are identical with the old xnmalloc_inline,
59048         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
59049         that we can avoid some unnecessary integer multiplications and
59050         divisions in the common case where the element size is known at
59051         compile time.
59052         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
59053         needed.
59054         (xnboundedmalloc): Remove.
59055         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
59056         arguments, for consistency with rest of this header.
59057         (xcharalloc): Rewrite using XNMALLOC.
59058         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
59059         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
59060         versions have been moved to lib/xalloc.h and renamed to be the
59061         non-*_inline versions.
59062         (xmalloc, xrealloc): Implement without reference to the xnmalloc
59063         and xnrealloc functions, since those functions are now inline and
59064         now call us.
59065         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
59066         renaming described above.
59067         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
59068         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
59069         captures the dependency in AC_C_INLINE.
59070
59071         New module canonicalize-lgpl, proposed by Charles Wilson in
59072         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
59073         with a few small changes afterwards.
59074         * MODULES.html.sh (File system functions): New module
59075         canonicalize-lgpl.
59076         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
59077         and canonicalize_file_name.
59078         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
59079         * modules/canonicalize-lgpl: New files.
59080
59081 2006-11-05  Bruno Haible  <bruno@clisp.org>
59082
59083         * gnulib-tool (func_import, func_create_testdir): Create directories
59084         also for files in subdirectories of lib/.
59085
59086 2006-11-05  Bruno Haible  <bruno@clisp.org>
59087
59088         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
59089         ANSI C compliant.
59090
59091 2006-11-03  Bruno Haible  <bruno@clisp.org>
59092
59093         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
59094         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
59095         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
59096         (xnboundedmalloc): New inline function.
59097         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
59098         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
59099         xmalloc.
59100         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
59101         xmalloc.
59102         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
59103         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
59104         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
59105         xmalloc.
59106         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
59107         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
59108         xmalloc.
59109         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
59110         gl_tree_add_after): Use XMALLOC instead of xmalloc.
59111         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
59112         xmalloc.
59113         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
59114         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
59115         gl_tree_add_after): Use XMALLOC instead of xmalloc.
59116         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
59117         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
59118         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
59119         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
59120
59121 2006-11-03  Bruno Haible  <bruno@clisp.org>
59122
59123         * lib/c-ctype.h [C++]: Define functions without name mangling.
59124         * lib/fwriteerror.h [C++]: Likewise.
59125         * lib/gcd.h [C++]: Likewise.
59126         * lib/linebreak.h [C++]: Likewise.
59127
59128 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
59129
59130         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
59131         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
59132         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
59133         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59134         Check for functions and headers just once.
59135         Check for declaration of canonicalize_file_name.
59136         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
59137
59138 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59139
59140         * gnulib-tool (func_import): Fix typo in actioncmd.
59141
59142 2006-11-02  Bruno Haible  <bruno@clisp.org>
59143
59144         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
59145         newline sequence in the Makefile.am snippet as a space, like "make"
59146         does.
59147         Reported by Roger Persson <perrog@gmail.com>.
59148
59149 2006-11-01  Bruno Haible  <bruno@clisp.org>
59150
59151         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
59152         already declared in <string.h>.
59153         * lib/strcase.h (strncasecmp): Don't declare it if yes.
59154
59155 2006-11-01  Bruno Haible  <bruno@clisp.org>
59156
59157         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
59158         * lib/strcase.h: Include <string.h>.
59159         (strcasecmp): Define to rpl_strcasecmp here.
59160
59161 2006-11-01  Bruno Haible  <bruno@clisp.org>
59162
59163         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
59164
59165 2006-11-01  Eric Blake  <ebb9@byu.net>
59166
59167         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
59168
59169         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
59170
59171 2006-10-29  Bruno Haible  <bruno@clisp.org>
59172
59173         Make it compile in C++ mode.
59174         * lib/full-write.c (full_rw): Add a cast.
59175
59176 2006-11-01  Bruno Haible  <bruno@clisp.org>
59177
59178         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
59179         be POSIX compliant.
59180         Reported by Roger Persson <perrog@gmail.com>.
59181
59182 2006-11-01  Eric Blake  <ebb9@byu.net>
59183
59184         * lib/getopt_.h: Fix comments.
59185
59186 2006-10-31  Eric Blake  <ebb9@byu.net>
59187
59188         * modules/tmpdir (Depends-on): Add sys_stat.
59189         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
59190         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
59191         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
59192         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
59193         tempname.
59194
59195 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
59196
59197         Avoid some C++ diagnostics reported by Bruno Haible.
59198         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
59199         xmalloc.
59200         (quotearg_alloc): Use xcharalloc rather than xmalloc.
59201         (struct slotvec): Move to top level.
59202         (quotearg_n_options): Rewrite to avoid xmalloc.
59203         * lib/xalloc.h (xcharalloc): New function.
59204         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
59205         [defined __cplusplus]: Add function template that provides result
59206         type propagation.  This part of the change is from Bruno Haible.
59207
59208 2006-10-29  Bruno Haible  <bruno@clisp.org>
59209
59210         Make it compile in C++ mode.
59211         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
59212         * lib/strnlen1.c (strnlen1): Cast memchr result.
59213         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
59214         * lib/clean-temp.c (string_equals, string_hash): Add casts.
59215         (create_temp_dir): Rename local variable 'template'.
59216         (compile_csharp_using_sscli): Add cast.
59217         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
59218         * lib/findprog.c (find_in_path): Likewise.
59219         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
59220         * lib/wait-process.c (register_slave_subprocess): Likewise.
59221
59222 2006-10-22  Bruno Haible  <bruno@clisp.org>
59223
59224         * modules/tsearch: New file.
59225         * lib/tsearch.h: New file.
59226         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
59227         * m4/tsearch.m4: New file.
59228         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
59229
59230 2006-10-29  Eric Blake  <ebb9@byu.net>
59231
59232         * lib/arcfour.c: Assume config.h.
59233         * lib/arctwo.c: Likewise.
59234         * lib/base64.c: Likewise.
59235         * lib/check-version.c: Likewise.
59236         * lib/crc.c: Likewise.
59237         * lib/des.c: Likewise.
59238         * lib/gc-gnulib.c: Likewise.
59239         * lib/gc-libgcrypt.c: Likewise.
59240         * lib/gc-pbkdf2-sha1.c: Likewise.
59241         * lib/getaddrinfo.c: Likewise.
59242         * lib/getdelim.c: Likewise.
59243         * lib/getline.c: Likewise.
59244         * lib/hmac-md5.c: Likewise.
59245         * lib/hmac-sha1.c: Likewise.
59246         * lib/iconvme.c: Likewise.
59247         * lib/md2.c: Likewise.
59248         * lib/md4.c: Likewise.
59249         * lib/memxor.c: Likewise.
59250         * lib/read-file.c: Likewise.
59251         * lib/readline.c: Likewise.
59252         * lib/rijndael-alg-fst.c: Likewise.
59253         * lib/rijndael-api-fst.c: Likewise.
59254         * lib/xgetdomainname.c: Likewise.
59255
59256 2006-10-28  Eric Blake  <ebb9@byu.net>
59257
59258         * lib/xstrndup.c: Assume config.h.
59259
59260 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
59261
59262         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
59263         stat-macros.h is now for our own macros, whereas stat_h is for
59264         macros in the <sys/stat.h> name space.
59265         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
59266         (STAT_MACROS_H): Remove.
59267         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
59268         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
59269         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
59270         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
59271         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
59272         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
59273         Move these macros to ...
59274         * lib/stat_.h: here.  Don't include stat-macros.h.
59275         * lib/canonicalize.c: Don't include stat-macros.h.
59276         * lib/chown.c: Likewise.
59277         * lib/euidaccess.c: Likewise.
59278         * lib/file-type.c: Likewise.
59279         * lib/filemode.c: Likewise.
59280         * lib/glob.c: Likewise.
59281         * lib/isapipe.c: Likewise.
59282         * lib/lchown.c: Likewise.
59283         * lib/lstat.c: Likewise.
59284         * lib/mkdir-p.c: Likewise.
59285         * lib/rmdir.c: Likewise.
59286         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
59287         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
59288         unless mkdir isn't declared, to speed up 'configure'.
59289         Always create sys/stat.h, since it's unlikely any real sys/stat.h
59290         would define all the S_* symbols.
59291         * modules/canonicalize (Depends-on):
59292         Depend on sys_stat, not stat-macros.
59293         * modules/chown: Likewise.
59294         * modules/euidaccess: Likewise.
59295         * modules/filemode: Likewise.
59296         * modules/file-type: Likewise.
59297         * modules/glob: Likewise.
59298         * modules/isapipe: Likewise.
59299         * modules/lchown: Likewise.
59300         * modules/lstat: Likewise.
59301         * modules/mkancesdirs: Likewise.
59302         * modules/rmdir: Likewise.
59303         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
59304         * modules/modechange: Likewise.
59305         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
59306         (configure.ac): Remove gl_STAT_MACROS.
59307         * modules/sys_stat (Depends-on): Remove stat-macros.
59308
59309 2006-10-27  Bruno Haible  <bruno@clisp.org>
59310
59311         * m4/signed.m4: Remove file.
59312         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
59313         invocation.
59314         * modules/vasnprintf (Files): Remove m4/signed.m4.
59315
59316 2006-10-27  Bruno Haible  <bruno@clisp.org>
59317
59318         Update to GNU gettext 0.16.
59319         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
59320         m4/inttypes-h.m4, m4/signed.m4.
59321         * m4/gettext.m4: Update to GNU gettext 0.16.
59322         * m4/intl.m4: New file, from GNU gettext.
59323         * m4/intldir.m4: New file, from GNU gettext.
59324         * config/srclist.txt: Update
59325
59326 2006-10-27  Eric Blake  <ebb9@byu.net>
59327
59328         * MODULES.html.sh: Document tempname.
59329         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
59330         dependencies.
59331         (Files): Move lib/tempname.c...
59332         * modules/tempname: ...to this new module.
59333         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
59334         (gl_PREREQ_TEMPNAME): Move...
59335         * m4/tempname.m4: ...to this new file.
59336         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
59337         * modules/sys_stat (Depends-on): Add stat-macros.
59338         * lib/stat_.h (includes): Pick up stat macros.
59339         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
59340         if stat macros are broken.
59341         * lib/tempname.c (includes): No need to include "stat-macros.h".
59342         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
59343         (direxists, __path_search) [!_LIBC]: Don't compile these in
59344         gnulib; the tmpdir module covers that.
59345         * lib/tempname.h: New file.
59346
59347 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
59348
59349         * COPYING: Explain how gnulib-tool converts licence headers.
59350         Almost all wording by Eric Blake.
59351
59352 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
59353
59354         * lib/mbchar.h (is_basic_table): Make read-only.
59355         * lib/mbchar.c (is_basic_table): Likewise.
59356         Reported by John Darrington.
59357
59358 2006-10-25  Bruno Haible  <bruno@clisp.org>
59359
59360         * lib/progname.h (set_program_name): Undefine before defining.
59361
59362 2006-10-25  Bruno Haible  <bruno@clisp.org>
59363
59364         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
59365         false for non-gcc C++ compilers.
59366         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
59367
59368 2006-10-24  Bruno Haible  <bruno@clisp.org>
59369
59370         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
59371         iconv implementations like Irix iconv.
59372
59373 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59374
59375         * modules/vararrays: New file.
59376         * m4/vararrays.m4: New file, taken from diffutils.
59377         * MODULES.html.sh: New module vararrays.
59378
59379 2006-10-24  Karl Berry  <karl@gnu.org>
59380
59381         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
59382         Don't call GNU Unix.
59383
59384 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59385
59386         * users.txt: Add Libtool.
59387
59388         Sync from Libtool:
59389
59390         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59391
59392         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
59393         to gnulib's policy of including config.h unconditionally.
59394
59395 2006-10-24  Bruno Haible  <bruno@clisp.org>
59396
59397         * modules/wcwidth (Files): Add m4/wint_t.m4.
59398         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
59399         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
59400
59401 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59402
59403         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
59404         to pacify GCC with some -W flags enabled.  Problem reported by
59405         Bruno Haible.
59406
59407 2006-10-24  Jim Meyering  <jim@meyering.net>
59408
59409         * MODULES.html.sh: Remove uinttostr.  It's not a module.
59410         Reported by Karl Berry.
59411
59412 2006-10-23  Bruno Haible  <bruno@clisp.org>
59413
59414         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
59415
59416 2006-10-24  Bruno Haible  <bruno@clisp.org>
59417
59418         * lib/gl_list.h: Use C comment style, not C++ comment style.
59419
59420 2006-10-23  Eric Blake  <ebb9@byu.net>
59421
59422         * lib/getaddrinfo.c (includes): Add missing include.
59423
59424 2006-10-23  Bruno Haible  <bruno@clisp.org>
59425             Paul Eggert  <eggert@cs.ucla.edu>
59426
59427         Ability to rename obstack_free.
59428         * lib/obstack.h (__obstack_free): New macro. Declare instead of
59429         obstack_free.
59430         (obstack_free): Invoke the __obstack_free macro.
59431         * lib/obstack.c (obstack_free): Use __obstack_free macro.
59432
59433 2006-10-23  Bruno Haible  <bruno@clisp.org>
59434             Paul Eggert  <eggert@cs.ucla.edu>
59435
59436         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
59437         __argc, __argv from the declaration. (They are defined as macros on
59438         mingw.)
59439
59440 2006-10-22  Bruno Haible  <bruno@clisp.org>
59441
59442         * doc/gnulib-intro.texi: New file.
59443         * doc/gnulib.texi: Include it.
59444
59445 2006-10-21  Bruno Haible  <bruno@clisp.org>
59446
59447         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
59448         "Introduction", "Miscellanous Notes", "Particular Modules".
59449
59450 2006-10-21  Bruno Haible  <bruno@clisp.org>
59451
59452         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59453         Change mostlyclean-local rule to avoid sh syntax error from bash
59454         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
59455
59456 2006-10-23  Jim Meyering  <jim@meyering.net>
59457
59458         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
59459         in place of snprintf.
59460
59461         * modules/inttostr (Files): Add lib/uinttostr.c.
59462         * lib/uinttostr.c (inttostr): New file/function.
59463         * lib/inttostr.h (uinttostr): Declare.
59464         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
59465         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
59466         Add uinttostr.
59467         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
59468
59469 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
59470
59471         * lib/canonicalize.c (ELOOP): Define if not already defined.
59472         Problem reported by Bruno Haible in
59473         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
59474
59475 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
59476
59477         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
59478         Problem reported by Perry Smith and Ville Laurikari.
59479
59480         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
59481         uses.
59482
59483 2006-10-19  Bruno Haible  <bruno@clisp.org>
59484
59485         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
59486         for mingw.
59487
59488 2006-10-19  Bruno Haible  <bruno@clisp.org>
59489
59490         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
59491         Needed for mingw.
59492
59493 2006-10-19  Bruno Haible  <bruno@clisp.org>
59494
59495         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
59496
59497 2006-10-19  Bruno Haible  <bruno@clisp.org>
59498
59499         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
59500         it.
59501
59502 2006-10-19  Bruno Haible  <bruno@clisp.org>
59503
59504         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
59505         invocation.
59506
59507 2006-10-19  Bruno Haible  <bruno@clisp.org>
59508
59509         * gnulib-tool (func_create_testdir): Don't include ftruncate and
59510         mountlist by default.
59511
59512 2006-10-16  Bruno Haible  <bruno@clisp.org>
59513
59514         * lib/c-strstr.c: Include c-strstr.h.
59515
59516 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59517
59518         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
59519         in a slash.
59520
59521 2006-10-18  Bruno Haible  <bruno@clisp.org>
59522
59523         * lib/lock.h [C++]: Wrap definitions in extern "C".
59524
59525 2006-10-18  Bruno Haible  <bruno@clisp.org>
59526
59527         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
59528         gl_LIBOBJS list.
59529
59530 2006-10-18  Bruno Haible  <bruno@clisp.org>
59531
59532         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
59533
59534 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
59535
59536         * lib/xstrtol.h: Include gettext.h.
59537         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
59538         Problem reported by Eric Blake.
59539         * modules/xstrtol (Depends-on): Add gettext-h.
59540
59541 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
59542
59543         * lib/strftime.c (advance): New macro.
59544         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
59545         incomplete type, so you can't add 0 to it.  Problem and patch
59546         reported by Eelco Dolstra for dietlibc.
59547
59548 2006-10-18  Jim Meyering  <jim@meyering.net>
59549
59550         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
59551         type for a local, and rename it: s/up/user_proc/.
59552
59553 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59554
59555         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
59556         READ_UTMP_USER_PROCESS.
59557         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
59558
59559 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59560
59561         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
59562         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
59563
59564 2006-10-17  Eric Blake  <ebb9@byu.net>
59565
59566         * lib/sigprocmask.c (sigprocmask): Fix typo.
59567
59568         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
59569
59570         * modules/clean-temp (Makefile.am): Don't add to make output...
59571         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
59572         config.h.
59573
59574 2006-10-17  Bruno Haible  <bruno@clisp.org>
59575
59576         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
59577         differently if DEFAULT_TEXT_DOMAIN is set.
59578
59579 2006-10-16  Bruno Haible  <bruno@clisp.org>
59580
59581         * lib/clean-temp.c: Include fwriteerror.h.
59582
59583 2006-10-16  Bruno Haible  <bruno@clisp.org>
59584
59585         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
59586
59587 2006-10-16  Bruno Haible  <bruno@clisp.org>
59588
59589         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
59590         * lib/sigprocmask.h: Include <sys/types.h>.
59591         (sigset_t): Use the system's definition if present.
59592
59593 2006-10-17  Eric Blake  <ebb9@byu.net>
59594
59595         * lib/xvasprintf.c (includes): Assume config.h.
59596         * lib/xasprintf.c (includes): Likewise.
59597
59598 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59599
59600         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
59601         at least as wide as intmax_t.
59602
59603 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
59604
59605         (Imported from Automake.)
59606         * build-aux/gnupload: Update to version 1.1 of directive file.
59607
59608 2006-10-16  Eric Blake  <ebb9@byu.net>
59609
59610         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
59611         match Automake 1.10a.
59612
59613 2006-10-14  Bruno Haible  <bruno@clisp.org>
59614
59615         * modules/sigprocmask: New file.
59616         * lib/sigprocmask.h: New file.
59617         * lib/sigprocmask.c: New file.
59618         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
59619         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
59620         request sigprocmask.o.
59621         (gl_PREREQ_SIGPROCMASK): New macro.
59622         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
59623         (Depends-on): Add sigprocmask.
59624         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
59625         gt_SIGNALBLOCKING. Test for 'raise' only once.
59626         * lib/fatal-signal.c: Include sigprocmask.h.
59627         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
59628         unblock_fatal_signals): Define always.
59629         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59630         sigprocmask.
59631
59632 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59633
59634         Sync from Automake.
59635         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
59636         which incorrectly sets the mode of an existing destination
59637         directory.  In some cases the unpatched install-sh could do the
59638         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
59639         system.  We hope this is rare in practice, but it's clearly worth
59640         fixing.  Problem reported by Alex Unleashed in
59641         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
59642         Also, don't bother to check for -m bugs unless we're using -m;
59643         suggested by Stepan Kasal.
59644
59645 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59646
59647         Sync from Automake.
59648         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
59649         `-c' flag, so they appear at the same position as in %FASTDEP%
59650         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
59651         which ignores unknown options only after the first non-option.
59652         Bug report against M4 by Nelson H. F. Beebe.
59653
59654 2006-10-13  Jim Meyering  <jim@meyering.net>
59655
59656         Fix a bug in yesterday's change.
59657         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
59658         p->fts_statp->st_dev would be used uninitialized.
59659         Ensures that we always call fts_stat on the very first entry.
59660         Miklos Szeredi reported that find -xdev stopped working.
59661
59662 2006-10-12  Bruno Haible  <bruno@clisp.org>
59663
59664         * gnulib-tool (func_get_automake_snippet): Append an automatically
59665         computed EXTRA_DIST augmentation.
59666         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
59667         * modules/alloca-opt (Makefile.am): Likewise.
59668         * modules/allocsa (Makefile.am): Likewise.
59669         * modules/arcfour (Makefile.am): Likewise.
59670         * modules/arctwo (Makefile.am): Likewise.
59671         * modules/argmatch (Makefile.am): Likewise.
59672         * modules/argz (Makefile.am): Likewise.
59673         * modules/atexit (Makefile.am): Likewise.
59674         * modules/backupfile (Makefile.am): Likewise.
59675         * modules/byteswap (Makefile.am): Likewise.
59676         * modules/c-strtod (Makefile.am): Likewise.
59677         * modules/c-strtold (Makefile.am): Likewise.
59678         * modules/calloc (Makefile.am): Likewise.
59679         * modules/canon-host (Makefile.am): Likewise.
59680         * modules/canonicalize (Makefile.am): Likewise.
59681         * modules/chdir-long (Makefile.am): Likewise.
59682         * modules/chdir-safer (Makefile.am): Likewise.
59683         * modules/check-version (Makefile.am): Likewise.
59684         * modules/chown (Makefile.am): Likewise.
59685         * modules/cloexec (Makefile.am): Likewise.
59686         * modules/close-stream (Makefile.am): Likewise.
59687         * modules/closeout (Makefile.am): Likewise.
59688         * modules/crc (Makefile.am): Likewise.
59689         * modules/csharpexec (Makefile.am): Likewise.
59690         * modules/cycle-check (Makefile.am): Likewise.
59691         * modules/des (Makefile.am): Likewise.
59692         * modules/dev-ino (Makefile.am): Likewise.
59693         * modules/dirfd (Makefile.am): Likewise.
59694         * modules/dirname (Makefile.am): Likewise.
59695         * modules/dup2 (Makefile.am): Likewise.
59696         * modules/eealloc (Makefile.am): Likewise.
59697         * modules/error (Makefile.am): Likewise.
59698         * modules/euidaccess (Makefile.am): Likewise.
59699         * modules/exclude (Makefile.am): Likewise.
59700         * modules/exitfail (Makefile.am): Likewise.
59701         * modules/fcntl-safer (Makefile.am): Likewise.
59702         * modules/fcntl (Makefile.am): Likewise.
59703         * modules/file-type (Makefile.am): Likewise.
59704         * modules/fileblocks (Makefile.am): Likewise.
59705         * modules/filemode (Makefile.am): Likewise.
59706         * modules/filenamecat (Makefile.am): Likewise.
59707         * modules/fnmatch (Makefile.am): Likewise.
59708         * modules/fopen-safer (Makefile.am): Likewise.
59709         * modules/fpending (Makefile.am): Likewise.
59710         * modules/fprintftime (Makefile.am): Likewise.
59711         * modules/free (Makefile.am): Likewise.
59712         * modules/fsusage (Makefile.am): Likewise.
59713         * modules/ftruncate (Makefile.am): Likewise.
59714         * modules/fts (Makefile.am): Likewise.
59715         * modules/gc-arcfour (Makefile.am): Likewise.
59716         * modules/gc-des (Makefile.am): Likewise.
59717         * modules/gc-hmac-md5 (Makefile.am): Likewise.
59718         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
59719         * modules/gc-md4 (Makefile.am): Likewise.
59720         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
59721         * modules/gc-sha1 (Makefile.am): Likewise.
59722         * modules/gc (Makefile.am): Likewise.
59723         * modules/getaddrinfo (Makefile.am): Likewise.
59724         * modules/getcwd (Makefile.am): Likewise.
59725         * modules/getdelim (Makefile.am): Likewise.
59726         * modules/getdomainname (Makefile.am): Likewise.
59727         * modules/getgroups (Makefile.am): Likewise.
59728         * modules/gethostname (Makefile.am): Likewise.
59729         * modules/gethrxtime (Makefile.am): Likewise.
59730         * modules/getline (Makefile.am): Likewise.
59731         * modules/getloadavg (Makefile.am): Likewise.
59732         * modules/getlogin_r (Makefile.am): Likewise.
59733         * modules/getndelim2 (Makefile.am): Likewise.
59734         * modules/getopt (Makefile.am): Likewise.
59735         * modules/getpagesize (Makefile.am): Likewise.
59736         * modules/getpass-gnu (Makefile.am): Likewise.
59737         * modules/getpass (Makefile.am): Likewise.
59738         * modules/getsubopt (Makefile.am): Likewise.
59739         * modules/gettime (Makefile.am): Likewise.
59740         * modules/gettimeofday (Makefile.am): Likewise.
59741         * modules/getugroups (Makefile.am): Likewise.
59742         * modules/getusershell (Makefile.am): Likewise.
59743         * modules/glob (Makefile.am): Likewise.
59744         * modules/group-member (Makefile.am): Likewise.
59745         * modules/hard-locale (Makefile.am): Likewise.
59746         * modules/hash (Makefile.am): Likewise.
59747         * modules/hmac-md5 (Makefile.am): Likewise.
59748         * modules/hmac-sha1 (Makefile.am): Likewise.
59749         * modules/human (Makefile.am): Likewise.
59750         * modules/idcache (Makefile.am): Likewise.
59751         * modules/imaxabs (Makefile.am): Likewise.
59752         * modules/imaxdiv (Makefile.am): Likewise.
59753         * modules/inet_ntop (Makefile.am): Likewise.
59754         * modules/inet_pton (Makefile.am): Likewise.
59755         * modules/intprops (Makefile.am): Likewise.
59756         * modules/inttostr (Makefile.am): Likewise.
59757         * modules/inttypes (Makefile.am): Likewise.
59758         * modules/isapipe (Makefile.am): Likewise.
59759         * modules/javaversion (Makefile.am): Likewise.
59760         * modules/lchmod (Makefile.am): Likewise.
59761         * modules/lchown (Makefile.am): Likewise.
59762         * modules/localcharset (Makefile.am): Likewise.
59763         * modules/long-options (Makefile.am): Likewise.
59764         * modules/lstat (Makefile.am): Likewise.
59765         * modules/malloc (Makefile.am): Likewise.
59766         * modules/mathl (Makefile.am): Likewise.
59767         * modules/mbchar (Makefile.am): Likewise.
59768         * modules/md2 (Makefile.am): Likewise.
59769         * modules/md4 (Makefile.am): Likewise.
59770         * modules/md5 (Makefile.am): Likewise.
59771         * modules/memcasecmp (Makefile.am): Likewise.
59772         * modules/memchr (Makefile.am): Likewise.
59773         * modules/memcmp (Makefile.am): Likewise.
59774         * modules/memcoll (Makefile.am): Likewise.
59775         * modules/memcpy (Makefile.am): Likewise.
59776         * modules/memmem (Makefile.am): Likewise.
59777         * modules/memmove (Makefile.am): Likewise.
59778         * modules/mempcpy (Makefile.am): Likewise.
59779         * modules/memrchr (Makefile.am): Likewise.
59780         * modules/memset (Makefile.am): Likewise.
59781         * modules/memxor (Makefile.am): Likewise.
59782         * modules/mkancesdirs (Makefile.am): Likewise.
59783         * modules/mkdir-p (Makefile.am): Likewise.
59784         * modules/mkdir (Makefile.am): Likewise.
59785         * modules/mkdtemp (Makefile.am): Likewise.
59786         * modules/mkstemp (Makefile.am): Likewise.
59787         * modules/mktime (Makefile.am): Likewise.
59788         * modules/modechange (Makefile.am): Likewise.
59789         * modules/mountlist (Makefile.am): Likewise.
59790         * modules/nanosleep (Makefile.am): Likewise.
59791         * modules/obstack (Makefile.am): Likewise.
59792         * modules/openat (Makefile.am): Likewise.
59793         * modules/pagealign_alloc (Makefile.am): Likewise.
59794         * modules/pathmax (Makefile.am): Likewise.
59795         * modules/physmem (Makefile.am): Likewise.
59796         * modules/poll (Makefile.am): Likewise.
59797         * modules/posixtm (Makefile.am): Likewise.
59798         * modules/posixver (Makefile.am): Likewise.
59799         * modules/putenv (Makefile.am): Likewise.
59800         * modules/quote (Makefile.am): Likewise.
59801         * modules/quotearg (Makefile.am): Likewise.
59802         * modules/raise (Makefile.am): Likewise.
59803         * modules/read-file (Makefile.am): Likewise.
59804         * modules/readline (Makefile.am): Likewise.
59805         * modules/readlink (Makefile.am): Likewise.
59806         * modules/readtokens (Makefile.am): Likewise.
59807         * modules/readutmp (Makefile.am): Likewise.
59808         * modules/realloc (Makefile.am): Likewise.
59809         * modules/regex (Makefile.am): Likewise.
59810         * modules/rename-dest-slash (Makefile.am): Likewise.
59811         * modules/rename (Makefile.am): Likewise.
59812         * modules/rijndael (Makefile.am): Likewise.
59813         * modules/rmdir (Makefile.am): Likewise.
59814         * modules/rpmatch (Makefile.am): Likewise.
59815         * modules/safe-read (Makefile.am): Likewise.
59816         * modules/safe-write (Makefile.am): Likewise.
59817         * modules/same-inode (Makefile.am): Likewise.
59818         * modules/same (Makefile.am): Likewise.
59819         * modules/save-cwd (Makefile.am): Likewise.
59820         * modules/savedir (Makefile.am): Likewise.
59821         * modules/setenv (Makefile.am): Likewise.
59822         * modules/settime (Makefile.am): Likewise.
59823         * modules/sha1 (Makefile.am): Likewise.
59824         * modules/sig2str (Makefile.am): Likewise.
59825         * modules/snprintf (Makefile.am): Likewise.
59826         * modules/stat-macros (Makefile.am): Likewise.
59827         * modules/stat-time (Makefile.am): Likewise.
59828         * modules/stdbool (Makefile.am): Likewise.
59829         * modules/stdint (Makefile.am): Likewise.
59830         * modules/stdlib-safer (Makefile.am): Likewise.
59831         * modules/stpcpy (Makefile.am): Likewise.
59832         * modules/stpncpy (Makefile.am): Likewise.
59833         * modules/strcase (Makefile.am): Likewise.
59834         * modules/strcasestr (Makefile.am): Likewise.
59835         * modules/strchrnul (Makefile.am): Likewise.
59836         * modules/strcspn (Makefile.am): Likewise.
59837         * modules/strdup (Makefile.am): Likewise.
59838         * modules/strerror (Makefile.am): Likewise.
59839         * modules/strftime (Makefile.am): Likewise.
59840         * modules/strndup (Makefile.am): Likewise.
59841         * modules/strnlen (Makefile.am): Likewise.
59842         * modules/strpbrk (Makefile.am): Likewise.
59843         * modules/strsep (Makefile.am): Likewise.
59844         * modules/strstr (Makefile.am): Likewise.
59845         * modules/strtod (Makefile.am): Likewise.
59846         * modules/strtoimax (Makefile.am): Likewise.
59847         * modules/strtok_r (Makefile.am): Likewise.
59848         * modules/strtol (Makefile.am): Likewise.
59849         * modules/strtoll (Makefile.am): Likewise.
59850         * modules/strtoul (Makefile.am): Likewise.
59851         * modules/strtoull (Makefile.am): Likewise.
59852         * modules/strtoumax (Makefile.am): Likewise.
59853         * modules/strverscmp (Makefile.am): Likewise.
59854         * modules/sys_socket (Makefile.am): Likewise.
59855         * modules/sys_stat (Makefile.am): Likewise.
59856         * modules/sysexits (Makefile.am): Likewise.
59857         * modules/time_r (Makefile.am): Likewise.
59858         * modules/timegm (Makefile.am): Likewise.
59859         * modules/timespec (Makefile.am): Likewise.
59860         * modules/tmpfile-safer (Makefile.am): Likewise.
59861         * modules/trim (Makefile.am): Likewise.
59862         * modules/unistd-safer (Makefile.am): Likewise.
59863         * modules/unlinkdir (Makefile.am): Likewise.
59864         * modules/unlocked-io (Makefile.am): Likewise.
59865         * modules/userspec (Makefile.am): Likewise.
59866         * modules/utime (Makefile.am): Likewise.
59867         * modules/utimecmp (Makefile.am): Likewise.
59868         * modules/utimens (Makefile.am): Likewise.
59869         * modules/vasnprintf (Makefile.am): Likewise.
59870         * modules/vasprintf (Makefile.am): Likewise.
59871         * modules/vsnprintf (Makefile.am): Likewise.
59872         * modules/xalloc (Makefile.am): Likewise.
59873         * modules/xgetcwd (Makefile.am): Likewise.
59874         * modules/xnanosleep (Makefile.am): Likewise.
59875         * modules/xreadlink (Makefile.am): Likewise.
59876         * modules/xstrtod (Makefile.am): Likewise.
59877         * modules/xstrtol (Makefile.am): Likewise.
59878         * modules/xstrtold (Makefile.am): Likewise.
59879         * modules/yesno (Makefile.am): Likewise.
59880         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
59881
59882 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59883
59884         * modules/error (Makefile.am): Distribute files through
59885         EXTRA_DIST, not lib_SOURCES.
59886
59887 2006-10-12  Eric Blake  <ebb9@byu.net>
59888
59889         * modules/error (Makefile.am): Distribute files in /lib.
59890         * modules/obstack (Makefile.am): Likewise.
59891
59892 2006-10-12  Bruno Haible  <bruno@clisp.org>
59893
59894         * modules/acl (Makefile.am): Distribute all files in lib/ through
59895         EXTRA_DIST.
59896         * modules/arcfour (Makefile.am): Likewise.
59897         * modules/arctwo (Makefile.am): Likewise.
59898         * modules/argmatch (Makefile.am): Likewise.
59899         * modules/argz (Makefile.am): Likewise.
59900         * modules/atexit (Makefile.am): Likewise.
59901         * modules/backupfile (Makefile.am): Likewise.
59902         * modules/c-strtod (Makefile.am): Likewise.
59903         * modules/c-strtold (Makefile.am): Likewise.
59904         * modules/calloc (Makefile.am): Likewise.
59905         * modules/canon-host (Makefile.am): Likewise.
59906         * modules/canonicalize (Makefile.am): Likewise.
59907         * modules/chdir-long (Makefile.am): Likewise.
59908         * modules/chdir-safer (Makefile.am): Likewise.
59909         * modules/check-version (Makefile.am): Likewise.
59910         * modules/chown (Makefile.am): Likewise.
59911         * modules/cloexec (Makefile.am): Likewise.
59912         * modules/close-stream (Makefile.am): Likewise.
59913         * modules/closeout (Makefile.am): Likewise.
59914         * modules/crc (Makefile.am): Likewise.
59915         * modules/cycle-check (Makefile.am): Likewise.
59916         * modules/des (Makefile.am): Likewise.
59917         * modules/dirfd (Makefile.am): Likewise.
59918         * modules/dirname (Makefile.am): Likewise.
59919         * modules/dup2 (Makefile.am): Likewise.
59920         * modules/euidaccess (Makefile.am): Likewise.
59921         * modules/exclude (Makefile.am): Likewise.
59922         * modules/exitfail (Makefile.am): Likewise.
59923         * modules/fcntl-safer (Makefile.am): Likewise.
59924         * modules/file-type (Makefile.am): Likewise.
59925         * modules/fileblocks (Makefile.am): Likewise.
59926         * modules/filemode (Makefile.am): Likewise.
59927         * modules/filenamecat (Makefile.am): Likewise.
59928         * modules/fnmatch (Makefile.am): Likewise.
59929         * modules/fopen-safer (Makefile.am): Likewise.
59930         * modules/fpending (Makefile.am): Likewise.
59931         * modules/fprintftime (Makefile.am): Likewise.
59932         * modules/free (Makefile.am): Likewise.
59933         * modules/fsusage (Makefile.am): Likewise.
59934         * modules/ftruncate (Makefile.am): Likewise.
59935         * modules/fts (Makefile.am): Likewise.
59936         * modules/gc (Makefile.am): Likewise.
59937         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
59938         * modules/getaddrinfo (Makefile.am): Likewise.
59939         * modules/getcwd (Makefile.am): Likewise.
59940         * modules/getdelim (Makefile.am): Likewise.
59941         * modules/getdomainname (Makefile.am): Likewise.
59942         * modules/getgroups (Makefile.am): Likewise.
59943         * modules/gethostname (Makefile.am): Likewise.
59944         * modules/gethrxtime (Makefile.am): Likewise.
59945         * modules/getline (Makefile.am): Likewise.
59946         * modules/getloadavg (Makefile.am): Likewise.
59947         * modules/getlogin_r (Makefile.am): Likewise.
59948         * modules/getopt (Makefile.am): Likewise.
59949         * modules/getpass (Makefile.am): Likewise.
59950         * modules/getpass-gnu (Makefile.am): Likewise.
59951         * modules/getsubopt (Makefile.am): Likewise.
59952         * modules/gettime (Makefile.am): Likewise.
59953         * modules/gettimeofday (Makefile.am): Likewise.
59954         * modules/getugroups (Makefile.am): Likewise.
59955         * modules/getusershell (Makefile.am): Likewise.
59956         * modules/glob (Makefile.am): Likewise.
59957         * modules/group-member (Makefile.am): Likewise.
59958         * modules/hard-locale (Makefile.am): Likewise.
59959         * modules/hash (Makefile.am): Likewise.
59960         * modules/hmac-md5 (Makefile.am): Likewise.
59961         * modules/hmac-sha1 (Makefile.am): Likewise.
59962         * modules/human (Makefile.am): Likewise.
59963         * modules/idcache (Makefile.am): Likewise.
59964         * modules/imaxabs (Makefile.am): Likewise.
59965         * modules/imaxdiv (Makefile.am): Likewise.
59966         * modules/inet_ntop (Makefile.am): Likewise.
59967         * modules/inet_pton (Makefile.am): Likewise.
59968         * modules/inttostr (Makefile.am): Likewise.
59969         * modules/isapipe (Makefile.am): Likewise.
59970         * modules/lchown (Makefile.am): Likewise.
59971         * modules/long-options (Makefile.am): Likewise.
59972         * modules/lstat (Makefile.am): Likewise.
59973         * modules/malloc (Makefile.am): Likewise.
59974         * modules/mathl (Makefile.am): Likewise.
59975         * modules/mbchar (Makefile.am): Likewise.
59976         * modules/md2 (Makefile.am): Likewise.
59977         * modules/md4 (Makefile.am): Likewise.
59978         * modules/md5 (Makefile.am): Likewise.
59979         * modules/memcasecmp (Makefile.am): Likewise.
59980         * modules/memchr (Makefile.am): Likewise.
59981         * modules/memcmp (Makefile.am): Likewise.
59982         * modules/memcoll (Makefile.am): Likewise.
59983         * modules/memcpy (Makefile.am): Likewise.
59984         * modules/memmem (Makefile.am): Likewise.
59985         * modules/memmove (Makefile.am): Likewise.
59986         * modules/mempcpy (Makefile.am): Likewise.
59987         * modules/memrchr (Makefile.am): Likewise.
59988         * modules/memset (Makefile.am): Likewise.
59989         * modules/memxor (Makefile.am): Likewise.
59990         * modules/mkancesdirs (Makefile.am): Likewise.
59991         * modules/mkdir (Makefile.am): Likewise.
59992         * modules/mkdir-p (Makefile.am): Likewise.
59993         * modules/mkdtemp (Makefile.am): Likewise.
59994         * modules/mkstemp (Makefile.am): Likewise.
59995         * modules/mktime (Makefile.am): Likewise.
59996         * modules/modechange (Makefile.am): Likewise.
59997         * modules/mountlist (Makefile.am): Likewise.
59998         * modules/nanosleep (Makefile.am): Likewise.
59999         * modules/openat (Makefile.am): Likewise.
60000         * modules/pagealign_alloc (Makefile.am): Likewise.
60001         * modules/physmem (Makefile.am): Likewise.
60002         * modules/poll (Makefile.am): Likewise.
60003         * modules/posixtm (Makefile.am): Likewise.
60004         * modules/posixver (Makefile.am): Likewise.
60005         * modules/putenv (Makefile.am): Likewise.
60006         * modules/quote (Makefile.am): Likewise.
60007         * modules/quotearg (Makefile.am): Likewise.
60008         * modules/raise (Makefile.am): Likewise.
60009         * modules/read-file (Makefile.am): Likewise.
60010         * modules/readline (Makefile.am): Likewise.
60011         * modules/readlink (Makefile.am): Likewise.
60012         * modules/readtokens (Makefile.am): Likewise.
60013         * modules/readutmp (Makefile.am): Likewise.
60014         * modules/realloc (Makefile.am): Likewise.
60015         * modules/regex (Makefile.am): Likewise.
60016         * modules/rename (Makefile.am): Likewise.
60017         * modules/rename-dest-slash (Makefile.am): Likewise.
60018         * modules/rijndael (Makefile.am): Likewise.
60019         * modules/rmdir (Makefile.am): Likewise.
60020         * modules/rpmatch (Makefile.am): Likewise.
60021         * modules/safe-read (Makefile.am): Likewise.
60022         * modules/safe-write (Makefile.am): Likewise.
60023         * modules/same (Makefile.am): Likewise.
60024         * modules/save-cwd (Makefile.am): Likewise.
60025         * modules/savedir (Makefile.am): Likewise.
60026         * modules/setenv (Makefile.am): Likewise.
60027         * modules/settime (Makefile.am): Likewise.
60028         * modules/sha1 (Makefile.am): Likewise.
60029         * modules/sig2str (Makefile.am): Likewise.
60030         * modules/snprintf (Makefile.am): Likewise.
60031         * modules/stdlib-safer (Makefile.am): Likewise.
60032         * modules/stpcpy (Makefile.am): Likewise.
60033         * modules/stpncpy (Makefile.am): Likewise.
60034         * modules/strcase (Makefile.am): Likewise.
60035         * modules/strcasestr (Makefile.am): Likewise.
60036         * modules/strchrnul (Makefile.am): Likewise.
60037         * modules/strcspn (Makefile.am): Likewise.
60038         * modules/strdup (Makefile.am): Likewise.
60039         * modules/strerror (Makefile.am): Likewise.
60040         * modules/strftime (Makefile.am): Likewise.
60041         * modules/strndup (Makefile.am): Likewise.
60042         * modules/strnlen (Makefile.am): Likewise.
60043         * modules/strpbrk (Makefile.am): Likewise.
60044         * modules/strsep (Makefile.am): Likewise.
60045         * modules/strstr (Makefile.am): Likewise.
60046         * modules/strtod (Makefile.am): Likewise.
60047         * modules/strtoimax (Makefile.am): Likewise.
60048         * modules/strtok_r (Makefile.am): Likewise.
60049         * modules/strtol (Makefile.am): Likewise.
60050         * modules/strtoll (Makefile.am): Likewise.
60051         * modules/strtoul (Makefile.am): Likewise.
60052         * modules/strtoull (Makefile.am): Likewise.
60053         * modules/strtoumax (Makefile.am): Likewise.
60054         * modules/strverscmp (Makefile.am): Likewise.
60055         * modules/time_r (Makefile.am): Likewise.
60056         * modules/timegm (Makefile.am): Likewise.
60057         * modules/tmpfile-safer (Makefile.am): Likewise.
60058         * modules/unistd-safer (Makefile.am): Likewise.
60059         * modules/unlinkdir (Makefile.am): Likewise.
60060         * modules/userspec (Makefile.am): Likewise.
60061         * modules/utime (Makefile.am): Likewise.
60062         * modules/utimecmp (Makefile.am): Likewise.
60063         * modules/utimens (Makefile.am): Likewise.
60064         * modules/vasnprintf (Makefile.am): Likewise.
60065         * modules/vasprintf (Makefile.am): Likewise.
60066         * modules/vsnprintf (Makefile.am): Likewise.
60067         * modules/xalloc (Makefile.am): Likewise.
60068         * modules/xgetcwd (Makefile.am): Likewise.
60069         * modules/xnanosleep (Makefile.am): Likewise.
60070         * modules/xreadlink (Makefile.am): Likewise.
60071         * modules/xstrtod (Makefile.am): Likewise.
60072         * modules/xstrtol (Makefile.am): Likewise.
60073         * modules/xstrtold (Makefile.am): Likewise.
60074         * modules/yesno (Makefile.am): Likewise.
60075
60076 2006-10-12  Jim Meyering  <jim@meyering.net>
60077
60078         * m4/getloadavg.m4: Revert the change below.
60079
60080         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
60081         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
60082         fail with a symlink, which is what coreutils' ./bootstrap now
60083         creates by default.
60084
60085 2006-10-12  Bruno Haible  <bruno@clisp.org>
60086
60087         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
60088         mingw.
60089         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
60090         MSVC and mingw explicitly.
60091
60092 2006-10-11  Simon Josefsson  <jas@extundo.com>
60093             Bruno Haible  <bruno@clisp.org>
60094
60095         Add support for multiple gnulib-tool invocations in the scope of a
60096         single configure.ac file.
60097         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
60098         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
60099         with the same contents as the _LIBADD variable.
60100         (func_emit_initmacro_start, func_emit_initmacro_end,
60101         func_emit_initmacro_done): New functions.
60102         (func_import, func_create_testdir): Invoke them. Allow the identifiers
60103         gl_LIBOBJS and gl_LTLIBOBJS.
60104
60105 2006-10-11  Bruno Haible  <bruno@clisp.org>
60106
60107         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
60108         (func_create_testdir): Don't create po/Makefile.am, don't invoke
60109         autoreconf. Instead, invoke autopoint explicitly but move back the
60110         *.m4 files from gnulib.
60111
60112 2006-10-11  Bruno Haible  <bruno@clisp.org>
60113
60114         * gnulib-tool (func_usage): Make module names after --create-testdir
60115         optional.
60116         (func_create_testdir): If no module was specified, use nearly all
60117         modules.
60118
60119 2006-10-12  Jim Meyering  <jim@meyering.net>
60120
60121         Big performance improvement for fts-based tools that use FTS_NOSTAT.
60122         Avoid spurious inode-mismatch problems on non-POSIX file systems.
60123         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
60124         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
60125         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
60126         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
60127         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
60128         (fts_set_stat_required): New function.
60129         (fts_open): Defer the calls to fts_stat, if possible or requested.
60130         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
60131         into fts_stat itself.
60132         (fts_read): Perform any required (deferred) fts_stat call.
60133         (fts_build): Likewise, for the directory we're about to open and read.
60134         In the readdir loop, carefully decide whether each entry will require
60135         an eventual call to fts_stat, using dirent.d_type info if available.
60136         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
60137         a command line argument into this function.  Update all callers.
60138         Map a return value of FTS_DOT to FTS_D for a command line argument.
60139         * modules/fts (Depends-on): Add d-type.  Alphabetize.
60140         Thanks to Miklos Szeredi for his tenacity and for the initial
60141         bug report about "find" failing on a FUSE-based file system.
60142
60143         * lib/fts.c (fts_open): Use consistent indentation.
60144
60145 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60146
60147         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
60148         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
60149         reported by Jim Meyering.  All uses of cache variables renamed
60150         to match Autoconf's.
60151         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
60152         the other one.
60153
60154         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
60155         Fix misspelling in diagnostic.
60156
60157 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60158
60159         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
60160         defined.  Problem reported by Matthew Woehlke.
60161
60162         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
60163         Add support for Tandem NonStop R series.
60164         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
60165         Use new macro.
60166
60167         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
60168         (has_trailing_slash): Omit size arg; all callers changed.
60169         Omit 'inline', since it doesn't help performance and we'd
60170         need to configure it.
60171         Don't count //, ///, etc. as having a trailing slash.
60172         As a side effect, this removes a C99ism reported by Matthew Woehlke.
60173         (rpl_rename_dest_slash): On failure, use rename's errno rather
60174         than (in some cases) an incorrect or junk errno.
60175         Simplify code by removing need to compute length; this does
60176         cause it to make two passes instead of one over the file name,
60177         but it's worth it.
60178
60179         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
60180         change, since Autoconf's version may no longer be appropriate now
60181         that we are using CVS Autoconf's version.  Add support for Tandem.
60182
60183 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60184             Bruno Haible  <bruno@clisp.org>
60185
60186         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
60187         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
60188         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
60189         gl_AC_TYPE_LONG_LONG.
60190
60191         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
60192         instead of HAVE_LONG_LONG.
60193         * lib/printf-args.c (printf_fetchargs): Likewise.
60194         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
60195         * lib/vasnprintf.c (VASNPRINTF): Likewise.
60196         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
60197         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
60198         gl_AC_TYPE_LONG_LONG.
60199
60200 2006-10-11  Bruno Haible  <bruno@clisp.org>
60201
60202         * m4/longlong.m4: Add comments.
60203         * m4/ulonglong.m4: Likewise.
60204
60205 2006-10-10  Bruno Haible  <bruno@clisp.org>
60206
60207         Make it possible to #define stpcpy, strdup to aliases.
60208         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
60209         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
60210
60211 2006-10-10  Bruno Haible  <bruno@clisp.org>
60212
60213         Make it possible to #define gcd to an alias.
60214         * lib/gcd.c: Include config.h.
60215
60216 2006-10-10  Bruno Haible  <bruno@clisp.org>
60217
60218         Make it possible to #define c_isascii to an alias.
60219         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
60220         defined. Undefine the macros before defining them, to avoid gcc
60221         warnings.
60222         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
60223         define NO_C_CTYPE_MACROS early.
60224
60225 2006-10-10  Bruno Haible  <bruno@clisp.org>
60226
60227         Make it possible to #define set_program_name to an alias.
60228         * lib/progname.c: Don't undefine set_program_name; instead, undefine
60229         ENABLE_RELOCATABLE early.
60230
60231 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60232
60233         Port to Tandem NSK OSS, which has 64-bit signed int but at most
60234         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
60235         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
60236         More generally, don't assume that 64-bit signed int is available
60237         if unsigned int is, and vice versa.
60238         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
60239         unsigned symbols, not on their signed counterparts.
60240         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
60241         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
60242         (UINT64_C, UINTMAX_C):
60243         Likewise.
60244         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
60245         unsigned counterparts.
60246         (Have_long_long, Unsigned): New macros.
60247         (Int): Renamed from INT.
60248         (strtoimax): Use the new macros.
60249         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
60250         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
60251         * modules/inttypes (inttypes.h): Substitute
60252         HAVE_UNSIGNED_LONG_LONG_INT.
60253         * modules/stdint (stdint.h): Likewise.
60254         (Files): Add m4/ulonglong.m4.
60255
60256 2006-10-10  Bruno Haible  <bruno@clisp.org>
60257
60258         Fix a gcc -Wshadow warning.
60259         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
60260         to 'bucket'.
60261         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
60262         gl_linked_indexof_from_to): Likewise.
60263         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
60264         Likewise.
60265         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
60266         Likewise.
60267         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
60268         Reported by Eric Blake.
60269
60270 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
60271
60272         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
60273         for NetBSD.  Problem reported by Bruno Haible.
60274
60275 2006-10-09  Jim Meyering  <jim@meyering.net>
60276
60277         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
60278         Patch from Bruno Haible.
60279
60280 2006-10-09  Jim Meyering  <jim@meyering.net>
60281
60282         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
60283         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
60284         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
60285
60286 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
60287
60288         Don't include <config.h> twice; this doesn't work in some cases,
60289         e.g., when config.h has "#define intmax_t long long int" and
60290         we include <config.h>, <inttypes.h>, <config.h> in that order.
60291         Problem reported by Matthew Woehlke in:
60292         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
60293         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
60294         * lib/fts-cycle.c: Don't include config.h.
60295         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
60296         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
60297         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
60298         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
60299         inttypes.h.
60300         * lib/xstrtoumax.c: Likewise.
60301         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
60302         __strtol and the like, so that this module is more like its siblings.
60303         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
60304         Remove; no longer needed now that we assume gnulib inttypes.h.
60305
60306 2006-10-08  Bruno Haible  <bruno@clisp.org>
60307
60308         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
60309         option.
60310
60311 2006-10-07  Jim Meyering  <jim@meyering.net>
60312
60313         * modules/inttypes (inttypes.h): Revert what seems to have been
60314         an inadvertent part of today's change: use "|", not "/" in the
60315         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
60316
60317 2006-10-07  Bruno Haible  <bruno@clisp.org>
60318
60319         * modules/sublist: New file.
60320
60321 2006-10-07  Bruno Haible  <bruno@clisp.org>
60322
60323         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
60324         * modules/argz (argz.h): Likewise.
60325         * modules/arpa_inet (arpa/inet.h): Likewise.
60326         * modules/byteswap (byteswap.h): Likewise.
60327         * modules/configmake (configmake.h): Likewise.
60328         * modules/fcntl (fcntl.h): Likewise.
60329         * modules/fnmatch (fnmatch.h): Likewise.
60330         * modules/getopt (getopt.h): Likewise.
60331         * modules/glob (glob.h): Likewise.
60332         * modules/inttypes (inttypes.h): Likewise.
60333         * modules/netinet_in (netinet/in.h): Likewise.
60334         * modules/poll (poll.h): Likewise.
60335         * modules/stdbool (stdbool.h): Likewise.
60336         * modules/stdint (stdint.h): Likewise.
60337         * modules/sys_select (sys/select.h): Likewise.
60338         * modules/sys_socket (sys/socket.h): Likewise.
60339         * modules/sys_stat (sys/stat.h): Likewise.
60340         * modules/sysexits (sysexits.h): Likewise.
60341         * modules/unistd (unistd.h): Likewise.
60342         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60343         Add a "DO NOT EDIT" comment to the generated file.
60344         (func_import): Likewise for gnulib-comp.m4.
60345
60346 2006-10-07  Bruno Haible  <bruno@clisp.org>
60347
60348         * lib/gl_sublist.h: New file.
60349         * lib/gl_sublist.c: New file.
60350
60351 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60352
60353         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
60354         name (relative to the original working directory) and the file
60355         name component (relative to the temporary working directory).  All
60356         callers changed.
60357         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
60358         * lib/mkdir-p.c (make_dir_parents): Likewise.
60359         * lib/mkdir-p.h (make_dir_parents): Likewise.
60360
60361 2006-10-06  Eric Blake  <ebb9@byu.net>
60362
60363         Define several macros for use by the clean-temp module.
60364         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
60365         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
60366         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
60367
60368         * lib/clean-temp.h (close_stream_temp): New declaration.
60369         * lib/clean-temp.c (includes): Pull in headers according to what
60370         other modules are in use.
60371         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
60372
60373 2006-10-06  Bruno Haible  <bruno@clisp.org>
60374
60375         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
60376         instead of fopen, fwriteerror.
60377
60378 2006-10-06  Bruno Haible  <bruno@clisp.org>
60379
60380         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
60381         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
60382         int.
60383         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
60384         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
60385         Return an error indicator.
60386         Suggested by Eric Blake.
60387
60388 2006-10-06  Bruno Haible  <bruno@clisp.org>
60389
60390         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
60391         Reported by Eric Blake.
60392
60393 2006-10-06  Bruno Haible  <bruno@clisp.org>
60394
60395         * modules/closeout (Description): Mention stderr too.
60396
60397 2006-10-06  Bruno Haible  <bruno@clisp.org>
60398         and Paul Eggert  <eggert@cs.ucla.edu>
60399
60400         * lib/closeout.c (close_stdout): Also close stderr.
60401         * lib/closeout.h: Update comment.
60402
60403 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
60404
60405         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
60406         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
60407         * lib/dirchownmod.c: Include lchown.h.
60408         * lib/lchown.c: Don't include files that lchown.h now includes.
60409         Don't declare chown, since lchown.h now does that.
60410         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
60411         (lchown): Define to rpl_chown if lchown is declared but
60412         does not exist.  Declare using a prototype if lchown is not
60413         declared.  Add a copyright notice.
60414         * lib/mkstemp.h: Include <unistd.h>.
60415         * lib/openat.c: Include lchown.h.
60416
60417         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
60418         we now test for that separately.
60419         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
60420         rather than O_NOFOLLOW, when testing whether it's possible to
60421         avoid a race condition reliably.
60422         * lib/savewd.c (savewd_chdir): Likewise.
60423
60424         Remove macros that are no longer needed now that stdint.h is
60425         reliable.
60426         * lib/fsusage.c (UINTMAX_MAX): Remove.
60427         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
60428         * lib/utimecmp.c (SIZE_MAX): Remove.
60429
60430         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
60431
60432         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
60433         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
60434         O_NOATIME works.
60435
60436 2006-10-05  Bruno Haible  <bruno@clisp.org>
60437
60438         * lib/gl_list.h (gl_sortedlist_search_from_to,
60439         gl_sortedlist_indexof_from_to): New declarations.
60440         (gl_list_implementation): New fields sortedlist_search_from_to,
60441         sortedlist_indexof_from_to.
60442         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
60443         inline functions.
60444         * lib/gl_list.c (gl_sortedlist_search_from_to,
60445         gl_sortedlist_indexof_from_to): New functions.
60446         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
60447         function.
60448         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
60449         (gl_array_sortedlist_search_from_to): New function.
60450         (gl_array_list_implementation): Update.
60451         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
60452         function.
60453         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
60454         (gl_carray_sortedlist_search_from_to): New function.
60455         (gl_carray_list_implementation): Update.
60456         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
60457         gl_linked_sortedlist_indexof_from_to): New functions.
60458         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60459         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60460         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
60461         gl_tree_sortedlist_indexof_from_to): New functions.
60462         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60463         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60464         Update.
60465         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60466         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
60467         Update.
60468
60469 2006-10-05  Bruno Haible  <bruno@clisp.org>
60470
60471         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
60472         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
60473         (struct gl_list_implementation): Add fields search_from_to,
60474         indexof_from_to. Remove fields search, indexof.
60475         (gl_list_search): Use the search_from_to method.
60476         (gl_list_search_from, gl_list_search_from_to): New functions.
60477         (gl_list_indexof): Use the indexof_from_to method.
60478         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
60479         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
60480         (gl_list_search_from, gl_list_search_from_to): New functions.
60481         (gl_list_indexof): Use the indexof_from_to method.
60482         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
60483         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
60484         gl_array_indexof. Add start_index, end_index arguments.
60485         (gl_array_search_from_to): Renamed from gl_array_search. Add
60486         start_index, end_index arguments.
60487         (gl_array_remove, gl_array_list_implementation): Update.
60488         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
60489         gl_carray_indexof. Add start_index, end_index arguments.
60490         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
60491         start_index, end_index arguments.
60492         (gl_carray_remove, gl_carray_list_implementation): Update.
60493         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
60494         gl_linked_search. Add start_index, end_index arguments.
60495         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
60496         start_index, end_index arguments.
60497         (gl_linked_remove): Update.
60498         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60499         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60500         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
60501         field to 'size_t'.
60502         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
60503         gl_tree_search. Add start_index, end_index arguments.
60504         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
60505         start_index, end_index arguments.
60506         (gl_tree_remove): Update.
60507         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60508         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60509         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
60510         function.
60511         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
60512         gl_tree_search. Add start_index, end_index arguments.
60513         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
60514         start_index, end_index arguments.
60515         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60516         Update.
60517         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
60518
60519 2006-10-05  Bruno Haible  <bruno@clisp.org>
60520
60521         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
60522
60523         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
60524         fwriteerror_temp): New declarations.
60525         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
60526         (descriptors): New variable.
60527         (cleanup): First, close the descriptors.
60528         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
60529         fclose_temp, fwriteerror_temp): New functions.
60530
60531 2006-10-04  Jim Meyering  <jim@meyering.net>
60532
60533         * lib/fts.c (fts_open): Tiny comment change.
60534
60535 2006-10-04  Bruno Haible  <bruno@clisp.org>
60536
60537         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
60538         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
60539         gl_LOCK_BODY.
60540         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
60541         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
60542         gl_LOCK_EARLY_BODY.
60543         (gl_LOCK): Require gl_LOCK_BODY.
60544
60545 2006-10-04  Bruno Haible  <bruno@clisp.org>
60546
60547         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
60548         (gl_oset_search_atleast): New declaration.
60549         (struct gl_oset_implementation): Add field 'search_atleast'.
60550         (gl_oset_search_atleast): New inline function.
60551         * lib/gl_oset.c (gl_oset_search_atleast): New function.
60552         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
60553         (gl_array_oset_implementation): Update.
60554         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
60555         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
60556         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
60557
60558 2006-10-04  Bruno Haible  <bruno@clisp.org>
60559
60560         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
60561
60562 2006-10-03  Bruno Haible  <bruno@clisp.org>
60563
60564         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
60565         from gl_avltreehash_list_implementation.
60566
60567 2006-10-03  Bruno Haible  <bruno@clisp.org>
60568
60569         * lib/gl_oset.c (gl_oset_add): Fix return type.
60570
60571 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
60572
60573         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
60574
60575 2006-10-02  Eric Blake  <ebb9@byu.net>
60576
60577         * modules/strnlen (Depends-on): Add extensions.
60578
60579 2006-10-02  Eric Blake  <ebb9@byu.net>
60580
60581         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
60582         definition in 2.60+.
60583
60584 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
60585
60586         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
60587         checks.
60588
60589 2006-10-02  Bruno Haible  <bruno@clisp.org>
60590
60591         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
60592         to the AUTOMAKE_OPTIONS.
60593         Reported by Jim Meyering.
60594
60595 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
60596
60597         Work around bug in Solaris 10 /proc file system:
60598         /proc/self/fd/NNN/.. isn't the parent directory of
60599         the directory whose file descriptor is NNN.  This needs to
60600         be worked around at run time, not compile time, since a
60601         program might be built on Solaris 8, where things work, and
60602         run on Solaris 10.
60603         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
60604         to use the following interface instead:
60605         (OPENAT_BUFFER_SIZE): New macro.
60606         (openat_proc_name): New function.
60607         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
60608         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
60609         Likewise.
60610         * lib/openat-proc.c: New file.
60611         * modules/openat (Files): Add lib/openat-proc.c.
60612         (Depends-on): Add same-inode, stdbool.
60613         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
60614
60615 2006-09-29  Bruno Haible  <bruno@clisp.org>
60616
60617         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
60618         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
60619         argument. Set stdout_closed before testing for ferror, not after.
60620         (fwriteerror, fwriteerror_no_ebadf): New functions.
60621
60622 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60623
60624         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
60625
60626 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
60627
60628         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
60629         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
60630
60631 2006-09-28  Jim Meyering  <jim@meyering.net>
60632
60633         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
60634         Include <unistd.h>.
60635
60636 2006-09-28  Bruno Haible  <bruno@clisp.org>
60637
60638         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
60639         * modules/linkedhash-list (Depends-on): Likewise.
60640         * modules/rbtreehash-list (Depends-on): Likewise.
60641
60642 2006-09-28  Bruno Haible  <bruno@clisp.org>
60643
60644         * lib/strndup.h: Simplify the redefinition of strndup.
60645         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
60646         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
60647
60648 2006-09-28  Bruno Haible  <bruno@clisp.org>
60649
60650         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
60651         * lib/gl_linkedhash_list.c: Likewise.
60652         * lib/gl_rbtreehash_list.c: Likewise.
60653
60654 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
60655
60656         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
60657         getaddrinfo.
60658
60659         * lib/__fpending.h: Don't include <stdio_ext.h> unless
60660         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
60661         it causes <stdio_ext.h> to cause a compile-time error.
60662         Problem reported by Nelson H. F. Beebe.
60663         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
60664         of HAVE_DECL___PENDING.
60665
60666         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
60667         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
60668         declaration.
60669
60670 2006-09-27  Jim Meyering  <jim@meyering.net>
60671
60672         This file could end up with a definition for a function
60673         named __strndup, rather than rpl_strndup on a system with
60674         incomplete weak_alias support.
60675         * lib/strndup.c (strndup): Rename from __strndup.
60676         Remove #defines that used to map __strndup to strndup.
60677         Don't use K&R prototypes.
60678         Remove LIBC-related code, since this file is not sync'd with glibc.
60679         * lib/strndup.h: Revamp, accordingly.
60680         * m4/strndup.m4: Modernize.
60681
60682 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
60683
60684         * modules/savewd (Depends-on): Add 'raise'.
60685         * lib/savewd.c: Include <signal.h>, for 'raise'.
60686
60687 2006-09-26  Jim Meyering  <jim@meyering.net>
60688
60689         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
60690         when we detect Darwin 8.7.0's acl_get_file bug.
60691         Rearrange to perform the new (below) run-test while $LIBS
60692         contains any acl-related library.  Set USE_ACL at the end.
60693         (gl_ACL_GET_FILE): New function.
60694
60695 2006-09-26  Eric Blake  <ebb9@byu.net>
60696
60697         * lib/verror.c: Include <config.h> unconditionally.
60698
60699 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
60700
60701         * modules/clock-time (Maintainer): Add self.
60702         * modules/getlogin_r (Depends-on): Add extensions.
60703
60704 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60705
60706         * modules/clock-time: New module.
60707         * modules/nanosleep (Depends-on): Add clock-time.
60708         * modules/gethrxtime (Depends-on): Likewise.
60709         * modules/gettime (Depends-on): Likewise.
60710         * modules/settime (Depends-on): Likewise.
60711
60712         * modules/fts-lgpl: Depend on openat.
60713         * modules/mkancesdirs: Depend on savewd.
60714         * modules/mkdir-p: Likewise.
60715
60716 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60717
60718         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
60719
60720         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
60721         `gl_have_arbitrary_file_name_length_limit' to
60722         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
60723         actually works between configure runs.
60724
60725 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60726             Bruno Haible  <bruno@clisp.org>
60727
60728         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
60729
60730 2006-09-25  Jim Meyering  <jim@meyering.net>
60731
60732         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
60733         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
60734
60735 2006-09-25  Eric Blake  <ebb9@byu.net>
60736
60737         * gnulib-tool (func_import, func_create_testdir): Fix typos in
60738         exec's in 2006-09-18 patch when shuffling fds.
60739
60740 2006-09-25  Bruno Haible  <bruno@clisp.org>
60741
60742         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
60743         Reported by Jim Meyering.
60744
60745 2006-09-24  Jim Meyering  <jim@meyering.net>
60746
60747         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
60748         compare a pointer against a literal "0".  That caused failures with
60749         at least HP-UX's hpcc.
60750
60751 2006-09-22  Simon Josefsson  <jas@extundo.com>
60752
60753         * modules/gc-sha1:
60754         * modules/gc-md4:
60755         * modules/gc-hmac-sha1:
60756         * modules/gc-hmac-md5:
60757         * modules/gc-des:
60758         * modules/gc-arcfour: Distribute more files.
60759
60760 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60761
60762         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
60763         (gl_linked_iterator_from_to): Initialize struct completely.
60764         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
60765         (gl_tree_iterator_from_to): Likewise
60766         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
60767         * lib/gl_array_list.c [lint] (gl_array_iterator)
60768         (gl_array_iterator_from_to): Likewise.
60769         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
60770         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
60771         (gl_carray_iterator_from_to): Likewise.
60772
60773         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
60774         * lib/md4.c (md4_process_block): Remove unused variable.
60775         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
60776         parentheses for clarity.
60777
60778 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60779
60780         * modules/bison-i18n (Depends-on): Add gettext.
60781
60782 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60783
60784         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
60785         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
60786         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
60787         also add missing comma that caused broken test.
60788         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
60789         stdlib.h, for `abort'.
60790         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
60791         variables.
60792         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
60793         include unistd.h if present, for `rmdir'.
60794         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
60795         variables.
60796         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
60797         in the process include standard headers for prototypes.
60798         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
60799         gets declared on GNU/Linux.
60800         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
60801         unistd.h, for `rmdir'.
60802         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
60803
60804         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
60805         always true.
60806         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
60807
60808         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
60809
60810 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60811
60812         * gnulib-tool (func_version): Create output all at once.  This
60813         may help avoid triggering unnecessary SIGPIPEs, and at any
60814         rate it doesn't hurt.
60815
60816 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60817             Bruno Haible  <bruno@clisp.org>
60818
60819         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
60820         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60821         * m4/signed.m4 (bh_C_SIGNED): Likewise.
60822
60823         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
60824         (gl_FUNC_VASPRINTF): Invoke it.
60825
60826 2006-09-22  Bruno Haible  <bruno@clisp.org>
60827
60828         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
60829         getloadavg.c as first argument.
60830
60831 2006-09-22  Bruno Haible  <bruno@clisp.org>
60832
60833         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
60834         at the beginning of the gl_INIT macro.
60835         * modules/getloadavg (configure.ac): Pass $gl_source_base to
60836         gl_GETLOADAVG.
60837
60838 2006-09-22  Bruno Haible  <bruno@clisp.org>
60839
60840         * gnulib-tool (func_create_megatestdir): Don't include the config-h
60841         module.
60842         Suggested by Ralf Wildenhues.
60843
60844 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60845
60846         Import this patch from libc:
60847
60848         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
60849
60850         * lib/regex_internal.c (re_string_reconstruct): Handle
60851         offset < pstr->valid_raw_len && pstr->offsets_needed case.
60852         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
60853         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
60854         re_string_context_at.
60855
60856         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
60857         now requires it.
60858         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
60859         gl_REGEX now does it for us.
60860         (gl_REGEX): Add test taken from
60861         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
60862
60863         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
60864         Check that large offsets work.  Modernize Autoconf usages.
60865         Prefer "yes" to mean a good thing rather than a bad.
60866         Don't put "#define mkstemp" in config.h, as this might interfere
60867         with standard system headers that "#define mkstemp mkstemp64".
60868
60869         * modules/mkstemp (Depends-on): Add extensions, so that
60870         mkstemp is visible on some platforms.
60871         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
60872         (Include): Change to "mkstemp.h" from <stdlib.h>.
60873         (Files): Add mkstemp.h.
60874
60875         * lib/mkstemp.h: New file, since some standard headers
60876         #define mkstemp.
60877         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
60878         Include "mkstemp.h".
60879         Make the _LIBC code resemble glibc original more,
60880         e.g., use K&R style.
60881         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
60882         (mkstemp): Remove, since mkstemp.h does this for us.
60883         * lib/stdlib--.h: Include mkstemp.h.
60884
60885         Import this patch from libc:
60886
60887         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
60888
60889         * lib/tempname.c (__gen_tempname): Change attempts_min
60890         into a macro.  Use preprocessor to decide how to initialize
60891         attempts [Coverity CID 67].
60892
60893 2006-09-20  Bruno Haible  <bruno@clisp.org>
60894
60895         * lib/mkdtemp.c: Import from libc.
60896         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
60897                 * sysdeps/posix/tempname.c (__gen_tempname): Change
60898                 attempts_min into a macro.  Use preprocessor to decide how to
60899                 initialize attempts [Coverity CID 67].
60900         2001-11-27  Paul Eggert  <eggert@twinsun.com>
60901                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
60902                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
60903
60904 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60905
60906         * gnulib-tool (func_exit): New function, to allow to pass the
60907         exit status portably through the trap.  Use everywhere.
60908         (--help, --version): Signal a write error.
60909         (trap): catch SIGPIPE, for write errors.
60910         Exit at the end of the trap, with the correct exit status.
60911
60912 2006-09-19  Karl Berry  <karl@gnu.org>
60913
60914         * doc/gnulib.texi: note about the license texinfo files.
60915
60916 2006-09-19  Eric Blake  <ebb9@byu.net>
60917
60918         * gnulib-tool: Avoid space-tab.
60919
60920 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
60921
60922         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
60923         that prevented coreutils 6.1 from building.  Problem reported
60924         by Petter Reinholdtsen.
60925
60926 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
60927
60928         * gnulib-tool (avoidlist): Fix typo that broke options like
60929         --avoid=lock that are used by coreutils bootstrap.
60930
60931 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
60932
60933         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
60934         more systematically.
60935
60936 2006-09-18  Jim Meyering  <jim@meyering.net>
60937
60938         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
60939
60940 2006-09-18  Bruno Haible  <bruno@clisp.org>
60941
60942         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
60943
60944 2006-09-18  Bruno Haible  <bruno@clisp.org>
60945
60946         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
60947         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
60948         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
60949         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
60950         * m4/gettext.m4: Require autoconf >= 2.52.
60951         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
60952         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
60953         of gl_cv_header_inttypes_h.
60954
60955 2006-09-18  Bruno Haible  <bruno@clisp.org>
60956
60957         * lib/javaversion.c: Include configmake.h.
60958
60959 2006-09-18  Bruno Haible  <bruno@clisp.org>
60960
60961         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
60962         avoid that the while loops be executed in a subshell.
60963
60964 2006-09-18  Bruno Haible  <bruno@clisp.org>
60965
60966         * MODULES.html.sh (func_module): Break long lines.
60967         Suggested by Bruce Korb <bkorb@gnu.org>.
60968
60969 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60970
60971         Speed up by a factor of 1.12.
60972         * gnulib-tool (nl): New variable.
60973         (func_import): Rewrite include directive extraction to only read each
60974         directive once.
60975
60976 2006-09-17  Bruno Haible  <bruno@clisp.org>
60977
60978         * modules/javaversion (Makefile.am): Remove DEFS setting.
60979         (Depends-on): Add configmake, for PKGDATADIR definition.
60980
60981 2006-09-17  Bruno Haible  <bruno@clisp.org>
60982
60983         * gnulib-tool (func_create_testdir): Rewrite all files at once.
60984
60985 2006-09-17  Bruno Haible  <bruno@clisp.org>
60986
60987         * gnulib-tool (func_append): New function, stolen from libtool.m4.
60988         (func_modules_transitive_closure, func_modules_add_dummy,
60989         func_modules_to_filelist, func_import, func_create_testdir,
60990         func_create_megatestdir, ...): Use it wherever possible.
60991         Suggested by Ralf Wildenhues.
60992
60993 2006-09-16  Karl Berry  <karl@gnu.org>
60994
60995         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
60996         to avoid sectioning errors.
60997         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
60998         [ifinfo]: blank line after @center-ed titles.
60999         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
61000         Spell FSF address consistently with others.
61001         (These changes approved by rms.)
61002
61003 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61004
61005         Speed up by a factor of 1.61.
61006         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
61007         already checked module names again.
61008
61009 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61010
61011         Speed up by a factor of 1.13.
61012         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
61013         for new_files, and the input to func_add_or_update.
61014
61015 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61016
61017         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
61018         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
61019
61020 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61021
61022         * modules/mkancesdirs (Depends-on): Add fcntl.
61023         * modules/savewd: New file.
61024         * MODULES.html.sh (File system functions): Add savewd.
61025
61026         * modules/configmake (Makefile.am): Add support for the
61027         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
61028
61029 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61030
61031         * m4/savewd.m4: New file.
61032
61033 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61034
61035         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
61036         (dirchownmod): New arg FD.  All callers changed.
61037         Use FD rather than opening the directory ourself, as opening is
61038         now the caller's responsibility.
61039         * lib/dirchownmod.h: Likewise.
61040         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
61041         hosts that require <sys/types.h> before <sys/stat.h>.  Include
61042         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
61043         (test_dir): Remove.
61044         (mkancesdirs): Return length of prefix of FILE that has already
61045         been made, or -2 if there is a child doing the work.  Redo
61046         algorithm so that it is O(N) rather than O(N**2).  Optimize away
61047         ".", and treat ".." specially since it might stray back into
61048         already-created areas.  Use a subprocess if necessary.  New arg
61049         WD; all users changed.  MAKE_DIR function should now return 1
61050         if it creates a directory that is not readable.  Return -2 if
61051         a child process is spun off.
61052         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
61053         Adjust signature to match code.
61054         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
61055         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
61056         all users changed.
61057         * lib/savewd.c, lib/savewd.h: New files.
61058
61059 2006-09-15  Jim Meyering  <jim@meyering.net>
61060
61061         * modules/rename-dest-slash: New module.
61062         * MODULES.html.sh (posix_compat): Add it here.
61063
61064         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
61065
61066 2006-09-15  Jim Meyering  <jim@meyering.net>
61067
61068         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
61069         file.
61070
61071         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
61072
61073 2006-09-15  Jim Meyering  <jim@meyering.net>
61074
61075         * lib/rename-dest-slash.c (has_trailing_slash): Use
61076         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
61077         (rpl_rename_dest_slash): Perform the cheaper trailing slash
61078         test before testing whether SRC is a directory.
61079         Suggestions from Bruno Haible.
61080
61081         Avoid a warning about an unused variable.
61082         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
61083         into the #ifdef block where it's used.
61084
61085         * lib/rename-dest-slash.c: New file.
61086
61087 2006-09-14  Bruno Haible  <bruno@clisp.org>
61088
61089         * lib/allocsa.c: Include <config.h> unconditionally.
61090         * lib/asnprintf.c: Likewise.
61091         * lib/asprintf.c: Likewise.
61092         * lib/c-strcasecmp.c: Likewise.
61093         * lib/c-strcasestr.c: Likewise.
61094         * lib/c-strncasecmp.c: Likewise.
61095         * lib/c-strstr.c: Likewise.
61096         * lib/classpath.c: Likewise.
61097         * lib/clean-temp.c: Likewise.
61098         * lib/concatpath.c: Likewise.
61099         * lib/copy-file.c: Likewise.
61100         * lib/csharpcomp.c: Likewise.
61101         * lib/csharpexec.c: Likewise.
61102         * lib/execute.c: Likewise.
61103         * lib/fatal-signal.c: Likewise.
61104         * lib/findprog.c: Likewise.
61105         * lib/fwriteerror.c: Likewise.
61106         * lib/gl_array_list.c: Likewise.
61107         * lib/gl_array_oset.c: Likewise.
61108         * lib/gl_avltree_list.c: Likewise.
61109         * lib/gl_avltree_oset.c: Likewise.
61110         * lib/gl_avltreehash_list.c: Likewise.
61111         * lib/gl_carray_list.c: Likewise.
61112         * lib/gl_linked_list.c: Likewise.
61113         * lib/gl_linkedhash_list.c: Likewise.
61114         * lib/gl_list.c: Likewise.
61115         * lib/gl_oset.c: Likewise.
61116         * lib/gl_rbtree_list.c: Likewise.
61117         * lib/gl_rbtree_oset.c: Likewise.
61118         * lib/gl_rbtreehash_list.c: Likewise.
61119         * lib/imaxabs.c: Likewise.
61120         * lib/imaxdiv.c: Likewise.
61121         * lib/javacomp.c: Likewise.
61122         * lib/javaexec.c: Likewise.
61123         * lib/javaversion.c: Likewise.
61124         * lib/linebreak.c: Likewise.
61125         * lib/localcharset.c: Likewise.
61126         * lib/lock.c: Likewise.
61127         * lib/mbchar.c: Likewise.
61128         * lib/mbswidth.c: Likewise.
61129         * lib/mkdtemp.c: Likewise.
61130         * lib/pipe.c: Likewise.
61131         * lib/printf-args.c: Likewise.
61132         * lib/printf-parse.c: Likewise.
61133         * lib/progname.c: Likewise.
61134         * lib/progreloc.c: Likewise.
61135         * lib/readlink.c: Likewise.
61136         * lib/sh-quote.c: Likewise.
61137         * lib/stpcpy.c: Likewise.
61138         * lib/stpncpy.c: Likewise.
61139         * lib/strcasecmp.c: Likewise.
61140         * lib/strcasestr.c: Likewise.
61141         * lib/strcspn.c: Likewise.
61142         * lib/striconv.c: Likewise.
61143         * lib/strncasecmp.c: Likewise.
61144         * lib/strnlen1.c: Likewise.
61145         * lib/strstr.c: Likewise.
61146         * lib/strtok_r.c: Likewise.
61147         * lib/tls.c: Likewise.
61148         * lib/tmpdir.c: Likewise.
61149         * lib/unicodeio.c: Likewise.
61150         * lib/unsetenv.c: Likewise.
61151         * lib/vasnprintf.c: Likewise.
61152         * lib/vasprintf.c: Likewise.
61153         * lib/wait-process.c: Likewise.
61154         * lib/xallocsa.c: Likewise.
61155         * lib/xsetenv.c: Likewise.
61156         * lib/xstriconv.c: Likewise.
61157
61158 2006-09-13  Simon Josefsson  <jas@extundo.com>
61159
61160         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
61161         that internally, suggested by Ralf Wildenhues
61162         <Ralf.Wildenhues@gmx.de>.
61163
61164 2006-09-13  Simon Josefsson  <jas@extundo.com>
61165
61166         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
61167         @LIBOBJS@.
61168         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61169
61170 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
61171
61172         * lib/_fpending.c: Include <config.h> unconditionally, since we no
61173         longer worry about uses that don't define HAVE_CONFIG_H.
61174         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
61175         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
61176         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
61177         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
61178         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
61179         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
61180         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
61181         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
61182         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
61183         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
61184         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
61185         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
61186         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
61187         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
61188         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
61189         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
61190         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
61191         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
61192         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
61193         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
61194         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
61195         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
61196         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
61197         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
61198         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
61199         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
61200         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
61201         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
61202         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
61203         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
61204         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
61205         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
61206         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
61207         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
61208         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
61209         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
61210         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
61211         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
61212         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
61213         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
61214         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
61215         Likewise.
61216
61217 2006-09-13  Eric Blake  <ebb9@byu.net>
61218
61219         * lib/getopt.c: Fix typo in last commit.
61220
61221 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61222
61223         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
61224         dgettext.
61225
61226 2006-09-12  Jim Meyering  <jim@meyering.net>
61227
61228         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
61229         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
61230         Reported by Nelson H. F. Beebe.
61231
61232 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61233
61234         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
61235         program_invocation_name and program_invocation_short_name are
61236         initialized.
61237         * lib/argp-namefrob.h: Move declarations of program_invocation_name
61238         and program_invocation_short_name to argp.h, so they are visible
61239         to user programs.
61240         * lib/argp.h: Likewise
61241
61242 2006-09-10  Bruno Haible  <bruno@clisp.org>
61243
61244         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
61245         m4/inttypes_h.m4, m4/uintmax_t.m4.
61246
61247 2006-09-10  Bruno Haible  <bruno@clisp.org>
61248
61249         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
61250         gl_AC_TYPE_UINTMAX_T.
61251
61252 2006-09-10  Bruno Haible  <bruno@clisp.org>
61253
61254         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
61255
61256 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61257
61258         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
61259         convention.  Text proposed by Bruno Haible.
61260         (struct argp_option): Document the use of N_() wrappers.
61261
61262         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
61263         '\v', and translate the two parts separately, instead of feeding
61264         the whole string to gettext.  This allows to exclude
61265         '\v' from the strings visible to the translator by writing doc
61266         strings as N_("..") "\v" N_("..").
61267
61268 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
61269
61270         * config/srclist.txt: Undo latest change; the bug was fixed.
61271
61272 2006-09-09  Bruno Haible  <bruno@clisp.org>
61273
61274         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
61275         assignments if building a library without libtool.
61276         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
61277         in func_emit_lib_Makefile_am.
61278         (func_import): When building a static library libfoo.a, arrange to
61279         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
61280         (func_create_testdir): Likewise.
61281         * modules/gc (configure.ac, Makefile.am): If building statically,
61282         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
61283         * modules/iconvme (configure.ac, Makefile.am): Likewise.
61284         * modules/striconv (configure.ac, Makefile.am): Likewise.
61285         Based on a suggestion by Ralf Wildenhues.
61286
61287 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61288
61289         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
61290         Check for unistd.h too, since Autoconf doesn't assume POSIX.
61291         Also:
61292
61293         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61294         Add year_2050_test to catch glibc bug 2821
61295         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
61296
61297         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61298         Prefer #ifdef to #if.
61299
61300         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
61301         Return from 'main' instead of calling 'exit'.
61302
61303 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61304
61305         * lib/mktime.c (guess_time_tm): Fix bug where mktime
61306         returned the maximum time_t value rather than (time_t) -1.
61307         Problem originally reported by William Bardwell
61308         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
61309
61310         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
61311         Moved to here ...
61312         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
61313         ... from here.
61314
61315 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61316
61317         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
61318         2821 is fixed.
61319
61320 2006-09-08  Jim Meyering  <jim@meyering.net>
61321
61322         Don't make generated files read-only.  That would bother too many
61323         people.  However, do retain the ability to work when targets are
61324         read-only: remove the destination and temporary files before writing
61325         them (when generated via sed or echo), or by using the -f option for
61326         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
61327         * modules/alloca-opt, modules/argz, modules/arpa_inet:
61328         * modules/byteswap, modules/configmake, modules/fcntl:
61329         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
61330         * modules/localcharset, modules/netinet_in, modules/poll:
61331         * modules/stdbool, modules/stdint, modules/sys_select:
61332         * modules/sys_socket, modules/sys_stat, modules/sysexits:
61333
61334 2006-09-08  Jim Meyering  <jim@meyering.net>
61335
61336         Avoid new build failure on FreeBSD 6.0.
61337         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
61338         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
61339         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
61340
61341 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61342
61343         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
61344
61345 2006-09-07  Jim Meyering  <jim@meyering.net>
61346
61347         Fix global typo in last change: use chmod u-w, not chmod u-x.
61348         Spotted by Paul Eggert and Bruce Korb.
61349         * modules/alloca-opt, modules/argz, modules/arpa_inet:
61350         * modules/byteswap, modules/configmake, modules/fcntl:
61351         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
61352         * modules/localcharset, modules/netinet_in, modules/poll:
61353         * modules/stdbool, modules/stdint, modules/sys_select:
61354         * modules/sys_socket, modules/sys_stat, modules/sysexits:
61355
61356 2006-09-06  Jim Meyering  <jim@meyering.net>
61357
61358         Make generated files be read-only.
61359         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
61360         Ensure that each generated file is now read-only.
61361         * modules/argz: Likewise.
61362         * modules/arpa_inet: Likewise.
61363         * modules/byteswap: Likewise.
61364         * modules/configmake: Likewise.
61365         * modules/fcntl: Likewise.
61366         * modules/fnmatch: Likewise.
61367         * modules/getopt: Likewise.
61368         * modules/glob: Likewise.
61369         * modules/inttypes: Likewise.
61370         * modules/netinet_in: Likewise.
61371         * modules/poll: Likewise.
61372         * modules/stdbool: Likewise.
61373         * modules/stdint: Likewise.
61374         * modules/sys_select: Likewise.
61375         * modules/sys_socket: Likewise.
61376         * modules/sys_stat: Likewise.
61377         * modules/sysexits: Likewise.
61378         * modules/localcharset: Same as above, but continue using temporary
61379         file named "t-$@" (why different?) rather than the "$@-t" used
61380         everywhere else.
61381
61382         * modules/sysexits (Makefile.am): Replace literal occurrences
61383         of "sysexit.h" more readable, and more consistent, "$@".
61384
61385 2006-09-06  Bruno Haible  <bruno@clisp.org>
61386
61387         * modules/striconv: New file.
61388         * modules/xstriconv: New file.
61389         * MODULES.html.sh (Internationalization functions): Add striconv,
61390         xstriconv.
61391
61392 2006-09-06  Bruno Haible  <bruno@clisp.org>
61393
61394         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
61395         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
61396         not using libtool correctly.
61397
61398 2006-09-06  Bruno Haible  <bruno@clisp.org>
61399
61400         * lib/striconv.h: New file.
61401         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
61402         iconvstring.c.
61403         * lib/xstriconv.h: New file.
61404         * lib/xstriconv.c: New file.
61405
61406 2006-09-06  Bruno Haible  <bruno@clisp.org>
61407
61408         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61409         lib_..._LDFLAGS.
61410
61411 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61412
61413         * lib/argz_.h: Sync from Libtool.
61414
61415         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
61416                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
61417
61418         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
61419
61420 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
61421
61422         * modules/trim: New file.
61423
61424 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
61425
61426         * lib/trim.h: New file.
61427         * lib/trim.c: New file.
61428
61429 2006-09-05  Bruno Haible  <bruno@clisp.org>
61430
61431         * MODULES.html.sh (String handling): Add trim.
61432
61433 2006-09-04  Karl Berry  <karl@gnu.org>
61434
61435         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
61436         until next release.
61437
61438 2006-09-03  Bruno Haible  <bruno@clisp.org>
61439
61440         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
61441         correctly.
61442
61443 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61444
61445         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
61446         not gl_GETLOADAVG.  Omit unneeded semicolons.
61447         Problems reported by Ralf Wildenhues in
61448         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
61449         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
61450         at the end, which is the usual gnulib style.
61451
61452         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
61453         of doing all the work ourselves.
61454         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
61455         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
61456
61457 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61458
61459         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
61460         Problem reported by Ralf Wildenhues in
61461         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
61462
61463         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
61464         HAVE_STRUCT_STATFS_F_FSTYPENAME.
61465
61466 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61467
61468         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
61469         yesterday's patch by changing test -n to test -z.
61470
61471 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61472
61473         * modules/getloadavg (Files): Add m4/getloadavg.m4.
61474         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
61475         the former is now obsolescent.
61476
61477         * modules/chdir-long (Depends-on): Add fcntl.
61478
61479 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61480
61481         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
61482         obsolescent, and programs should use gnulib instead.
61483         * m4/getloadavg.m4: New file, with contents taken from Autoconf
61484         but with prefixes changed.
61485
61486 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61487
61488         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
61489         or stdbool.h, because they might not exist while configuring.
61490
61491         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
61492         Don't include unistd.h or limits.h; not needed, since chdir-long.h
61493         does that for us.
61494         (O_DIRECTORY): Remove.
61495
61496 2006-08-31  Eric Blake  <ebb9@byu.net>
61497
61498         * gnulib-tool: Don't let emacs change spaces to TAB.
61499
61500 2006-08-31  Bruno Haible  <bruno@clisp.org>
61501
61502         * gnulib-tool: When calling func_import more than once, do it in a
61503         subshell.
61504         Reported by Eric Blake <ebb9@byu.net>.
61505
61506 2006-08-31  Bruno Haible  <bruno@clisp.org>
61507
61508         * gnulib-tool (nl): Remove variable.
61509         (sed_transform_lib_file): Use more robust test for config-h module.
61510         (func_import): Fix typo in 2006-08-25 patch.
61511
61512 2006-08-31  Bruno Haible  <bruno@clisp.org>
61513
61514         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
61515         specified, augment Makefile.am variables instead of assigning them.
61516
61517 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61518
61519         Work around a bug in both the Linux and SunOS 64-bit kernels:
61520         nanosleep mishandles sleeps for longer than 2**31 seconds.
61521         Problem reported by Frank v Waveren in
61522         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61523         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
61524         Check for nanosleep bug.
61525         (LIB_NANOSLEEP): Append clock_gettime library if needed.
61526
61527 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61528
61529         Work around a bug in both the Linux and SunOS 64-bit kernels:
61530         nanosleep mishandles sleeps for longer than 2**31 seconds.
61531         Problem reported by Frank v Waveren in
61532         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61533         * lib/nanosleep.c (BILLION): New constant.
61534         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
61535         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
61536         implementation.
61537
61538 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61539
61540         * modules/nanosleep (Depends-on): Add gettime.
61541
61542 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61543         and Simon Josefsson  <jas@extundo.com>
61544         and Oskar Liljeblad  <oskar@osk.mine.nu>
61545
61546         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
61547         * gnulib-tool (func_import): New license type 'unmodifiable license
61548         text'.
61549         * modules/fdl: Use it.  Longer description.
61550         * module/gpl, module/lgpl: New files.
61551
61552 2006-08-30  Jim Meyering  <jim@meyering.net>
61553
61554         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
61555         shadowing the parameter.
61556
61557 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61558
61559         Sync from Libtool:
61560
61561         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61562
61563         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
61564         sharing with gnulib.  Report by Eric Blake.
61565
61566 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61567
61568         * modules/isapipe: New file.
61569         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
61570
61571 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61572
61573         * modules/configmake (Makefile.am): Add a comment, and omit
61574         the CONFIGMAKE_ prefix from generated macro names.  Suggested
61575         by Bruno Haible.
61576
61577 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61578
61579         * m4/isapipe.m4: New file.
61580
61581 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61582
61583         * lib/isapipe.c, lib/isapipe.h: New files.
61584
61585 2006-08-29  Jim Meyering  <jim@meyering.net>
61586
61587         * modules/configmake (Makefile.am): Make configmake.h depend on
61588         Makefile.  Otherwise, a stale configmake.h could hang around.
61589
61590 2006-08-29  Eric Blake  <ebb9@byu.net>
61591
61592         * lib/error.c (error_at_line, print_errno_message): Match libc, after
61593         resolution of upstream bug 3044.
61594
61595 2006-08-29  Bruno Haible  <bruno@clisp.org>
61596
61597         * modules/localcharset (Depends-on): Add configmake.
61598         (Makefile.am): Remove setting of LIBDIR through DEFS.
61599
61600 2006-08-29  Bruno Haible  <bruno@clisp.org>
61601
61602         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
61603         defined.
61604
61605 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61606
61607         * modules/fcntl: New file.
61608         * modules/chdir-safer (Depends-on): Add fcntl.
61609         * modules/fts: Likewise.
61610         * modules/mkdir-p: Likewise.
61611
61612         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
61613         This undoes the most recent change, since we're now addressing the
61614         problem in a different way.
61615
61616         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
61617         into output, since the output might be called Makefile.am even
61618         if $makefile_name is something different.
61619         (func_import): Use $makefile_am rather than
61620         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
61621         empty.
61622
61623         * modules/inttypes (Files): Add m4/inttypes-h.m4.
61624
61625 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61626
61627         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
61628         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
61629         recent change to stdint.m4, since we're now addressing the problem in a
61630         different way.
61631
61632 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61633
61634         * m4/fcntl_h.m4: New file.
61635
61636 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61637
61638         * lib/fcntl_.h: New file.
61639         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
61640         the fcntl module.
61641         * lib/dirchownmod.c: Likewise.
61642         * lib/fts.c: Likewise.
61643
61644         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
61645         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
61646         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
61647         just before including <inttypes.h>, to avoid circular inclusion.
61648
61649 2006-08-28  Jim Meyering  <jim@meyering.net>
61650
61651         * doc/visibility.texi: Actually read and correct the grammar of the
61652         sentence affected by yesterday's change.
61653
61654 2006-08-28  Eric Blake  <ebb9@byu.net>
61655
61656         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
61657         needs wrapper.
61658
61659 2006-08-28  Eric Blake  <ebb9@byu.net>
61660
61661         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
61662
61663 2006-08-28  Eric Blake  <ebb9@byu.net>
61664
61665         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
61666
61667 2006-08-28  Bruno Haible  <bruno@clisp.org>
61668
61669         * modules/c-strstr: New file, from GNU gettext.
61670         * MODULES.html.sh (String handling): Add c-strstr.
61671
61672 2006-08-28  Bruno Haible  <bruno@clisp.org>
61673
61674         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
61675         macros.
61676         Reported by Eric Blake.
61677
61678 2006-08-28  Bruno Haible  <bruno@clisp.org>
61679
61680         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
61681         (VASNPRINTF): Return a string of length > INT_MAX without failing.
61682         * lib/vasprintf.c: Include errno.h, limits.h.
61683         (EOVERFLOW): New fallback definition.
61684         (vasprintf): Test here whether the string length is > INT_MAX.
61685         * lib/vsnprintf.c: Include errno.h, limits.h.
61686         (EOVERFLOW): New fallback definition.
61687         (vsnprintf): Fix bug when generated string was too long for the buffer.
61688         Test here whether the string length is > INT_MAX.
61689
61690 2006-08-28  Bruno Haible  <bruno@clisp.org>
61691
61692         * lib/inttypes_.h (SCNX*): Remove definitions.
61693         Reported by Eric Blake.
61694
61695 2006-08-28  Bruno Haible  <bruno@clisp.org>
61696
61697         * lib/c-strstr.h: New file, from GNU gettext.
61698         * lib/c-strstr.c: New file, from GNU gettext.
61699
61700 2006-08-28  Bruno Haible  <bruno@clisp.org>
61701
61702         * gnulib-tool: Reorder some statements.
61703
61704 2006-08-28  Bruno Haible  <bruno@clisp.org>
61705
61706         * gnulib-tool: New option --makefile-name.
61707         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
61708         $makefile_name.
61709         (func_import): Write $makefile_name to the cache file, and read it from
61710         there unless explicitly specified. Use $makefile_name as file name
61711         instead of Makefile.am. Adjust the recommendations accordingly.
61712
61713 2006-08-28  Bruno Haible  <bruno@clisp.org>
61714
61715         * gnulib-tool (func_verify_module): Check against misapplying patch.
61716
61717 2006-08-28  Bruno Haible  <bruno@clisp.org>
61718
61719         * gnulib-tool (func_relativize, func_relconcat): New functions.
61720         Give an error if --local-dir is given with --update.
61721         Remove trailing slashes from $local_gnulib_dir.
61722         (func_import): Store the relativized $local_gnulib_dir in
61723         gnulib-cache.m4, and read it from there if not specified explicitly.
61724
61725 2006-08-28  Bruno Haible  <bruno@clisp.org>
61726
61727         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
61728         is the current directory. Respect also $local_gnulib_dir.
61729
61730 2006-08-28  Bruno Haible  <bruno@clisp.org>
61731             Simon Josefsson  <jas@extundo.com>
61732
61733         BeOS portability.
61734         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
61735
61736 2006-08-27  Jim Meyering  <jim@meyering.net>
61737
61738         * doc/visibility.texi: Remove duplicate word: "pointer".
61739
61740 2006-08-26  Bruno Haible  <bruno@clisp.org>
61741
61742         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
61743         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
61744         (Makefile.am): Create inttypes.h from inttypes_.h.
61745         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
61746
61747         * modules/imaxabs: New file.
61748
61749         * modules/imaxdiv: New file.
61750
61751 2006-08-26  Bruno Haible  <bruno@clisp.org>
61752
61753         * m4/inttypes.m4: New file.
61754         * m4/_inttypes_h.m4: Remove file.
61755         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
61756         PRI_MACROS_BROKEN.
61757         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
61758
61759         * m4/imaxabs.m4: New file.
61760
61761         * m4/imaxdiv.m4: New file.
61762
61763 2006-08-26  Bruno Haible  <bruno@clisp.org>
61764
61765         * lib/inttypes_.h: New file.
61766         * lib/inttypes.h: Remove file.
61767         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
61768
61769         * lib/imaxabs.c: New file.
61770
61771         * lib/imaxdiv.c: New file.
61772
61773 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61774
61775         New config-h module, so that "make" output needn't be cluttered
61776         by -DHAVE_CONFIG_H.
61777         * MODULES.html.sh (Support for building libraries and executables):
61778         Add config-h.
61779         * modules/config-h: New file.
61780         * gnulib-tool (nl, sed_transform_lib_file): New vars.
61781         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
61782         the config-h module is used.
61783
61784         New configmake module, so that "make" output needn't be cluttered
61785         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
61786         * MODULES.html.sh (Support for building libraries and executables):
61787         Add configmake.
61788         * modules/configmake: New file.
61789
61790 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61791
61792         * m4/config-h.m4: New file.
61793
61794 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61795
61796         * config/srclist.txt: Add elisp-comp.
61797
61798 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61799
61800         * MODULES.html.sh (Support for building libraries and executables):
61801         Add elisp-comp.
61802         * build-aux/elisp-comp: New file.
61803         * modules/elisp-comp: New file.
61804
61805 2006-08-24  Bruno Haible  <bruno@clisp.org>
61806
61807         * gnulib-tool (func_create_testdir): Use non-default values of
61808         sourcebase and m4base.
61809
61810 2006-08-24  Bruno Haible  <bruno@clisp.org>
61811
61812         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
61813         HTML structure.
61814
61815 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61816
61817         * modules/openat (Depends-on): Add lchown.
61818
61819 2006-08-23  Bruno Haible  <bruno@clisp.org>
61820
61821         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
61822         of gl_LOCK_EARLY instead of gl_LOCK.
61823
61824 2006-08-23  Bruno Haible  <bruno@clisp.org>
61825
61826         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
61827         on OSF/1 to no.
61828         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
61829
61830 2006-08-23  Bruno Haible  <bruno@clisp.org>
61831
61832         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
61833         as unusable.
61834
61835         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
61836         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
61837         (gl_LOCK): New macro.
61838
61839 2006-08-22  Simon Josefsson  <jas@extundo.com>
61840
61841         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
61842         to md5 module.
61843
61844 2006-08-22  Simon Josefsson  <jas@extundo.com>
61845
61846         * MODULES.html.sh: Add "Support for maintaining and release
61847         projects".
61848
61849         * build-aux/gnupload: New file, from coreutils.
61850
61851 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61852
61853         Avoid the need for AC_LIBSOURCES in m4 macros.
61854         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
61855         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
61856         * modules/check-version (EXTRA_DIST): Add check-version.h.
61857         * modules/crc (EXTRA_DIST): Add crc.h.
61858         * modules/des (EXTRA_DIST): Add des.h.
61859         * modules/gc (EXTRA_DIST): Add gc.h.
61860         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
61861         * modules/getline (EXTRA_DIST): Add getline.h.
61862         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
61863         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
61864         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
61865         * modules/md2 (EXTRA_DIST): Add md2.h.
61866         * modules/md4 (EXTRA_DIST): Add md4.h.
61867         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
61868         * modules/read-file (EXTRA_DIST): Add read-file.h.
61869         * modules/readline (EXTRA_DIST): Add readline.h.
61870         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
61871         rijndael-api-fst.h.
61872
61873 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61874
61875         * m4/rijndael.m4 (gl_ARCFOUR):
61876         * m4/arctwo.m4 (gl_ARCTWO):
61877         * m4/check-version.m4 (gl_CHECK_VERSION):
61878         * m4/crc.m4 (gl_CRC):
61879         * m4/des.m4 (gl_DES):
61880         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
61881         * m4/gc.m4 (gl_GC):
61882         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
61883         * m4/getline.m4 (gl_FUNC_GETLINE):
61884         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
61885         * m4/hmac-md5.m4 (gl_HMAC_MD5):
61886         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
61887         * m4/md2.m4 (gl_MD2):
61888         * m4/md4.m4 (gl_MD4):
61889         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
61890         * m4/read-file.m4 (gl_FUNC_READ_FILE):
61891         * m4/readline.m4 (gl_FUNC_READLINE):
61892         * m4/rijndael.m4 (gl_RIJNDAEL):
61893         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
61894         to get the necessary .h files and whatnot.
61895
61896 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61897
61898         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
61899         gnulib rather than the other way around.
61900         * config/srclistvars.sh (COREUTILS): Remove.
61901
61902 2006-08-22  Jim Meyering  <jim@meyering.net>
61903
61904         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
61905
61906         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
61907
61908 2006-08-22  Eric Blake  <ebb9@byu.net>
61909
61910         * modules/regexprops-generic: New file.
61911         * MODULES.html.sh (Support for building documentation): List it.
61912
61913 2006-08-22  Eric Blake  <ebb9@byu.net>
61914
61915         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
61916         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
61917         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
61918         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
61919
61920 2006-08-22  Bruno Haible  <bruno@clisp.org>
61921
61922         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
61923         and lib_LTLIBRARIES like the other lib_* variables.
61924
61925 2006-08-22  Bruno Haible  <bruno@clisp.org>
61926
61927         * build-aux/x-to-1.in: New file, from GNU gettext.
61928
61929 2006-08-22  Bruno Haible  <bruno@clisp.org>
61930
61931         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
61932         <utmpx.h> exists.
61933
61934 2006-08-22  Bruno Haible  <bruno@clisp.org>
61935
61936         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
61937         <utmpx.h> exists.
61938
61939 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61940
61941         BeOS portability.
61942         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
61943         exist.
61944         Problem reported by Bruno Haible.
61945
61946 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61947
61948         Avoid the need for AC_LIBSOURCES in m4 macros.
61949         * modules/acl (EXTRA_DIST): Add acl.h.
61950         * modules/argmatch (Files): Add m4/argmatch.m4.
61951         (configure.ac): Add gl_ARGMATCH.
61952         (EXTRA_DIST): Renamed from lib_SOURCES, for
61953         consistency with the other modules.  Remove argmatch.c.
61954         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
61955         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
61956         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
61957         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
61958         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
61959         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
61960         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
61961         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
61962         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
61963         * modules/closeout (EXTRA_DIST): Add closeout.h.
61964         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
61965         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
61966         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
61967         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
61968         dirname.h; remove basename.c and stripslash.c.
61969         * modules/exclude (EXTRA_DIST): Add exclude.h.
61970         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
61971         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
61972         * modules/file-type (EXTRA_DIST): Add file-type.h.
61973         * modules/filemode (EXTRA_DIST): Add filemode.h.
61974         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
61975         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
61976         * modules/fpending (EXTRA_DIST): Add __fpending.h.
61977         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
61978         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
61979         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
61980         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
61981         * modules/getdate (EXTRA_DIST): Add getdate.c.
61982         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
61983         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
61984         * modules/getpass (EXTRA_DIST): Add getpass.h.
61985         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
61986         * modules/group-member (EXTRA_DIST): Add group-member.h.
61987         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
61988         * modules/hash (EXTRA_DIST): Add hash.h.
61989         * modules/human (EXTRA_DIST): Add human.h.
61990         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
61991         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
61992         * modules/lchown (EXTRA_DIST): Add lchown.h.
61993         * modules/long-options (EXTRA_DIST): Add long-options.h.
61994         * modules/lstat (EXTRA_DIST): Add lstat.h.
61995         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
61996         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
61997         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
61998         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
61999         * modules/memxor (EXTRA_DIST): Add memxor.h.
62000         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
62001         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
62002         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
62003         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
62004         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
62005         * modules/physmem (EXTRA_DIST): Add physmem.h.
62006         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
62007         * modules/posixver (EXTRA_DIST): Add posixver.h.
62008         * modules/quote (EXTRA_DIST): Add quote.h.
62009         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
62010         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
62011         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
62012         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
62013         regex_internal.h regexec.c.
62014         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
62015         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
62016         * modules/same (EXTRA_DIST): Add same.h.
62017         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
62018         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
62019         * modules/savedir (EXTRA_DIST): Add savedir.h.
62020         * modules/sha1 (EXTRA_DIST): Add sha1.h.
62021         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
62022         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
62023         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
62024         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
62025         * modules/strdup (EXTRA_DIST): Add strdup.h.
62026         * modules/strftime (EXTRA_DIST): Add strftime.h.
62027         * modules/strndup (EXTRA_DIST): Add strndup.h.
62028         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
62029         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
62030         * modules/time_r (EXTRA_DIST): Add time_r.h.
62031         * modules/timespec (EXTRA_DIST): Add timespec.h.
62032         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
62033         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
62034         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
62035         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
62036         * modules/userspec (EXTRA_DIST): Add userspec.h.
62037         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
62038         * modules/utimens (EXTRA_DIST): Add utimens.h.
62039         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
62040         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
62041         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
62042         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
62043         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
62044         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
62045         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
62046         * modules/yesno (EXTRA_DIST): Add yesno.h.
62047
62048 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62049
62050         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
62051
62052         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
62053         * m4/dev-ino.m4, same-inode.m4: Remove.
62054
62055         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
62056         * m4/acl.m4 (AC_FUNC_ACL):
62057         * m4/backupfile.m4 (gl_BACKUPFILE):
62058         * m4/c-strtod.m4 (gl_C99_STRTOLD):
62059         * m4/canon-host.m4 (gl_CANON_HOST):
62060         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
62061         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
62062         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
62063         * m4/cloexec.m4 (gl_CLOEXEC):
62064         * m4/close-stream.m4 (gl_CLOSE_STREAM):
62065         * m4/closeout.m4 (gl_CLOSEOUT):
62066         * m4/dirfd.m4 (gl_FUNC_DIRFD):
62067         * m4/dirname.m4 (gl_DIRNAME):
62068         * m4/exclude.m4 (gl_EXCLUDE):
62069         * m4/exitfail.m4 (gl_EXITFAIL):
62070         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
62071         * m4/file-type.m4 (gl_FILE_TYPE):
62072         * m4/filemode.m4 (gl_FILEMODE):
62073         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
62074         * m4/fpending.m4 (gl_FUNC_FPENDING):
62075         * m4/fprintftime.m4 (gl_FPRINTFTIME):
62076         * m4/fts.m4 (gl_FUNC_FTS):
62077         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
62078         * m4/getdate.m4 (gl_GETDATE):
62079         * m4/gethrxtime.m4 (gl_GETHRXTIME):
62080         * m4/getpagesize.m4 (gl_GETPAGESIZE):
62081         * m4/getpass.m4 (gl_FUNC_GETPASS):
62082         * m4/gettime.m4 (gl_GETTIME):
62083         * m4/getugroups.m4 (gl_GETUGROUPS):
62084         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
62085         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
62086         * m4/hard-locale.m4 (gl_HARD_LOCALE):
62087         * m4/hash.m4 (gl_HASH):
62088         * m4/idcache.m4 (gl_IDCACHE):
62089         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
62090         * m4/lchown.m4 (gl_FUNC_LCHOWN):
62091         * m4/long-options.m4 (gl_LONG_OPTIONS):
62092         * m4/lstat.m4 (gl_FUNC_LSTAT):
62093         * m4/md5.m4 (gl_MD5):
62094         * m4/memcasecmp.m4 (gl_MEMCASECMP):
62095         * m4/memcoll.m4 (gl_MEMCOLL):
62096         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
62097         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
62098         * m4/memxor.m4 (gl_MEMXOR):
62099         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
62100         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
62101         * m4/modechange.m4 (gl_MODECHANGE):
62102         * m4/mountlist.m4 (gl_MOUNTLIST):
62103         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62104         * m4/openat.m4 (gl_FUNC_OPENAT):
62105         * m4/pathmax.m4 (gl_PATHMAX):
62106         * m4/physmem.m4 (gl_PHYSMEM):
62107         * m4/posixtm.m4 (gl_POSIXTM):
62108         * m4/posixver.m4 (gl_POSIXVER):
62109         * m4/quote.m4 (gl_QUOTE):
62110         * m4/quotearg.m4 (gl_QUOTEARG):
62111         * m4/readtokens.m4 (gl_READTOKENS):
62112         * m4/readutmp.m4 (gl_READUTMP):
62113         * m4/regex.m4 (gl_REGEX):
62114         * m4/safe-read.m4 (gl_SAFE_READ):
62115         * m4/safe-write.m4 (gl_SAFE_WRITE):
62116         * m4/same.m4 (gl_SAME):
62117         * m4/save-cwd.m4 (gl_SAVE_CWD):
62118         * m4/savedir.m4 (gl_SAVEDIR):
62119         * m4/settime.m4 (gl_SETTIME):
62120         * m4/sha1.m4 (gl_SHA1):
62121         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
62122         * m4/stat-macros.m4 (gl_STAT_MACROS):
62123         * m4/stat-time.m4 (gl_STAT_TIME):
62124         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
62125         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
62126         * m4/strdup.m4 (gl_FUNC_STRDUP):
62127         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
62128         * m4/strndup.m4 (gl_FUNC_STRNDUP):
62129         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
62130         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
62131         * m4/time_r.m4 (gl_TIME_R):
62132         * m4/timespec.m4 (gl_TIMESPEC):
62133         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
62134         * m4/unlinkdir.m4 (gl_UNLINKDIR):
62135         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
62136         * m4/userspec.m4 (gl_USERSPEC):
62137         * m4/utimecmp.m4 (gl_UTIMECMP):
62138         * m4/utimens.m4 (gl_UTIMENS):
62139         * m4/xalloc.m4 (gl_XALLOC):
62140         * m4/xgetcwd.m4 (gl_XGETCWD):
62141         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
62142         * m4/xreadlink.m4 (gl_XREADLINK):
62143         * m4/xstrtod.m4 (gl_XSTRTOD):
62144         * m4/yesno.m4 (gl_YESNO):
62145         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
62146         to get the necessary .h files and whatnot.
62147
62148 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
62149             Bruno Haible  <bruno@clisp.org>
62150
62151         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
62152         /bin/sh understanding of '!' conditional negation.
62153
62154 2006-08-21  Jim Meyering  <jim@meyering.net>
62155
62156         * modules/openat (Depends-on): Really alphabetize.
62157
62158         * modules/acl (Depends-on): Add error and quote.
62159
62160         * check-module (find_included_lib_files): Add at-func.c to the
62161         ok-to-include-more-than-once white list.
62162
62163         * modules/openat (Depends-on): Add lstat.  Alphabetize.
62164
62165 2006-08-21  Bruno Haible  <bruno@clisp.org>
62166
62167         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62168         Emit a pkgdata_DATA variable only if some snippets add contents to it.
62169         Reported by Martin Lambers <marlam@marlam.de>.
62170
62171 2006-08-21  Bruno Haible  <bruno@clisp.org>
62172
62173         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
62174         specify an installation location, don't emit a noinst_LIBRARIES or
62175         noinst_LTLIBRARIES assignment.
62176
62177 2006-08-21  Bruno Haible  <bruno@clisp.org>
62178
62179         BeOS portability.
62180         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
62181         BeOS has mbrtowc() but no <wctype.h>.
62182
62183 2006-08-21  Bruno Haible  <bruno@clisp.org>
62184
62185         BeOS portability.
62186         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
62187         exist.
62188
62189 2006-08-21  Bruno Haible  <bruno@clisp.org>
62190
62191         BeOS portability.
62192         * lib/mbchar.h: Include <wctype.h> only if it exists.
62193
62194 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62195
62196         Remove files that are no longer needed by their respective modules.
62197         * m4/obstack.m4: Remove.
62198         * m4/strerror_r.m4: Remove.
62199         * m4/uint32_t.m4: Remove.
62200         * m4/uintptr_t.m4: Remove.
62201         * m4/ullong_max.m4: Remove.
62202         * m4/xstrtoimax.m4: Remove.
62203         * m4/xstrtoumax.m4: Remove.
62204
62205         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
62206         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
62207         dependencies now capture this.
62208
62209         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
62210         Do not use AC_LIBSOURCES, since gnulib modules now do this.
62211         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
62212         * m4/human.m4 (gl_HUMAN): Likewise.
62213         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
62214         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
62215
62216         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
62217
62218         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
62219         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
62220         stdint.
62221         * m4/human.m4 (gl_HUMAN): Likewise.
62222         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
62223         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
62224         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
62225         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
62226         * m4/xstrtol (gl_XSTRTOL): Likewise.
62227
62228         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
62229         AC_TYPE_LONG_LONG_INT.
62230         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
62231         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
62232         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
62233         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
62234
62235         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
62236         on stdbool.
62237
62238         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
62239         (gl_PREREQ_XSTRTOUL): Remove.
62240
62241         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
62242
62243         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
62244         mode.
62245
62246 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62247
62248         Add and change modules to make it easier for coreutils to use
62249         gnulib-tool.
62250         * modules/backupfile (Files): Remove m4/d-ino.m4.
62251         (Depends-on): Add d-ino.
62252         * modules/cycle-check (Depends-on): Add stdint.
62253         (lib_SOURCES): Add cycle-check.h.
62254         * modules/d-ino: New module.
62255         * modules/d-type: New module.
62256         * modules/error (Files): Remove m4/strerror_r.m4.
62257         * modules/filemode (Files): Add m4/st_dm_mode.m4.
62258         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
62259         m4/inttypes_h.m4, m4/uintmax_t.m4.
62260         (Depends-on): Add stdint.
62261         (lib_SOURCES): Add fsusage.h.
62262         * modules/getcwd (Files): Remove d-ino.m4.
62263         (Depends-on): Add d-ino.
62264         * modules/getndelim2 (Depends-on): Add stdint.
62265         * modules/glob (Files): Remove m4/d-type.m4.
62266         (Depends-on): Add d-type.
62267         * modules/host-os: New module.
62268         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
62269         m4/inttypes_h.m4, m4/uintmax_t.m4.
62270         * Depends-on: Add stdint.
62271         (lib_SOURCES): Add human.h.
62272         * modules/inttostr (Files): Remove m4/intmax_t.m4,
62273         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
62274         m4/uintmax_t.m4, m4/ulonglong.m4.
62275         (Depends-on): Add stdint.
62276         (EXTRA_DIST): Add inttostr.h.
62277         * modules/lchmod: New module.
62278         * modules/link-follow: New module.
62279         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
62280         (Depends-on): Add lchmod.
62281         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
62282         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
62283         (Depends-on): Add stdint.
62284         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
62285         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
62286         (Depends-on): Add stdint.
62287         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
62288         * modules/perl: New module.
62289         * modules/regex (Depends-on): Add stdint.
62290         * modules/rmdir-errno: New module.
62291         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
62292         m4/intmax_t.m4.
62293         (Depends-on): Add stdint.
62294         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
62295         m4/uintmax_t.m4.
62296         (Depends-on): Add stdint.
62297         * modules/unlink-busy: New module.
62298         * modules/utimecmp (Depends-on): Add stdint.
62299         * modules/uptime: New module.
62300         * modules/winsz-ioctl: New module.
62301         * modules/winsz-termios: New module.
62302         * modules/xnanosleep (Depends-on): Add nanosleep.
62303         * modules/ullong_max: Remove.
62304         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
62305         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
62306         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
62307         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
62308         (Depends-on): Add inttypes.
62309         (lib_SOURCES): Add xstrtol.h.
62310         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
62311         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
62312         * MODULES.html.sh: Move 'assert' into the assert section.
62313         Move 'dummy' into the linking section.
62314         Remove ullong_max.
62315         Add section for compatibility checks for POSIX:2001 functions,
62316         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
62317         winsz-ioctl, and winsz-termios into it.
62318         Add lchmod.
62319         Add top-level Misc section and put host-os, perl, and uptime
62320         into it.
62321
62322 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62323
62324         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
62325         now assume the stdint module.  Do not include inttypes.h.
62326         * lib/fsusage.h: Likewise.
62327         * lib/getndelim2.c: Likewise.
62328         * lib/human.h: Likewise.
62329         * lib/inttostr.h: Likewise.
62330         * lib/obstack.c: Likewise.
62331         * lib/regex_internal.h: Likewise.
62332         * lib/tempname.c: Likewise.
62333         * lib/utimecmp.c: Likewise.
62334         * lib/xstrtol.h: Likewise.
62335
62336         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
62337
62338         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
62339         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
62340         * lib/xtime.h: Likewise.
62341
62342 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62343
62344         * modules/openat (Files): Add lib/fchmodat.c.
62345         Fixes problem reported by Jay Youngman.
62346
62347 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62348
62349         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
62350         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
62351
62352 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
62353             Bruno Haible  <bruno@clisp.org>
62354
62355         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
62356         and is a script that invokes bison. Tighten the code. Add comments.
62357
62358 2006-08-18  Jim Meyering  <jim@meyering.net>
62359
62360         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
62361         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
62362         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
62363         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
62364
62365 2006-08-18  Bruno Haible  <bruno@clisp.org>
62366
62367         * modules/bison-i18n: New file.
62368         * MODULES.html.sh (Internationalization functions): Add it.
62369
62370 2006-08-18  Bruno Haible  <bruno@clisp.org>
62371
62372         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
62373         sys/statvfs.h. When getmntinfo was found, check its declaration and
62374         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
62375
62376 2006-08-18  Bruno Haible  <bruno@clisp.org>
62377
62378         * m4/bison-i18n.m4: New file, from bison.
62379
62380 2006-08-18  Bruno Haible  <bruno@clisp.org>
62381
62382         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
62383         (ME_DUMMY): Treat "kernfs" as a dummy.
62384         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
62385
62386 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
62387
62388         Update from coreutils.
62389
62390         2006-08-15  Jim Meyering  <jim@meyering.net>
62391
62392         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
62393
62394         2006-01-17  Jim Meyering  <jim@meyering.net>
62395
62396         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
62397
62398         2006-01-11  Jim Meyering  <jim@meyering.net>
62399
62400         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
62401         Check for the lchmod function.
62402
62403 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
62404
62405         Update from coreutils.
62406
62407         * lib/__fpending.h: Add copyright notice.
62408         * lib/fprintftime.h: Likewise.
62409         * lib/savedir.c: Use (C) in copyright notice.
62410         * lib/savedir.h: Likewise.
62411
62412         2006-08-15  Jim Meyering  <jim@meyering.net>
62413
62414         * lib/at-func.c: New file, with the logic of all emulated at-functions.
62415         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
62416         in support of the EXPECTED_ERRNO macro.
62417         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
62418         definitions.  Instead, define the appropriate symbols and include
62419         "at-func.c".
62420         * lib/mkdirat.c (mkdirat): Likewise.
62421         * lib/fchmodat.c (fchmodat): Likewise.
62422         (ENOSYS): Remove definition.
62423         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
62424         it.  Don't include "unistd--.h" -- it wasn't ever used.
62425
62426         2006-01-17  Jim Meyering  <jim@meyering.net>
62427
62428         Rewrite fts.c not to change the current working directory,
62429         by using openat, fstatat, fdopendir, etc..
62430
62431         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
62432         (HAVE_OPENAT_SUPPORT): Define.
62433         [_LIBC] (fchdir): Don't undef or define; no longer used.
62434         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
62435         Now, this `function' always succeeds, and consumes its file descriptor
62436         parameter -- so callers must not close such FDs.  Update callers.
62437         (diropen_fd, opendirat, cwd_advance_fd): New functions.
62438         (diropen): Add parameter, SP.  Adjust all callers.
62439         Implement using diropen_fd, rather than open.
62440         (fts_open): Initialize new member, fts_cwd_fd.
62441         Remove fts_rft-setting code.
62442         (fts_close): Close fts_cwd_fd, if necessary.
62443         (__opendir2): Define in terms of opendir or opendirat,
62444         depending on whether the FST_NOCHDIR flag is set.
62445         (fts_build): Since fts_safe_changedir consumes its FD, and since
62446         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
62447         and close the dup'd file descriptor upon failure.
62448         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
62449         (fts_safe_changedir): Tweak semantics to reflect that this function
62450         now calls cwd_advance_fd and hence consumes its FD argument.
62451         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
62452         [struct FTS] (fts_rft): Remove now-unused member.
62453         [struct FTS] (fts_cycle.state): Improve comment.
62454
62455         * lib/openat.c (openat_needs_fchdir): New function.
62456         * lib/openat.h (openat_needs_fchdir): Declare it.
62457
62458 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
62459
62460         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
62461         Problem and fix reported by Pádraig Brady in
62462         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
62463
62464 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62465
62466         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
62467
62468 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62469
62470         * lib/memcoll.c (memcoll): Optimize for the common case where the
62471         arguments are bytewise equal.
62472
62473 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62474
62475         * doc/regexprops-generic.texi: Add a copyright notice.
62476
62477 2006-08-15  Bruno Haible  <bruno@clisp.org>
62478
62479         * modules/tmpdir (License): Change to LGPL.
62480
62481 2006-08-15  Bruno Haible  <bruno@clisp.org>
62482
62483         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
62484         module.
62485
62486 2006-08-14  Simon Josefsson  <jas@extundo.com>
62487
62488         * config/srclist.txt: Add gnupload.
62489
62490 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62491
62492         Change copyright notice from LGPL 2 to GPL 2, since that's the
62493         standard form used in the gnulib repository.
62494         * tests/test-lock.c: Likewise.
62495         * tests/test-stdint.c: Likewise.
62496         * tests/test-tls.c: Likewise.
62497
62498         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
62499         prelude-manager.  User shorter URLs for GNU projects, without '?'.
62500         Add copyright notice.
62501
62502         * check-module: Add copyright notice.  Output a copyright
62503         notice if "--version" is specified.
62504         * modules/COPYING: New file.
62505         * tests/test-getaddrinfo.c: Add copyright notice.
62506         * tests/test-verify.c: Likewise.
62507
62508 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62509
62510         Change copyright notice from LGPL 2 to GPL 2, since that's the
62511         standard form used in the gnulib repository.
62512         * lib/lock.c: LGPL -> GPL.
62513         * lib/lock.h: Likewise.
62514         * lib/strnlen1.c: Likewise.
62515         * lib/strnlen1.h: Likewise.
62516         * lib/tls.c: Likewise.
62517         * lib/tls.h: Likewise.
62518         * lib/tmpdir.c: Likewise.
62519
62520         * lib/TODO: Remove; this belongs only in coreutils.
62521
62522 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62523
62524         Add copyright notices to long-enough files that lack them, since
62525         otherwise the files aren't clearly free.  Use the same notice that
62526         getdate.texi already uses.
62527         * doc/alloca-opt.texi: Add copyright notice.
62528         * doc/alloca.texi: Likewise.
62529         * doc/ctime.texi: Likewise.
62530         * doc/functions.texi: Likewise.
62531         * doc/gcd.texi: Likewise.
62532         * doc/gnulib-tool.texi: Likewise.
62533         * doc/inet_ntoa.texi: Likewise.
62534         * doc/visibility.texi: Likewise.
62535
62536         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
62537         * doc/quote.texi: Add copyright notice.
62538
62539         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
62540         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
62541         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
62542         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
62543         is now obsolete, and give a pointer to the Sun list.
62544         Add copyright notice.
62545
62546 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62547
62548         * config/srclistvars.sh: Add copyright notice.
62549
62550 2006-08-14  Eric Blake  <ebb9@byu.net>
62551
62552         Import the following change from libc:
62553
62554         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
62555
62556         Upstream bug 2997.
62557         * lib/misc/error.c: Add space between program name and message if file
62558         name is missing.
62559
62560 2006-08-12  Karl Berry  <karl@gnu.org>
62561
62562         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
62563         remove, these originate in gnulib now.
62564
62565 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62566
62567         * doc/Makefile (standards.info standards.html standards.dvi):
62568         Also depend on make-stds.texi.
62569
62570 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
62571
62572         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
62573         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
62574
62575         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
62576         in wchar_t.  Problem reported by Eric Blake.
62577
62578         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
62579         LEN is smaller than SIZE.  Suggested by Bruno Haible.
62580         Also, help the compiler to keep LEN in a register.
62581
62582 2006-08-11  Eric Blake  <ebb9@byu.net>
62583
62584         * users.txt: Sort.  Add tar.
62585
62586 2006-08-11  Bruno Haible  <bruno@clisp.org>
62587
62588         * users.txt: New file.
62589
62590 2006-08-11  Bruno Haible  <bruno@clisp.org>
62591
62592         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
62593         before <wchar.h>. Needed for OSF/1 and BSD/OS.
62594
62595 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62596
62597         * modules/snprintf (Depends-on): Remove minmax.
62598         (Maintainer): Add self and Bruno.
62599
62600 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62601
62602         * lib/.cppi-disable: Add snprintf.h, socket_.h.
62603         * lib/snprintf.c: Include <errno.h> and <limits.h>.
62604         (EOVERFLOW): Define if the system does not.
62605         Do not include "minmax.h"; it wasn't used.
62606         (snprintf): Don't assume size_t promotes to an unsigned type.
62607         Fix bug when generated string was too long for the buffer: the
62608         buffer's contents are supposed to be the initial prefix of the
62609         output.  Don't assume vasnprintf returns EOVERFLOW if the size
62610         exceeds INT_MAX; do the check ourselves.
62611
62612         Import the following changes from libc:
62613
62614         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
62615
62616         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
62617         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
62618         set wc to the byte which couldn't be converted.
62619         (re_string_reconstruct): Don't clear valid_raw_len before calling
62620         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
62621         tip_context using re_string_context_at.
62622
62623         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
62624
62625         * lib/posix/regex.h: g++ still cannot handled [restrict].
62626
62627         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
62628
62629         * lib/posix/regex.h: Remove special handling for VMS.
62630
62631 2006-08-10  Jim Meyering  <jim@meyering.net>
62632
62633         * modules/same-inode: New module.
62634         * modules/dev-ino: New module.
62635         * modules/cycle-check: Depend on these modules, rather than simply
62636         including their .h files.
62637         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
62638         required via m4/cycle-check.m4.
62639         * modules/same: Depend on new same-inode module, rather than
62640         including same-inode.h.
62641         * modules/chdir-safer: New file.
62642
62643         * modules/chown (Depends-on): Add stat-macros.
62644
62645 2006-08-10  Jim Meyering  <jim@meyering.net>
62646
62647         * m4/cycle-check.m4: New file.
62648         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
62649         * m4/dev-ino.m4, m4/same-inode.m4: New files.
62650
62651 2006-08-10  Eric Blake  <ebb9@byu.net>
62652
62653         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
62654         in from original proposal.
62655
62656 2006-08-10  Eric Blake  <ebb9@byu.net>
62657         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62658
62659         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
62660         namespace.
62661
62662 2006-08-10  Bruno Haible  <bruno@clisp.org>
62663
62664         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
62665         as well.
62666
62667 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62668
62669         Sync from coreutils.
62670
62671         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
62672
62673         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
62674         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
62675
62676 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62677
62678         * modules/restrict: Remove; no longer needed now that we assume
62679         Autoconf 2.59 or later.
62680         * MODULES.html.sh: Remove 'restrict'.
62681         * modules/argp (Depends-on): Remove 'restrict'.
62682         * modules/base64 (Depends-on): Likewise.
62683         * modules/gc (Depends-on): Likewise.
62684         * modules/getaddrinfo (Depends-on): Likewise.
62685         * modules/glob (Depends-on): Likewise.
62686         * modules/inet_ntop (Depends-on): Likewise.
62687         * modules/inet_pton (Depends-on): Likewise.
62688         * modules/memxor (Depends-on): Likewise.
62689         * modules/regex (Depends-on): Likewise.
62690         * modules/strtok_r (Depends-on): Likewise.
62691         * modules/time_r (Depends-on): Likewise.
62692
62693 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62694
62695         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
62696         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
62697         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62698         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
62699         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62700         * m4/memxor.m4 (gl_MEMXOR): Likewise.
62701         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
62702         gl_C_RESTRICT replaced by AC_C_RESTRICT.
62703
62704         Merge from coreutils.
62705         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
62706         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
62707         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62708         * m4/time_r.m4 (gl_TIME_R): Likewise.
62709
62710 2006-08-09  Karl Berry  <karl@gnu.org>
62711
62712         * config/srclist.txt: no more gettext-tools, per Bruno.
62713
62714 2006-08-08  Eric Blake  <ebb9@byu.net>
62715
62716         * modules/verror: New module.
62717         * MODULES.html.sh: Document it.
62718
62719 2006-08-08  Eric Blake  <ebb9@byu.net>
62720
62721         * lib/verror.h, lib/verror.c: New files.
62722
62723 2006-08-08  Eric Blake  <ebb9@byu.net>
62724
62725         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
62726         verror_at_line output complies with GNU Coding Standards even when
62727         file is NULL.
62728
62729 2006-08-07  Bruno Haible  <bruno@clisp.org>
62730
62731         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
62732         versions of AIX.
62733         Reported by Ralf Wildenhues.
62734
62735 2006-08-07  Bruno Haible  <bruno@clisp.org>
62736
62737         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
62738         in an AC_DEFUN. Needed so that the autoconf snippets can use
62739         AC_REQUIRE.
62740
62741 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62742
62743         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62744         Initialize pkgdata_DATA.
62745         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
62746         overriding it.
62747
62748 2006-08-06  Eric Blake  <ebb9@byu.net>
62749
62750         * lib/error.h: Fold in some upstream changes from glibc.
62751         * lib/error.c: Likewise.
62752
62753 2006-08-04  Bruno Haible  <bruno@clisp.org>
62754
62755         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62756         Make the mostlyclean-local rule depend on mostlyclean-generic.
62757         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
62758
62759 2006-07-31  Bruno Haible  <bruno@clisp.org>
62760
62761         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
62762         <stdlib.h>, <string.h>.
62763
62764 2006-07-30  Bruno Haible  <bruno@clisp.org>
62765
62766         * modules/readlink (License): Change to LGPL.
62767
62768 2006-07-30  Bruno Haible  <bruno@clisp.org>
62769
62770         * modules/javaversion (Makefile.am): Distribute javaversion.java and
62771         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
62772         set PKGDATADIR to point to it.
62773
62774 2006-07-30  Bruno Haible  <bruno@clisp.org>
62775
62776         * modules/csharpexec (configure.ac): Comment out macro invocation.
62777         * modules/javaexec (configure.ac): Likewise.
62778         * modules/javacomp-script (configure.ac): Likewise.
62779
62780         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
62781
62782 2006-07-30  Bruno Haible  <bruno@clisp.org>
62783
62784         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
62785         linked-list.
62786
62787 2006-07-30  Bruno Haible  <bruno@clisp.org>
62788
62789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
62790
62791 2006-07-30  Bruno Haible  <bruno@clisp.org>
62792
62793         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62794         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
62795         get removed.
62796
62797 2006-07-29  Bruno Haible  <bruno@clisp.org>
62798
62799         Make it possible for gnulib-tool to work with locally modified or
62800         augmented gnulib repositories.
62801         * gnulib-tool (func_usage): Document --local-dir option.
62802         (local_gnulib_dir): New variable.
62803         Handle --local-dir option.
62804         (func_lookup_file): New function.
62805         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
62806         (func_get_description, func_get_filelist, func_get_description,
62807         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
62808         func_get_automake_snippet, func_get_include_directive,
62809         func_get_license, func_get_maintainer): Use func_lookup_file.
62810         (func_import, func_create_testdir): Use func_lookup_file.
62811
62812 2006-07-29  Bruno Haible  <bruno@clisp.org>
62813
62814         * modules/setenv (Depends-on): Add unistd.
62815
62816 2006-07-29  Bruno Haible  <bruno@clisp.org>
62817
62818         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
62819
62820 2006-07-29  Bruno Haible  <bruno@clisp.org>
62821
62822         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
62823
62824 2006-07-29  Bruno Haible  <bruno@clisp.org>
62825
62826         * gnulib-tool (import, update): If there is no Makefile.am, look at
62827         aclocal.m4, instead of bailing out.
62828
62829 2006-07-29  Bruno Haible  <bruno@clisp.org>
62830
62831         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
62832         Categorize the options by when they are useful.
62833
62834 2006-07-29  Bruno Haible  <bruno@clisp.org>
62835
62836         * gnulib-tool (func_usage): Document option --no-libtool.
62837         Handle option --no-libtool.
62838         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
62839         for changed semantics of $libtool variable.
62840         (func_import): Likewise. If libtool is not used, show this through
62841         an option --no-libtool.
62842         (func_create_testdir): Update.
62843
62844 2006-07-29  Bruno Haible  <bruno@clisp.org>
62845
62846         * gnulib-tool (func_import): Extend error message about missing
62847         --doc-base.
62848
62849 2006-07-29  Bruno Haible  <bruno@clisp.org>
62850
62851         * gnulib-tool (func_import): Don't create the $docbase directory if
62852         there is no file to store there.
62853
62854 2006-07-29  Bruno Haible  <bruno@clisp.org>
62855
62856         * gnulib-tool (autoconf_minversion): If a --dir option is given and
62857         relevant, look for configure.ac there, not in the current directory.
62858         Also use a simple search for AC_PREREQ, not "autoconf --trace".
62859
62860 2006-07-29  Bruno Haible  <bruno@clisp.org>
62861
62862         * gnulib-tool (SORT): New variable.
62863         (func_usage): Undocument --assume-autoconf option.
62864         Remove --assume-autoconf option handling.
62865         (autoconf_minversion): Determine from the contents of configure.ac.
62866         (func_import): Remove autoconf_minversion handling.
62867         Suggested by Eric Blake.
62868
62869 2006-07-29  Bruno Haible  <bruno@clisp.org>
62870
62871         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
62872
62873 2006-07-29  Bruno Haible  <bruno@clisp.org>
62874
62875         * config/srclist.txt (*setenv.[ch]): Remove rules.
62876
62877 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62878
62879         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
62880
62881 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62882
62883         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
62884         arpa/inet.h.
62885
62886 2006-07-28  Simon Josefsson  <jas@extundo.com>
62887
62888         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
62889         * modules/inet_pton (Depends-on): Likewise.
62890
62891 2006-07-28  Simon Josefsson  <jas@extundo.com>
62892
62893         * m4/netinet_in_h.m4: New file.
62894
62895 2006-07-28  Simon Josefsson  <jas@extundo.com>
62896
62897         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
62898         #include's.
62899
62900 2006-07-28  Simon Josefsson  <jas@extundo.com>
62901
62902         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
62903         #include's.
62904
62905 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
62906
62907         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
62908         setgid on directories only if they set these bits.
62909         * lib/modechange.h: Remove obsolete comment about masks.
62910
62911 2006-07-28  Eric Blake  <ebb9@byu.net>
62912
62913         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
62914         macro expansion.
62915
62916 2006-07-28  Bruno Haible  <bruno@clisp.org>
62917
62918         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
62919
62920 2006-07-28  Bruno Haible  <bruno@clisp.org>
62921
62922         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
62923
62924 2006-07-28  Bruno Haible  <bruno@clisp.org>
62925
62926         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
62927         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
62928         Define fallbacks.
62929         Avoids link error on FreeBSD 4.x.
62930         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62931
62932         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
62933         encoding.
62934         * lib/mbswidth.c (iswcntrl): Likewise.
62935
62936 2006-07-27  Bruno Haible  <bruno@clisp.org>
62937
62938         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
62939         test.
62940
62941 2006-07-27  Bruno Haible  <bruno@clisp.org>
62942
62943         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
62944         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
62945         defined.
62946
62947 2006-07-26  Eric Blake  <ebb9@byu.net>
62948
62949         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
62950
62951 2006-07-26  Eric Blake  <ebb9@byu.net>
62952
62953         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
62954         like mingw that lack mkstemp.
62955         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
62956         avoid compilation warning on mingw.
62957
62958 2006-07-26  Bruno Haible  <bruno@clisp.org>
62959
62960         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
62961         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
62962         INT_FAST*_MIN, INTPTR_MIN.
62963
62964 2006-07-25  Bruno Haible  <bruno@clisp.org>
62965
62966         * modules/version-etc (Depends-on): Add stdarg.
62967
62968 2006-07-25  Bruno Haible  <bruno@clisp.org>
62969
62970         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
62971         complex commands.
62972
62973 2006-07-25  Bruno Haible  <bruno@clisp.org>
62974
62975         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
62976         defined in <stdarg.h> or config.h.
62977
62978 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
62979
62980         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
62981         (gl_STDIO_SAFER): Remove.
62982
62983 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
62984
62985         * MODULES.html.sh (File stream based Input/Output):
62986         Add fopen-safer, tmpfile-safer; remove stdio-safer.
62987         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
62988         * modules/fopen-safer, modules/tmpfile-safer: New files.
62989         * modules/stdio-safer: Remove.
62990
62991 2006-07-24  Bruno Haible  <bruno@clisp.org>
62992
62993         * modules/tmpdir: New file.
62994         * MODULES.html.sh (File system functions): Add it.
62995
62996 2006-07-24  Bruno Haible  <bruno@clisp.org>
62997
62998         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
62999         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
63000
63001 2006-07-24  Bruno Haible  <bruno@clisp.org>
63002
63003         * modules/clean-temp: New file.
63004
63005 2006-07-24  Bruno Haible  <bruno@clisp.org>
63006
63007         * m4/tmpdir.m4: New file, from GNU gettext.
63008
63009 2006-07-24  Bruno Haible  <bruno@clisp.org>
63010
63011         * lib/tmpdir.h: New file, from GNU gettext.
63012         * lib/tmpdir.c: New file, from GNU gettext.
63013
63014 2006-07-24  Bruno Haible  <bruno@clisp.org>
63015
63016         * lib/clean-temp.h: New file, from GNU gettext.
63017         * lib/clean-temp.c: New file, from GNU gettext.
63018
63019 2006-07-23  Eric Blake  <ebb9@byu.net>
63020
63021         * modules/stdio-safer (Files): Add tmpfile-safer.c.
63022         (Depends-on): Add binary-io.
63023
63024 2006-07-23  Eric Blake  <ebb9@byu.net>
63025
63026         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
63027
63028 2006-07-23  Eric Blake  <ebb9@byu.net>
63029
63030         * lib/tmpfile-safer.c: New file.
63031         * lib/stdio-safer.h (fopen_safer): Add prototype.
63032         * lib/stdio--.h (tmpfile): Make safer.
63033
63034 2006-07-23  Bruno Haible  <bruno@clisp.org>
63035
63036         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
63037         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
63038         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
63039         gl_linked_remove_at): Use it.
63040
63041 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63042         and Simon Josefsson <jas@extundo.com>
63043
63044         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
63045
63046         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
63047
63048 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63049
63050         * modules/close-stream: New file.
63051         * modules/closeout (Description): Make it clear that it exits
63052         with a diagnostic on error.
63053         (Depends-on): Add close-stream.  Remove fpending, stdbool.
63054         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
63055
63056 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63057
63058         * m4/close-stream.m4: New file.
63059
63060 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63061
63062         * lib/close-stream.c, lib/close-stream.h: New files.
63063
63064 2006-07-22  Bruno Haible  <bruno@clisp.org>
63065
63066         Merge from GNU gettext 0.15.
63067
63068         2006-05-01  Bruno Haible  <bruno@clisp.org>
63069
63070                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
63071
63072         2006-07-22  Bruno Haible  <bruno@clisp.org>
63073
63074                 * modules/javaversion: New file.
63075                 * MODULES.html.sh (Java): Add javaversion.
63076
63077         2006-03-12  Bruno Haible  <bruno@clisp.org>
63078
63079                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
63080
63081         2005-12-04  Bruno Haible  <bruno@clisp.org>
63082
63083                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
63084                 (untested).
63085
63086         2006-06-21  Bruno Haible  <bruno@clisp.org>
63087
63088                 Avoid warnings from recent versions of mcs.
63089                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
63090                 -o, -L, -r any more. Use options documented since mcs-1.0
63091                 instead. Similarly for -g.
63092
63093         2005-12-04  Bruno Haible  <bruno@clisp.org>
63094
63095                 * build-aux/csharpcomp.sh.in: Suffix for resources is
63096                 .resources, not .resource.
63097
63098         2005-07-09  Bruno Haible  <bruno@clisp.org>
63099
63100                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
63101                 add a .dll suffix.
63102                 Reported by Mark Junker <mjscod@gmx.de>.
63103
63104         2006-07-22  Bruno Haible  <bruno@clisp.org>
63105
63106                 * modules/gettext: Upgrade to gettext-0.15.
63107                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
63108                 m4/visibility.m4.
63109                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
63110
63111 2006-07-22  Bruno Haible  <bruno@clisp.org>
63112
63113         Merge from GNU gettext 0.15.
63114
63115         2006-03-25  Bruno Haible  <bruno@clisp.org>
63116
63117                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
63118
63119         2006-07-21  Bruno Haible  <bruno@clisp.org>
63120
63121                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
63122                 "1.1".
63123
63124         2006-05-09  Bruno Haible  <bruno@clisp.org>
63125
63126                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
63127                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
63128                 for the conftestver execution.
63129
63130         2006-05-01  Bruno Haible  <bruno@clisp.org>
63131
63132                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
63133                 optional target-version argument. Verify that the compiler
63134                 groks source of the specified source-version, or add -source
63135                 option as necessary. Verify that the compiler produces
63136                 bytecode in the specified target-version, or add -target and
63137                 -source options as necessary. Make the result of the test
63138                 available as variable CONF_JAVAC. Also log error output in
63139                 config.log.
63140
63141         2006-03-11  Bruno Haible  <bruno@clisp.org>
63142
63143                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
63144
63145         2006-05-09  Bruno Haible  <bruno@clisp.org>
63146
63147                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
63148                 CLASSPATH_SEPARATOR to a semicolon.
63149
63150         2006-03-12  Bruno Haible  <bruno@clisp.org>
63151
63152                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
63153                 available as variable CONF_JAVA, for subsequent autoconf
63154                 tests. Also log error output in config.log.
63155
63156         2006-07-19  Bruno Haible  <bruno@clisp.org>
63157
63158                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
63159                 that getline works on glibc2 systems. Needed to avoid trouble
63160                 in relocatable.c.
63161                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
63162
63163         2005-12-04  Bruno Haible  <bruno@clisp.org>
63164
63165                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
63166                 launcher (untested).
63167
63168         2005-12-04  Bruno Haible  <bruno@clisp.org>
63169
63170                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
63171
63172         2006-07-22  Bruno Haible  <bruno@clisp.org>
63173
63174                 * gettext.m4: Update from GNU gettext-0.15.
63175                 * nls.m4: Likewise.
63176                 * po.m4: Likewise.
63177                 * inttypes-pri.m4: Likewise.
63178                 * inttypes-h.m4: Renamed from inttypes.m4.
63179                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
63180
63181 2006-07-22  Bruno Haible  <bruno@clisp.org>
63182
63183         Merge from GNU gettext 0.15.
63184
63185         2005-07-05  Bruno Haible  <bruno@clisp.org>
63186
63187                 * printf-args.c (printf_fetchargs): Work around broken
63188                 definition of wint_t on mingw.
63189
63190         2005-02-12  Bruno Haible  <bruno@clisp.org>
63191
63192                 * xallocsa.h: Add extern "C" for C++.
63193
63194         2006-05-17  Bruno Haible  <bruno@clisp.org>
63195
63196                 Cygwin portability.
63197                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
63198
63199         2006-04-30  Bruno Haible  <bruno@clisp.org>
63200
63201                 * progreloc.c: Include <mach-o/dyld.h> if available.
63202                 (find_executable): Use _NSGetExecutablePath when possible.
63203
63204         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
63205
63206                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
63207                 function.
63208
63209         2005-12-29  Bruno Haible  <bruno@clisp.org>
63210
63211                 * progreloc.c (set_program_name_and_installdir): Fix
63212                 compilation error.
63213
63214         2005-12-04  Bruno Haible  <bruno@clisp.org>
63215
63216                 Cygwin portability.
63217                 * progreloc.c: Include <windows.h> also on Cygwin.
63218                 (find_executable): Add support for Cygwin.
63219                 (set_program_name_and_installdir): Handle also platforms with
63220                 nonempty EXEEXT.
63221
63222         2006-07-11  Bruno Haible  <bruno@clisp.org>
63223
63224                 * javacomp.c: Fix a comment.
63225                 Reported by Jim Meyering.
63226
63227         2006-04-30  Bruno Haible  <bruno@clisp.org>
63228
63229                 * javacomp.h (compile_java_class): Add source_version,
63230                 target_version arguments.
63231                 * javacomp.c: Rewritten to choose only a compiler that
63232                 respects the specified source_version and target_version.
63233
63234         2006-06-27  Bruno Haible  <bruno@clisp.org>
63235
63236                 Assume correct S_ISDIR macro.
63237                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
63238
63239         2006-07-22  Bruno Haible  <bruno@clisp.org>
63240
63241                 * javaversion.h: New file, from GNU gettext.
63242                 * javaversion.c: New file, from GNU gettext.
63243                 * javaversion.java: New file, from GNU gettext.
63244                 * javaversion.class: New file, from GNU gettext.
63245
63246         2006-05-17  Bruno Haible  <bruno@clisp.org>
63247
63248                 Cygwin portability.
63249                 * javaexec.c (execute_java_class): Test for jview program
63250                 also on Cygwin.
63251
63252         2006-04-09  Bruno Haible  <bruno@clisp.org>
63253
63254                 * fatal-signal.c: Don't include string.h.
63255                 (at_fatal_signal): Use a copying loop instead of memcpy.
63256
63257         2005-12-04  Bruno Haible  <bruno@clisp.org>
63258
63259                 * csharpexec.c: Add support for 'clix' launcher (untested).
63260                 (execute_csharp_using_sscli): New function.
63261                 (execute_csharp_program): Call it.
63262
63263         2006-06-21  Bruno Haible  <bruno@clisp.org>
63264
63265                 Avoid warnings from recent versions of mcs.
63266                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
63267                 -o, -L, -r any more. Use options documented since mcs-1.0
63268                 instead. Similarly for -g.
63269
63270         2005-07-09  Bruno Haible  <bruno@clisp.org>
63271
63272                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
63273                 add a .dll suffix.
63274                 Reported by Mark Junker <mjscod@gmx.de>.
63275
63276         2006-06-17  Bruno Haible  <bruno@clisp.org>
63277
63278                 * config.charset: Update for NetBSD 3.0.
63279
63280         2006-05-17  Bruno Haible  <bruno@clisp.org>
63281
63282                 Cygwin portability.
63283                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
63284
63285         2006-05-16  Bruno Haible  <bruno@clisp.org>
63286
63287                 * localcharset.c [CYGWIN]: Include <windows.h>.
63288                 (get_charset_aliases): For Cygwin, return the same CPxxx
63289                 aliases list as under WIN32.
63290                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
63291                 the environment variables. Fall back to GetACP().
63292
63293         2006-04-05  Bruno Haible  <bruno@clisp.org>
63294
63295                 * config.charset: Update Juan Manuel Guerrero's address.
63296
63297         2005-02-12  Bruno Haible  <bruno@clisp.org>
63298
63299                 * allocsa.h: Add extern "C" for C++.
63300
63301         2005-02-10  Bruno Haible  <bruno@clisp.org>
63302
63303                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
63304                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
63305
63306         2006-07-22  Bruno Haible  <bruno@clisp.org>
63307
63308                 * gettext.h: Update to GNU gettext-0.15.
63309
63310 2006-07-22  Bruno Haible  <bruno@clisp.org>
63311
63312         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
63313         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
63314         lib-prefix.m4, longdouble.m4, ssize_t.m4.
63315
63316 2006-07-21  Eric Blake  <ebb9@byu.net>
63317
63318         * modules/stdlib-safer: New file.
63319         * MODULES.html.sh (File stream based Input/Output): Add
63320         stdlib-safer.
63321
63322 2006-07-21  Eric Blake  <ebb9@byu.net>
63323
63324         * lib/stdlib-safer.h: New file from coreutils, required by
63325         stdlib--.h.
63326
63327 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
63328
63329         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
63330
63331 2006-07-20  Bruno Haible  <bruno@clisp.org>
63332
63333         * gnulib-tool: Recognize new option --assume-autoconf.
63334         (autoconf_minversion): New variable.
63335         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
63336
63337 2006-07-20  Bruno Haible  <bruno@clisp.org>
63338
63339         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
63340
63341 2006-07-19  Derek R. Price  <derek@ximbiot.com>
63342
63343         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
63344         Reindent and repaginate.
63345
63346 2006-07-19  Derek Price  <derek@ximbiot.com>
63347
63348         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
63349         Correct grammar.
63350
63351 2006-07-17  Bruno Haible  <bruno@clisp.org>
63352
63353         * modules/list: New file.
63354         * modules/array-list: New file.
63355         * modules/carray-list, modules/carray-list-tests: New files.
63356         * modules/linked-list, modules/linked-list-tests: New files.
63357         * modules/avltree-list, modules/avltree-list-tests: New files.
63358         * modules/rbtree-list, modules/rbtree-list-tests: New files.
63359         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
63360         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
63361         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
63362         * modules/oset: New file.
63363         * modules/array-oset: New file.
63364         * modules/avltree-oset, modules/avltree-oset-tests: New files.
63365         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
63366         * tests/test-carray_list.c: New file.
63367         * tests/test-linked_list.c: New file.
63368         * tests/test-avltree_list.c: New file.
63369         * tests/test-rbtree_list.c: New file.
63370         * tests/test-linkedhash_list.c: New file.
63371         * tests/test-avltreehash_list.c: New file.
63372         * tests/test-rbtreehash_list.c: New file.
63373         * tests/test-avltree_oset.c: New file.
63374         * tests/test-rbtree_oset.c: New file.
63375         * MODULES.html.sh (Container data structures): New section.
63376
63377 2006-07-17  Bruno Haible  <bruno@clisp.org>
63378
63379         * m4/gl_list.m4: New file.
63380
63381 2006-07-17  Bruno Haible  <bruno@clisp.org>
63382
63383         * lib/gl_list.h: New file.
63384         * lib/gl_list.c: New file.
63385         * lib/gl_array_list.h: New file.
63386         * lib/gl_array_list.c: New file.
63387         * lib/gl_carray_list.h: New file.
63388         * lib/gl_carray_list.c: New file.
63389         * lib/gl_linked_list.h: New file.
63390         * lib/gl_linked_list.c: New file.
63391         * lib/gl_anylinked_list1.h: New file.
63392         * lib/gl_anylinked_list2.h: New file.
63393         * lib/gl_avltree_list.h: New file.
63394         * lib/gl_avltree_list.c: New file.
63395         * lib/gl_anyavltree_list1.h: New file.
63396         * lib/gl_anyavltree_list2.h: New file.
63397         * lib/gl_rbtree_list.h: New file.
63398         * lib/gl_rbtree_list.c: New file.
63399         * lib/gl_anyrbtree_list1.h: New file.
63400         * lib/gl_anyrbtree_list2.h: New file.
63401         * lib/gl_anytree_list1.h: New file.
63402         * lib/gl_anytree_list2.h: New file.
63403         * lib/gl_linkedhash_list.h: New file.
63404         * lib/gl_linkedhash_list.c: New file.
63405         * lib/gl_anyhash_list1.h: New file.
63406         * lib/gl_anyhash_list2.h: New file.
63407         * lib/gl_avltreehash_list.h: New file.
63408         * lib/gl_avltreehash_list.c: New file.
63409         * lib/gl_rbtreehash_list.h: New file.
63410         * lib/gl_rbtreehash_list.c: New file.
63411         * lib/gl_anytreehash_list1.h: New file.
63412         * lib/gl_anytreehash_list2.h: New file.
63413
63414         * lib/gl_oset.h: New file.
63415         * lib/gl_oset.c: New file.
63416         * lib/gl_array_oset.h: New file.
63417         * lib/gl_array_oset.c: New file.
63418         * lib/gl_avltree_oset.h: New file.
63419         * lib/gl_avltree_oset.c: New file.
63420         * lib/gl_rbtree_oset.h: New file.
63421         * lib/gl_rbtree_oset.c: New file.
63422         * lib/gl_anytree_oset.h: New file.
63423
63424 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63425
63426         * m4/mkancesdirs.m4: New file.
63427         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
63428         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
63429         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
63430         it.
63431
63432 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63433
63434         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
63435         * lib/mkancesdirs.h: New files.
63436         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
63437         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
63438         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
63439         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
63440         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
63441         callers changed.  Revamp internals significantly, by not
63442         attempting to create directories that are temporarily more
63443         permissive than the final results.  Do not attempt to use
63444         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
63445         This removes some race conditions, fixes some bugs, and simplifies
63446         things.  Use new dirchownmod function to do owner and mode changes.
63447         * lib/mkdir-p.h: Likewise.
63448         * lib/modechange.c (octal_to_mode): New function.
63449         (struct mode_change): New member mentioned.
63450         (make_node_op_equals): New arg mentioned.  All callers changed.
63451         (mode_compile): Keep track of which mode bits the user has explicitly
63452         mentioned.
63453         (mode_adjust): New arg DIR, so that we implement the X op correctly.
63454         New arg PMODE_BITS, to keep track of which mode bits the user
63455         mentioned; it treats S_ISUID and S_ISGID speciall.
63456         All callers changed.
63457         * lib/modechange.h: Likewise.
63458
63459 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63460
63461         * MODULES.html.sh: Add mkancestors.
63462         * modules/mkancesdirs: New module.
63463         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
63464         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
63465         The chdir-safer and afs files are now orphans; I'll remove them
63466         unless someone speaks up.
63467         Add lib/dirchownmod.c, lib/dirchownmod.h.
63468         (Depends-on): Remove alloca, chown, save-cwd, dirname.
63469         Add lchown, mkancesdirs.
63470         (Maintainer): Add self.
63471
63472 2006-07-15  Karl Berry  <karl@gnu.org>
63473
63474         * gnulib-tool: help message wording/arrangement.
63475
63476 2006-07-14  Simon Josefsson  <jas@extundo.com>
63477
63478         * doc/gnulib.texi (Libtool and Windows): New section.
63479
63480 2006-07-12  Simon Josefsson  <jas@extundo.com>
63481
63482         * modules/gendocs (License): Fix license, approved by Karl.
63483
63484 2006-07-12  Eric Blake  <ebb9@byu.net>
63485
63486         * MODULES.html.sh: Add gendocs.
63487
63488 2006-07-11  Eric Blake  <ebb9@byu.net>
63489
63490         * modules/fdl: New module, to install doc/fdl.texi.
63491         * MODULES.html.sh: Add new section for documentation modules.
63492         * gnulib-tool: Avoid space-tab.
63493         (--doc-base): New option, to manage files from doc.
63494
63495 2006-07-11  Eric Blake  <ebb9@byu.net>
63496
63497         * m4/absolute-header.m4: Fix comments to match recent change.
63498
63499 2006-07-11  Eric Blake  <ebb9@byu.net>
63500
63501         * gnulib-tool: List --doc-base before --tests-base.
63502
63503 2006-07-11  Derek R. Price  <derek@ximbiot.com>
63504
63505         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
63506
63507 2006-07-11  Bruno Haible  <bruno@clisp.org>
63508
63509         * README: Mention where to put documentation.
63510
63511 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63512
63513         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
63514
63515 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63516
63517         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
63518         to stdint.m4.
63519
63520 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63521
63522         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
63523         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
63524         "no/such/file/stdint.h" when there is no such file, so that
63525         the resulting C code can be parsed by dodgy compilers.
63526         Problems reported by Bob Proulx.
63527
63528 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63529
63530         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
63531         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63532         macros into the GNU _D_EXACT_NAMLEN.
63533         * lib/savedir.c:  Likewise.
63534         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
63535
63536 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63537         and Paul Eggert  <eggert@cs.ucla.edu>
63538
63539         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
63540         * m4/savedir.m4:
63541         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63542         macros into the GNU _D_EXACT_NAMLEN.
63543
63544 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63545
63546         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
63547         around the absolute name, to work around a problem with the HP-UX
63548         11.23 native C compiler, reported by Bob Proulx.
63549
63550 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63551
63552         * doc/maintain.texi, make-stds.texi: Sync from
63553         <http://savannah.gnu.org/projects/gnustandards>.
63554
63555 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63556
63557         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
63558
63559 2006-07-09  Jim Meyering  <jim@meyering.net>
63560
63561         * m4/glob.m4: Remove a doubled word in a comment.
63562
63563 2006-07-09  Jim Meyering  <jim@meyering.net>
63564
63565         * lib/argp-pv.c: Remove a doubled word in a comment.
63566         * lib/check-version.c (check_version): Likewise.
63567         * lib/javacomp.c (compile_java_class): Likewise.
63568
63569 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
63570
63571         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
63572         for the benefit of people using Autoconf 2.60.  If you want to
63573         support older Autoconf versions you can copy m4/onceonly_2_57.m4
63574         (or m4/onceonly.m4, if pre-2.57) manually.
63575
63576 2006-07-08  Jim Meyering  <jim@meyering.net>
63577
63578         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
63579         comment.
63580         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
63581         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
63582         comment.
63583
63584 2006-07-08  Jim Meyering  <jim@meyering.net>
63585
63586         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
63587
63588 2006-07-07  Simon Josefsson  <jas@extundo.com>
63589
63590         * tests/test-crc.c: Change expected crc value, the test vector
63591         were probably computed using the old broken crc.c?
63592
63593 2006-07-06  Simon Josefsson  <jas@extundo.com>
63594
63595         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
63596         now the canonical place for the M4 file).
63597
63598         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
63599         from the sys_socket dependency now.
63600
63601         * modules/inet_pton (Files): Ditto.
63602
63603         * modules/inet_ntop (Files): Ditto.
63604
63605 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63606
63607         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
63608         not gl_PREREQ_GETUSERSHELL.
63609
63610 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63611
63612         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
63613         with only one argument, for Autoconf 2.60.
63614         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
63615         expand to nothing, so add a shell command to avoid syntax error.
63616         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
63617
63618 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63619
63620         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
63621
63622 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63623
63624         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
63625         no longer needed.  Check for isblank decl.
63626         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
63627         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
63628         of existence.
63629
63630 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         * lib/getloadavg.c: Use __VMS, not VMS.
63633         * lib/getopt.c: Likewise.
63634         * lib/getpagesize.h: Likewise.
63635         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
63636         and probably does not work.
63637
63638 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63639
63640         * lib/.cppi-disable: Add wcwidth.
63641         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
63642         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
63643         (ISGRAPH): Remove.  All uses changed to isgraph.
63644         (FOLD) [!defined _LIBC]: Remove special case.
63645         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
63646         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
63647         HAVE_ISBLANK.
63648         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
63649         case.
63650
63651 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
63652
63653         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
63654         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
63655         brackets.  Other minor changes to suppress some compiler
63656         warnings.
63657
63658 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63659         and Paul Eggert  <eggert@cs.ucla.edu>
63660
63661         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
63662         of invoking obsolescent AC_HEADER_DIRENT macro.
63663         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63664         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
63665         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63666         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
63667         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
63668         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63669         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
63670         * m4/readdir.m4: Remove; no longer needed.
63671
63672 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63673         and Paul Eggert  <eggert@cs.ucla.edu>
63674
63675         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
63676         Don't worry about this obsolete case any more.
63677         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
63678         directories.
63679         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
63680         worry about this obsolete case any more.
63681         * lib/fts.c: Likewise.
63682         * lib/getcwd.c: Likewise.
63683         * lib/glob.h: Likewise.
63684         * lib/savedir.c: Likewise.
63685
63686 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63687
63688         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
63689         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
63690         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
63691         needed.
63692         All uses removed.
63693         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63694         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63695         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
63696         needed.
63697         * m4/getdate.m4 (gl_GETDATE): Likewise.
63698         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63699         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63700         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63701         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63702         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63703         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63704         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
63705         needed.
63706
63707 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63708
63709         * lib/memcasecmp.c: Include <limits.h>.
63710         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
63711         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
63712         Don't assume isdigit succeeds only on '0' through '9'.
63713
63714 2006-07-05  Eric Blake  <ebb9@byu.net>
63715
63716         * modules/getaddrinfo (Depends-on): Add snprintf.
63717
63718 2006-07-05  Eric Blake  <ebb9@byu.net>
63719
63720         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
63721         to avoid 'header present but could not be compiled' on cygwin.
63722
63723 2006-07-05  Eric Blake  <ebb9@byu.net>
63724
63725         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
63726         missing from netdb.h.
63727         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
63728
63729 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63730
63731         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
63732         no longer needed.
63733         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
63734         * m4/getdate.m4 (gl_GETDATE): Likewise.
63735         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63736         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63737         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63738         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63739         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63740
63741 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63742
63743         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
63744         All uses of is_space replaced by isspace.
63745         * lib/exit.h: Don't talk about STDC_HEADERS.
63746         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
63747         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
63748         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
63749         replaced by isprint etc.
63750         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
63751         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63752         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
63753         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
63754         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
63755         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63756
63757 2006-07-05  Bruno Haible  <bruno@clisp.org>
63758
63759         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
63760         the function exists, before testing against AIX.
63761         Reported by Martin Lambers <marlam@marlam.de>.
63762
63763 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63764
63765         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
63766         From Mark D. Baushke.
63767
63768 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63769
63770         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
63771         to the absolute name, not just one, to bypass Sun C 5.8's
63772         "warning: #include of /usr/include/... may be non-portable".
63773
63774 2006-07-04  Eric Blake  <ebb9@byu.net>
63775
63776         * modules/dirname-tests: New test module.
63777         * tests/test-dirname.c: New file, replacing dirname.c
63778         TEST_DIRNAME section that was recently deleted.
63779
63780 2006-07-04  Bruno Haible  <bruno@clisp.org>
63781
63782         Assume ANSI C header files and <ctype.h> functions.
63783         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
63784         (mbsnwidth): Use isprint, iscntrl instead.
63785
63786 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63787
63788         Merge from coreutils.
63789         * MODULES.html.sh: Add xstrtold.
63790         * modules/xstrtold: New file.
63791         * modules/cycle-check (Files): Add lib/same-inode.h.
63792         * modules/dirname (Files): Add m4/double-slash-root.m4.
63793         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
63794         * modules/mkdir-p (Files): Add lib/same-inode.h.
63795         * modules/same (Files): Add lib/same-inode.h.
63796
63797 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63798
63799         * m4/absolute-header.m4: Renamed from full-header-path.m4.
63800         This is to keep the terminology clean; POSIX talks about
63801         "absolute pathnames", not "full pathnames", but the GNU
63802         Coding Standards say to use "path" for something else;
63803         so use "absolute" to keep both sides happy.
63804         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
63805         Set gl_absolute_header, not gl_full_header_path.
63806         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
63807         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
63808         All uses changed.
63809
63810         Merge from coreutils.
63811
63812         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
63813
63814         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
63815         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
63816         want to require the building of c-strtod.o.
63817         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
63818         needs -lm directly.
63819         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
63820
63821         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
63822
63823         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
63824         --as-needed option if available.  Problem reported by Albert Chin in
63825         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
63826         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
63827         cc merely issues a bunch of annoying warnings for --as-needed
63828         (this problem was reported by Bob Proulx).  Also, try linking with
63829         -lm to detect a bug in binutils 2.16 (this problem was reported
63830         by Ralf Wildenhues).
63831
63832         2006-06-18  Jim Meyering  <jim@meyering.net>
63833
63834         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
63835         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
63836         macro.
63837         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
63838         also check for glibc-2.4's abort-inducing bug.
63839
63840         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
63841         Low-probability clean-up should be to use rmdir to get rid of
63842         the just-created directory, not unlink.
63843
63844         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
63845         configure fail, and request a bug report to inform us about it.
63846         Add a comment that, barring reports to the contrary, in 2007 we'll
63847         assume ftruncate is universally available.
63848
63849         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
63850
63851         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
63852
63853         2006-03-12  Jim Meyering  <jim@meyering.net>
63854
63855         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
63856         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
63857         * m4/same.m4 (gl_SAME): Likewise.
63858         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
63859
63860         2006-03-11  Eric Blake  <ebb9@byu.net>
63861
63862         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
63863         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
63864         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
63865         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
63866
63867 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63868
63869         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
63870         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
63871         reported by Mark D. Baushke, one in
63872         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
63873
63874         Merge from coreutils.
63875
63876         * lib/.cppi-disable: Add stdint_.h.
63877         * lib/.cvsignore: Add stdint.h.
63878
63879         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
63880
63881         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
63882         both double and long double versions.
63883         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
63884         * lib/xstrtold.c: New file.
63885         * lib/xstrtod.h (xstrtold): New decl.
63886
63887         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
63888
63889         * lib/filemode.c (setst): Remove.
63890         (strmode): Rewrite to avoid setst.  This makes the code shorter,
63891         (arguably) clearer, and the generated code is a bit smaller on my
63892         Debian GNU/Linux stable x86 host.
63893
63894         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
63895
63896         * lib/filemode.c: Include "filemode.h" first, to test the interface.
63897         Assume that filemode.h includes sys/types.h and sys/stat.h.
63898         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
63899         (ftypelet): Reorder to put common cases first, for efficiency.
63900         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
63901         to do 'M'.
63902         (strmode): Renamed from mode_string, and now stores 12 bytes instead
63903         of 10, for compatibility with FreeBSD.  All callers changed.
63904         (filemodestring): Now stores 12 bytes instead of 10, and sets file
63905         types that can't be deduced solely from st_mode.  First arg is now a
63906         const pointer.
63907         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
63908         (strmode): Renamed from mode_string.
63909         (filemodestring): New decl.
63910         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
63911         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
63912         needed.
63913         (S_ISPORT, S_ISWHT): New macros, if not already defined.
63914
63915         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
63916
63917         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
63918         fsusage.h now does that.  Include fsusage.h first, to test interface.
63919         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
63920         at most one method (the old code could have generated decls that
63921         didn't conform to C89, not that this was ever exercised).
63922         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
63923
63924         2006-03-19  Jim Meyering  <jim@meyering.net>
63925
63926         Work even in a chroot where d_ino values for entries in "/"
63927         don't match the stat.st_ino values for the same names.
63928         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
63929         number, iterate through all entries again, using lstat instead.
63930         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
63931         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
63932
63933         * lib/getcwd.c (__getcwd): Clarify a comment.
63934         Use memcpy in place of a call to strcpy.
63935
63936         2006-03-12  Jim Meyering  <jim@meyering.net>
63937
63938         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
63939         matches that of the current directory (which we're about to chdir ".."
63940         out of), then save the dev-ino of the parent, instead.
63941
63942         * lib/same-inode.h (SAME_INODE): New file/macro.
63943         * lib/chdir-safer.c (SAME_INODE): Remove definition.
63944         Include "same-inode.h", instead.
63945         * lib/same.c: Likewise.
63946         * lib/cycle-check.h: Include "same-inode.h".
63947         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
63948         * lib/cycle-check.c (SAME_INODE): Remove definition.
63949         * lib/root-dev-ino.h: Include "same-inode.h".
63950
63951         2006-03-11  Eric Blake  <ebb9@byu.net>
63952
63953         * lib/same.c (same_name): s/base_name/last_component/
63954         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
63955         * lib/filenamecat.c (file_name_concat): Likewise.
63956
63957         2006-03-11  Eric Blake  <ebb9@byu.net>,
63958                     Paul Eggert  <eggert@cs.ucla.edu>
63959
63960         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
63961         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
63962         drive prefix.
63963         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
63964         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
63965         (last_component): New method.
63966         * lib/dirname.c (dir_len): Determine when drive letters need a
63967         subsequent slash.  Preserve // when it is special.
63968         (dir_name): Don't append dot when drive letter is absolute.
63969         [TEST_DIRNAME]: Move into a full-blown gnulib test.
63970         * lib/basename.c (base_name): New semantics - malloc the result.
63971         Preserve // when it is special.  Preserve relative files that look
63972         like drive letters.
63973         (base_len): Preserve // when it is special.
63974         (last_component): New method, similar to old base_name semantics.
63975         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
63976         base_name.  Strip redundant slashes from ///.
63977
63978 2006-07-03  Jim Meyering  <jim@meyering.net>
63979
63980         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
63981         macro is used before the first cycle_check call.
63982
63983 2006-07-03  Eric Blake  <ebb9@byu.net>
63984
63985         * modules/dirname (Depends-on): Add xstrndup.
63986
63987 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63988
63989         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
63990         test cases, so that config.log is a bit easier to follow.
63991
63992 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63993
63994         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
63995         both are 64 bits, since this seems to be the tradition, and this
63996         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
63997         we ever run into a host that prefers long long to long in this
63998         case, we'll need another configure-time test.  Problem reported by
63999         Jim Meyering.
64000
64001 2006-07-02  Eric Blake  <ebb9@byu.net>
64002
64003         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
64004
64005 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64006
64007         * modules/inttypes (Depends-on): No longer depends on stdint.
64008         * modules/stdint (Description): Say more about assumptions.
64009         Say that the fast types might differ.  Say macros are used.
64010         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
64011         (Makefile.am): Revise list of substituted symbols to match
64012         new stdint.m4.
64013         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
64014         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
64015         * tests/test-stdint.c (verify_same_types)
64016         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
64017         the code conforms to C99/C89.
64018         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
64019         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
64020
64021 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64022
64023         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
64024         but fix a bug, by requiring at least 64 bits.
64025         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64026         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
64027         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
64028         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
64029
64030         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
64031         changes.  Make 2.59 a prerequisite.  Check and substitute for
64032         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
64033         inttypes.h.  Do not use special include files; just use the
64034         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
64035         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
64036         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
64037         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
64038         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
64039         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
64040         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
64041         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
64042         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
64043         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
64044         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
64045         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
64046         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
64047         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
64048         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
64049         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
64050         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
64051         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
64052         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
64053         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
64054         WINT_MAX.  Check for C99 conformance more strictly, by detecting
64055         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
64056         not check for things that C99 does not require, e.g., int8_t.  If
64057         a test isn't needed unless <stdint.h> isn't working, and is
64058         unlikely to be needed for any other reason, then don't do it
64059         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
64060         size_t, since we assume C89 freestanding at least.  Do not check
64061         for sig_atomic_t, wchar_t, or wint_t, since the code now does
64062         the right thing even if the types are not defined.  Instead use:
64063         (gl_STDINT_TYPE_PROPERTIES): New macro.
64064         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
64065         testing whether <sys/types.h> clashes, as Autoconf does this for
64066         us now.  All uses removed.
64067         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
64068         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
64069         (gl_CHECK_TYPE_SAME):
64070         Remove; no longer needed.
64071         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
64072         exists, since we'll return 0 anyway in that case.
64073         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
64074
64075 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64076
64077         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
64078         possible collision with system files.
64079         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
64080         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
64081         WCHAR_MIN and WCHAR_MAX in this case.
64082         (<stddef.h>): Do not include; no longer needed.
64083         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
64084         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
64085         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
64086         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
64087         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
64088         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
64089         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
64090         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
64091         !defined(__c99))]: Include in this case too, since it's harmless
64092         now.
64093         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
64094         dangerous to do so.
64095         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
64096         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
64097         (_STDINT_MIN, _STDINT_MAX): New macros.
64098         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
64099         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
64100         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
64101         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
64102         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
64103         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
64104         macros, not typedefs; this simplifies things quite a bit.
64105         Use long int for all types narrower than int64_t.
64106         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
64107         Define in terms of long long int or int64_t or long int,
64108         not int64_t or int32_t.  This saves some compile-time testing.
64109         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
64110         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
64111         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
64112         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
64113         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
64114         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
64115         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
64116         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
64117         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
64118         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
64119         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
64120         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
64121         undef any previous version and define our own version, for
64122         simplicity and consistency with the new macros for types.
64123         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
64124         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
64125         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
64126         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
64127         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
64128         @WINT_T_SUFFIX@ to keep things simple here.
64129         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
64130         Simplify by assuming typical 8/16/32/64 host, since we're
64131         already doing that elsewhere anyway.
64132         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
64133         and assume long long int is 64 bits if available.  This
64134         speeds up 'configure'.
64135
64136 2006-07-01  Eric Blake  <ebb9@byu.net>
64137
64138         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
64139         Reported by Andreas Buening.
64140
64141 2006-07-01  Eric Blake  <ebb9@byu.net>
64142
64143         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
64144
64145 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
64146
64147         * lib/getaddrinfo.c: fixed typo
64148
64149 2006-06-29  Jim Meyering  <jim@meyering.net>
64150
64151         * modules/strftime (Maintainer): Add my name, since with the
64152         FPRINTFTIME changes strftime.c has forked from glibc.
64153
64154 2006-06-29  Eric Blake  <ebb9@byu.net>
64155
64156         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
64157
64158 2006-06-29  Eric Blake  <ebb9@byu.net>
64159
64160         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
64161
64162 2006-06-29  Eric Blake  <ebb9@byu.net>
64163
64164         * lib/stat_.h: New file.
64165
64166 2006-06-29  Eric Blake  <ebb9@byu.net>
64167
64168         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
64169         unused static function.
64170
64171 2006-06-29  Eric Blake  <ebb9@byu.net>
64172
64173         * doc/functions.texi (Function Portability): Document missing lstat
64174         on mingw.
64175
64176 2006-06-29  Eric Blake  <ebb9@byu.net>
64177
64178         * MODULES.html.sh: Add sys_stat.
64179         * modules/sys_stat: New module.
64180         * modules/mkstemp (Depends-on): Add sys_stat.
64181
64182 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64183
64184         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
64185
64186 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64187
64188         * m4/c-bs-a.m4: Removed.
64189
64190 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64191
64192         * lib/strftime.c: Assume strftime() exists.
64193
64194 2006-06-29  Derek Price  <derek@ximbiot.com>
64195
64196         * modules/c-bs-a: Removed - \a is C89.
64197         * MODULES.html.sh: Remove c-bs-a.
64198
64199 2006-06-29  Bruno Haible  <bruno@clisp.org>
64200
64201         * modules/wcwidth (License): Change to LGPL.
64202
64203 2006-06-28  Simon Josefsson  <jas@extundo.com>
64204
64205         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
64206         on _WIN32.
64207
64208         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
64209         getnameinfo.
64210
64211 2006-06-28  Simon Josefsson  <jas@extundo.com>
64212
64213         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
64214
64215 2006-06-28  Simon Josefsson  <jas@extundo.com>
64216
64217         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
64218         functions there.  It will succeed on Windows XP, but on Windows
64219         2000 and (presumably) earlier, it will fail, and use the internal
64220         re-implementation.
64221         (use_win32_p): New function.
64222         (getaddrinfo): Use strtoul on servname, to support numeric ports.
64223         Support AI_NUMERICSERV to disable getservbyname.
64224         (getnameinfo): New function, only supports
64225         NI_NUMERICHOST|NI_NUMERICSERV for now.
64226
64227         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
64228         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
64229         getnameinfo.
64230
64231 2006-06-28  Eric Blake  <ebb9@byu.net>
64232
64233         * modules/wcwidth: New file.
64234         * modules/mbchar (Depends-on): Add wcwidth.
64235         * modules/mbswidth (Depends-on): Add wcwidth.
64236         * MODULES.html.sh: Add wcwidth.
64237
64238 2006-06-28  Eric Blake  <ebb9@byu.net>
64239
64240         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
64241         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
64242
64243 2006-06-28  Eric Blake  <ebb9@byu.net>
64244
64245         * lib/xvasprintf.h: Fix comments.
64246
64247 2006-06-28  Eric Blake  <ebb9@byu.net>
64248
64249         * lib/mbchar.h (wcwidth): Include wcwidth.h.
64250         * lib/mbswidth.c (wcwidth): Move from here...
64251         * lib/wcwidth.h: ...to this new file.
64252
64253 2006-06-28  Derek R. Price  <derek@ximbiot.com>
64254
64255         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
64256
64257         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
64258         it's obsolete.
64259         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
64260
64261 2006-06-28  Derek R. Price  <derek@ximbiot.com>
64262
64263         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
64264         Autoconf 2.60 says this stuff was obsolete.
64265
64266 2006-06-28  Bruno Haible  <bruno@clisp.org>
64267
64268         * modules/wcwidth (Files): Add m4/wchar_t.m4.
64269
64270 2006-06-28  Bruno Haible  <bruno@clisp.org>
64271
64272         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
64273         gt_TYPE_WCHAR_T.
64274
64275 2006-06-28  Bruno Haible  <bruno@clisp.org>
64276
64277         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
64278         declaration for wcwidth.
64279         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
64280
64281 2006-06-28  Bruno Haible  <bruno@clisp.org>
64282
64283         * lib/mkdtemp.c [MINGW]: Include <io.h>.
64284         (mkdir): Define using _mkdir.
64285
64286 2006-06-28  Bruno Haible  <bruno@clisp.org>
64287
64288         * lib/getaddrinfo.h: Fix POSIX URL.
64289         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
64290         _WIN32.
64291         (use_win32_p): Make static.
64292         (getaddrinfo): Reject service name if it is empty or does not consist
64293         solely of decimal digits, or if its value is > 65535.
64294         (getnameinfo): Remove useless casts.
64295
64296 2006-06-27  Simon Josefsson  <jas@extundo.com>
64297
64298         * modules/sys_select: New file, suggested by Bruno Haible, Paul
64299         Eggert and Martin Lambers.
64300
64301 2006-06-27  Simon Josefsson  <jas@extundo.com>
64302
64303         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
64304         Eggert and Martin Lambers.
64305
64306 2006-06-27  Bruno Haible  <bruno@clisp.org>
64307
64308         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
64309         result to 0, not to empty.
64310         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
64311
64312 2006-06-27  Bruno Haible  <bruno@clisp.org>
64313
64314         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
64315
64316 2006-06-26  Simon Josefsson  <jas@extundo.com>
64317
64318         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
64319         present.
64320
64321 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
64322
64323         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
64324         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
64325         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
64326
64327 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
64328
64329         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
64330
64331 2006-06-26  Bruno Haible  <bruno@clisp.org>
64332
64333         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
64334
64335 2006-06-26  Bruno Haible  <bruno@clisp.org>
64336
64337         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
64338
64339 2006-06-26  Bruno Haible  <bruno@clisp.org>
64340
64341         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
64342         SGI C compiler in pre-C99 mode.
64343         Suggested by Mark D. Baushke and Larry Jones.
64344
64345 2006-06-26  Bruno Haible  <bruno@clisp.org>
64346
64347         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
64348         WCHAR_MAX.
64349         Reported by Mark D. Baushke and Larry Jones.
64350
64351 2006-06-26  Bruno Haible  <bruno@clisp.org>
64352
64353         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
64354         in pre-C99 mode.
64355         Suggested by Mark D. Baushke and Larry Jones.
64356
64357 2006-06-23  Simon Josefsson  <jas@extundo.com>
64358             Bruno Haible  <bruno@clisp.org>
64359
64360         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
64361         Emit mostlyclean-local rule.
64362         (func_emit_tests_Makefile_am): Likewise.
64363         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
64364
64365 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
64366
64367         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
64368
64369 2006-06-23  Bruno Haible  <bruno@clisp.org>
64370
64371         * tests/test-stdint.c: Update to match ISO C 99 Technical
64372         Corrigendum 1.
64373
64374 2006-06-23  Bruno Haible  <bruno@clisp.org>
64375
64376         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
64377
64378 2006-06-23  Bruno Haible  <bruno@clisp.org>
64379
64380         * lib/stdint_.h: Treat IRIX like OpenBSD.
64381
64382 2006-06-23  Bruno Haible  <bruno@clisp.org>
64383
64384         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
64385         ISO C 99 Technical Corrigendum 1.
64386
64387 2006-06-22  Simon Josefsson  <jas@extundo.com>
64388
64389         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
64390         MinGW.
64391
64392 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64393
64394         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
64395         needed.  Some compiler complained about some of them.  Problem reported
64396         by Larry Jones in
64397         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
64398
64399 2006-06-21  Simon Josefsson  <jas@extundo.com>
64400
64401         * tests/test-getaddrinfo.c: New file.
64402
64403         * modules/getaddrinfo-tests: New file.
64404
64405         * MODULES.html.sh: Add inet_pton.
64406
64407         * modules/inet_pton: New file.
64408
64409 2006-06-21  Simon Josefsson  <jas@extundo.com>
64410
64411         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
64412         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
64413         of using the (limited) gnulib implementation on Windows XP.
64414
64415         * m4/inet_pton.m4: New file.
64416
64417 2006-06-21  Simon Josefsson  <jas@extundo.com>
64418
64419         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
64420         variable.
64421
64422         * lib/socket_.h: Don't define WINVER.
64423
64424         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
64425         slightly modified to work in gnulib.
64426
64427 2006-06-21  Simon Josefsson  <jas@extundo.com>
64428
64429         * doc/gnulib.texi (Windows sockets): Add.
64430
64431 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64432
64433         * lib/read-file.c (fread_file): Start with buffer allocation of
64434         0 bytes rather than 1 byte; this simplifies the code.
64435         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
64436         code to free buffer and save/restore errno.
64437         (internal_read_file): Remove unused local.
64438
64439 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64440
64441         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
64442         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
64443         Problem reported by Denis Excoffier in
64444         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
64445
64446 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64447
64448         * modules/sys_socket, modules/socklen: Include sys/types since
64449         FreeBSD 4.x's sys/socket.h needs it.
64450
64451 2006-06-19  Simon Josefsson  <jas@extundo.com>
64452
64453         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
64454
64455 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
64456
64457         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
64458
64459 2006-06-19  Bruno Haible  <bruno@clisp.org>
64460
64461         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
64462         and FULL_PATH_INTTYPES_H in angle brackets.
64463         Reported by Mark D. Baushke <mdb@gnu.org>.
64464
64465 2006-06-17  Eric Blake  <ebb9@byu.net>
64466
64467         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
64468         errno.
64469
64470 2006-06-17  Bruno Haible  <bruno@clisp.org>
64471
64472         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
64473         <sys/inttypes.h>.
64474
64475 2006-06-17  Bruno Haible  <bruno@clisp.org>
64476
64477         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
64478         whether errno is declared. Assume <errno.h> declares errno.
64479
64480 2006-06-17  Bruno Haible  <bruno@clisp.org>
64481
64482         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
64483
64484 2006-06-17  Bruno Haible  <bruno@clisp.org>
64485
64486         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
64487         problem on Solaris 2.5.1.
64488
64489 2006-06-16  Eric Blake  <ebb9@byu.net>
64490
64491         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
64492         * lib/unicodeio.c [!defined errno]: Likewise.
64493         * lib/strtol.c [!defined errno]: Likewise.
64494         * lib/strtod.c [!defined errno]: Likewise.
64495
64496 2006-06-15  Eric Blake  <ebb9@byu.net>
64497
64498         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
64499
64500 2006-06-15  Eric Blake  <ebb9@byu.net>
64501
64502         * config/srclist.txt (ssize_t.m4): Lose sync.
64503
64504 2006-06-15  Bruno Haible  <bruno@clisp.org>
64505
64506         * modules/stdint (Files): Include m4/full-header-path.m4,
64507         m4/size_max.m4, m4/wchar_t.m4.
64508         (Makefile.am): Many more substitutions.
64509         * modules/stdint-tests: New file.
64510         * tests/test-stdint.c: New file.
64511
64512 2006-06-15  Bruno Haible  <bruno@clisp.org>
64513
64514         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
64515         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
64516         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
64517         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
64518         gl_CHECK_TYPE_SAME): New macros.
64519
64520 2006-06-15  Bruno Haible  <bruno@clisp.org>
64521
64522         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
64523
64524 2006-06-15  Bruno Haible  <bruno@clisp.org>
64525
64526         * lib/stdint_.h: Rewritten to be fully auto-configured.
64527         Fixes bug on HP-UX/IA64.
64528
64529 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
64530
64531         * lib/getdate.y (__attribute__): Don't define if already defined.
64532         Problem reported by Larry Jones.
64533         * lib/utimens.c (__attribute__): Likewise.
64534
64535 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
64536
64537         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
64538         reported by Andreas Schwab.
64539
64540 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64541             Bruno Haible  <bruno@clisp.org>
64542
64543         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
64544         check for the declaration of strnlen and a run test that exposes the
64545         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
64546         rpl_strndup.
64547
64548 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64549             Bruno Haible  <bruno@clisp.org>
64550
64551         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
64552
64553 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64554
64555         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
64556         compile test, for Tru64 4.0D.
64557
64558 2006-05-28  Karl Berry  <karl@gnu.org>
64559
64560         * config/srclist.txt (printf-args.c): lose sync.
64561
64562 2006-05-26  Martin Lambers  <marlam@marlam.de>
64563
64564         * lib/getpass.c: Updates the test for the native W32 API, and adds
64565         missing includes, thus fixing compilation warnings.
64566
64567 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64568
64569         * lib/exclude.c (exclude_fnmatch): New function.
64570         (excluded_file_name): Call exclude_fnmatch.
64571         * lib/exclude.h (excluded_file_name): New prototype
64572
64573 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
64574
64575         * lib/tempname.c (small_open, large_open): New macros.
64576         (__open, __open64) [!_LIBC]: Remove.
64577         (__gen_tempname): Use small_open and large_open instead of __open
64578         and __open64.  This fixes a portability bug on HP-UX 11.11i
64579         reported by Simon Wing-Tang in
64580         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
64581
64582 2006-05-24  Bruno Haible  <bruno@clisp.org>
64583
64584         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
64585         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
64586         Reported by Thorsten Maerz <torte@netztorte.de> via
64587         Aaron Stone <aaron@serendipity.cx>.
64588
64589 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64590
64591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
64592         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
64593         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
64594         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
64595         not really conditional on the cache.
64596         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
64597
64598 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64599
64600         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
64601         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
64602         (my_usleep): Don't mishandle maximum value.
64603
64604 2006-05-19  Jim Meyering  <jim@meyering.net>
64605
64606         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
64607
64608 2006-05-17  Bruno Haible  <bruno@clisp.org>
64609
64610         Cygwin portability.
64611         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
64612
64613 2006-05-17  Bruno Haible  <bruno@clisp.org>
64614
64615         * lib/stdint_.h: Fix recognition of Cygwin.
64616
64617 2006-05-15  Bruno Haible  <bruno@clisp.org>
64618
64619         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
64620         on libtool patch by Ralf Wildenhues.
64621
64622 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64623
64624         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
64625         test for C99 conformance; (bool) 0.5 is an integer constant
64626         expression, but (bool) -0.5 is not.  Problem reported by Fedor
64627         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
64628
64629 2006-05-11  Simon Josefsson  <jas@extundo.com>
64630
64631         * m4/xvasprintf.m4: Fix obvious typo.
64632
64633 2006-05-11  Jim Meyering  <jim@meyering.net>
64634
64635         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
64636         James Lemley.
64637
64638 2006-05-10  Simon Josefsson  <jas@extundo.com>
64639
64640         * lib/md4.c: Typo fix, update copyright years.
64641         (K1, K2): Don't use L because it turn computations into 64-bit on
64642         64-bit platforms.
64643
64644 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
64645
64646         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
64647         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
64648         unwanted sign propagation, e.g., on hosts with 64-bit int.
64649         There still are some problems with reeelly weird theoretical hosts
64650         (e.g., 33-bit int) but it's not worth worrying about now.
64651         * lib/sha1.c (rol): Likewise.
64652         (K1, K2, K3, K4): Remove unnecessary L suffix.
64653
64654 2006-05-10  Bruno Haible  <bruno@clisp.org>
64655
64656         * lib/des.c: Cast to avoid warnings.
64657
64658 2006-05-09  Bruno Haible  <bruno@clisp.org>
64659
64660         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
64661         (Depends-on): Depend also on xsize, stdarg.
64662         (configure.ac): Add gl_XVASPRINTF.
64663
64664 2006-05-09  Bruno Haible  <bruno@clisp.org>
64665
64666         * m4/xvasprintf.m4: New file.
64667
64668 2006-05-09  Bruno Haible  <bruno@clisp.org>
64669
64670         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
64671         (EOVERFLOW): Define fallback value.
64672         (xstrcat): New function.
64673         (xvasprintf): Recognize the special case of a string concatenation.
64674
64675 2006-05-08  Eric Blake  <ebb9@byu.net>
64676
64677         * gnulib-tool (func_version): Base copyright year on CVS date.
64678         (func_emit_copyright_notice): New function.
64679         (func_emit_lib_Makefile_am): Use it.
64680         (func_emit_tests_Makefile_am): Likewise.
64681         (func_import): Likewise.
64682
64683 2006-05-08  Bruno Haible  <bruno@clisp.org>
64684
64685         * modules/stdarg: New file.
64686         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
64687
64688 2006-05-08  Bruno Haible  <bruno@clisp.org>
64689
64690         * m4/stdarg.m4: New file, from GNU gettext.
64691
64692 2006-05-08  Bruno Haible  <bruno@clisp.org>
64693
64694         * config/srclist.txt (build-aux/config.rpath): different from latest
64695         release.
64696
64697 2006-05-08  Bruno Haible  <bruno@clisp.org>
64698
64699         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
64700
64701 2006-05-05  Jim Meyering  <jim@meyering.net>
64702
64703         * m4/warning.m4: New file, derived from bison's file by the same name.
64704
64705 2006-05-03  Bruno Haible  <bruno@clisp.org>
64706
64707         * lib/stdint_.h: Shorter URL.
64708         * lib/inttypes.h: Likewise.
64709
64710 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64711
64712         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
64713
64714 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64715
64716         * lib/verify.h: Document the internals better.  Most of this change
64717         was written by Bruno Haible.
64718
64719 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64720
64721         * doc/verify.texi: New file, partly based on a proposal by
64722         Bruno Haible.
64723
64724 2006-05-02  Bruno Haible  <bruno@clisp.org>
64725
64726         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
64727         test from here...
64728         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
64729
64730 2006-04-29  Bruno Haible  <bruno@clisp.org>
64731
64732         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
64733         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
64734
64735 2006-04-29  Bruno Haible  <bruno@clisp.org>
64736
64737         * gnulib-tool: Make --update option actually work.
64738
64739 2006-04-29  Bruno Haible  <bruno@clisp.org>
64740
64741         * doc/gcd.texi: New file.
64742         * doc/gnulib.texi: Include it.
64743
64744 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
64745
64746         * lib/getdate.y (get_date): When adding relative date, start with the
64747         initial time, not with the result of the first mktime call.
64748
64749 2006-04-25  Bruno Haible  <bruno@clisp.org>
64750
64751         * gnulib-tool (func_import): Output the include directives in three
64752         blocks, sorted separately.
64753         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64754
64755 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64756
64757         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
64758         to define main with arguments, for C++.  Reported by Eric Blake.
64759         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
64760         Prefer 'int main ()' to 'int main (void)', for C++.
64761         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
64762         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
64763         for 'main', for C99 and C++.
64764
64765 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64766
64767         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
64768         Don't assume that exit status -1 is valid.
64769         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64770         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
64771         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64772         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
64773         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
64774         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
64775         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
64776         functions can be used without declaring them, or that you can
64777         exit with status -1.
64778         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64779
64780 2006-04-24  Karl Berry  <karl@gnu.org>
64781
64782         * config/srclist.txt (longdouble.m4): sync lost.
64783
64784 2006-04-24  Eric Blake  <ebb9@byu.net>
64785
64786         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
64787
64788 2006-04-24  Bruno Haible  <bruno@clisp.org>
64789
64790         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
64791         poll() implementation in AIX.
64792         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64793
64794 2006-04-24  Bruno Haible  <bruno@clisp.org>
64795
64796         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
64797         assigned exactly once.
64798
64799 2006-04-23  Claudio Fontana  <claudio@gnu.org>
64800             Bruno Haible  <bruno@clisp.org>
64801
64802         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
64803         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
64804         for AM_CPPFLAGS.
64805
64806 2006-04-23  Bruno Haible  <bruno@clisp.org>
64807
64808         * modules/copy-file: Depend on unistd.
64809         * modules/execute: Likewise.
64810         * modules/fatal-signal: Likewise.
64811         * modules/findprog: Likewise.
64812         * modules/mkdtemp : Likewise.
64813         * modules/pipe: Likewise.
64814         * modules/wait-process: Likewise.
64815
64816 2006-04-23  Bruno Haible  <bruno@clisp.org>
64817
64818         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
64819         condition was already detected.
64820         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64821
64822 2006-04-23  Bruno Haible  <bruno@clisp.org>
64823
64824         * lib/copy-file.c: Include <unistd.h> unconditionally.
64825         * lib/execute.c: Likewise.
64826         * lib/fatal-signal.c: Likewise.
64827         * lib/findprog.c: Likewise.
64828         * lib/mkdtemp.c: Likewise.
64829         * lib/pipe.h: Likewise.
64830         * lib/pipe.c: Likewise.
64831         * lib/wait-process.h: Likewise.
64832
64833 2006-04-23  Bruno Haible  <bruno@clisp.org>
64834
64835         * gnulib-tool (func_usage): Fix --import description. Document
64836         --update.
64837         (func_import): Create temporary file in a temporary directory, if
64838         --dry-run is specified. Silence errors from 'grep' when there are no
64839         m4 files in $m4dir.
64840         (func_create_testdir): Silence errors from 'grep' when there are no
64841         m4 files in $m4dir.
64842         Reported by Karl Berry <karl@freefriends.org>.
64843
64844 2006-04-20  Bruno Haible  <bruno@clisp.org>
64845
64846         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
64847         one argument, so that the code will be portable to Autoconf 2.60.
64848         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
64849         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
64850         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
64851
64852 2006-04-19  Derek Price  <derek@ximbiot.com>
64853             Eric Blake  <ebb9@byu.net>
64854
64855         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
64856         rather than "/full/path.h".  Update comment to match.  Shorten &
64857         generalize m4_translit call via AS_TR_CPP.
64858
64859 2006-04-19  Derek Price  <derek@ximbiot.com>
64860             Eric Blake  <ebb9@byu.net>
64861
64862         * lib/inttypes.h: Correct grammar in comment.
64863
64864 2006-04-18  Derek Price  <derek@ximbiot.com>
64865             Paul Eggert  <eggert@cs.ucla.edu>
64866
64867         * modules/inttypes: New file.
64868         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
64869
64870 2006-04-18  Derek Price  <derek@ximbiot.com>
64871             Paul Eggert  <eggert@cs.ucla.edu>
64872
64873         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
64874         New files.
64875
64876 2006-04-18  Derek Price  <derek@ximbiot.com>
64877             Paul Eggert  <eggert@cs.ucla.edu>
64878
64879         * lib/inttypes.h: New file.
64880         * lib/strtoimax.c: Assume <inttypes.h>.
64881
64882 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
64883
64884         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
64885         isn't mounted.  Problem reported by Kir Kolyshkin.
64886
64887 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64888
64889         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
64890         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
64891         Derek R. Price.
64892         * lib/regex.h (RE_DUP_MAX): Update comment to match current
64893         implementation.
64894
64895 2006-04-12  Eric Blake  <ebb9@byu.net>
64896
64897         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
64898         is now done automatically by the corresponding Autoconf macro.
64899
64900 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
64901
64902         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
64903         time_r.h.
64904
64905 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64906
64907         Merge regex changes from libc, removing some of our
64908         POSIX-conformance changes that were rejected and redoing them in a
64909         less-intrusive way.
64910
64911         * lib/regcomp.c (re_compile_internal, init_dfa):
64912         Length arg is now size_t, not Idx.  All uses changed.
64913         (peek_token): Forward decl now says internal_function.
64914         (__re_error_msgid, __re_error_msgid_idx):
64915         Now static rather than extern with attribute_hidden.
64916         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
64917         For some reason libc prefers K&R style defns for external functions.
64918         (regerror) [!defined _LIBC]: Likewise.
64919         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
64920         (seek_collating_symbol_entry, lookup_collation_sequence_value):
64921         (build_range_exp, build_collating_symbol):
64922         Use K&R-style defn.
64923         (re_compile_fastmap): Use '\0' to memset, not 0.
64924         (utf8_sb_map): Make the calculations more obvious.
64925         (init_dfa, parse_bracket_exp, build_charclass_op):
64926         Call calloc and cast result, as glibc does.
64927         (init_word_char, fetch_token, peek_token, peek_token_bracket):
64928         (build_range_exp, build_collating_symbol):
64929         Now internal functions.
64930
64931         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
64932
64933         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
64934         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
64935         Don't depend on VMS; depend on __VMS instead, for POSIX
64936         namespace cleanness.
64937         (regoff_t): Define to ssize_t, not long int.
64938
64939         Remove the REG_ macros named below.  Instead, make the old names
64940         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
64941         __USE_GNU_REGEX.
64942         (REG_BACKSLASH_ESCAPE_IN_LISTS):
64943         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
64944         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
64945         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
64946         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
64947         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
64948         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
64949         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
64950         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
64951         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
64952         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
64953         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
64954         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
64955         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
64956         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
64957         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
64958         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
64959         (REG_NREGS):
64960         Remove.  All uses replaced by the old RE_* names.
64961         (RE_BACKSLASH_ESCAPE_IN_LISTS):
64962         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
64963         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
64964         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
64965         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
64966         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
64967         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
64968         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
64969         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
64970         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
64971         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
64972         Don't bother having these macros be independent of each others'
64973         values, since they no longer exist in the POSIX name space.
64974
64975         Rename the following member names back to their old names,
64976         unless !__USE_GNU_REGEX.  All uses changed back.
64977         (buffer): Renamed from re_buffer.
64978         (allocated): Renamed from re_allocated.
64979         (used): Renamed from re_used.
64980         (syntax): Renamed from re_syntax.
64981         (fastmap): Renamed from re_fastmap.
64982         (translate): Renamed from re_translate.
64983         (can_be_null): Renamed from re_can_be_null.
64984         (regs_allocated): Renamed from re_regs_allocated.
64985         (fastmap_accurate): Renamed from re_fastmap_accurate.
64986         (no_sub): Renamed from re_no_sub.
64987         (not_bol): Renamed from re_not_bol.
64988         (not_eol): Renamed from re_not_eol.
64989         (newline_anchor): Renamed from re_newline_anchor.
64990         (num_regs): Renamed from rm_num_regs.
64991         (start): Renamed from rm_start.
64992         (end): Renamed from rm_end.
64993
64994         (free_state): Move up a bit.
64995
64996         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
64997         #define to be empty.
64998         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
64999         when that is what is intended.
65000         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
65001         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
65002         (MAX): New macro.
65003         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
65004         All uses changed back to re_malloc, etc.  It's now the caller's
65005         responsibility to check for overflow; all callers changed.
65006         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
65007         (re_x2nrealloc): Remove.
65008         (free_state): Remove decl.
65009
65010         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
65011         (re_set_registers, re_exec):
65012         Use K&R-style defn.
65013
65014         2006-01-31  Roland McGrath  <roland@redhat.com>
65015
65016         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
65017         Reported by Mike Frysinger <vapier@gentoo.org>.
65018
65019         2006-01-15  Andreas Jaeger  <aj@suse.de>
65020
65021         [BZ #1950]
65022         * lib/regex_internal.c (re_string_reconstruct): Adjust for
65023         build_wcs_upper_buffer change.
65024         (build_wcs_upper_buffer): Change return type.
65025
65026         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
65027
65028         * lib/regex_internal.h: Include <stdint.h> if available.
65029
65030         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
65031
65032         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
65033
65034         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
65035
65036         * lib/regcomp.c: Adjust for changed secondary hash function.
65037
65038         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
65039
65040         * lib/regex.h: Pretty printing.
65041         Clean up namespace a bit.
65042
65043         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
65044
65045         * lib/regexec.c (update_cur_sifted_state, check_arrival,
65046         check_arrival_add_next_nodes): Avoid using uninitialized variable.
65047
65048         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65049                     Ulrich Drepper  <drepper@redhat.com>
65050
65051         [BZ #1302]
65052         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
65053         changed.
65054         (bitset_word_t): Renamed from bitset_word.  All uses changed.
65055
65056         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
65057
65058         [BZ #281]
65059         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
65060         * lib/regcomp.c: Remove unnecessary uses of
65061         unsigned RE_TRANSLATE_TYPE.
65062         * lib/regex_internal.h: Likewise.
65063         * lib/regex_internal.c: Likewise.
65064         * lib/regexec.c: Likewise.
65065         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
65066
65067         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
65068
65069         * lib/regexec.c (find_recover_state): Remove unnecessary
65070         initialization.
65071         (transit_state_bkref): Make DFA a const pointer.
65072         (get_subexp): Likewise.
65073         (check_arrival): Likewise.
65074         (update_cur_sifted_state): Likewise.
65075         (re_search_internal): Likewise.
65076         (prune_impossible_nodes): Likewise.
65077         (acquire_init_state_context): Likewise.
65078         (proceed_next_node): Likewise.
65079         (set_regs): Likewise.
65080         (free_fail_stack_return): Likewise.
65081         (check_arrival_expand_ecl): Mark DFA parameter as const.
65082         (check_arrival_expand_ecl_sub): Likewise.
65083         (check_subexp_limits): Likewise.
65084         (sub_epsilon_src_nodes):  Likewise.
65085         (add_epsilon_src_nodes):  Likewise.
65086         (merge_state_array): Likewise.
65087         (update_regs): Likewise.
65088         (build_trtable): Likewise.
65089         (sift_states_backward): Mark MCTX parameter as const.
65090         (build_sifted_states): Likewise.
65091         (update_cur_sifted_state): Likewise.
65092         (sift_states_mkref): Likewise.
65093         (check_arrival_expand_ecl): Mark eclosure as const.
65094         (check_dst_limits_calc_pos_1): Likewise.
65095         * lib/regex_internal.h (re_match_context_t): Make dfa a const
65096         pointer.
65097
65098         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
65099
65100         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
65101         (transit_state_sb): Likewise.
65102         (transit_state_mb): Likewise.
65103         (sift_states_iter_mb): Likewise.
65104         (check_arrival_add_next_nodes): Likewise.
65105         (check_node_accept_bytes): Change first parameter to pointer-to-const.
65106         [_LIBC] (re_search_2_stub): Use mempcpy.
65107
65108         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
65109         mbrtowc for very simple UTF-8 case.
65110
65111         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
65112         a pointer-to-const.
65113         (re_acquire_state_context): Likewise.
65114         * lib/regex_internal.h: Adjust prototypes.
65115
65116         * lib/regex.c: Prevent using C++ compilers.
65117
65118         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
65119         (re_acquire_state_context): Likewise.
65120
65121 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65122
65123         * modules/regex (Depends-on): Add ssize_t.
65124
65125 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65126
65127         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
65128         translation table.
65129
65130 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65131
65132         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
65133
65134 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
65135             Bruno Haible  <bruno@clisp.org>
65136
65137         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
65138         <sys/types.h> and <inttypes.h>.
65139
65140 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65141
65142         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
65143         `__error_t_defined', so argp.h will not typedef the former.
65144
65145 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
65146
65147         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
65148         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
65149         glibc names.  Even if glibc is changed to conform to POSIX, the
65150         traditional names will be available anyway, since regex depends on
65151         the extensions module.  Also, fix a longstanding typo in the
65152         implementation of Spencer ERE test #75 from grep 2.3.  Problems
65153         reported by Emanuele Giaquinta.  Also, change sense of cached
65154         variable, so that the message makes sense.
65155
65156 2006-03-24  Simon Josefsson  <jas@extundo.com>
65157
65158         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
65159         including some doc fixes.
65160         (base64_encode_alloc): Fix +1 bug on allocation failures.
65161
65162 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65163
65164         * lib/base64.c (base64_encode): Do not read past end of array with
65165         unsanitized input on systems with CHAR_BIT > 8.
65166
65167 2006-03-24  Eric Blake  <ebb9@byu.net>
65168
65169         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
65170
65171 2006-03-22  Karl Berry  <karl@gnu.org>
65172
65173         * config/srclist.txt (*setenv.[ch]): get from coreutils.
65174         * config/srclistvars.sh (COREUTILS): new var.
65175
65176 2006-03-17  Jim Meyering  <jim@meyering.net>
65177
65178         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
65179         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
65180
65181 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65182
65183         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
65184         no longer needs it.  Instead, check that regoff_t is as least
65185         as wide as ptrdiff_t.
65186
65187         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
65188         so that our regex.h stays compatible with the installed regex.
65189         This is helpful for installers who configure --without-included-regex.
65190         Problem reported by Emanuele Giaquinta.
65191
65192 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65193
65194         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
65195         Typedef to long int, not to off_, as POSIX will likely change
65196         in that direction.
65197
65198 2006-03-15  Eric Blake  <ebb9@byu.net>
65199
65200         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
65201
65202 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
65203
65204         * lib/argp-help.c (validate_uparams): Fix typo
65205         * lib/argp-parse.c (argp_default_options): Consistently begin help
65206         messages with a lowercase letter.
65207
65208 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
65209
65210         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
65211         overrun buffers and shouldn't be used (much as gets shouldn't be
65212         used).
65213         * lib/time_r.c (asctime_r, ctime_r): Likewise.
65214
65215 2006-03-08  Simon Josefsson  <jas@extundo.com>
65216
65217         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
65218         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65219
65220 2006-03-08  Simon Josefsson  <jas@extundo.com>
65221
65222         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
65223         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65224
65225 2006-03-08  Simon Josefsson  <jas@extundo.com>
65226
65227         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
65228         signal that configure disabled the device.
65229
65230 2006-03-08  Simon Josefsson  <jas@extundo.com>
65231
65232         * build-aux/maint.mk: Fix refresh-po, to handle no translated
65233         languages.
65234
65235 2006-03-07  Simon Josefsson  <jas@extundo.com>
65236
65237         * modules/getopt (Depends-on): Add unistd.
65238
65239         * modules/unistd: New file.
65240
65241 2006-03-07  Simon Josefsson  <jas@extundo.com>
65242
65243         * modules/gc-random: New file.
65244
65245 2006-03-07  Simon Josefsson  <jas@extundo.com>
65246
65247         * m4/unistd_h.m4: New file.
65248
65249 2006-03-07  Simon Josefsson  <jas@extundo.com>
65250
65251         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
65252         test to be side-effect free by storing the result in the cache
65253         variable gl_cv_lib_readline, and moving the assignment of
65254         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
65255         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65256
65257 2006-03-07  Simon Josefsson  <jas@extundo.com>
65258
65259         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
65260         error on missing devices (the functions will return an error).
65261
65262         * m4/gc.m4: Move random stuff to gc-random.m4
65263
65264 2006-03-07  Simon Josefsson  <jas@extundo.com>
65265
65266         * lib/unistd_.h: New file.
65267
65268 2006-03-07  Simon Josefsson  <jas@extundo.com>
65269
65270         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
65271
65272 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65273
65274         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
65275         Problem reported by Juan Manuel Guerrero.
65276
65277 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65278
65279         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
65280         the unistd module.
65281         * lib/getlogin_r.c: Likewise.
65282         * lib/getlogin_r.h: Likewise.
65283         * lib/glob.c: Likewise.
65284         * lib/pagealign_alloc.c: Likewise.
65285         * lib/unistd_.h: Remove; no longer needed.
65286
65287 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65288
65289         * MODULES.html.sh (Support for systems lacking POSIX:2001):
65290         Add unistd.
65291         * modules/c-stack (Depends-on): Add unistd.
65292         * modules/getlogin_r: Likewise.
65293         * modules/glob: Likewise.
65294         * modules/pagealign_alloc: Likewise.
65295         * modules/unistd (Files): Remove lib/unistd_.h.
65296         (EXTRA_DIST): Remove.
65297         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
65298         need unistd_.h.
65299         (MOSTLYCLEANFILES): Remove unistd.h-t.
65300
65301 2006-03-03  Simon Josefsson  <jas@extundo.com>
65302
65303         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
65304
65305 2006-03-03  Simon Josefsson  <jas@extundo.com>
65306
65307         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
65308         libidn and bison.
65309
65310 2006-03-03  Simon Josefsson  <jas@extundo.com>
65311
65312         * build-aux/maint.mk: Add indent target.
65313
65314 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
65315
65316         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
65317         our replacement poll.h in any case, to avoid a differing
65318         declaration from a system header.  Seen on AIX.
65319
65320 2006-03-01  Simon Josefsson  <jas@extundo.com>
65321
65322         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
65323         <kasal@ucw.cz>.
65324
65325 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65326
65327         * modules/gettime (Depends-on): Add extensions module.
65328         * modules/nanosleep (Depends-on): Likewise.
65329         * modules/settime (Depends-on): Likewise.
65330
65331 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65332
65333         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
65334         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
65335         pedantically.
65336         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
65337         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
65338
65339         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
65340         not "==".  Reported by Ralf Wildenhues.
65341
65342 2006-03-01  Karl Berry  <karl@gnu.org>
65343
65344         * doc/Copyright/request-*: new files, synced from gnuorg.
65345
65346 2006-03-01  Karl Berry  <karl@gnu.org>
65347
65348         * config/srclist.txt (Copyright/*): new entries.
65349
65350 2006-02-28  Simon Josefsson  <jas@extundo.com>
65351
65352         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
65353
65354 2006-02-27  Simon Josefsson  <jas@extundo.com>
65355
65356         * lib/base64.h: Indent #define's.  From Jim Meyering
65357         <jim@meyering.net>.
65358
65359 2006-02-27  Jim Meyering  <jim@meyering.net>
65360
65361         Revert the change of 2006-02-24, so these files can continue
65362         to be sync'd from gettext.
65363         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
65364         of `config.h'.
65365
65366 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65367
65368         * modules/intprops: New file.
65369         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
65370         Add intprops.
65371         * modules/getloadavg (Files): Remove lib/intprops.h.
65372         (Depends-on): Add intprops.
65373         * modules/human: Likewise.
65374         * modules/inttostr: Likewise.
65375         * modules/openat: Likewise.
65376         * modules/sig2str: Likewise.
65377         * modules/userspec: Likewise.
65378         * modules/utimecmp: Likewise.
65379         * modules/xnanosleep: Likewise.
65380         * modules/xstrtol: Likewise.
65381
65382 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
65383
65384         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
65385         * modules/lock-tests (TESTS): Use $(EXEEXT).
65386         * modules/tls-tests: Likewise.
65387         * modules/argp-tests: Likewise.
65388         (check_PROGRAMS): New var, replacing...
65389         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
65390
65391 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65392
65393         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
65394         `config.h'.
65395
65396 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65397
65398         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
65399
65400 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65401
65402         Sync from coreutils.
65403         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
65404         gl_CHDIR_SAFER.
65405
65406 2006-02-22  Jim Meyering  <jim@meyering.net>
65407
65408         Sync from coreutils.
65409         * m4/chdir-safer.m4: New file.
65410
65411 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65412
65413         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
65414         AT_FDCWD exceeds INT_MAX.
65415         * lib/openat.h (AT_FDCWD): Likewise.
65416
65417 2006-02-17  Eric Blake  <address@hidden>
65418
65419         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
65420
65421 2006-02-16  Simon Josefsson  <jas@extundo.com>
65422
65423         * modules/getaddrinfo (Depends-on): Add sys_socket.
65424
65425 2006-02-15  Simon Josefsson  <jas@extundo.com>
65426
65427         * build-aux/maint.mk: Add dsyntax-check rule.
65428
65429 2006-02-15  Eric Blake  <ebb9@byu.net>
65430
65431         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
65432         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
65433         'present but cannot compile' warnings on cygwin.
65434         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
65435         use ws2tcpip.h if sys/socket.h works.
65436         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
65437         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
65438
65439 2006-02-14  Simon Josefsson  <jas@extundo.com>
65440
65441         * modules/maintainer-makefile (Files): Rename.
65442
65443         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
65444         and (the local) Makefile.cfg to maint-cfg.mk.
65445
65446         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
65447         to the latter.
65448
65449         * modules/maintainer-makefile: New module.
65450
65451         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
65452         severaly stripped to make it possible to build it up from scratch
65453         with reliable tests.
65454
65455         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
65456         fixes to permit overriding the default actions when configure and
65457         makefile are not available.
65458
65459 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65460
65461         Sync from coreutils.
65462         * modules/lstat (Depends-on): Don't depend on xalloc.
65463         (License): Change from GPL to LGPL, since this is now simply a
65464         replacement for a libc function.
65465
65466 2006-02-14  Jim Meyering  <jim@meyering.net>
65467
65468         Sync from coreutils.
65469
65470         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
65471         failure on deficient systems, and simplify gnulib lgpl dependencies.
65472         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
65473         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
65474
65475         * lib/xalloc-die.c: Remove unused definition of N_.
65476
65477 2006-02-14  Jim Meyering  <jim@meyering.net>
65478
65479         Sync from coreutils.
65480         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
65481         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
65482         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
65483         double-quote uses of that variable, to accommodate the rare case in
65484         which getmntent is available in none of the libraries checked.  This
65485         happens at least on FreeBSD 5.0.
65486
65487 2006-02-13  Simon Josefsson  <jas@extundo.com>
65488
65489         * gnulib-tool (Usage): Fix --import, from
65490         karl@freefriends.org (Karl Berry).
65491
65492 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
65493
65494         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
65495
65496 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
65497
65498         * lib/argp-namefrob.h: Restore changes accidentally lost during the
65499         "autoupdate" on 2005-12-12.
65500
65501 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
65502
65503         * modules/closeout (Depends-on): Remove atexit.
65504
65505 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
65506
65507         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
65508         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
65509
65510 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65511
65512         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
65513         __EXTENSIONS__ if this causes compilation to fail.  Problem
65514         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
65515         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
65516
65517 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
65518
65519         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
65520         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
65521         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
65522         All uses changed.
65523
65524 2006-01-26  Simon Josefsson  <jas@extundo.com>
65525
65526         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
65527         prototype is visible on mingw32.
65528
65529         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
65530         for mingw32.
65531
65532         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
65533         mingw32).
65534
65535 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
65536
65537         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
65538         attempt to open for write; this always fails, at least on POSIX
65539         hosts.  This reinstates the 2006-01-09 change, which was
65540         inadvertently removed.
65541
65542 2006-01-26  Bruno Haible  <bruno@clisp.org>
65543
65544         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
65545         Reported by Paul Eggert.
65546
65547 2006-01-26  Bruno Haible  <bruno@clisp.org>
65548             Paul Eggert  <eggert@cs.ucla.edu>
65549
65550         * lib/stdbool_.h (_Bool)
65551         [(! (defined __cplusplus || defined __BEOS__)
65552           && !defined __GNUC__
65553           && !(defined __HP_cc || defined __xlc__
65554                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
65555                || defined __sgi))]:
65556         #define to signed char in these cases too; this simplifies
65557         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
65558         etc., separately) and makes it more conservative.
65559
65560 2006-01-25  Simon Josefsson  <jas@extundo.com>
65561
65562         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
65563         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
65564         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
65565
65566 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65567
65568         * lib/argp-namefrob.h: Bugfix. Remove stray #
65569
65570 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
65571
65572         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
65573         so that we test the test.
65574         Check for yet another HP-UX cc bug involving *bool |= bool.
65575
65576 2006-01-25  Karl Berry  <karl@gnu.org>
65577
65578         * config/srclist.txt (vasnprintf.c): sync lost.
65579
65580 2006-01-25  Jim Meyering  <jim@meyering.net>
65581
65582         Sync from the stable (b5) branch of coreutils:
65583
65584         * lib/fts.c (fts_children): Don't let close() clobber errno from
65585         failed fchdir().
65586
65587         * lib/fts.c (fts_stat): When following a symlink-to-directory,
65588         don't necessarily interpret stat-fails+lstat-succeeds as indicating
65589         a dangling symlink.  That can also happen at least for ELOOP.
65590         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
65591         FYI, this bug predates the inclusion of fts.c in coreutils.
65592
65593         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
65594         in their own block, so pre-c99 compilers don't object.
65595
65596         Avoid the double-free (first in fts_read, second in fts_close) that
65597         would occur when an `active' directory is made inaccessible (e.g.,
65598         via chmod a-x) during a traversal.
65599         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
65600         before returning.  Reproduce this failure by
65601         mkdir -p a/b; cd a; chmod a-x . b
65602         Reported by Stavros Passas.
65603
65604 2006-01-25  Jim Meyering  <jim@meyering.net>
65605
65606         * lib/fileblocks.c: Remove more useless parentheses.
65607         * lib/readutmp.h: Likewise.
65608
65609 2006-01-25  Bruno Haible  <bruno@clisp.org>
65610
65611         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
65612         warnings.
65613         Reported by Paul Eggert.
65614
65615 2006-01-25  Bruno Haible  <bruno@clisp.org>
65616
65617         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
65618         rid of a trap command. For Solaris sh.
65619         Reported by Mark D. Baushke <mdb@gnu.org>.
65620
65621 2006-01-24  Simon Josefsson  <jas@extundo.com>
65622
65623         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
65624         Bruno.
65625
65626 2006-01-24  Karl Berry  <karl@gnu.org>
65627
65628         * config/srclist.txt (argp-namefrob.h): sync lost.
65629
65630 2006-01-24  Jim Meyering  <jim@meyering.net>
65631
65632         * modules/openat (Files): Add lib/intprops.h.
65633         From Mark D. Baushke.
65634
65635 2006-01-24  Jim Meyering  <jim@meyering.net>
65636
65637         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
65638         Reported by Mark D. Baushke.
65639
65640 2006-01-24  Jim Meyering  <jim@meyering.net>
65641
65642         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
65643
65644 2006-01-24  Bruno Haible  <bruno@clisp.org>
65645
65646         * modules/strnlen (Maintainer): Change from glibc to all.
65647
65648 2006-01-24  Bruno Haible  <bruno@clisp.org>
65649
65650         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
65651         Patch by Paul Eggert.
65652
65653 2006-01-24  Bruno Haible  <bruno@clisp.org>
65654
65655         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
65656         already has it.
65657         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
65658         2005-11-26.
65659
65660         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
65661         'signed char' to avoid problems with the built-in _Bool type.
65662         Reported by Paul Eggert on 2005-11-26.
65663
65664 2006-01-24  Bruno Haible  <bruno@clisp.org>
65665
65666         * gnulib-tool (func_import): Avoid constructing complicated sed
65667         expressions inside backquote.
65668         Report and solution by Mark D. Baushke <mdb@gnu.org>.
65669
65670 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
65671
65672         These changes imported from libc.
65673         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
65674         test and two separate function calls.
65675         * lib/strndup.c (__strndup): Add libc_hidden_def.
65676
65677 2006-01-23  Simon Josefsson  <jas@extundo.com>
65678
65679         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
65680         Remove the test_*_SOURCES variable: automake infers it by default.
65681         * modules/tls-tests: Likewise.
65682
65683 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65684
65685         Work around porting bugs reported by Dieter in
65686         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
65687         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
65688         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
65689         Include "getopt.h" first, to check interface.
65690         (getenv): Declare only if defined HAVE_DECL_GETENV &&
65691         !HAVE_DECL_GETENV.
65692         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
65693         (__strndup): Revert to K&R-style function dfns, the glibc style.
65694         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
65695         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
65696         Include strnlen.h first, to get prototype properly.
65697         (strnlen): Renamed from __strnlen.
65698         Remove weak alias.
65699
65700 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65701
65702         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
65703
65704 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65705
65706         * config/srclist.txt: Adjust to reflect glibc reorganization.
65707         This affects only comments.
65708
65709 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65710
65711          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
65712          Reported by Bruce Korb <bkorb@gnu.org>.
65713
65714 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
65715
65716         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
65717         to pacify gcc -Wswitch-default.
65718
65719 2006-01-22  Bruno Haible  <bruno@clisp.org>
65720
65721         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
65722         temporary buffer for sprintf, take into account the precision also
65723         for 'd', 'i', 'u', 'o', 'x', 'X'.
65724
65725 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65726
65727         * modules/argp-tests: New module
65728         * tests/test-argp.c: New file
65729         * tests/test-argp-2.sh: New file
65730
65731 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65732
65733         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
65734         (__argp_base_name): Removed
65735         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
65736         typo.
65737         (__argp_base_name): Provide macro definition or extern declaration
65738         depending on the configuration
65739
65740 2006-01-20  Simon Josefsson  <jas@extundo.com>
65741
65742         * modules/inet_ntop (Depends-on): Depend on sys_socket.
65743
65744 2006-01-20  Simon Josefsson  <jas@extundo.com>
65745
65746         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
65747
65748 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
65749
65750         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
65751         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
65752         Suggested by Bruno Haible.
65753
65754 2006-01-20  Karl Berry  <karl@gnu.org>
65755
65756         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
65757         until changes propagate, I guess.
65758
65759 2006-01-19  Simon Josefsson  <jas@extundo.com>
65760
65761         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
65762
65763 2006-01-19  Simon Josefsson  <jas@extundo.com>
65764
65765         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
65766
65767 2006-01-19  Simon Josefsson  <jas@extundo.com>
65768
65769         * gnulib-tool: Set check_PROGRAMS.
65770
65771         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65772         modules/des-tests, modules/gc-arcfour-tests,
65773         modules/gc-arctwo-tests, modules/gc-des-tests,
65774         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65775         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65776         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65777         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65778         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65779         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
65780         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
65781         test_*_SOURCES.
65782
65783 2006-01-18  Simon Josefsson  <jas@extundo.com>
65784
65785         * modules/socklen (Depends-on): Depend on sys_socket.
65786
65787 2006-01-18  Simon Josefsson  <jas@extundo.com>
65788
65789         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65790         modules/des-tests, modules/gc-arcfour-tests,
65791         modules/gc-arctwo-tests, modules/gc-des-tests,
65792         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65793         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65794         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65795         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65796         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65797         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
65798         $(EXEEXT) to automake TESTS variable, for mingw32.
65799
65800 2006-01-17  Simon Josefsson  <jas@extundo.com>
65801
65802         * modules/socklen (Include): Need sys/socket.h.
65803
65804 2006-01-17  Bruno Haible  <bruno@clisp.org>
65805
65806         * modules/ssize_t (Include): Add <sys/types.h>.
65807
65808 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
65809
65810         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
65811         it's not portable and it doesn't work with cross-compiles.
65812         Problem reported by Bruno Haible.  Fix missing-$ typo in
65813         'test "gl_cv_ignore_unused_libraries" ...' that prevented
65814         -zignore from being used with Sun's C compiler.
65815
65816 2006-01-12  Simon Josefsson  <jas@extundo.com>
65817
65818         * lib/base64.c: Fix warning, reported by Bruno Haible
65819         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
65820
65821 2006-01-12  Bruno Haible  <bruno@clisp.org>
65822
65823         * modules/ldd: New file.
65824         * build-aux/ldd.sh.in: New file.
65825         * MODULES.html.sh (Support for building libraries and executables): Add
65826         ldd.
65827
65828 2006-01-12  Bruno Haible  <bruno@clisp.org>
65829
65830         * m4/ldd.m4: New file.
65831
65832 2006-01-12  Bruno Haible  <bruno@clisp.org>
65833
65834         * gnulib-tool (func_import, func_create_testdir): Don't go into an
65835         endless loop while replacing $auxdir with build-aux.
65836
65837 2006-01-11  Simon Josefsson  <jas@extundo.com>
65838
65839         * lib/stdint_.h (SIZE_MAX): Add missing (.
65840
65841 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
65842
65843         Sync from coreutils.
65844         * lib/md5.c: Fix commentary typos.
65845         (alignof, UNALIGNED_P): No need for a GCC-specific version.
65846         * lib/md5.h (__attribute__): Remove; unused.
65847         * lib/sha1.c: Fix commentary to match md5 better.
65848         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
65849         so that we don't need to worry about alignment.  All uses changed.
65850         This merges the 2005-10-28 md5 change into sha1.
65851
65852 2006-01-11  Jim Meyering  <jim@meyering.net>
65853
65854         Sync from coreutils.
65855         * lib/md5.c (OP): Fix spacing.
65856
65857 2006-01-11  Bruno Haible  <bruno@clisp.org>
65858
65859         Ensure automatic ordering between gl_LOCK and gl_ARGP.
65860         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
65861         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
65862
65863 2006-01-11  Bruno Haible  <bruno@clisp.org>
65864
65865         Ensure automatic ordering between gl_LOCK and gl_ARGP.
65866         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
65867         the "early" section as well.
65868
65869 2006-01-11  Bruno Haible  <bruno@clisp.org>
65870
65871         Avoid "ar: no archive members specified" error on MacOS X.
65872         * gnulib-tool (func_modules_add_dummy): New function.
65873         (func_import, func_create_testdir): Invoke it.
65874
65875 2006-01-11  Bruno Haible  <bruno@clisp.org>
65876
65877         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
65878         with $auxdir in AC_CONFIG_FILES statements.
65879
65880 2006-01-11  Bruno Haible  <bruno@clisp.org>
65881
65882         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65883         Initialize also noinst_HEADERS to empty.
65884
65885 2006-01-11  Bruno Haible  <bruno@clisp.org>
65886
65887         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
65888         variables.
65889         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
65890         autoreconf.
65891
65892 2006-01-11  Bruno Haible  <bruno@clisp.org>
65893
65894         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
65895         overridable by the user.
65896         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65897
65898 2006-01-10  Simon Josefsson  <jas@extundo.com>
65899
65900         * modules/sys_socket: New file.
65901
65902 2006-01-10  Simon Josefsson  <jas@extundo.com>
65903
65904         * m4/sys_socket_h.m4: New file.
65905
65906 2006-01-10  Simon Josefsson  <jas@extundo.com>
65907
65908         * lib/socket_.h: New file.
65909
65910 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65911
65912         * modules/readutmp (Maintainer): Add myself.
65913
65914 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65915
65916         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
65917         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
65918         People who are still concerned with buggy memcmp implementations
65919         can invoke gl_FUNC_MEMCMP themselves.
65920
65921 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65922
65923         * lib/regex_internal.h (BITSET_WORD_BITS):
65924         Work around a bug in 64-bit PGC (before version 6.1-2), where the
65925         preprocessor mishandles large unsigned values as if they were signed.
65926         Problem reported by Claudio Fontana in
65927         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
65928
65929 2006-01-10  Jim Meyering  <jim@meyering.net>
65930
65931         Avoid the double-free (first in fts_read, second in fts_close) that
65932         would occur when an `active' directory is made inaccessible (e.g.,
65933         via chmod a-x) during a traversal.
65934         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
65935         before returning.  Reproduce this failure by
65936         mkdir -p a/b; cd a; chmod a-x . b
65937         Reported by Stavros Passas.
65938
65939         Sync from coreutils.
65940         * lib/sha1.c: Tweak grammar in a comment.
65941
65942 2006-01-10  Jim Meyering  <jim@meyering.net>
65943
65944         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
65945         Patch by Joerg Sonnenberger.
65946
65947 2006-01-10  Bruno Haible  <bruno@clisp.org>
65948
65949         * modules/readutmp: Depend on module free.
65950         * modules/strtok_r: Depend on module restrict.
65951
65952 2006-01-10  Bruno Haible  <bruno@clisp.org>
65953
65954         * modules/gettext (configure.ac): Add an invocation of
65955         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
65956
65957 2006-01-10  Bruno Haible  <bruno@clisp.org>
65958
65959         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
65960         Reported by Werner Lemberg <wl@gnu.org>.
65961
65962 2006-01-10  Bruno Haible  <bruno@clisp.org>
65963
65964         * lib/localcharset.c: Update from GNU gettext.
65965
65966 2006-01-10  Bruno Haible  <bruno@clisp.org>
65967
65968         * lib/argp.h (__const): Remove macro. Use const instead.
65969         * lib/argp-fmtstream.h (__const): Likewise.
65970         * lib/glob_.h (__const): Remove macro.
65971         * lib/glob-libc.h: Use const instead of __const.
65972
65973 2006-01-10  Bruno Haible  <bruno@clisp.org>
65974
65975         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
65976         variable.
65977         Needed to avoid an automake error regarding the 'gettext' module.
65978
65979 2006-01-09  Simon Josefsson  <jas@extundo.com>
65980
65981         * modules/inet_ntop (Depends-on): Add restrict.
65982
65983 2006-01-09  Simon Josefsson  <jas@extundo.com>
65984
65985         * modules/gc-rijndael-tests (License): Put under LGPL.
65986
65987         * modules/gc-des-tests (License): Likewise.
65988
65989         * modules/gc-arcfour-tests (License): Likewise.
65990
65991         * modules/gc-arctwo-tests (License): Likewise.
65992
65993         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
65994
65995         * modules/gc-hmac-sha1-tests (Files): Likewise.
65996
65997         * modules/gc-hmac-md5-tests (License): Likewise.
65998
65999         * modules/gc-sha1-tests (License): Likewise.
66000
66001         * modules/gc-md5-tests (License): Likewise.
66002
66003         * modules/gc-md4-tests (License): Likewise.
66004
66005         * modules/gc-md2-tests (License): Likewise.
66006
66007         * modules/gc-tests (License): Likewise.
66008
66009         * modules/des-tests (License): Likewise.
66010
66011         * modules/md4-tests (License): Likewise.
66012
66013         * modules/md2-tests (License): Likewise.
66014
66015 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66016
66017         Sync from coreutils:
66018
66019         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
66020         * modules/lib-ignore: New file.
66021         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
66022         chdir-safer.m4, lchmod.m4.
66023         * modules/openat: Add mkdirat.c, openat-priv.h.
66024
66025 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66026
66027         Sync from coreutils.
66028         * m4/lib-ignore.m4: New file.
66029         * m4/lchmod.m4: New file.
66030
66031 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66032
66033         Sync from coreutils.
66034         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
66035         for write access: POSIX says that must fail.
66036         * lib/fts.c (diropen): Likewise.
66037         * lib/save-cwd.c (save_cwd): Likewise.
66038         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
66039         well, for minor improvements on hosts that lack O_DIRECTORY.
66040         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
66041         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
66042         Fall back on chown if open failed with EACCES.
66043
66044         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
66045         Report an error at compile-time if only a 1-second nominal clock
66046         resolution is found.
66047
66048         * lib/lchmod.h: New file.
66049         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
66050         (make_dir_parents): Use lchown rather than chown, and
66051         lchmod rather than chmod.
66052
66053         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
66054         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
66055         "proc" reported by n0dalus.
66056
66057         * lib/mountlist.c: Include <limits.h>.
66058         (dev_from_mount_options)
66059         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
66060         New function.  It no longer assumes "dev=" has the System V meaning
66061         on Linux (since it doesn't).  It also parses "dev=" more carefully.
66062         (read_file_system_list)
66063         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
66064         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
66065         dev= in that case.
66066
66067         * lib/posixtm.h (PDS_PRE_2000): New macro.
66068         * lib/posixtm.c (year): Arg is now syntax_bits rather than
66069         allow_century.  All usages changed.  Reject dates outside the range
66070         1969-1999 if PDS_PRE_2000 is used.
66071
66072 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66073
66074         Sync from coreutils.
66075         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
66076         (Time of day items): Mention the possibility of leap seconds.
66077         Problem reported by Dr. David Alan Gilbert.
66078
66079 2006-01-09  Jim Meyering  <jim@meyering.net>
66080
66081         Sync from coreutils.
66082
66083         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
66084
66085         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
66086
66087         * lib/modechange.c (mode_compile): Reject an invalid mode string
66088         that starts with an octal digit.  From Andreas Gruenbacher.
66089
66090         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
66091         and dup to open_safer and dup_safer, respectively.
66092         (openat_permissive): Fix typo in comment.
66093
66094         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
66095         "gettext.h"; either no longer needed or are guaranteed by openat.h.
66096         (_): Remove; no longer needed.
66097         (openat): Renamed from rpl_openat; no need for rpl_openat
66098         since openat.h renames openat for us.
66099         Replace most of the body with a call to openat_permissive,
66100         to avoid duplicate code.
66101         Port to (probably hypothetical) environments were mode_t is
66102         wider than int.
66103         (openat_permissive): Require mode arg, so that we can check
66104         types better.  Put it just after flags.  Change cwd failure
66105         indicator from pointer-to-bool to pointer-to-errno-value.
66106         All callers changed.
66107         Invoke openat_save_fail and/or openat_restore_fail if
66108         cwd_errno is null, so that openat can call us.
66109         (openat_permissive, fdopendir, fstatat, unlinkat):
66110         Simplify errno handling to avoid some duplicate code,
66111         as it's OK to set errno on success.
66112         * lib/openat.h: Revamp code so that function macros depend on
66113         __OPENAT_PREFIX only, not also on AT_FDCWD.
66114         (openat_ro): Remove.  Caller changed to use openat_permissive.
66115         (openat_permissive): Now a macro, if not a function.
66116         (openat_restore_fail, openat_save_fail): Now always functions,
66117         since mkdirat needs them even if __OPENAT_PREFIX is defined.
66118
66119         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
66120         and openat.c.
66121         * lib/mkdirat.c: Include openat-priv.h.
66122         Remove definitions of macros defined therein.
66123         * lib/openat.c: Likewise.
66124
66125         * lib/mkdirat.c (mkdirat): New file and function.
66126         * lib/openat.h (mkdirat): Declare.
66127
66128         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
66129
66130         * lib/openat.h (openat_permissive): Declare.
66131         (openat_ro): Define.
66132
66133         * lib/openat.c (EXPECTED_ERRNO): New macro.
66134         (openat_permissive): New function -- used in remove.c rewrite.
66135         (all functions): Set errno just before returning, only if there
66136         was an actual failure.
66137         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
66138
66139         Emulate openat-family functions using Linux's procfs, if possible.
66140         Idea and some code based on Ulrich Drepper's glibc changes.
66141
66142         * lib/openat.c: (BUILD_PROC_NAME): New macro.
66143         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
66144         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
66145         before falling back on save_cwd and restore_cwd.
66146         (fdopendir, fstatat, unlinkat): Likewise.
66147
66148         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
66149         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
66150
66151         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
66152         as second argument to va_arg.  Otherwise, some versions of gcc
66153         warn that `if this code is reached, the program will abort'.
66154
66155 2006-01-09  Jim Meyering  <jim@meyering.net>
66156
66157         Sync from coreutils.
66158         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
66159         Require openat-priv.h.
66160
66161 2006-01-09  Bruno Haible  <bruno@clisp.org>
66162
66163         * modules/strnlen (Include): Use strnlen.h.
66164
66165 2006-01-09  Bruno Haible  <bruno@clisp.org>
66166
66167         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
66168
66169 2006-01-09  Bruno Haible  <bruno@clisp.org>
66170
66171         * lib/sysexit_.h (EX_OK): New macro.
66172         Suggested by Martin Lambers <marlam@marlam.de>.
66173
66174 2006-01-09  Bruno Haible  <bruno@clisp.org>
66175
66176         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
66177         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
66178
66179 2006-01-09  Bruno Haible  <bruno@clisp.org>
66180
66181         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
66182         numbers.
66183
66184 2006-01-09  Bruno Haible  <bruno@clisp.org>
66185
66186         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
66187         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
66188         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
66189         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
66190
66191 2006-01-09  Bruno Haible  <bruno@clisp.org>
66192
66193         * build-aux/javacomp.sh.in: New file, moved from lib/.
66194         * modules/javacomp-script (Files): Update.
66195         (configure.ac): Add AC_CONFIG_FILES invocation.
66196         (EXTRA_DIST): Remove variable.
66197
66198         * build-aux/javaexec.sh.in: New file, moved from lib/.
66199         * modules/javaexec (Files): Update.
66200         (configure.ac): Add AC_CONFIG_FILES invocation.
66201         (EXTRA_DIST): Remove javaexec.sh.in.
66202
66203         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
66204         * modules/csharpcomp-script (Files): Update.
66205         (configure.ac): Add AC_CONFIG_FILES invocation.
66206         (EXTRA_DIST): Remove variable.
66207
66208         * build-aux/csharpexec.sh.in: New file, moved from lib/.
66209         * modules/csharpexec (Files): Update.
66210         (configure.ac): Add AC_CONFIG_FILES invocation.
66211         (EXTRA_DIST): Remove csharpexec.sh.in.
66212
66213 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
66214
66215         Sync from coreutils.
66216
66217         Add POSIX ACL support
66218         * lib/acl.h (copy_acl, set_acl): Add declarations.
66219         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
66220         systems other than Linux.
66221         (chmod_or_fchmod): New function: use fchmod when possible,
66222         and chmod otherwise.
66223         (file_has_acl): Add a POSIX ACL implementation, with a
66224         Linux-specific subcase.
66225         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
66226         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
66227         acls are unsupported.
66228         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
66229         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
66230         are unsupported.
66231
66232 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
66233
66234         Sync from coreutils.
66235         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
66236
66237 2006-01-07  Bruno Haible  <bruno@clisp.org>
66238
66239         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
66240         gl_EARLY.
66241
66242 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66243
66244         * lib/strftime.c (tzname): Don't declare if it is already #defined.
66245         Problem reported for Mingw by Mark Junker.
66246
66247 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66248
66249         * README: Gnulib normally doesn't generate a tarball.
66250
66251 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
66252
66253         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
66254         long int, not int, for nanosecond counts, so that people who are
66255         used to POSIX struct timespec won't be surprised.  Reported by Jim
66256         Meyering.
66257
66258 2005-12-28  Bruno Haible  <bruno@clisp.org>
66259
66260         * build-aux/config.rpath: Update from GNU gettext.
66261
66262 2005-12-16  Jim Meyering  <jim@meyering.net>
66263
66264         * modules/fprintftime: New module.
66265         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
66266
66267 2005-12-16  Jim Meyering  <jim@meyering.net>
66268
66269         * m4/fprintftime.m4: New file.
66270
66271 2005-12-16  Jim Meyering  <jim@meyering.net>
66272
66273         * lib/fprintftime.c, lib/fprintftime.h: New files.
66274
66275 2005-12-15  Simon Josefsson  <jas@extundo.com>
66276
66277         * modules/socklen (configure.ac): Fix M4 macro name, to align with
66278         new m4/socklen.m4.
66279
66280 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66281
66282         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
66283         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
66284
66285 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66286
66287         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
66288         * lib/argp-help.c (fill_in_uparams): Check if the constructed
66289         struct uparams is valid. Fall back to the default values if it is
66290         not.
66291
66292 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66293
66294         * modules/argp (Files): Add argp-pin.c
66295         (Depends-on): dirname
66296         (lib_SOURCES): Add argp-pin.c
66297
66298 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66299
66300         * m4/argp.m4:  Check if program_invocation_name and
66301         program_invocation_short_name are declared and define appropriate
66302         macros if they are not.
66303
66304 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66305
66306         * lib/argp-help.c (__argp_base_name): New function
66307         (__argp_short_program_name): Rewrite using __argp_base_name
66308         * lib/argp-namefrob.h: Define program_invocation_name and
66309         program_invocation_short_name if requested
66310         (__argp_base_name): Add prototype
66311         * lib/argp-parse.c (argp_def): Use gettext wrappers
66312         (argp_default_parser): Use __argp_base_name
66313         * lib/argp-pin.c: New file. Defines program_invocation_name and
66314         program_invocation_short_name on systems that lack them.
66315
66316 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66317
66318         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
66319         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
66320         porting problem reported by Georg Schwarz in
66321         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
66322
66323 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66324
66325         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
66326         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
66327         porting problem reported by Georg Schwarz in
66328         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
66329
66330 2005-12-05  Bruno Haible  <bruno@clisp.org>
66331
66332         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
66333         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
66334         Reported by Mark Junker <mjscod@gmx.de>.
66335
66336 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
66337
66338         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
66339         Use implementation from Albert Chin, with some
66340         comments/corrections by Stepan Kasal and myself.
66341
66342 2005-12-02  Bruno Haible  <bruno@clisp.org>
66343
66344         * gnulib-tool (func_import): Accept GPLed build tool modules when
66345         --lgpl is given.
66346         * modules/csharpcomp-script: New file.
66347         * modules/csharpcomp: Depend on it.
66348         * modules/javacomp-script: New file.
66349         * modules/javacomp: Depend on it.
66350         Suggested by Simon Josefsson.
66351
66352 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
66353
66354         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
66355         statement, to work around an HP-UX 10.20 compiler bug reported by
66356         Peter O'Gorman.
66357
66358 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
66359
66360         * modules/savedir (Depends-on): Add openat.
66361
66362 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
66363
66364         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
66365         (uintmax_t) [defined uintmax_t]: Do not declare.
66366         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
66367         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
66368         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
66369         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
66370         sake of portability to weird hosts that C allows (though we don't
66371         know of any practical examples).
66372
66373         * lib/savedir.h (fdsavedir): New decl.
66374         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
66375         contains most of the former guts of savedir.
66376         (savedir): Use savedirstream.
66377         Include "openat.h".
66378
66379 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66380
66381         * modules/obstack (Files): Add m4/ulonglong.m4.
66382         Problem reported by Davide Angelocola.
66383
66384 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
66385
66386         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
66387         coreutils no longer futzes with rounding modes.
66388
66389 2005-11-14  Jim Meyering  <jim@meyering.net>
66390
66391         * lib/mkstemp-safer.c: Include <config.h>, required for possible
66392         replacement of mkstemp.
66393
66394 2005-11-10  Simon Josefsson  <jas@extundo.com>
66395
66396         * lib/readline.c: Remove EOL.
66397
66398 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66399
66400         * modules/gethrxtime (Depends-on): Add gettime.
66401
66402 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66403
66404         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
66405         or gettimeofday; no longer needed.
66406
66407 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66408
66409         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
66410         time business.
66411         (gethrxtime) [! (HAVE_NANOUPTIME
66412         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
66413         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
66414         our own approximation.
66415
66416 2005-11-08  Eric Blake  <ebb9@byu.net>
66417
66418         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
66419
66420 2005-11-08  Eric Blake  <ebb9@byu.net>
66421
66422         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
66423
66424 2005-11-04  Bruno Haible  <bruno@clisp.org>
66425
66426         * gnulib-tool: Implement --update mode.
66427
66428 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66429
66430         Fix porting problem reported by Theodoros V. Kalamatianos.
66431         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
66432         Don't assume that futimes failing means we must fail.
66433
66434 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66435
66436         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
66437         variables to suggest the intended function of the PATH_MAX check.
66438
66439 2005-10-30  Kean Johnston  <jkj@sco.com>
66440
66441         Trivial changes to support SCO systems.
66442         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
66443         as PATH_MAX.
66444         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
66445         where __ptr is null when no I/O is pending.
66446
66447 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66448
66449         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
66450         leave errno alone.  Problem reported by Dmitry V. Levin.
66451
66452 2005-10-28  Simon Josefsson  <jas@extundo.com>
66453
66454         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
66455         Test more.
66456
66457         * tests/test-gc-md2.c, tests/test-md2.c: New files.
66458
66459         * modules/md2, modules/md2-tests: New files.
66460
66461 2005-10-28  Simon Josefsson  <jas@extundo.com>
66462
66463         * m4/inet_ntop.m4: More tests.
66464
66465         * m4/gc-md2.m4, md2.m4: New file.
66466
66467 2005-10-28  Simon Josefsson  <jas@extundo.com>
66468
66469         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
66470         "restrict" keywords, as per POSIX.  Protect the function
66471         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
66472         Don't use K&R prototypes.  Check the sprintf return values.
66473         Re-define EAFNOSUPPORT if not present.  Indent.
66474
66475         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
66476         suggested by Bruno Haible <bruno@clisp.org>.
66477
66478         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
66479
66480         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
66481
66482         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
66483         libgcrypt).
66484
66485         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
66486
66487         * lib/md2.h, lib/md2.c: New files.
66488
66489 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
66490
66491         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
66492         errno alone.  Problem reported by Frederic Jolliton.
66493
66494 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66495
66496         * modules/verify (License): Change from GPL to LGPL.  This is a
66497         tiny module and there are apparently near-equivalents that are
66498         under the BSD license.
66499
66500 2005-10-24  Simon Josefsson  <jas@extundo.com>
66501
66502         * modules/sha1: Relicense to LGPL.
66503
66504 2005-10-24  Simon Josefsson  <jas@extundo.com>
66505
66506         * lib/md4.h: Shrink buffer size, now that we changed the type.
66507
66508 2005-10-23  Simon Josefsson  <jas@extundo.com>
66509
66510         * gnulib-tool (func_import): Fix --tests-base.
66511
66512 2005-10-22  Simon Josefsson  <jas@extundo.com>
66513
66514         * modules/arcfour (Depends-on): Need stdint.
66515
66516 2005-10-22  Simon Josefsson  <jas@extundo.com>
66517
66518         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
66519         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
66520
66521 2005-10-22  Simon Josefsson  <jas@extundo.com>
66522
66523         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
66524         suggested by Bruno Haible <bruno@clisp.org>.
66525
66526 2005-10-22  Simon Josefsson  <jas@extundo.com>
66527
66528         * lib/crc.h: Include stddef.h, for size_t.
66529
66530 2005-10-22  Simon Josefsson  <jas@extundo.com>
66531
66532         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
66533         arcfour_context struct (simplify test vector testing in GNU
66534         Shishi).
66535
66536 2005-10-21  Simon Josefsson  <jas@extundo.com>
66537
66538         * modules/des, modules/des-tests: New files.
66539
66540         * modules/gc-des, modules/gc-des-tests: New files.
66541
66542         * tests/test-des.c, tests/test-gc-des.c: New file.
66543
66544 2005-10-21  Simon Josefsson  <jas@extundo.com>
66545
66546         * modules/arctwo, modules/arctwo-tests: New files.
66547
66548         * tests/test-arctwo.c: New file.
66549
66550         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
66551
66552         * tests/test-gc-arctwo.c: New file.
66553
66554 2005-10-21  Simon Josefsson  <jas@extundo.com>
66555
66556         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
66557         Bruno Haible <bruno@clisp.org>.
66558
66559         * m4/gc-des.m4: New file.
66560
66561 2005-10-21  Simon Josefsson  <jas@extundo.com>
66562
66563         * m4/arctwo.m4: New file.
66564
66565         * m4/gc-arctwo.m4: New file.
66566
66567 2005-10-21  Simon Josefsson  <jas@extundo.com>
66568
66569         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
66570         block.
66571
66572 2005-10-21  Simon Josefsson  <jas@extundo.com>
66573
66574         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
66575         <bruno@clisp.org>.
66576
66577         * lib/hmac-sha1.c (hmac_sha1): Likewise.
66578
66579         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
66580         Bruno Haible <bruno@clisp.org>.
66581
66582         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
66583         <bruno@clisp.org>.
66584
66585 2005-10-21  Simon Josefsson  <jas@extundo.com>
66586
66587         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
66588
66589 2005-10-21  Simon Josefsson  <jas@extundo.com>
66590
66591         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
66592
66593 2005-10-21  Simon Josefsson  <jas@extundo.com>
66594
66595         * lib/des.h, lib/des.c: New files.
66596
66597         * lib/gc-gnulib.c: Support DES.c
66598
66599 2005-10-21  Simon Josefsson  <jas@extundo.com>
66600
66601         * lib/arctwo.h, lib/arctwo.c: New files.
66602
66603         * lib/gc-gnulib.c: Support ARCTWO.
66604
66605 2005-10-21  Simon Josefsson  <jas@extundo.com>
66606
66607         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
66608         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66609
66610 2005-10-21  Simon Josefsson  <jas@extundo.com>
66611
66612         * gnulib-tool (func_import, func_create_testdir): Define automake
66613         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
66614         Makefile.am snippet),
66615         suggested by Bruno Haible <bruno@clisp.org>.
66616
66617         * modules/gc (Makefile.am): Use it.
66618
66619 2005-10-21  Bruno Haible  <bruno@clisp.org>
66620
66621         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
66622         patch.
66623
66624 2005-10-19  Simon Josefsson  <jas@extundo.com>
66625
66626         * tests/test-gc-rijndael.c: New file.
66627
66628         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
66629
66630 2005-10-19  Simon Josefsson  <jas@extundo.com>
66631
66632         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
66633         interface too.
66634
66635 2005-10-19  Simon Josefsson  <jas@extundo.com>
66636
66637         * tests/test-gc-arcfour.c: New file.
66638
66639         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
66640
66641 2005-10-19  Simon Josefsson  <jas@extundo.com>
66642
66643         * modules/gc-md4, modules/gc-md4-tests: New file.
66644
66645         * tests/test-gc-md4.c: New file.
66646
66647 2005-10-19  Simon Josefsson  <jas@extundo.com>
66648
66649         * m4/gc-md4.m4: New file.
66650
66651 2005-10-19  Simon Josefsson  <jas@extundo.com>
66652
66653         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
66654         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
66655         <kasal@ucw.cz>.
66656
66657 2005-10-19  Simon Josefsson  <jas@extundo.com>
66658
66659         * m4/gc-arcfour.m4: New file.
66660
66661         * m4/gc-rijndael.m4: New file.
66662
66663 2005-10-19  Simon Josefsson  <jas@extundo.com>
66664
66665         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
66666
66667 2005-10-19  Simon Josefsson  <jas@extundo.com>
66668
66669         * lib/gc-gnulib.c: Support ARCFOUR.
66670
66671 2005-10-19  Simon Josefsson  <jas@extundo.com>
66672
66673         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
66674         support.
66675
66676         * lib/gc.h: Add ECB enum type.
66677
66678         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
66679
66680 2005-10-18  Simon Josefsson  <jas@extundo.com>
66681
66682         * tests/test-md5.c: New file.
66683
66684         * modules/md5-tests: New file.
66685
66686 2005-10-18  Simon Josefsson  <jas@extundo.com>
66687
66688         * tests/test-md4.c: New file.
66689
66690         * modules/md4, modules/md4-tests: New files.
66691
66692 2005-10-18  Simon Josefsson  <jas@extundo.com>
66693
66694         * m4/md4.m4: New file.
66695
66696 2005-10-18  Simon Josefsson  <jas@extundo.com>
66697
66698         * lib/md4.h, lib/md4.c: New files, based on md5.?.
66699
66700 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
66701
66702         * gnulib-tool (func_create_testdir): Omit the second check whether
66703         BUILT_SOURCES in nonempty.
66704
66705 2005-10-17  Simon Josefsson  <jas@extundo.com>
66706
66707         * tests/test-rijndael.c: New file.
66708
66709 2005-10-17  Simon Josefsson  <jas@extundo.com>
66710
66711         * modules/sha1: Depend on stdint instead of md5.
66712
66713         * modules/md5: Depend on stdint, remove uint32_t.
66714
66715 2005-10-17  Simon Josefsson  <jas@extundo.com>
66716
66717         * modules/gc-sha1-tests: New file.
66718
66719         * tests/test-gc-sha1.c: New file.
66720
66721 2005-10-17  Simon Josefsson  <jas@extundo.com>
66722
66723         * m4/md5.m4: Remove call to uint32_t.m4.
66724
66725 2005-10-17  Simon Josefsson  <jas@extundo.com>
66726
66727         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
66728
66729         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
66730         md5.h.
66731
66732         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
66733
66734         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
66735
66736 2005-10-17  Simon Josefsson  <jas@extundo.com>
66737
66738         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
66739
66740 2005-10-17  Simon Josefsson  <jas@extundo.com>
66741
66742         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
66743
66744 2005-10-17  Simon Josefsson  <jas@extundo.com>
66745
66746         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
66747
66748         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
66749
66750 2005-10-17  Bruno Haible  <bruno@clisp.org>
66751
66752         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
66753         that it can also be used in a test.
66754
66755 2005-10-16  Bruno Haible  <bruno@clisp.org>
66756
66757         * gnulib-tool (func_emit_tests_Makefile_am): Also define
66758         TESTS_ENVIRONMENT, so that individual tests can augment it.
66759
66760         * gnulib-tool (func_create_testdir): Use an intermediate target for
66761         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
66762         macros, like $(ALLOCA_H), which cannot be passed through the command
66763         line.
66764
66765 2005-10-15  Simon Josefsson  <jas@extundo.com>
66766
66767         * modules/rijndael-tests: New file.
66768
66769         * modules/rijndael: New file.
66770
66771 2005-10-15  Simon Josefsson  <jas@extundo.com>
66772
66773         * m4/rijndael.m4: New file.
66774
66775 2005-10-15  Simon Josefsson  <jas@extundo.com>
66776
66777         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
66778
66779         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
66780
66781 2005-10-14  Simon Josefsson  <jas@extundo.com>
66782
66783         * tests/test-arcfour.c: New file.
66784
66785         * modules/arcfour, modules/arcfour-tests: New files.
66786
66787 2005-10-14  Simon Josefsson  <jas@extundo.com>
66788
66789         * m4/arcfour.m4: New file.
66790
66791 2005-10-14  Simon Josefsson  <jas@extundo.com>
66792
66793         * lib/arcfour.h, lib/arcfour.c: New files.
66794
66795 2005-10-14  Roland McGrath  <roland@redhat.com>
66796
66797         Import from libc.  [BZ #1331]
66798         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
66799         macro argument.
66800         Reported by Matej Vela <vela@debian.org>.
66801
66802 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66803
66804         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
66805         include <wchar.h>; no longer needed.
66806
66807 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66808
66809         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
66810
66811 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
66812         and  Ulrich Drepper  <drepper@redhat.com>
66813
66814         Import from libc.
66815         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
66816         instead of inline stream orientation test and two separate
66817         function calls.  Pay no attention to USE_IN_LIBIO.
66818
66819 2005-10-13  Simon Josefsson  <jas@extundo.com>
66820
66821         * modules/gc-hmac-md5-tests: New file.
66822
66823         * tests/test-gc-hmac-sha1.c: New file.
66824
66825         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
66826
66827         * modules/gc-hmac-md5-tests: New file.
66828
66829         * tests/test-gc-md5.c: New file.
66830
66831         * modules/gc-md5-tests: New file.
66832
66833 2005-10-13  Simon Josefsson  <jas@extundo.com>
66834
66835         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
66836         Move memory allocation outside of loop.
66837
66838 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
66839
66840         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
66841         intermediate directory is in a read-only file system.  Problem
66842         reported by Eric Blake.
66843
66844 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
66845
66846         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
66847
66848 2005-10-12  Simon Josefsson  <jas@extundo.com>
66849
66850         * tests/test-hmac-sha1.c: New file.
66851
66852         * modules/hmac-sha1-tests: New file.
66853
66854         * modules/hmac-sha1: New file.
66855
66856 2005-10-12  Simon Josefsson  <jas@extundo.com>
66857
66858         * modules/gc-sha1: New file.
66859
66860 2005-10-12  Simon Josefsson  <jas@extundo.com>
66861
66862         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
66863
66864         * tests/test-gc-pbkdf2-sha1.c: New file.
66865
66866 2005-10-12  Simon Josefsson  <jas@extundo.com>
66867
66868         * modules/gc-md5, modules/gc-hmac-md5: New files.
66869
66870         * modules/gc (Files): Remove md5, memxor and hmac files.
66871
66872 2005-10-12  Simon Josefsson  <jas@extundo.com>
66873
66874         * m4/gc-pbkdf2-sha1.m4: New file.
66875
66876         * m4/gc-hmac-sha1.m4: New file.
66877
66878         * m4/gc-sha1: New file.
66879
66880         * m4/hmac-sha1.m4: New file.
66881
66882 2005-10-12  Simon Josefsson  <jas@extundo.com>
66883
66884         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
66885
66886         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
66887
66888 2005-10-12  Simon Josefsson  <jas@extundo.com>
66889
66890         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
66891         suggested by Bruno Haible <bruno@clisp.org>.
66892
66893 2005-10-12  Simon Josefsson  <jas@extundo.com>
66894
66895         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
66896
66897 2005-10-12  Simon Josefsson  <jas@extundo.com>
66898
66899         * lib/gc-pbkdf2-sha1.c: New file.
66900
66901         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
66902
66903 2005-10-12  Simon Josefsson  <jas@extundo.com>
66904
66905         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
66906
66907         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
66908
66909 2005-10-12  Simon Josefsson  <jas@extundo.com>
66910
66911         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
66912         GC_USE_HMAC_MD5, respectively.
66913
66914         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
66915         (gc_md5): Fix typo.
66916
66917         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
66918
66919         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
66920
66921         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
66922
66923 2005-10-12  Bruno Haible  <bruno@clisp.org>
66924
66925         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
66926         Reported by Stepan Kasal <kasal@ucw.cz>.
66927
66928 2005-10-11  Simon Josefsson  <jas@extundo.com>
66929
66930         * tests/test-crc.c: New file.
66931
66932         * modules/crc, modules/crc-tests: New files.
66933
66934 2005-10-11  Simon Josefsson  <jas@extundo.com>
66935
66936         * m4/crc.m4: New file.
66937
66938 2005-10-11  Simon Josefsson  <jas@extundo.com>
66939
66940         * lib/gc.h: Add gc_hash and gc_hash_buffer.
66941
66942         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
66943
66944         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
66945
66946 2005-10-11  Simon Josefsson  <jas@extundo.com>
66947
66948         * lib/crc.h, lib/crc.c: New files.
66949
66950         * lib/gc.h (gc_hash_buffer): Add doc.
66951
66952 2005-10-11  Bruno Haible  <bruno@clisp.org>
66953
66954         * modules/c-strcasestr: New file.
66955         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
66956
66957 2005-10-11  Bruno Haible  <bruno@clisp.org>
66958
66959         * modules/c-strcase: New file.
66960         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
66961
66962 2005-10-11  Bruno Haible  <bruno@clisp.org>
66963
66964         * lib/strcasecmp.c: Include limits.h.
66965         (strcasecmp): Avoid integer overflow on exotic platforms.
66966         * lib/strncasecmp.c: Include limits.h.
66967         (strncasecmp): Avoid integer overflow on exotic platforms.
66968         Reported by Paul Eggert.
66969
66970 2005-10-11  Bruno Haible  <bruno@clisp.org>
66971
66972         * lib/c-strcasestr.h: New file, from GNU gettext.
66973         * lib/c-strcasestr.c: New file, from GNU gettext.
66974
66975 2005-10-11  Bruno Haible  <bruno@clisp.org>
66976
66977         * lib/c-strcase.h: New file, from GNU gettext.
66978         * lib/c-strcasecmp.c: New file, from GNU gettext.
66979         * lib/c-strncasecmp.c: New file, from GNU gettext.
66980
66981 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66982
66983         * modules/mempcpy (License): GPL -> LGPL.
66984         * modules/strchrnul (License): Likewise.
66985         * modules/sysexits (License): Likewise.
66986
66987 2005-10-08  Simon Josefsson  <jas@extundo.com>
66988
66989         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
66990
66991 2005-10-07  Simon Josefsson  <jas@extundo.com>
66992
66993         * m4/memxor.m4: Remove gl_C_RESTRICT call.
66994
66995 2005-10-06  Simon Josefsson  <jas@extundo.com>
66996
66997         * tests/test-hmac-md5.c: New file.
66998
66999         * modules/hmac-md5-tests: New file.
67000
67001         * modules/hmac-md5: New file.
67002
67003 2005-10-06  Simon Josefsson  <jas@extundo.com>
67004
67005         * m4/hmac-md5.m4: New file.
67006
67007         * m4/memxor.m4: Require gl_C_RESTRICT.
67008
67009 2005-10-06  Simon Josefsson  <jas@extundo.com>
67010
67011         * lib/memxor.c (memxor): Avoid casts and warnings.
67012
67013 2005-10-06  Simon Josefsson  <jas@extundo.com>
67014
67015         * lib/hmac-md5.c: New file.
67016
67017         * lib/hmac.h: New file.
67018
67019 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67020
67021         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
67022         promotes to int, not unsigned int, to catch the AIX 5.3
67023         compiler bug.
67024
67025 2005-10-05  Simon Josefsson  <jas@extundo.com>
67026
67027         * modules/memxor: New file.
67028
67029         * modules/iconv (Files): Move config.rpath to havelib, it is used
67030         there.
67031
67032         * modules/havelib (Files): Add config.rpath.
67033
67034 2005-10-05  Simon Josefsson  <jas@extundo.com>
67035
67036         * m4/memxor.m4: New file.
67037
67038 2005-10-05  Simon Josefsson  <jas@extundo.com>
67039
67040         * lib/memxor.c (memxor): Fix compiler error.
67041
67042         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
67043         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
67044
67045         * lib/memxor.h, lib/memxor.c: New files.
67046
67047         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
67048         we assume all systems have it, suggested by Jim Meyering
67049         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
67050         any systems lack sys/socket.h; mingw32 is known to lack it, but we
67051         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
67052         same reasons.
67053
67054 2005-10-05  Simon Josefsson  <jas@extundo.com>
67055
67056         * config/srclist.txt: Add glibc bug 1423 for md5.h.
67057
67058 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67059
67060         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
67061         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
67062         needed, since the source code now assumes these .h files.
67063
67064 2005-10-05  Derek Price  <derek@ximbiot.com>
67065
67066         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
67067
67068 2005-10-05  Bruno Haible  <bruno@clisp.org>
67069
67070         * modules/stdint (License): Change to LGPL.
67071
67072 2005-10-04  Simon Josefsson  <jas@extundo.com>
67073
67074         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
67075         D. Baushke" <mdb@gnu.org>.
67076
67077 2005-10-04  Bruno Haible  <bruno@clisp.org>
67078
67079         * lib/verify.h (verify_true): Provide alternative definition for C++.
67080
67081 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
67082
67083         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
67084         (SSIZE_MAX): New macro, if not already defined.
67085         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
67086         than 2 GiB.
67087
67088 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67089
67090         Sync from coreutils.
67091         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
67092         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
67093         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
67094         ULLONG_MAX doesn't work with 2.7.2.1.
67095
67096 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67097
67098         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
67099         From Ben Pfaff.
67100
67101         * modules/exclude (Depends-on): Depend on verify.
67102         * modules/strtoimax (Depends-on): Likewise.
67103         * modules/utimecmp (Depends-on): Likewise.
67104
67105 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67106
67107         * lib/exclude.c: Include verify.h.
67108         (verify): Remove.  All callers changed to use verify.h's version.
67109         * lib/strtoimax.c: Likewise.
67110         * lib/utimecmp.c: Likewis.e
67111
67112         Sync from coreutils.
67113         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
67114         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
67115         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
67116         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
67117         bother returning ENOSYS if settimeofday or stime fails; just let
67118         them return whatever errno they want to return.
67119         * lib/utimens.c: Include unistd.h, for dup2.
67120         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
67121         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
67122
67123 2005-10-02  Jim Meyering  <jim@meyering.net>
67124
67125         Sync from coreutils.
67126         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
67127         from glibc-2.2.5 that fails for read-only files.
67128
67129 2005-10-02  Jim Meyering  <jim@meyering.net>
67130
67131         Sync from coreutils.
67132         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
67133         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
67134         `#if HAVE_CONFIG_H'.
67135         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
67136         Remove AT_FDCWD test.
67137         Do not consume the fd unless successful.
67138         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
67139         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
67140         block, so that we don't even try to compile it if settimeofday is
67141         available.  This works around a compilation failure on OSF1 V5.1,
67142         due to stime requiring a `long int*' while tv_sec is `int'.
67143
67144 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
67145
67146         Sync from coreutils.
67147         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
67148         against `yes', rather than just testing for nonempty.
67149
67150 2005-10-01  Simon Josefsson  <jas@extundo.com>
67151
67152         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
67153         and Darwin.
67154
67155         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
67156         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
67157         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
67158         freeaddrinfo and gai_strerror are declared by the POSIX headers.
67159         Check if struct addrinfo is declared.
67160
67161 2005-10-01  Simon Josefsson  <jas@extundo.com>
67162
67163         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
67164         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
67165         AI_* and EAI_* definitions.  Protect function declarations.
67166
67167 2005-10-01  Jim Meyering  <jim@meyering.net>
67168
67169         Sync from coreutils.
67170
67171         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
67172         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
67173         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
67174         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
67175         in the inet and nsl libraries.  Required on Solaris 5.7.
67176
67177 2005-10-01  Jim Meyering  <jim@meyering.net>
67178
67179         Sync from coreutils.
67180         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
67181         in the inet and nsl libraries.  Required on Solaris 5.7.
67182
67183 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
67184
67185         * lib/getdelim.c (getdelim): Remove unused variables.
67186
67187 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67188
67189         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
67190         so that the code works even with ancient cpp.  Portability problem
67191         with GCC 2.7.2.1 reported by Thomas M.Ott.
67192
67193 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67194
67195         * modules/regex (Depends-on): Add strcase.
67196
67197         * modules/gethostname (Licence): Change from GPL to LGPL, since
67198         gethostname.c is a trivial implementation of a standard library
67199         function.
67200         * modules/poll (License): Change from GPL to LGPL, since it's
67201         derived from LGPL code.
67202
67203 2005-09-27  Jim Meyering  <jim@meyering.net>
67204
67205         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
67206         HAVE_CONFIG_H.
67207
67208         * lib/intprops.h (signed_type_or_expr__): Define.
67209         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
67210         for unsigned types.
67211
67212 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67213
67214         * lib/verify.h (verify_expr): Remove, replacing with:
67215         (verify_true): New macro that returns true instead of void.
67216         (verify_type__): Remove.
67217         (verify): Use verify_true rather than verify_type__.
67218
67219 2005-09-26  Bruno Haible  <bruno@clisp.org>
67220
67221         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
67222         is necessary.
67223         (lib_SOURCES): Remove mbchar.c.
67224         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
67225         (Files): Add m4/mbrtowc.m4.
67226         * modules/mbiter: Likewise.
67227         * modules/mbuiter: Likewise.
67228
67229 2005-09-26  Bruno Haible  <bruno@clisp.org>
67230
67231         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
67232         compile mbchar.c if they are not both present.
67233         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
67234         * m4/mbiter.m4 (gl_MBITER): Likewise.
67235         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
67236         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
67237         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
67238
67239 2005-09-25  Jim Meyering  <jim@meyering.net>
67240
67241         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
67242         also uses socklen_t.
67243
67244 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
67245
67246         * lib/utimens.c (ENOSYS): Define if not already defined.
67247         (futimens): Support having a null PATH if the file descriptor
67248         is nonnegative.
67249
67250         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
67251         Remove.
67252         (__attribute): Define to empty unless GCC 3.1 or later.
67253         This works around a core dump on OpenBSD 3.4, which has GCC
67254         2.95.3, which dumps core when given __attribute__(()).  It also
67255         simplifies other tests, since we really don't want to bother with
67256         worrying about which ancient version of GCC supported what.
67257         Original problem reported by Yoann Vandoorselaere, with part of
67258         the fix suggested by Derek Price.
67259
67260 2005-09-24  Jim Meyering  <jim@meyering.net>
67261
67262         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
67263         so we can once again use a positive bitfield width of 1 -- now we
67264         don't have to explain why we were using a bitfield width of 2.
67265
67266 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
67267
67268         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
67269         and similarly for the other external symbols.  Problem reported
67270         by James Gallager.
67271
67272         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
67273         bug reported by Jim Meyering.
67274
67275         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
67276         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
67277         not needed, since socklen is a prerequisite module.
67278
67279 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
67280
67281         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
67282         Problem reported by Eric Blake.
67283         (getaddrinfo): Initialize se so that it's not garbage.
67284         Redo internal storage allocation so that it doesn't make unportable
67285         assumptions about alignment.
67286         Fix a memory leak.
67287
67288         * lib/utimens.c (futimens): Use futimesat if available.
67289         Prefer it to futimes since it doesn't have the futimes bug.
67290
67291         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
67292         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
67293         Instead, declare a function that returns a pointer to an array,
67294         and use verify_type__ to declare the size of the array.
67295         Problem and germ of a solution reported by Bruno Haible.
67296         (verify_type__): Use 2, not 1, for bitfield size, to avoid
67297         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
67298
67299 2005-09-23  Jim Meyering  <jim@meyering.net>
67300
67301         Sync from coreutils.
67302         Correct build failure (socklen_t not defined) on at least
67303         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
67304         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
67305
67306 2005-09-23  Jim Meyering  <jim@meyering.net>
67307
67308         * modules/getaddrinfo (Depends-on): Add socklen.
67309
67310 2005-09-23  Bruno Haible  <bruno@clisp.org>
67311
67312         * tests/test-verify.c: New file.
67313
67314 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67315
67316         Sync from coreutils.
67317
67318         * modules/argmatch (Depends-on): Add verify.
67319         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
67320         unistd-safer.
67321         * modules/save-cwd (Depends-on): Likewise.
67322
67323         * modules/openat (Files): Add lib/openat-die.c.
67324         (Depends-on): Remove error, exitfail.
67325         Add dirname.
67326
67327         * modules/verify: New file.
67328         * MODULES.html.sh (Diagnostics <assert.h>): New section,
67329         with "verify" module.
67330
67331 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67332
67333         Sync from coreutils.
67334
67335         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
67336         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
67337         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
67338         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
67339         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
67340         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
67341         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
67342         Don't bother checking for string.h, stdlib.h, unistd.h.
67343         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
67344         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
67345         module's job.
67346         * m4/jm-macros.m4 (gl_MACROS): Likewise.
67347         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
67348
67349         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
67350         (gl_GETDATE): Use it.
67351
67352         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
67353
67354 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67355
67356         Sync from coreutils.
67357
67358         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
67359         stat-time.h.
67360         * lib/argmatch.h: Include verify.h
67361         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
67362         (ARGMATCH_ASSERT): Remove; unused.
67363         * lib/canonicalize.c: Assume STDC_HEADERS.
67364         * lib/exclude.c: Include "strcase.h".
67365         * lib/regex_internal.h [!defined _LIBC]: Likewise.
67366         * lib/getusershell.c: Include stdio--.h rather than stdio.h
67367         and stdio-safer.h.
67368         (getusershell): Call fopen, not fopen_safer.
67369         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
67370         Do not include unistd-safer.h.
67371         (save_cwd): Don't call fd_safer; no longer needed
67372         now that we include fcntl--.h.
67373
67374         * lib/getdate.y (relative_time): New type.
67375         (RELATIVE_TIME_0): New constant.
67376         (parser_control): Use relative_time instead of doing it ourselves.
67377         (%union): Add new relative_time rel member.
67378         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
67379         Now typeless.
67380         (relunit, relunit_snumber): Now of type rel.
67381         (zone, rel, relunit, get_date): Adjust to above changes.
67382
67383         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
67384         Do not include unistd-safer.h.
67385         (getloadavg): Don't call fd_safer; no longer needed
67386         now that we include fcntl--.h.
67387
67388         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
67389         (make_dir_parents): Treat ENOSYS like EEXIST.
67390
67391         Improve quality of diagnostics on restore_cwd failure.
67392         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
67393         (make_dir_parents): Last arg is now int * (for errno), not bool *.
67394         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
67395         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
67396         each time through the loop.  Do not diagnose restore_cwd failure;
67397         that is the caller's job (and perhaps the caller does not care).
67398
67399         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
67400         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
67401         If the file already exists but is not a directory, don't bother
67402         to try to make its parents.
67403         Close potential file descriptor leak if we can't chdir("/") (!).
67404         Don't always return true if chdir($PWD) fails; return true only
67405         if the requested action was done successfully (except for the
67406         chdir($PWD)).
67407         Don't log final directory unless we actually made it.
67408         Refactor to avoid duplicate code to fix up permissions.
67409         Don't attempt to fix up parent permissions if chdir($PWD) fails.
67410
67411         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
67412         to make it a bit faster and (I hope) clearer.
67413         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
67414         Fix bug in formats like %2N.
67415
67416         * lib/verify.h: New file.
67417
67418 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67419
67420         Sync from coreutils.
67421         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
67422
67423 2005-09-22  Jim Meyering  <jim@meyering.net>
67424
67425         Sync from coreutils.
67426
67427         * m4/lstat.m4 (gl_FUNC_LSTAT):
67428         Use AC_LIBSOURCES to require lstat.c and lstat.h.
67429         Remove obsolete comment.
67430         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
67431         * m4/xstrtod.m4: Likewise.
67432
67433         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
67434
67435 2005-09-22  Jim Meyering  <jim@meyering.net>
67436
67437         Sync from coreutils.
67438
67439         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
67440
67441         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
67442         the .tm_year member, since otherwise gcc-4.0 would now warn about
67443         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
67444
67445         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
67446         order to avoid an unsuppressible warning from gcc on 64-bit systems.
67447
67448         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
67449         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
67450         when run in a time zone for which daylight savings time is in effect
67451         for the starting date.
67452
67453         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
67454         stop us from restricting permissions of just-created absolute-named
67455         directories.
67456         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
67457         to restore initial working directory.
67458         * lib/mkdir-p.c (make_dir_parents): New parameter:
67459         different_working_dir, to tell caller if/when we change the working
67460         directory and are unable to return to the initial one.
67461         * lib/mkdir-p.h (make_dir_parents): Update prototype.
67462         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
67463         `return false'.  This fixes a bug introduced on 2004-07-30.
67464
67465         * lib/openat.c (fdopendir): Be sure to close the supplied
67466         file descriptor before returning.  This makes our replacement
67467         implementation a little closer to Solaris's, where fdopendir
67468         ties the file descriptor to the returned DIR* pointer.
67469         * lib/openat.c (unlinkat): New function.
67470         * lib/openat.h (unlinkat): Add prototype.
67471         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
67472         (openat_restore_fail): Rename from openat_restore_die.
67473         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
67474
67475         Provide an alternative to exiting immediately upon save_cwd or
67476         restore_cwd failure.  Now, an application can arrange e.g.,
67477         to perform a longjump in that case.
67478         * lib/openat.c: Include dirname.h.
67479         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
67480         (rpl_openat, fdopendir, fstatat): Call openat_save_die
67481         and openat_restore_die rather than calling error directly.
67482         Don't include "error.h" or "exitfail.h"; they're no longer needed.
67483
67484         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
67485         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
67486         define.
67487
67488         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
67489         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
67490                             int utc, int nanoseconds);
67491         Background:
67492         date should not have to allocate a megabyte of virtual memory to
67493         handle a format argument like +%1048575T.  When implemented with
67494         strftime, it must allocate such a buffer, use strftime to fill it
67495         in, print it, then free it.
67496         With fprintftime, it simply prints everything and exits.
67497         With no need for memory allocation, that's one fewer way to fail.
67498         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
67499         optional field width, not before, so we accept %9:z, not %:9z.
67500         (my_strftime): Be sure to use L_('x') for literals.
67501
67502         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
67503         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
67504         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
67505         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
67506         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
67507         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
67508         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
67509         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
67510         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
67511         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
67512         * lib/xgethostname.c, lib/xreadlink.c:
67513         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
67514
67515         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
67516         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
67517         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
67518         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67519         and don't include <sys/file.h>).
67520
67521 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
67522
67523         Sync from coreutils.
67524
67525         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
67526         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
67527         [!LDAV_DONE]: Avoid unused variable warning.
67528
67529 2005-09-21  Bruno Haible  <bruno@clisp.org>
67530
67531         * lib/unicodeio.h (unicode_to_mb): New declaration.
67532
67533 2005-09-20  Derek Price  <derek@ximbiot.com>
67534
67535         * lib/getaddrinfo.c: Don't include <netdb.h> included from
67536         getaddrinfo.h.
67537
67538 2005-09-20  Bruno Haible  <bruno@clisp.org>
67539
67540         * gnulib-tool: Remove trailing slashes from the values specified for
67541         --source-base, --m4-base, --tests-base, --aux-dir.
67542         Suggested by Simon Josefsson <jas@extundo.com>.
67543
67544 2005-09-20  Bruno Haible  <bruno@clisp.org>
67545
67546         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
67547         func_modules_to_filelist, func_import, func_create_testdir): Make all
67548         sorting results locale-independent, so that gnulib-cache.m4 doesn't
67549         change when gnulib-tool is invoked in a different locale.
67550
67551 2005-09-19  Simon Josefsson  <jas@extundo.com>
67552
67553         * m4/socklen.m4: Fix typo.
67554
67555 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67556
67557         Use a consistent style for including <config.h>.
67558         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
67559         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
67560         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
67561         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
67562         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
67563         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
67564         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
67565         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
67566         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
67567         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
67568         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
67569         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
67570         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
67571         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
67572         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
67573         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
67574         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
67575         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
67576         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
67577         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
67578         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
67579         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
67580         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
67581         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
67582         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
67583         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
67584         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
67585         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
67586         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
67587         lib/xstrtoumax.c, lib/yesno.c:
67588         Standardize inclusion of config.h.
67589         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
67590         lib/inttostr.h:  Removed inclusion of config.h from header files.
67591         * lib/inttostr.c:  Adjusted in-tree users.
67592         * lib/timespec.h: Remove superfluous warning to include config.h.
67593         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
67594         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
67595         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
67596         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
67597         config.h with HAVE_CONFIG_H.
67598
67599 2005-09-19  Jim Meyering  <jim@meyering.net>
67600
67601         * modules/pathmax (License): Change to LGPL.
67602
67603 2005-09-19  Derek Price  <derek@ximbiot.com>
67604
67605         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
67606
67607 2005-09-19  Bruno Haible  <bruno@clisp.org>
67608
67609         * gnulib-tool (import): Provide default for --tests-base.
67610
67611 2005-09-19  Bruno Haible  <bruno@clisp.org>
67612
67613         * doc/quote.texi: New file, extracted from gnulib.texi.
67614         * doc/ctime.texi: New file, extracted from gnulib.texi.
67615         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
67616         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
67617         * doc/gnulib.texi: Include them.
67618
67619 2005-09-18  Bruno Haible  <bruno@clisp.org>
67620
67621         Portability fix.
67622         * gnulib-tool (func_readlink): New function.
67623         (func_ln_if_changed): Use it.
67624
67625 2005-09-18  Bruno Haible  <bruno@clisp.org>
67626
67627         * gnulib-tool: Support --with-tests also with --import.
67628         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
67629         (func_import): Use variables $testsbase and $inctests. Emit a
67630         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
67631         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
67632         SUBDIRS += $testsdir.
67633         (func_create_testdir): Update.
67634
67635 2005-09-18  Bruno Haible  <bruno@clisp.org>
67636
67637         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
67638         instead of $dry_run.
67639         (func_cp_if_changed, func_mv_if_changed): Remove functions.
67640         (func_ln_if_changed): Don't handle dry-run here.
67641         (func_import): In dry-run mode, detect more precisely which actions
67642         would be performed, and don't use "...ing" verbs.
67643
67644 2005-09-18  Bruno Haible  <bruno@clisp.org>
67645
67646         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
67647         (func_import): Use join on two temporary files instead of three nested
67648         loops, in order to determine which files are new or old.
67649
67650 2005-09-18  Bruno Haible  <bruno@clisp.org>
67651
67652         * gnulib-tool (func_import): Comment out code that spits out the
67653         new files with --dry-run.
67654
67655 2005-09-18  Bruno Haible  <bruno@clisp.org>
67656
67657         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
67658
67659 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67660
67661         * lib/stat-time.h: New file.
67662         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
67663         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
67664         in a different way.
67665         (timespec_cmp): New function.
67666         * lib/utimecmp.c: Include stat-time.h.
67667         (SYSCALL_RESOLUTION): Depend on whether various struct stat
67668         members exist, not on the obsolescent ST_MTIM_NSEC.
67669         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
67670
67671 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67672
67673         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
67674
67675 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67676
67677         * MODULES.html.sh (File system functions): Add stat-time.
67678         * modules/stat-time: New file.
67679         * modules/timespec (Files): Remove m4/st_mtim.m4; this
67680         is now done in a different way, by the stat-time module.
67681         * modules/utimecmp (Depends-on): Add stat-time.
67682
67683 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67684
67685         * m4/st_mtim.m4: Remove.  Superseded by...
67686         * m4/stat-time.m4: New file.
67687         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
67688         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
67689
67690 2005-09-15  Derek Price  <derek@ximbiot.com>
67691
67692         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
67693
67694 2005-09-15  Derek Price  <derek@ximbiot.com>
67695
67696         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
67697         * lib/regex_internal.c: Ditto, using this...
67698         (__GNUC_PREREQ): ...new macro.
67699         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
67700         using...
67701         (__GNUC_PREREQ): ...this new macro.
67702
67703         * lib/strstr.h: Include string.h. Define strstr as a macro here.
67704
67705 2005-09-15  Derek Price  <derek@ximbiot.com>
67706             Paul Eggert  <eggert@cs.ucla.edu>
67707
67708         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
67709         changes, consolidating in...
67710         * lib/regex_internal.h: ...this file.
67711
67712 2005-09-13  Jim Meyering  <jim@meyering.net>
67713
67714         * lib/canon-host.c: Filter through gnu indent and reword comments
67715         slightly.
67716         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
67717
67718 2005-09-13  Derek Price  <derek@ximbiot.com>
67719
67720         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
67721         failure.
67722         Reported by Jim Meyering  <jim@meyering.net>.
67723
67724 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67725
67726         * lib/base64.c: Typo.
67727         (base64_encode): Put b64str in initialized data section.
67728
67729 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
67730
67731         Merge glibc and coreutils changes into gnulib, plus a few
67732         extra fixes.
67733         * lib/md5.c: Use #error rather than a string.
67734         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
67735         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
67736         (__attribute__): Define to empty for non recent-GCC.
67737         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
67738         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
67739         Renamed from their non-__ counterparts, with new macros replacing
67740         them if not _LIBC.  Add __THROW attribute.
67741         (rol): Remove.
67742         (struct md5_ctx): Align buffer if using GCC.
67743         * lib/sha1.h (struct sha1_ctx): Likewise.
67744         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
67745         The old name was backwards.
67746         (NOTSWAP): Remove; not used.
67747         (rol): New macro, moved here from md5.h.
67748         (sha1_process_block): Remove a FIXME that doesn't make sense.
67749
67750 2005-09-12  Derek Price  <derek@ximbiot.com>
67751
67752         Return usable errors from canon-host.
67753         * lib/canon-host.h: New file.
67754         * lib/canon-host.c (canon_host): Wrap...
67755         (canon_host_r): ...this new function, which now relies exclusively on
67756         getaddrinfo.
67757         (ch_strerror): New function.
67758         (last_cherror): New global.
67759         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
67760         interface.
67761         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
67762         void *.
67763         (freeaddrinfo): Free ai->ai_canonname when set.
67764
67765 2005-09-12  Derek Price  <derek@ximbiot.com>
67766
67767         Make canon-host require getaddrinfo.
67768         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
67769         AC_LIBSOURCE canon-host.h.  Call...
67770         (gl_PREREQ_CANON_HOST): ...this new function, which requires
67771         gl_GETADDRINFO.
67772         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
67773
67774 2005-09-12  Derek Price  <derek@ximbiot.com>
67775
67776         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
67777         LGPL.
67778         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
67779
67780 2005-09-12  Derek Price  <derek@ximbiot.com>
67781
67782         * lib/gai_strerror.c: Include config.h when available.  Include
67783         getaddrinfo.h before other headers to test interface.
67784         Reported by Larry Jones <lawrence.jones@ugs.com>.
67785
67786 2005-09-12  Derek Price  <derek@ximbiot.com>
67787             Paul Eggert  <eggert@cs.ucla.edu>
67788
67789         * modules/glob (Files): Add glob-libc.h.
67790
67791 2005-09-12  Derek Price  <derek@ximbiot.com>
67792             Paul Eggert  <eggert@cs.ucla.edu>
67793
67794         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
67795         glob_.h, glob-libc.h.
67796         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
67797
67798 2005-09-12  Derek Price  <derek@ximbiot.com>
67799             Paul Eggert  <eggert@cs.ucla.edu>
67800
67801         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
67802         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
67803         protecting things that should be done only in gnulib contexts.
67804         * lib/glob_.h: New file, containing only the glob things needed for
67805         gnulib.
67806         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
67807         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
67808         (glob, globfree, glob_pattern_p): Now defined simply in terms of
67809         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
67810         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
67811         and to respect the namespace rules better.
67812
67813 2005-09-08  Simon Josefsson  <jas@extundo.com>
67814
67815         * modules/socklen: New file.
67816
67817 2005-09-08  Simon Josefsson  <jas@extundo.com>
67818
67819         * m4/socklen.m4: New file.
67820
67821 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67822
67823         * modules/utimens (Files): Add m4/utimbuf.m4, since
67824         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
67825         Reported by Sergey Poznyakoff.
67826
67827 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67828
67829         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
67830         definitions, since that's the preferred style in glibc.
67831         Fix a minor spacing issue, and update copyright notice to match
67832         glibc's.
67833
67834 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67835
67836         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
67837
67838 2005-09-06  Simon Josefsson  <jas@extundo.com>
67839
67840         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
67841         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
67842
67843 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67844
67845         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
67846         warning.
67847
67848 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67849
67850         * config/srclist.txt: Add glibc bug 1302.
67851
67852 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
67853
67854         Change bitset word type from unsigned int to unsigned long int,
67855         as this has better performance on typical 64-bit hosts.
67856         Port bitset code to hosts with unusual word sizes.
67857         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
67858         (build_collating_symbol):
67859         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
67860         argument is a bitset.  This is merely a style issue, but it makes
67861         it clearer that an entire array is expected.
67862         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
67863         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
67864         Port to the case where bitset_word is not the same as unsigned int.
67865         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
67866         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
67867         Likewise.
67868         * lib/regexec.c (check_dst_limits_calc_pos_1,
67869         check_subexp_matching_top):
67870         (build_trtable, group_nodes_into_DFAstates):
67871         Likewise.
67872         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
67873         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
67874         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
67875         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
67876         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
67877         * lib/regcomp.c (optimize_subexps, lower_subexp):
67878         Work even if bitset_word has holes in its bitwise representation.
67879         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
67880         * lib/regexec.c (check_dst_limits_calc_pos_1,
67881         check_subexp_matching_top):
67882         Likewise.
67883         * lib/regex_internal.c (re_string_reconstruct):
67884         Don't assume UCHAR_MAX == 255.
67885         * lib/regex_internal.h (bitset_set_all): Likewise.
67886         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
67887         All uses changed.
67888         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
67889         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
67890         All uses changed.
67891         (BITSET_WORD_MAX): New macro.
67892         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
67893         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
67894         (bitset_empty, bitset_copy):
67895         Prefer sizeof (bitset) to multiplying it out ourselves.
67896         (bitset_not_merge): Remove; unused.
67897         (bitset_contain): Return bool, not unsigned int with one bit on.
67898         All callers changed.
67899         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
67900         alignment than re_node_set; do this by defining a new internal
67901         type struct dests_alloc and using it to allocate memory.
67902
67903 2005-09-05  Bruno Haible  <bruno@clisp.org>
67904
67905         * gnulib-tool (func_import): Fix comparison in handling of symbolic
67906         links.
67907
67908 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
67909
67910         * modules/size_max (Makefile.am): Add size_max.h
67911
67912 2005-09-04  Derek Price  <derek@ximbiot.com>
67913
67914         * gnulib-tool (func_import): Fix reversed $symbolic logic.
67915
67916 2005-09-03  Simon Josefsson  <jas@extundo.com>
67917
67918         * gnulib-tool: Fix typo.
67919
67920 2005-09-03  Simon Josefsson  <jas@extundo.com>
67921
67922         * config/srclist.txt: Add glibc bug 1293.
67923
67924 2005-09-03  Derek Price  <derek@ximbiot.com>
67925
67926         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
67927         From Larry Jones <lawrence.jones@ugs.com>.
67928
67929 2005-09-02  Simon Josefsson  <jas@extundo.com>
67930
67931         * modules/socklen: New file.
67932
67933 2005-09-02  Simon Josefsson  <jas@extundo.com>
67934
67935         * modules/havelib: New module.
67936
67937         * modules/gettext, modules/iconv, modules/lock, modules/readline:
67938         Use havelib.
67939
67940 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
67941
67942         Check for arithmetic overflow when calculating sizes, to prevent
67943         some buffer-overflow issues.  These patches are conservative, in the
67944         sense that when I couldn't determine whether an overflow was possible,
67945         I inserted a run-time check.
67946         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
67947         macros.
67948         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
67949         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
67950         (re_xnrealloc, re_x2nrealloc): New inline functions.
67951         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
67952         parse_bracket_exp):
67953         (build_equiv_class, build_charclass): Check for arithmetic overflow
67954         in size expression calculations.
67955         * lib/regex_internal.c (re_string_realloc_buffers):
67956         (build_wcs_upper_buffer, re_node_set_add_intersect):
67957         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
67958         (re_dfa_add_node, register_state): Likewise.
67959         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
67960         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
67961         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
67962         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
67963
67964 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
67965
67966         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
67967         m4/ulonglong.m4.  Problem reported by Martin Lambers.
67968
67969 2005-09-02  Bruno Haible  <bruno@clisp.org>
67970
67971         Support for lib vs. lib64 distinction on biarch platforms.
67972         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
67973         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
67974         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
67975
67976 2005-09-02  Bruno Haible  <bruno@clisp.org>
67977
67978         * gnulib-tool (import): In the other first-use case, provide defaults
67979         as well.
67980
67981 2005-09-02  Bruno Haible  <bruno@clisp.org>
67982
67983         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
67984         patches not yet found in the latest gettext release.
67985
67986 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67987
67988         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
67989         to avoid a collision with bits/local_lim.h in glibc.
67990         All uses changed.  Problem reported by Dmitry V. Levin in
67991         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
67992
67993         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
67994         bugs in int versus size_t comparisons.
67995         (re_string_context_at): Fix bug where the code assumed that
67996         Idx is signed.
67997
67998         Use bool where appropriate.
67999         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
68000         All callers changed.
68001         (calc_eclosure_iter): Likewise, for ROOT arg.
68002         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
68003         (build_charclass_op): Likewise, for NON_MATCH arg.
68004         * lib/regex_internal.c (re_string_allocate, re_string_construct):
68005         (re_string_construct_common): Likewise, for ICASE arg.
68006         * lib/regexec.c (re_search_2_stub, re_search_stub):
68007         Likewise, for RET_LEN arg.
68008         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
68009         (set_regs): Likewise, for FL_BACKTRACK arg.
68010         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
68011         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
68012         (calc_eclosure_iter, parse_bracket_exp):
68013         Use bool for internal variables that are booleans.
68014         * lib/regexec.c (re_search_internal, check_matching,
68015         proceed_next_node):
68016         (set_regs, build_sifted_states, sift_states_bkref):
68017         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
68018         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68019         (find_collation_sequence_value):
68020         Likewise.
68021         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
68022         (re_node_set_compare):
68023         Return bool, not int. All callers changed.
68024         * lib/regexec.c (check_halt_node_context, check_dst_limits):
68025         (build_trtable, check_node_accept): Likewise.
68026         * lib/regex_internal.h: Include stdbool.h.
68027
68028         Fix bugs uncovered when converting to bool.
68029         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
68030         failure instead of charging ahead blindly.
68031         * lib/regex_internal.c (register_state): Likewise.
68032         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
68033         for freeing internal storage.
68034         (group_nodes_into_DFA_states): Use unsigned int, not int, for
68035         bitset pieces used as boolean, to avoid undefined behavior
68036         on hosts that do int overflow checking.
68037
68038 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68039
68040         * config/srclist.txt: Add glibc bugs 1285-1287.
68041
68042 2005-09-01  Jim Meyering  <jim@meyering.net>
68043
68044         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
68045         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
68046         Require gl_STAT_MACROS, too.
68047
68048 2005-09-01  Bruno Haible  <bruno@clisp.org>
68049
68050         * gnulib-tool (import): In the first-use case, provide defaults.
68051
68052 2005-09-01  Bruno Haible  <bruno@clisp.org>
68053
68054         * gnulib-tool (func_import): Remove the .tmp files.
68055
68056 2005-09-01  Bruno Haible  <bruno@clisp.org>
68057
68058         * gnulib-tool (func_import): Fix handling of symbolic links.
68059
68060 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68061
68062         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
68063         old glibc regex code mishandles strings longer than 2**31 bytes.
68064         This patch fixes this when the regex code is used in gnulib
68065         (i.e., outside glibc).
68066
68067         This patch should not affect the use of the regex code inside
68068         glibc.  No doubt this problem also needs to be handled for glibc
68069         as well, but the result will be an incompatible change to the
68070         glibc ABI, and the old ABI will have to be supported too.  That
68071         can be the the subject for another patch.
68072
68073         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
68074         governing whether the rest of this patch is active.  By default,
68075         the macro is disabled and the patch has no effect.
68076         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
68077         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
68078         (struct re_pattern_buffer, re_search, re_search_2, re_match):
68079         (re_match_2, re_set_registers): Use the new types.
68080         * lib/regex_internal.h (Idx, re_hashval_t): New types.
68081         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
68082         New macros.
68083         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
68084         (re_string_context_at, bin_tree_t, re_dfastate_t):
68085         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
68086         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
68087         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
68088         (re_string_char_size_at, re_string_wchar_at):
68089         (re_string_elem_size_at):
68090         Use the new types and macros to port to 64-bit hosts.
68091         Use unsigned types for internal values, so that the code
68092         mostly works even for arrays larger than SSIZE_MAX.
68093         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
68094         (search_duplicated_node, calc_eclosure_iter, fetch_number):
68095         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
68096         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
68097         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
68098         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
68099         (calc_inveclosure, parse_dup_op, build_range_exp):
68100         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
68101         (fetch_number, create_token_tree, mark_opt_subexp):
68102         Likewise.
68103         * lib/regex_internal.c (re_string_construct_common,
68104         create_ci_newstate):
68105         (create_cd_newstate, re_string_allocate, re_string_construct):
68106         (re_string_realloc_buffers, build_wcs_upper_buffer):
68107         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
68108         (re_string_reconstruct, re_string_peek_byte_case):
68109         (re_string_fetch_byte_case, re_string_context_at):
68110         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
68111         (re_node_set_init_copy, re_node_set_add_intersect):
68112         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68113         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68114         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
68115         (re_acquire_state, re_acquire_state_context, register_state):
68116         Likewise.
68117         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
68118         search_cur_bkref_entry):
68119         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
68120         (re_search_internal, re_search_2_stub, re_search_stub)
68121         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
68122         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
68123         (update_cur_sifted_state, check_dst_limits):
68124         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
68125         (check_subexp_limits, sift_states_bkref, merge_state_array):
68126         (check_subexp_matching_top, get_subexp, get_subexp_sub):
68127         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
68128         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
68129         (expand_bkref_cache, check_node_accept_bytes):
68130         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
68131         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
68132         (acquire_init_state_context, check_halt_node_context):
68133         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
68134         (sift_states_backward, clean_state_log_if_needed):
68135         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
68136         (find_recover_state, transit_state_sb, transit_state_mb):
68137         (transit_state_bkref, build_trtable, match_ctx_clean):
68138         Likewise.
68139         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
68140         to work around an assumption that REG_MISSING is negative.
68141
68142         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
68143         (seek_collating_symbol_entry) [defined _LIBC]:
68144         (lookup_collation_sequence_value) [defined _LIBC]:
68145         (build_range_exp, build_collating_symbol) [defined _LIBC]:
68146         Use prototypes rather than old-style function definitions.
68147         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
68148         (transit_state_sb) [0]:
68149         (find_collation_sequence_value) [defined _LIBC]: Likewise.
68150
68151         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
68152         rm_eo.
68153
68154         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
68155         (optimize_subexps, lower_subexp):
68156         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
68157         since the signed shift might overflow.  Use 1u<<31 instead.
68158         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
68159         Likewise.
68160         * lib/regexec.c (check_dst_limits_calc_pos_1,
68161         check_subexp_matching_top): Likewise.
68162
68163         * lib/regcomp.c (optimize_subexps, lower_subexp):
68164         Use CHAR_BIT rather than 8, for clarity.
68165         * lib/regexec.c (check_dst_limits_calc_pos_1):
68166         (check_subexp_matching_top): Likewise.
68167         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
68168         have to worry about portability issues when shifting it left.
68169         Remove no-longer-needed test for table_size > 0.
68170         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
68171         in a word, as the resulting behavior is undefined.
68172         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
68173         in one case, a <= should have been an <, and in another case the
68174         whole test was missing.
68175         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
68176         the standard name CHAR_BIT.
68177         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
68178         this is not true on one's complement and signed-magnitude hosts.
68179
68180         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
68181         next_last_offset.
68182         (struct re_dfa_t): Remove unused member states_alloc.
68183         * lib/regcomp.c (init_dfa): Don't initialize unused members.
68184
68185 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68186
68187         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
68188         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
68189         and large-file glibc and in 32-bit large-file Solaris.
68190
68191 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68192
68193         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
68194         lengths fit in regoff_t; this isn't true if regoff_t is the same
68195         width as size_t.
68196         * lib/regex.c (re_search_internal): 5th arg is LAST_START
68197         (= START + RANGE) instead of RANGE.  This avoids overflow
68198         problems when regoff_t is the same width as size_t.
68199         All callers changed.
68200         (re_search_2_stub): Check for overflow when adding the
68201         sizes of the two strings.
68202         (re_search_stub): Check for overflow when adding START
68203         to RANGE; if it occurs, substitute the extreme value.
68204
68205 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68206
68207         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
68208
68209 2005-08-31  Jim Meyering  <jim@meyering.net>
68210
68211         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
68212         a pointer-to-const.
68213         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
68214         (register_state): Likewise.
68215         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
68216         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
68217         (group_nodes_into_DFAstates): Likewise.
68218
68219 2005-08-31  Jim Meyering  <jim@meyering.net>
68220
68221         * check-module: Add a FIXME comment.
68222
68223 2005-08-31  Eric Blake  <ebb9@byu.net>
68224
68225         * modules/unistd-safer (Files): Add unistd--.h.
68226         * modules/stdio-safer (Files): Add stdio--.h.
68227
68228 2005-08-31  Derek Price  <derek@ximbiot.com>
68229
68230         * lib/getdelim.c (getdelim): Return EOF on EOF.
68231         Reported by Larry Jones <lawrence.jones@ugs.com>.
68232
68233 2005-08-31  Bruno Haible  <bruno@clisp.org>
68234
68235         Avoid unnecessary diffs in the generated lib/Makefile.am.
68236         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
68237         the generated files.
68238         (func_import): Don't set cmd.
68239
68240 2005-08-31  Bruno Haible  <bruno@clisp.org>
68241
68242         * lib/strstr.c: Include <stddef.h>, for NULL.
68243         * lib/strcasestr.c: Likewise.
68244         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
68245
68246 2005-08-31  Bruno Haible  <bruno@clisp.org>
68247
68248         * gnulib-tool: New option --macro-prefix.
68249         (func_import): Use macro_prefix.
68250         (import): Handle option --macro-prefix.
68251
68252 2005-08-31  Bruno Haible  <bruno@clisp.org>
68253
68254         * gnulib-tool (import): Rename most ac_* variables to cached_*.
68255         Also use new variables cached_lgpl, cached_libtool.
68256
68257 2005-08-31  Bruno Haible  <bruno@clisp.org>
68258
68259         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
68260         always instantiating them.
68261
68262 2005-08-31  Bruno Haible  <bruno@clisp.org>
68263
68264         * gnulib-tool (func_import): Read the previous cached settings
68265         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
68266         earlier added by gnulib but are now dropped. Warn when a gnulib file
68267         overwrites a non-gnulib file.
68268
68269 2005-08-31  Bruno Haible  <bruno@clisp.org>
68270
68271         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
68272         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
68273         projects that don't keep autogenerated files in CVS. Put into
68274         actioncmd only the specified modules, not the transitive closure.
68275
68276 2005-08-31  Bruno Haible  <bruno@clisp.org>
68277
68278         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
68279         Create directories that shall be filled.
68280         (import): Don't look for gl_* macros in configure.ac. Recurse across
68281         all directories containing a gnulib-cache.m4 files, if meaningful.
68282
68283 2005-08-31  Bruno Haible  <bruno@clisp.org>
68284
68285         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
68286         (import): Set seen_libtool when we see gl_LIBTOOL.
68287
68288 2005-08-31  Bruno Haible  <bruno@clisp.org>
68289
68290         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
68291         declaration macro definitions from generated gnulib.m4.
68292
68293 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
68294
68295         * lib/iconvme.h: Add prototype for iconv_alloc.
68296
68297 2005-08-29  Simon Josefsson  <jas@extundo.com>
68298
68299         * lib/iconvme.c: Fix errno.
68300
68301 2005-08-29  Bruno Haible  <bruno@clisp.org>
68302
68303         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
68304         that it works when the directory contains spaces.
68305
68306 2005-08-29  Bruno Haible  <bruno@clisp.org>
68307
68308         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
68309
68310 2005-08-29  Bruno Haible  <bruno@clisp.org>
68311
68312         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
68313         Emit more advice.
68314
68315 2005-08-29  Bruno Haible  <bruno@clisp.org>
68316         and Stepan Kasal  <kasal@ucw.cz>
68317
68318         * check-module: If more parameters are given, check each of them
68319         separately; add more exceptions, as noted by Jim Meyering.
68320         (check_module): New procedure.
68321         (%exempt_header): Now contains all exceptions.
68322
68323 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
68324
68325         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
68326
68327 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
68328
68329         * lib/iconvme.c: Split iconv_string into iconv_alloc.
68330
68331 2005-08-28  Bruno Haible  <bruno@clisp.org>
68332
68333         * m4/gnulib-tool.m4: New file.
68334
68335 2005-08-27  Jim Meyering  <jim@meyering.net>
68336
68337         * modules/unistd-safer (Files): Add pipe-safer.c.
68338         * modules/fcntl-safer (Files): Add creat-safer.c.
68339
68340 2005-08-27  Jim Meyering  <jim@meyering.net>
68341
68342         * m4/stdlib-safer.m4: New file.  From coreutils.
68343         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
68344         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
68345         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
68346         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
68347         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
68348
68349 2005-08-27  Jim Meyering  <jim@meyering.net>
68350
68351         * lib/fopen-safer.c: Merge minor changes from coreutils.
68352         * lib/dup-safer.c: Likewise.
68353         * lib/fd-safer.c: Likewise.
68354
68355         Merge from coreutils.
68356         * lib/stdio--.h: New file.
68357         * lib/stdlib--.h: New file.
68358         * lib/mkstemp-safer.c: New file.
68359
68360         GNU tar needs these.
68361         * lib/pipe-safer.c: New file.
68362         * lib/creat-safer.c: New file.
68363         * lib/fcntl--.h (creat): Define to creat_safer.
68364         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
68365         * lib/unistd--.h (pipe): Define to pipe_safer.
68366         * lib/unistd-safer.h: Declare pipe_safer.
68367
68368 2005-08-26  Simon Josefsson  <jas@extundo.com>
68369
68370         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
68371         Haible <bruno@clisp.org>.
68372
68373 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
68374
68375         * lib/regex_internal.h: Remove all references to
68376         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
68377         or better.
68378         (bitset_not, bitset_merge, bitset_not_merge):
68379         (bitset_mask, re_string_allocate, re_string_construct):
68380         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
68381         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
68382         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
68383         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
68384         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68385         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68386         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
68387         (re_acquire_state_context):
68388         Remove unnecessary forward decls.
68389         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
68390         Put __attribute at function definition,
68391         now that the function decl has been removed.
68392         * lib/regex_internal.c (re_string_peek_byte_case):
68393         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
68394         Likewise.
68395
68396 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
68397
68398         * m4/regex.m4: Add AC_PREREQ(2.50).
68399         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
68400
68401 2005-08-25  Simon Josefsson  <jas@extundo.com>
68402
68403         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
68404         __fsetlocking.
68405
68406 2005-08-25  Simon Josefsson  <jas@extundo.com>
68407
68408         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
68409         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
68410         GLIBC specific code.
68411
68412 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68413
68414         Make regex safe for g++.  This fixes one real bug (an "err"
68415         that should have been "*err").  g++ problem reported by
68416         Sam Steingold.
68417         * lib/regex_internal.h (re_calloc): New macro, consistent with
68418         re_malloc etc.  All callers of calloc changed to use re_calloc.
68419         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
68420         not int.  All callers changed.
68421         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
68422         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
68423         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
68424         (find_recover_state): Change "err" to "*err"; this fixes what
68425         appears to be a real bug.
68426         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
68427         versus int.
68428
68429 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68430
68431         * modules/regex (Depends-on): Add malloc, since the code
68432         assumes that !malloc(0) means failure.
68433
68434 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68435
68436         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
68437
68438         alloca modernization/simplification for regex.
68439         * lib/regex.c: Remove portability cruft for alloca.  This no longer
68440         needs to be at the start of the file, and can be moved into
68441         regex_internal.h and simplified.
68442         * lib/regex_internal.h: Include <alloca.h>.
68443         (__libc_use_alloca) [!defined _LIBC]: New macro.
68444         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
68445         now works outside glibc.
68446
68447 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68448
68449         * config/srclist.txt: Add glibc bugs 1241, 1245.
68450
68451 2005-08-25  Jim Meyering  <jim@meyering.net>
68452
68453         * lib/open-safer.c: Include <config.h>.
68454         Otherwise, we'd lose LARGEFILE support in any file using
68455         e.g. "fcntl--.h"
68456
68457 2005-08-25  Bruno Haible  <bruno@clisp.org>
68458
68459         * m4/minmax.m4: Require autoconf 2.52.
68460         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
68461         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
68462         alternatives of translit over the alphabet.
68463         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
68464
68465 2005-08-24  Simon Josefsson  <jas@extundo.com>
68466
68467         * tests/test-getpass.c: New file.
68468
68469 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68470
68471         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
68472         for GNU regex features.
68473
68474 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68475
68476         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
68477         * lib/regex.h (regerror): Likewise.
68478
68479         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
68480         requires this.  (The code never needed it.)
68481
68482         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
68483         All uses of recently-renamed identifiers changed to use the new,
68484         POSIX-compliant names.  The code will build and run just fine
68485         without these changes, but it's better to eat our own dog food
68486         and use the standard-conforming names.
68487
68488         * lib/regex.h: Fix a multitude of POSIX name space violations.
68489         These changes have an effect only for programs that define
68490         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
68491         do not change anything for programs compiled in the normal way.
68492         Also, there is no effect on the ABI.
68493
68494         (_REGEX_SOURCE): New macro.
68495         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
68496         defined and _GNU_SOURCE is not; this fixes a name space violation.
68497
68498         Rename the following macros to obey POSIX requirements.
68499         The old names are still visible as macros if _REGEX_SOURCE is defined.
68500         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
68501         RE_BACKSLASH_ESCAPE_IN_LISTS.
68502         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
68503         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
68504         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
68505         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
68506         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
68507         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
68508         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
68509         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
68510         (REG_INTERVALS): renamed from RE_INTERVALS.
68511         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
68512         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
68513         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
68514         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
68515         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
68516         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
68517         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
68518         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
68519         RE_UNMATCHED_RIGHT_PAREN_ORD.
68520         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
68521         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
68522         (REG_DEBUG): renamed from RE_DEBUG.
68523         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
68524         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
68525         unusual, since we can't clash with the POSIX REG_ICASE.
68526         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
68527         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
68528         (REG_NO_SUB): renamed from RE_NO_SUB.
68529         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
68530         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
68531         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
68532         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
68533         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
68534         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
68535         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
68536         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
68537         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
68538         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
68539         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
68540         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
68541         RE_SYNTAX_POSIX_MINIMAL_BASIC.
68542         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
68543         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
68544         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
68545         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
68546         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
68547         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
68548         (REG_FIXED): Renamed from REGS_FIXED.
68549         (REG_NREGS): Renamed from RE_NREGS.
68550
68551         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
68552         of other REG_* macros, since POSIX says the user is allowed to
68553         #undef these macros selectively.
68554
68555         (reg_errcode_t): Update comment stating what other tables need
68556         to be consistent.
68557
68558         Rename the following enum values to obey POSIX requirements.
68559         The old names are still visible as macros.
68560         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
68561         is not defined, since GNU is supposed to be a superset of POSIX as
68562         much as possible, and since we want reg_errcode_t to be a signed
68563         type for implementation consistency.
68564         (_REG_NOERROR): Renamed from REG_NOERROR.
68565         (_REG_NOMATCH): Renamed from REG_NOMATCH.
68566         (_REG_BADPAT): Renamed from REG_BADPAT.
68567         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
68568         (_REG_ECTYPE): Renamed from REG_ECTYPE.
68569         (_REG_EESCAPE): Renamed from REG_EESCAPE.
68570         (_REG_ESUBREG): Renamed from REG_ESUBREG.
68571         (_REG_EBRACK): Renamed from REG_EBRACK.
68572         (_REG_EPAREN): Renamed from REG_EPAREN.
68573         (_REG_EBRACE): Renamed from REG_EBRACE.
68574         (_REG_BADBR): Renamed from REG_BADBR.
68575         (_REG_ERANGE): Renamed from REG_ERANGE.
68576         (_REG_ESPACE): Renamed from REG_ESPACE.
68577         (_REG_BADRPT): Renamed from REG_BADRPT.
68578         (_REG_EEND): Renamed from REG_EEND.
68579         (_REG_ESIZE): Renamed from REG_ESIZE.
68580         (_REG_ERPAREN): Renamed from REG_ERPAREN.
68581         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
68582         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
68583         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
68584         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
68585
68586         (_REG_RE_NAME, _REG_RM_NAME): New macros.
68587         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
68588         changed.  But support the old name if the new one is not defined
68589         and if _REGEX_SOURCE.
68590
68591         Change the following member names in struct re_pattern_buffer.
68592         The old names are still supported if !_REGEX_SOURCE.
68593         The new names are always supported, regardless of _REGEX_SOURCE.
68594         (re_buffer): Renamed from buffer.
68595         (re_allocated): Renamed from allocated.
68596         (re_used): Renamed from used.
68597         (re_syntax): Renamed from syntax.
68598         (re_fastmap): Renamed from fastmap.
68599         (re_translate): Renamed from translate.
68600         (re_can_be_null): Renamed from can_be_null.
68601         (re_regs_allocated): Renamed from regs_allocated.
68602         (re_fastmap_accurate): Renamed from fastmap_accurate.
68603         (re_no_sub): Renamed from no_sub.
68604         (re_not_bol): Renamed from not_bol.
68605         (re_not_eol): Renamed from not_eol.
68606         (re_newline_anchor): Renamed from newline_anchor.
68607
68608         Change the following member names in struct re_registers.
68609         The old names are still supported if !_REGEX_SOURCE.
68610         The new names are always supported, regardless of _REGEX_SOURCE.
68611         (rm_num_regs): Renamed from num_regs.
68612         (rm_start): Renamed from start.
68613         (rm_end): Renamed from end.
68614
68615         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
68616         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
68617         Prepend __ to parameter names.
68618
68619         Undo yesterday's changes.
68620
68621 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68622
68623         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
68624         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
68625         lib/regex.c.
68626
68627 2005-08-24  Jim Meyering  <jim@meyering.net>
68628
68629         Sync from coreutils.
68630         * m4/fcntl-safer.m4: New file.
68631
68632         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
68633         and object files for this module.
68634
68635 2005-08-24  Jim Meyering  <jim@meyering.net>
68636
68637         Sync from coreutils.
68638         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
68639
68640 2005-08-24  Jim Meyering  <jim@meyering.net>
68641
68642         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
68643         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
68644
68645 2005-08-24  Jim Meyering  <jim@meyering.net>
68646
68647         * modules/fcntl-safer: New module.
68648         * modules/fts (Depends-on): Add fcntl-safer.
68649         * MODULES.html.sh (File descriptor based Input/Output):
68650         Add fcntl-safer.
68651
68652 2005-08-24  Bruno Haible  <bruno@clisp.org>
68653
68654         Support for unit test modules.
68655         * modules/README: Mention tests modules.
68656         * modules/TEMPLATE-TESTS: New file.
68657         * gnulib-tool: New options --extract-tests-module, --with-tests and
68658         --tests-base (unused for the moment).
68659         (testsbase, inctests): New variables.
68660         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
68661         (func_verify_module): Exclude TEMPLATE-TESTS.
68662         (func_verify_nontests_module, func_verify_tests_module): New functions.
68663         (func_get_dependencies): Add implicit dependency for tests modules.
68664         (func_get_tests_module): New function.
68665         (func_modules_transitive_closure): When --with-tests was specified,
68666         include the unit tests as well, unless explicitly avoided.
68667         (func_emit_lib_Makefile_am): Ignore the tests modules here.
68668         (func_emit_tests_Makefile_am): New function.
68669         (func_create_testdir): When --with-tests was specified, emit a
68670         tests/ directory.
68671         * MODULES.html.sh (Future developments): Update.
68672
68673 2005-08-24  Bruno Haible  <bruno@clisp.org>
68674
68675         * modules/tls-tests: New file.
68676         * tests/test-tls.c: New file, from GNU gettext.
68677
68678 2005-08-24  Bruno Haible  <bruno@clisp.org>
68679
68680         * modules/lock-tests: New file.
68681         * tests/test-lock.c: New file, from GNU gettext.
68682
68683 2005-08-24  Bruno Haible  <bruno@clisp.org>
68684
68685         * lib/lock.h: Add multiple inclusion guard.
68686         * lib/tls.h: Add multiple inclusion guard.
68687
68688 2005-08-24  Bruno Haible  <bruno@clisp.org>
68689
68690         * gnulib-tool: Add support for the --aux-dir option to
68691         --create-testdir, --create-megatestdir, --test, --megatest.
68692         (func_create_testdir, func_create_megatestdir): Optionally emit a
68693         AC_CONFIG_AUX_DIR directive.
68694         (create-testdir, create-megatestdir, test, megatest): Provide a
68695         default value for $auxdir.
68696
68697 2005-08-24  Bruno Haible  <bruno@clisp.org>
68698
68699         * gnulib-tool (import): Use compound statement instead of subshell
68700         where possible.
68701
68702 2005-08-24  Bruno Haible  <bruno@clisp.org>
68703
68704         * gnulib-tool (import): Change --aux-dir default to "build-aux".
68705
68706 2005-08-24  Bruno Haible  <bruno@clisp.org>
68707
68708         * gnulib-tool (func_version): Update.
68709
68710 2005-08-24  Bruno Haible  <bruno@clisp.org>
68711
68712         * gnulib-tool (func_import, func_create_testdir,
68713         func_create_megatestdir): Quote all autoconf macro arguments.
68714
68715 2005-08-24  Bruno Haible  <bruno@clisp.org>
68716
68717         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
68718         option --force, because --force causes the aclocal.m4 of each
68719         subdirectory to be newer than the corresponding config.h.in.
68720
68721 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68722
68723         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
68724         All contents moved to gl_REGEX.
68725         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
68726         assume that it does.
68727
68728 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68729
68730         * lib/regex.h (REG_NOSYS)
68731         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
68732         Define, since POSIX requires it as of 2001.
68733         (_REG_ENOSYS)
68734         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
68735         New private symbol, used to keep the enum signed in all cases.
68736         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
68737         Youngman in
68738         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
68739
68740         * lib/regex_internal.c (re_string_skip_chars, register_state):
68741         (calc_state_hash):
68742         Remove forward decls; no longer needed now that we use prototypes.
68743         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
68744         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
68745         (clean_state_log_if_needed): Likewise.
68746
68747 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68748
68749         * config/srclist.txt: Add glibc bugs 1231-1233.
68750
68751 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68752
68753         Fix problems reported by Sam Steingold in
68754         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
68755         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
68756         assumed that reg_errcode_t is a signed type, which is not
68757         necessarily true if _XOPEN_SOURCE is not defined.
68758         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
68759         since some compilers warn about it otherwise.
68760
68761 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
68764         (init_word_char, create_initial_state, duplicate_node_closure):
68765         (fetch_token, peek_token_bracket, build_range_exp):
68766         (build_collating_symbol): Remove forward decls; no longer needed
68767         now that we use prototypes.
68768
68769         * lib/regcomp.c:
68770         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
68771         (re_compile_fastmap_iter, regcomp, regerror, regfree):
68772         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
68773         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
68774         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
68775         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
68776         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
68777         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
68778         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
68779         (build_range_exp, build_collating_symbol, parse_bracket_exp):
68780         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
68781         (build_charclass, build_charclass_op, fetch_number, create_tree):
68782         (create_token_tree, mark_opt_subexp, duplicate_tree):
68783         Use prototypes rather than old-style definitions.
68784
68785         * lib/regex_internal.c:
68786         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
68787         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
68788         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
68789         (re_string_reconstruct, re_string_peek_byte_case):
68790         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
68791         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
68792         (re_node_set_init_copy, re_node_set_add_intersect):
68793         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68794         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68795         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
68796         (re_acquire_state, re_acquire_state_context, register_state):
68797         (create_ci_newstate, create_cd_newstate, free_state):
68798         Likewise.
68799         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
68800         re_search_2):
68801         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
68802         (re_search_internal, prune_impossible_nodes):
68803         (acquire_init_state_context, check_matching, static):
68804         (check_halt_node_context, check_halt_state_context, proceed_next_node):
68805         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
68806         (update_regs, sift_states_backward, build_sifted_states):
68807         (clean_state_log_if_needed, merge_state_array):
68808         (update_cur_sifted_state, add_epsilon_src_nodes):
68809         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
68810         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
68811         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
68812         (find_recover_state, check_subexp_matching_top, transit_state_mb):
68813         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
68814         (check_arrival, check_arrival_add_next_nodes):
68815         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
68816         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68817         (check_node_accept_bytes, check_node_accept, extend_buffers):
68818         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
68819         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
68820         (sift_ctx_init):
68821         Likewise.
68822
68823         * lib/regex_internal.h:
68824         (re_string_allocate, re_string_construct, re_string_reconstruct):
68825         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
68826         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
68827         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
68828         (re_string_context_at, re_string_peek_byte_case):
68829         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
68830         is defined, since we now use prototypes always.
68831
68832         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
68833         C89 or better.  All uses removed.
68834
68835 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68836
68837         * config/srclist.txt: Add glibc bugs 1220-1227.
68838
68839 2005-08-20  Jim Meyering  <jim@meyering.net>
68840
68841         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
68842         of unused local, dfa.
68843
68844 2005-08-20  Bruno Haible  <bruno@clisp.org>
68845
68846         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
68847
68848 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68849
68850         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
68851         (re_node_set_insert_last, re_dfa_add_node):
68852         Rename local variables to avoid GCC shadowing warnings.
68853
68854 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68855
68856         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
68857         [defined lint]: Suppress bogus uninitialized-variable warnings.
68858
68859         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
68860         and let the caller return REG_ESPACE if out of space.  This
68861         removes an uninitialied-variable warning with GCC 4.0.1, and also
68862         avoids taking the address of a local variable.  All callers
68863         changed.
68864
68865 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68866
68867         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
68868         $LIBCSRC/posix/regexec.c.
68869         Add glibc bug 1217 for regcomp.c.
68870
68871 2005-08-19  Jim Meyering  <jim@meyering.net>
68872
68873         * lib/regexec.c (proceed_next_node): Redo local variables to
68874         avoid GCC shadowing warnings.
68875
68876 2005-08-18  Bruno Haible  <bruno@clisp.org>
68877
68878         * lib/strstr.c (strstr): Fix return value in multibyte case.
68879         * lib/strcasestr.c (strcasestr): Likewise.
68880
68881 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68882
68883         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
68884
68885 2005-08-17  Jim Meyering  <jim@meyering.net>
68886
68887         Make the %s format (seconds since the epoch) work for a negative
68888         number and when used with a zero-padded field width, e.g. %015s.
68889
68890         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
68891         label so that it precedes the code to set `digits'.  Otherwise,
68892         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
68893         print `00-22'.  Now, it prints `-0022', as it should.
68894
68895 2005-08-17  Bruno Haible  <bruno@clisp.org>
68896
68897         * modules/strstr (Files): Add m4/mbrtowc.m4.
68898         (Depends-on): Add mbuiter.
68899
68900 2005-08-17  Bruno Haible  <bruno@clisp.org>
68901
68902         * modules/strcasestr: New file.
68903         * MODULES.html.sh (String handling, based on ANSI C 89): Add
68904         strcasestr.
68905
68906 2005-08-17  Bruno Haible  <bruno@clisp.org>
68907
68908         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
68909
68910 2005-08-17  Bruno Haible  <bruno@clisp.org>
68911
68912         * modules/mbuiter: New file.
68913         * MODULES.html.sh (Extended multibyte and wide character utilities):
68914         Add mbuiter.
68915
68916 2005-08-17  Bruno Haible  <bruno@clisp.org>
68917
68918         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
68919         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
68920
68921 2005-08-17  Bruno Haible  <bruno@clisp.org>
68922
68923         * m4/strcasestr.m4: New file.
68924
68925 2005-08-17  Bruno Haible  <bruno@clisp.org>
68926
68927         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
68928         * lib/strstr.c: Completely rewritten, with multibyte locale support.
68929
68930 2005-08-17  Bruno Haible  <bruno@clisp.org>
68931
68932         * lib/strcasestr.h: New file.
68933         * lib/strcasestr.c: New file.
68934
68935 2005-08-17  Bruno Haible  <bruno@clisp.org>
68936
68937         * lib/strcasecmp.c: Use mbuiter.h.
68938
68939 2005-08-17  Bruno Haible  <bruno@clisp.org>
68940
68941         * lib/mbuiter.h: New file.
68942
68943 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
68944
68945         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
68946         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
68947         and gl_GETOPT are both invoked via different paths (as happens
68948         with GNU tar CVS because it uses both argp and getopt), the former
68949         wins.
68950
68951 2005-08-16  Bruno Haible  <bruno@clisp.org>
68952
68953         * modules/tls: New file.
68954         * MODULES.html.sh (Multithreading): Add tls.
68955
68956 2005-08-16  Bruno Haible  <bruno@clisp.org>
68957
68958         * modules/strnlen1: New file.
68959         * MODULES.html.sh (String handling): Add strnlen1.
68960
68961 2005-08-16  Bruno Haible  <bruno@clisp.org>
68962
68963         * modules/strcase (Files): Add m4/mbrtowc.m4.
68964         (Depends-on): Add strnlen1, mbchar.
68965
68966 2005-08-16  Bruno Haible  <bruno@clisp.org>
68967
68968         * modules/mbiter: New file.
68969         * MODULES.html.sh (Extended multibyte and wide character utilities):
68970         Add mbiter.
68971
68972 2005-08-16  Bruno Haible  <bruno@clisp.org>
68973
68974         * modules/mbfile: New file.
68975         * MODULES.html.sh (Extended multibyte and wide character utilities):
68976         Add mbfile.
68977
68978 2005-08-16  Bruno Haible  <bruno@clisp.org>
68979
68980         * modules/mbchar: New file.
68981         * MODULES.html.sh (Extended multibyte and wide character utilities):
68982         New section.
68983
68984 2005-08-16  Bruno Haible  <bruno@clisp.org>
68985
68986         * m4/tls.m4: New file, from GNU gettext.
68987
68988 2005-08-16  Bruno Haible  <bruno@clisp.org>
68989
68990         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
68991         always.
68992         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
68993
68994 2005-08-16  Bruno Haible  <bruno@clisp.org>
68995
68996         * m4/mbiter.m4: New file.
68997
68998 2005-08-16  Bruno Haible  <bruno@clisp.org>
68999
69000         * m4/mbfile.m4: New file.
69001
69002 2005-08-16  Bruno Haible  <bruno@clisp.org>
69003
69004         * m4/mbchar.m4: New file.
69005
69006 2005-08-16  Bruno Haible  <bruno@clisp.org>
69007
69008         * lib/tls.h: New file, from GNU gettext.
69009         * lib/tls.c: New file, from GNU gettext.
69010
69011 2005-08-16  Bruno Haible  <bruno@clisp.org>
69012
69013         * lib/strnlen1.h: New file.
69014         * lib/strnlen1.c: New file.
69015
69016 2005-08-16  Bruno Haible  <bruno@clisp.org>
69017
69018         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
69019         (mbi_init): Update.
69020         (mbi_avail, mbi_advance): Let the iteration end before the terminating
69021         NUL byte, not after it.
69022
69023 2005-08-16  Bruno Haible  <bruno@clisp.org>
69024
69025         * lib/strcase.h (strcasecmp): Add note in comments.
69026         * lib/strncasecmp.c: Use code from strcasecmp.c.
69027         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
69028         (strcasecmp): Work correctly in multibyte locales.
69029
69030 2005-08-16  Bruno Haible  <bruno@clisp.org>
69031
69032         * lib/mbiter.h: New file.
69033
69034 2005-08-16  Bruno Haible  <bruno@clisp.org>
69035
69036         * lib/mbfile.h: New file.
69037
69038 2005-08-16  Bruno Haible  <bruno@clisp.org>
69039
69040         * lib/mbchar.h: New file.
69041         * lib/mbchar.c: New file.
69042
69043 2005-08-16  Bruno Haible  <bruno@clisp.org>
69044
69045         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
69046         the valid ones. Makes the comparison operations transitive:
69047         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
69048         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
69049
69050 2005-08-15  Simon Josefsson  <jas@extundo.com>
69051
69052         * modules/ssize_t (License): Change to 'unlimited'.
69053
69054         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
69055
69056 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69057
69058         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
69059         Add comments for each pending glibc patch.
69060
69061 2005-08-15  Bruno Haible  <bruno@clisp.org>
69062
69063         * lib/regex.h (__restrict_arr): Don't define to __restrict if
69064         __cplusplus is defined.
69065
69066 2005-08-14  Jim Meyering  <jim@meyering.net>
69067
69068         Sync from coreutils.
69069
69070         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
69071         Use the hash-table-based cycle-detection code not just when
69072         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
69073         Reported by James Youngman in
69074         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
69075         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
69076         FTS_TIGHT_CYCLE_CHECK.
69077         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
69078         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
69079         once again.
69080         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
69081         * lib/fts.c (fd_safer): Remove decl.
69082         Include fcntl--.h rather than unistd-safer.h
69083         (fts_safe_changedir): Don't call fd_safer; no longer needed
69084         now that we include fcntl--.h.
69085
69086 2005-08-12  Simon Josefsson  <jas@extundo.com>
69087
69088         * modules/getndelim2: Use ssize_t module.
69089         * modules/getnline: Likewise.
69090         * modules/safe-read: Likewise.
69091         * modules/xreadlink: Likewise.
69092
69093         * modules/ssize_t: New file.
69094
69095 2005-08-12  Simon Josefsson  <jas@extundo.com>
69096
69097         * m4/readline.m4: Look for termcap, curses or ncurses if required.
69098
69099 2005-08-12  Simon Josefsson  <jas@extundo.com>
69100
69101         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69102         ssize_t.
69103
69104 2005-08-12  Simon Josefsson  <jas@extundo.com>
69105
69106         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
69107         readline, getdelim and check_version.
69108         (Support for systems lacking ISO C 99: Sizes of integer types):
69109         Add size_max.
69110
69111 2005-08-12  Bruno Haible  <bruno@clisp.org>
69112
69113         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
69114
69115 2005-08-11  Simon Josefsson  <jas@extundo.com>
69116
69117         * modules/readline: New file.
69118
69119         * modules/strnlen (Files): Add strnlen.h.
69120
69121 2005-08-11  Simon Josefsson  <jas@extundo.com>
69122
69123         * m4/readline.m4: New file.
69124
69125 2005-08-11  Simon Josefsson  <jas@extundo.com>
69126
69127         * lib/readline.h, readline.c: New file.
69128
69129 2005-08-11  Simon Josefsson  <jas@extundo.com>
69130
69131         * doc/gnulib.texi (Initial import, Finishing touches): Mention
69132         gl_AVOID.
69133
69134 2005-08-11  Bruno Haible  <bruno@clisp.org>
69135
69136         * lib/strnlen.h (strnlen): Change parameter name to match comment.
69137
69138 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
69139
69140         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
69141
69142 2005-08-10  Simon Josefsson  <jas@extundo.com>
69143
69144         * tests/test-iconvme.c: New file.
69145
69146 2005-08-10  Simon Josefsson  <jas@extundo.com>
69147
69148         * m4/strnlen.m4: New file.
69149
69150         * m4/strndup.m4: Don't check for strnlen declaration, done in
69151         strnlen.m4.
69152
69153 2005-08-10  Simon Josefsson  <jas@extundo.com>
69154
69155         * lib/strndup.c: Use strnlen.h.
69156
69157         * lib/strnlen.h: New file.
69158
69159 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69160
69161         * README: Typos.
69162
69163 2005-08-02  Simon Josefsson  <jas@extundo.com>
69164
69165         * modules/readline: New file.
69166
69167 2005-08-02  Simon Josefsson  <jas@extundo.com>
69168
69169         * modules/getdelim: New file.
69170
69171         * modules/getline: Rewrite, don't use getndelim2.
69172
69173 2005-08-02  Simon Josefsson  <jas@extundo.com>
69174
69175         * m4/getline.m4: Separate out getdelim stuff into separate module.
69176
69177         * m4/getdelim.m4: New file.
69178
69179 2005-08-02  Simon Josefsson  <jas@extundo.com>
69180
69181         * lib/getline.h, getline.c: Rewrite.
69182
69183         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
69184
69185 2005-07-31  Bruno Haible  <bruno@clisp.org>
69186
69187         * lib/lock.h (gl_lock_initializer): New macro.
69188         (gl_lock_define_initialized): Use it.
69189         (gl_rwlock_initializer): New macro.
69190         (gl_rwlock_define_initialized): Use it.
69191         (gl_recursive_lock_initializer): New macro.
69192         (gl_recursive_lock_define_initialized): Use it.
69193
69194 2005-07-30  Karl Berry  <karl@gnu.org>
69195
69196         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
69197         Report from Ben Pfaff, regarding getopt.
69198
69199 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
69200
69201         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
69202         normal way.
69203         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
69204         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
69205         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
69206         (gl_GETOPT): Use the new macros.  Most of the implementation
69207         is moved to the new macros.  This is for programs like Emacs
69208         that don't want all the functionality of gl_GETOPT.
69209
69210 2005-07-26  Bruno Haible  <bruno@clisp.org>
69211
69212         * m4/lock.m4: Update from GNU gettext.
69213
69214 2005-07-26  Bruno Haible  <bruno@clisp.org>
69215
69216         * lib/lock.h: Update from GNU gettext.
69217         * lib/lock.c: Update from GNU gettext.
69218
69219 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
69220
69221         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
69222         obsolescent AC_TRY_RUN.  Include the default includes files, for
69223         'exit'.
69224
69225 2005-07-24  Bruno Haible  <bruno@clisp.org>
69226
69227         * modules/visibility: New file.
69228         * MODULES.html.sh (Misc): Add visibility.
69229
69230 2005-07-24  Bruno Haible  <bruno@clisp.org>
69231
69232         * m4/visibility.m4: New file.
69233
69234 2005-07-24  Bruno Haible  <bruno@clisp.org>
69235
69236         * doc/visibility.texi: New file.
69237
69238 2005-07-22  Bruno Haible  <bruno@clisp.org>
69239
69240         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
69241         $(ALLOCA_H), redundant through BUILT_SOURCES.
69242         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
69243         redundant through BUILT_SOURCES.
69244         * modules/byteswap (Makefile.am): Remove explicit dependency on
69245         $(BYTESWAP_H), redundant through BUILT_SOURCES.
69246         * modules/fnmatch (Makefile.am): Remove explicit dependency on
69247         $(FNMATCH_H), redundant through BUILT_SOURCES.
69248         * modules/getopt (Makefile.am): Remove explicit dependency on
69249         $(GETOPT_H), redundant through BUILT_SOURCES.
69250         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
69251         redundant through BUILT_SOURCES.
69252         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
69253         redundant through BUILT_SOURCES.
69254         * modules/stdbool (Makefile.am): Remove explicit dependency on
69255         $(STDBOOL_H), redundant through BUILT_SOURCES.
69256         * modules/stdint (Makefile.am): Remove explicit dependency on
69257         $(STDINT_H), redundant through BUILT_SOURCES.
69258         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
69259         Remove explicit dependency on $(SYSEXITS_H).
69260         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
69261
69262 2005-07-18  Simon Josefsson  <jas@extundo.com>
69263
69264         * lib/check-version.c (check_version): Accept identical versions too.
69265
69266 2005-07-18  Bruno Haible  <bruno@clisp.org>
69267
69268         * modules/lock: New file.
69269         * MODULES.html.sh (Multithreading): New section.
69270
69271 2005-07-18  Bruno Haible  <bruno@clisp.org>
69272
69273         * m4/lock.m4: New file, from GNU gettext.
69274
69275 2005-07-18  Bruno Haible  <bruno@clisp.org>
69276
69277         * lib/lock.h: New file, from GNU gettext.
69278         * lib/lock.c: New file, from GNU gettext.
69279
69280 2005-07-18  Bruno Haible  <bruno@clisp.org>
69281
69282         * lib/lock.h (gl_once_t): New type.
69283         (gl_once_define, gl_once): New macros.
69284         * lib/lock.c (fresh_once): New variable.
69285         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
69286         functions.
69287
69288 2005-07-16  Simon Josefsson  <jas@extundo.com>
69289
69290         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
69291         workaround, suggested by Bruno.
69292
69293 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
69294
69295         * modules/xalloc (Depends-on): Add xalloc-die.
69296         * modules/xvasprintf (Depends-on): Add xalloc-die.
69297
69298 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
69299
69300         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
69301         with a minor change.
69302
69303 2005-07-15  Bruno Haible  <bruno@clisp.org>
69304
69305         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
69306         When using lib/poll.c, define poll as rpl_poll.
69307
69308 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
69309
69310         * modules/argp (Depends-on): Remove unlocked-io.
69311
69312 2005-07-14  Derek Price  <derek@ximbiot.com>
69313
69314         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
69315         for glob symlink bug.
69316
69317 2005-07-14  Bruno Haible  <bruno@clisp.org>
69318
69319         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
69320         Instead, test for *_unlocked function declarations directly.
69321
69322 2005-07-11  Simon Josefsson  <jas@extundo.com>
69323
69324         * modules/size_max: New file.
69325
69326         * modules/xsize: Depend on size_max module for size_max.m4.
69327
69328 2005-07-11  Simon Josefsson  <jas@extundo.com>
69329
69330         * lib/size_max.h: New file.
69331
69332 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
69333
69334         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
69335         copyright symbol and the year.
69336         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
69337         (version_etc_va): Use parameterized copyright notice.
69338         Reword to conform to the current GNU coding standards.
69339
69340 2005-07-11  Karl Berry  <karl@gnu.org>
69341
69342         * doc/gnulib.texi (Quoting): new node.
69343         (Initial import): more info, from Patrice.
69344
69345 2005-07-11  Bruno Haible  <bruno@clisp.org>
69346
69347         * gnulib-tool (func_usage): Document option --avoid.
69348         (Command line options): Handle --avoid.
69349         (func_acceptable): New function.
69350         (func_modules_transitive_closure): Use it.
69351
69352 2005-07-11  Bruno Haible  <bruno@clisp.org>
69353
69354         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
69355         Reported by Jim Meyering.
69356
69357 2005-07-10  Bruno Haible  <bruno@clisp.org>
69358
69359         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
69360         Needed when size_t is smaller than 'unsigned int'.
69361         Reported by Paul Eggert.
69362
69363 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69364
69365         * modules/argp (Depends-on): Add unlocked-io
69366
69367 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69368
69369         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
69370         block of defines.
69371
69372 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
69373
69374         * config/srclist.txt: Comment out regcomp.c, since we have a porting
69375         fix now.
69376
69377 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
69378         and Paul Eggert  <eggert@cs.ucla.edu>
69379
69380         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
69381         in wint_t, not wchar_t.  Remove now-unnecessary cast.
69382
69383 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69384
69385         * modules/regex (Files): Add lib/regex_internal.c,
69386         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
69387         (Depends-on): Add extensions.
69388         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
69389
69390 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69391
69392         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
69393         pathconf.
69394         * m4/same.m4 (gl_SAME): Likewise.
69395         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
69396
69397         * m4/regex.m4: Adjust to new libc regex implementation.
69398         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
69399         all the .c and .h parts of (the new) regex.
69400         Quote the m4 stuff better.
69401         Check for RE_ICASE bug of old gnulib.
69402         Check for REG_STARTEND of recent libc.
69403         Rename local variables from jm_* to gl_*.
69404         Quote operand of "test -f".
69405         Say "recent enough" version of libc, not "version 2".
69406         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
69407         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
69408         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
69409         Remove check for btowc, isascii.
69410         Require AM_LANGINFO_CODESET.
69411
69412 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69413
69414         * lib/regex.c, regex.h: Sync from libc.
69415         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
69416         * lib/regexec.c:
69417         New files, synced from libc, except that regex_internal.h
69418         currently has a small porting fix.
69419
69420 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69421
69422         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
69423         regex_internal.c, regexec.c.
69424         Add regex_internal.h too, but as a comment, since the libc version
69425         is currently broken in gnulib mode.
69426
69427 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69428
69429         Support programs like Emacs that use gnulib but not gettext.
69430         * MODULES.html.sh (Internationalization functions): Add gettext-h.
69431         * modules/gettext-h: New file.
69432         * modules/gettext (Files): Remove lib/gettext.h.
69433         (Depends-on): Add gettext-h.
69434         (Makefile.am): Remove lib_SOURCES.
69435         * modules/argmatch, modules/c-stack, modules/closeout:
69436         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
69437         * modules/execute, modules/file-type, modules/getaddrinfo:
69438         * modules/getopt, modules/human, modules/javacomp:
69439         * modules/javaexec, modules/mkdir-p, modules/obstack:
69440         * modules/openat, modules/pagealign_alloc, modules/pipe:
69441         * modules/quotearg, modules/regex, modules/rpmatch:
69442         * modules/unicodeio, modules/userspec, modules/version-etc:
69443         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
69444         * modules/xsetenv:
69445         Depend on gettext-h, not gettext.
69446
69447 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
69448
69449         * gnulib-tool (func_import): Add support for 'public domain' license.
69450         * modules/alloca, modules/atexit, modules/memmove:
69451         Now public domain, not GPL.
69452         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
69453         * modules/realloc, modules/strerror, modules/strtod:
69454         Now LGPL, not GPL.
69455
69456 2005-07-05  Bruno Haible  <bruno@clisp.org>
69457
69458         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
69459         autoconf CVS. Needed for mingw.
69460
69461 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69462
69463         Remove the dependency of the strftime module on the tzset module.
69464         * modules/strftime (Depends-on): Remove dependency on tzset.
69465
69466 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69467
69468         Remove the dependency of the strftime module on the tzset module.
69469         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
69470         gl_FUNC_TZSET_CLOBBER.
69471
69472 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69473
69474         Remove the dependency of the strftime module on the tzset module.
69475         * lib/strftime.c (my_strftime)
69476         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
69477         Copy the input structure, to work around some of the bug with
69478         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
69479         Solaris releases, you should also use the tzset module, but we won't
69480         require it as a dependency any more since we don't want LGPLed code
69481         to depend on GPLed code.
69482
69483 2005-07-02  Jim Meyering  <jim@meyering.net>
69484
69485         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
69486         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
69487         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
69488         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
69489
69490 2005-07-02  Jim Meyering  <jim@meyering.net>
69491
69492         * lib/backupfile.c (backup_args): Change a `0' to NULL.
69493
69494 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
69495
69496         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
69497         declares only 'struct timespec;' (!).
69498
69499 2005-07-01  Jim Meyering  <jim@meyering.net>
69500
69501         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
69502         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
69503         * lib/save-cwd.c, tempname.c:
69504         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
69505         and don't include <sys/file.h>).
69506
69507 2005-06-29  Jim Meyering  <jim@meyering.net>
69508
69509         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
69510         type name.  Use the variable name instead.
69511         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
69512         Likewise.
69513
69514 2005-06-28  Simon Josefsson  <jas@extundo.com>
69515
69516         * modules/check-version (Files): Add check-version.m4.
69517
69518 2005-06-28  Simon Josefsson  <jas@extundo.com>
69519
69520         * m4/check-version.m4: New file, suggested by Jim Meyering
69521         <jim@meyering.net>.
69522
69523 2005-06-28  Simon Josefsson  <jas@extundo.com>
69524
69525         * lib/check-version.h, lib/check-version.c: New files.
69526
69527 2005-06-28  Simon Josefsson  <jas@extundo.com>
69528
69529         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
69530         collision with global variable.  Better indentation.  Don't
69531         increment buffer pointer beyond buffer end.  Based on comments
69532         from Paul Eggert <eggert@cs.ucla.edu>.
69533
69534         * lib/base64.h: Indent.
69535
69536 2005-06-28  Simon Josefsson  <jas@extundo.com>
69537
69538         * doc/gnulib.texi (Library version handling): New section.
69539
69540 2005-06-28  Jim Meyering  <jim@meyering.net>
69541
69542         * check-module (find_included_lib_files): Hard-code another
69543         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
69544         but modules/fts-lgpl (correctly) does not list those files.
69545
69546         * modules/canonicalize (Files): Add lib/pathmax.h.
69547
69548 2005-06-25  Simon Josefsson  <jas@extundo.com>
69549
69550         * modules/check-version: New file.
69551
69552 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
69553
69554         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
69555         initializer of struct addrinfo, as an indication that we don't
69556         care how many members the structure has.
69557
69558 2005-06-24  Derek Price  <derek@ximbiot.com>
69559         and Bruno Haible  <bruno@clisp.org>
69560
69561         Remove stat module & update lstat.
69562         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
69563         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69564         * m4/stat.m4: Remove this file.
69565
69566 2005-06-24  Derek Price  <derek@ximbiot.com>
69567         and Bruno Haible  <bruno@clisp.org>
69568
69569         Remove stat module & update lstat.
69570         * lib/stat.c: Remove this file...
69571         (slash_aware_lstat): ...moving this content and its support...
69572         * lib/lstat.c (rpl_lstat): ...into here.
69573         * lib/lstat.h: New file.
69574
69575 2005-06-24  Derek Price  <derek@ximbiot.com>
69576         and Bruno Haible  <bruno@clisp.org>
69577
69578         Remove stat module & update lstat.
69579         * config/srclist.txt (libc sources): Remove stat.
69580
69581 2005-06-24  Derek Price  <derek@ximbiot.com>
69582         and Bruno Haible  <bruno@clisp.org>
69583
69584         Remove stat module & update lstat.
69585         * MODULES.html.sh (stat): Remove.
69586         * MODULES.html: Regenerated.
69587         * modules/lstat (Description): Correct function name.
69588         (Files): Add "lstat.h".
69589         (Depends-on): Remove stat, add xalloc, stat-macros.
69590         * modules/stat: Remove this file.
69591         (Include): Add "lstat.h", remove <sys/stat.h>.
69592
69593 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
69594
69595         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
69596         (ranged_convert): Don't save conversion in a temporary struct.
69597         This causes a warning with GCC 4.0.0, and anyway in the typical
69598         case it's not worth the extra 100 bytes or so of code.
69599         (ranged_convert, __mktime_internal): When calling a function via a
69600         pointer P, use P () rather than (*P) (), as we now assume C89 or
69601         better.
69602
69603 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69604
69605         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
69606         "who -r" failed to give output.  Problem reported by Tim Waugh.
69607
69608         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
69609         (xcalloc): Use it to avoid needless tests.
69610         Problem reported by Jim Meyering.
69611
69612 2005-06-20  Derek Price  <derek@ximbiot.com>
69613
69614         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
69615         unnecessary for Autoconfs > 2.59c.
69616
69617 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69618
69619         * lib/argp.h (__option_is_short): Check upper limit of
69620         __key. Isprint() requires its argument to have the value
69621         of an unsigned char or EOF.
69622
69623 2005-06-16  Jim Meyering  <jim@meyering.net>
69624
69625         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
69626         when either N or S is zero.
69627
69628 2005-06-16  Derek Price  <derek@ximbiot.com>
69629
69630         * m4/bison.m4: Declare YACC & YFLAGS precious.
69631
69632 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
69633
69634         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
69635         multibyte string or pattern, fall back on unibyte matching.
69636         Problem reported by James Youngman.
69637
69638 2005-06-08  Bruno Haible  <bruno@clisp.org>
69639
69640         * modules/csharpcomp: New file.
69641         * MODULES.html.sh (C#): Add csharpcomp.
69642
69643 2005-06-08  Bruno Haible  <bruno@clisp.org>
69644
69645         * m4/csharpcomp.m4: New file, from GNU gettext.
69646
69647 2005-06-08  Bruno Haible  <bruno@clisp.org>
69648
69649         * lib/csharpcomp.h: New file, from GNU gettext.
69650         * lib/csharpcomp.c: New file, from GNU gettext.
69651         * lib/csharpcomp.sh.in: New file, from GNU gettext.
69652
69653 2005-06-08  Bruno Haible  <bruno@clisp.org>
69654
69655         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
69656         warning on mingw.
69657
69658 2005-06-07  Derek Price  <derek@ximbiot.com>
69659
69660         Sync from CVS.
69661         * lib/glob_.h: Indent nested #ifdef.
69662
69663 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69664
69665         Sync from coreutils.
69666         Use "file name" when talking about file names, instead of "filename"
69667         or "path", as per the GNU coding standards.
69668         * lib/mkdir-p.c: Renamed from makepath.c.
69669         (make_dir_parents): Renamed from make_path.  All callers changed.
69670         * lib/mkdir-p.h: Likewise.  All includers changed.
69671         * lib/filenamecat.c: Renamed from path-concat.c.
69672         (file_name_concat): Renamed from path_concat.  All callers changed.
69673         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
69674         * lib/filenamecat.h: Likewise.  All includers changed.
69675         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
69676         in comments or local variable names.
69677         * lib/basename.c: Likewise.
69678         * lib/canonicalize.c, canonicalize.h: Likewise.
69679         * lib/dirname.c, dirname.h: Likewise.
69680         * lib/euidaccess.c: Likewise.
69681         * lib/exclude.c: Likewise
69682         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
69683         * lib/fsusage.c, fsuage.h: Likewise.
69684         * lib/fts.c, fts_.h: Likewise.
69685         * lib/getcwd.c: Likewise.
69686         * lib/getloadavg.c: Likewise.
69687         * lib/mkstemp.c: Likewise.
69688         * lib/mountlist.c, mountlist.h: Likewise.
69689         * lib/openat.c, openat.h: Likewise.
69690         * lib/readlink-stub.c: Likewise.
69691         * lib/readutmp.c, readutmp.h: Likewise.
69692         * lib/rename.c: Likewise.
69693         * lib/rmdir.c: Likewise.
69694         * lib/same.c: Likewise.
69695         * lib/savedir.c: Likewise.
69696         * lib/stripslash.c: Likewise.
69697         * lib/tempname.c: Likewise.
69698         * lib/xreadlink.c: Likewise.
69699         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
69700         All uses changed.
69701         * lib/exclude.h: Likewise.
69702
69703         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
69704         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69705         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
69706         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69707         * lib/pathmax.h: Include <limits.h> unconditionally, since other
69708         files have been getting away with it for years (MORE/BSD 4.3
69709         is extinct now).
69710         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
69711         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69712
69713         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
69714         Define to 256, not 255, as per modern POSIX.
69715
69716 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69717
69718         Sync from coreutils.
69719         Use "file name" when talking about file names, instead of "filename"
69720         or "path", as per the GNU coding standards.
69721         * MODULES.html.sh: mkdir-p renamed from makepath.
69722         filenamecat renamed from path-concat.
69723         * modules/filenamecat: Renamed from modules/path-concat.
69724         (Files): filenamecat.h and filenamecat.c renamed from
69725         path-concat.h and path-concat.c.
69726         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
69727         (Include): filenamecat.h, not path-concat.h.
69728         * modules/mkdir-p: Renamed from modules/makepath.
69729         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
69730         makepath.c.
69731         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
69732         (Include): mkdir-p.h, not makepath.h.
69733
69734 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69735
69736         Sync from coreutils.
69737         * m4/mkdir-p.m4: Renamed from makepath.m4.
69738         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
69739         Rename files from makepath.c to mkdir-p.c, and from
69740         makepath.h to mkdir-p.h.
69741         * m4/filenamecat.m4: Renamed from path-concat.m4.
69742         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
69743         Rename files from path-concat.c to filenamecat.c,
69744         and from path-concat.h to filenamecat.h.
69745         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
69746         "file name" in local variables or comments.
69747         * m4/rename.m4: Likewise.
69748
69749 2005-06-01  Bruno Haible  <bruno@clisp.org>
69750
69751         * modules/csharpexec: New file.
69752         * MODULES.html.sh (C#): New section.
69753
69754 2005-06-01  Bruno Haible  <bruno@clisp.org>
69755
69756         * m4/csharp.m4: New file, from GNU gettext.
69757         * m4/csharpexec.m4: New file, from GNU gettext.
69758
69759 2005-06-01  Bruno Haible  <bruno@clisp.org>
69760
69761         * lib/csharpexec.h: New file, from GNU gettext.
69762         * lib/csharpexec.c: New file, from GNU gettext.
69763         * lib/csharpexec.sh.in: New file, from GNU gettext.
69764
69765 2005-05-31  Derek Price  <derek@ximbiot.com>
69766             Paul Eggert  <eggert@cs.ucla.edu>
69767
69768         Sync from cvs.
69769         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69770
69771 2005-05-31  Derek Price  <derek@ximbiot.com>
69772             Paul Eggert  <eggert@cs.ucla.edu>
69773
69774         Sync from cvs.
69775         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69776
69777 2005-05-29  Derek Price  <derek@ximbiot.com>
69778
69779         * config/srclist.txt (glob_.h, glob.c): Add these files.
69780
69781 2005-05-29  Derek Price  <derek@ximbiot.com>
69782
69783         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
69784         * modules/glob: New file.
69785         * modules/getlogin_r: Add link to POSIX spec in description.
69786
69787 2005-05-29  Derek Price  <derek@ximbiot.com>
69788             Paul Eggert  <eggert@cs.ucla.edu>
69789
69790         * m4/glob.m4: New file.
69791
69792 2005-05-29  Derek Price  <derek@ximbiot.com>
69793             Paul Eggert  <eggert@cs.ucla.edu>
69794
69795         * lib/glob_.h, lib/glob.c: New files.
69796
69797 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69798
69799         * modules/fts (Files): Remove m4/inttypes-pri.m4.
69800         * modules/fts-lgpl (Depends-on): Remove gettext.
69801
69802 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69803
69804         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
69805         and don't require gt_INTTYPES_PRI.
69806
69807 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69808
69809         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
69810
69811         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
69812         the configuration hassle isn't worth it.
69813         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
69814         (LONGEST_MODIFIER, PRIuMAX): Remove.
69815
69816 2005-05-27  Bruno Haible  <bruno@clisp.org>
69817
69818         * lib/getlogin_r.h: Remove second include of <stddef.h>.
69819
69820 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
69821
69822         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
69823         _POSIX_PTHREAD_SEMANTICS for Solaris.
69824
69825 2005-05-25  Derek Price  <derek@ximbiot.com>
69826
69827         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
69828
69829 2005-05-25  Derek Price  <derek@ximbiot.com>
69830             Paul Eggert  <eggert@cs.ucla.edu>
69831
69832         * modules/getlogin_r, m4/getlogin_r.m4: New files.
69833         * lib/getlogin_r.c, getlogin_r.h: New files.
69834
69835 2005-05-25  Bruno Haible  <bruno@clisp.org>
69836             Derek Price  <derek@ximbiot.com>
69837
69838         * lib/getlogin_r.h: Simplify API documentation.
69839
69840 2005-05-23  Derek Price  <derek@ximbiot.com>
69841
69842         * modules/minmax (Files): Add m4/minmax.m4.
69843         (configure.ac): Add gl_MINMAX.
69844
69845 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
69846
69847         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
69848         so that unistd-safer.h (GPL'ed code) need not be included.
69849
69850 2005-05-22  Bruno Haible  <bruno@clisp.org>
69851
69852         * m4/minmax.m4: New file.
69853         Based on a patch by Derek Price <derek@ximbiot.com>.
69854
69855 2005-05-22  Bruno Haible  <bruno@clisp.org>
69856
69857         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
69858         (INT64_MIN): Fix definition.
69859         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
69860
69861         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
69862         NEED_SIGNED_INT_TYPES.
69863
69864         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
69865         HAVE_SYSTEM_INTTYPES.
69866
69867 2005-05-22  Bruno Haible  <bruno@clisp.org>
69868
69869         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
69870         Also include <sys/param.h> if it defines MIN, MAX.
69871         Based on a patch by Derek Price <derek@ximbiot.com>.
69872
69873 2005-05-21  Jim Meyering  <jim@meyering.net>
69874
69875         * modules/fts (Files): Add m4/inttypes-pri.m4.
69876         (Depends-on): Add lstat and remove gettext.  Alphabetize.
69877
69878 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69879
69880         New fts module.
69881         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
69882         (setup_dir, free_dir): New functions.
69883         (enter_dir, leave_dir): Define trivial
69884         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
69885         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
69886         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
69887         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
69888         Move to fts-cycle.c.
69889         (fts_open): Use setup_dir.
69890         (fts_close): Use free_dir.
69891         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
69892         This adds a label and some gotos, but the alternatives were messier.
69893         Check for memory allocation failure when entering a dir.
69894         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
69895         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
69896         (FTS): New member fts_cycle, that is a union that contains the
69897         old active_dir_ht and cycle_state.  All uses changed to mention
69898         fts_cycle.ht and fts_cycle.state.
69899         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
69900         fts.c, with the following changes:
69901         (setup_dir, free_dir): New functions.
69902         (enter_dir): Now returns bool.  Return true if successful, false
69903         if memory exhausted.  All callers changed.
69904         Do not bother partly cleaning up on
69905         memory allocation failure; that is free_dir's job.
69906         However, free ad if hash_insert fails, to avoid memory leak.
69907         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
69908         fts->fts_options to see which union member to use.
69909
69910 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69911
69912         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
69913         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
69914
69915 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69916
69917         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
69918
69919 2005-05-20  Jim Meyering  <jim@meyering.net>
69920
69921         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
69922         Now a macro, to pacify GCC.
69923
69924 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
69925
69926         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
69927         of -1.
69928
69929 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
69930
69931         * lib/chown.c (rpl_chown): Return -1 on failure.
69932
69933 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
69934
69935         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
69936         Don't check for stddef.h.
69937         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
69938         don't use its results.
69939         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
69940         since we include them unconditionally.  Don't require
69941         AM_STDBOOL_H, since stdbool is a prerequisite.
69942         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
69943         since we assume C89 or better.
69944         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
69945         as we don't use their results.
69946         Don't check for fchdir, memmove, memset, strrchr, as we use
69947         them unconditionally.
69948         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
69949         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
69950
69951 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
69952
69953         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
69954         Include <stddef.h> unconditionally, since we assume C89 now.
69955         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
69956         * lib/fts.c: Include fts_.h first, to check interface.
69957         Do not include intprops.h; no longer needed.
69958         Include cycle-check.h and hash.h, since fts_.h no longer does.
69959         Remove unnecessary casts of closedir to void.
69960         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
69961         decide whether to decrement nlinks.
69962         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
69963         (FTS): Use struct hash_table * instead of Hash_table, so that
69964         we no longer need to include hash.h here.
69965
69966 2005-05-18  Jim Meyering  <jim@meyering.net>
69967
69968         * modules/dirfd (License): Change to LGPL.  Most of the code
69969         is already in the public domain.
69970
69971 2005-05-18  Jim Meyering  <jim@meyering.net>
69972
69973         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
69974         Reported by Yoann Vandoorselaere.
69975
69976 2005-05-17  Jim Meyering  <jim@meyering.net>
69977
69978         * m4/fts.m4: New file, from coreutils.
69979
69980 2005-05-17  Jim Meyering  <jim@meyering.net>
69981
69982         * lib/fts.c, lib/fts_.h: New files, from coreutils.
69983
69984 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69985
69986         Sync from coreutils.
69987         * m4/unlinkdir.m4: New file.
69988
69989 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69990
69991         Sync from coreutils.
69992         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
69993         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
69994         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
69995         White space changes only.
69996         * lib/makepath.c (make_path): Port to hosts where leading "//" is
69997         special.
69998         * lib/yesno.c: Include getline.h, not ctype.h.
69999         (yesno): Don't remove leading white space; POSIX doesn't allow it.
70000         Use getline to remove arbitrary restriction on response length.
70001
70002 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70003
70004         * config/srclist-update: Spell out "Street" in FSF postal
70005         mail address; this is the style the FSF seems to prefer.
70006
70007         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
70008         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
70009         this updates FSF postal mail address.
70010
70011         Sync from coreutils.
70012         * modules/unlinkdir: New file.
70013         * modules/yesno (Depends-on): Add getline.
70014         * MODULES.html.sh (File system functions): Add unlinkdir.
70015
70016 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70017
70018         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
70019         lib/strsep.h:
70020         Change the initial comment to refer to GPL, not LGPL.
70021         gnulib-tool will change it to LGPL as needed.
70022
70023         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
70024         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
70025         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
70026         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
70027         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
70028         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
70029         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
70030         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
70031         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
70032         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
70033         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
70034         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
70035         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
70036         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
70037         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
70038         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
70039         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
70040         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
70041         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
70042         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
70043         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
70044         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
70045         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
70046         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
70047         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
70048         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
70049         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
70050         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
70051         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
70052         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
70053         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
70054         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
70055         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
70056         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
70057         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
70058         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
70059         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
70060         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
70061         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
70062         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
70063         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
70064         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
70065         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
70066         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
70067         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
70068         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
70069         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
70070         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
70071         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
70072         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
70073         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70074         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
70075         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
70076         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
70077         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
70078         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
70079         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
70080         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
70081         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
70082         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
70083         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
70084         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
70085         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
70086         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
70087         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
70088         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
70089         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
70090         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
70091         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
70092         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
70093         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
70094         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
70095         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
70096         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
70097         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
70098         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
70099         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
70100         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
70101         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
70102         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
70103         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
70104         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
70105         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
70106         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
70107         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
70108         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
70109         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
70110         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
70111         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
70112         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
70113         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
70114         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
70115         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
70116         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
70117         lib/yesno.c, lib/yesno.h:
70118         Update FSF postal mail address.
70119
70120 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70121
70122         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
70123         tests/test-memmem.c, tests/test-stpncpy.c:
70124         Update FSF postal mail address.
70125
70126 2005-05-13  Bruno Haible  <bruno@clisp.org>
70127
70128         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
70129         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
70130         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
70131         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
70132         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
70133         Add support for 64-bit integers in the MSVC compiler.
70134
70135 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70136
70137         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
70138
70139 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
70140
70141         * gnulib-tool (func_import): Sort and uniquify recommended includes.
70142
70143 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
70144
70145         * doc/getdate.texi (General date syntax): Don't say that date
70146         date --iso-8601=ns generates acceptable dates; it doesn't yet.
70147         Problem reported by Nic Ferrier.
70148
70149 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70150
70151         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
70152         specified in ai_socktype. Fix invalid ai_protocol
70153         check. ai_protocol is usually set to 0 or depending on
70154         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
70155         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
70156         ai_socktype / ai_protocol in the returned addrinfo structure.
70157
70158 2005-05-10  Simon Josefsson  <jas@extundo.com>
70159
70160         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
70161         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70162
70163 2005-05-10  Karl Berry  <karl@gnu.org>
70164
70165         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
70166         (from http://www.gnu.org/licenses).
70167         * doc/COPYING.LIB: also rename to COPYING.LESSER.
70168         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
70169         fdl.texi suffices.
70170
70171 2005-05-10  Karl Berry  <karl@gnu.org>
70172
70173         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
70174         (COPYING.DOC): remove.
70175
70176         * config/srclist-update: new FSF address.
70177
70178 2005-05-10  Derek Price  <derek@ximbiot.com>
70179
70180         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
70181         possible.
70182
70183 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70184             Bruno Haible  <bruno@clisp.org>
70185
70186         * modules/inet_ntop: New file.
70187         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70188         inet_ntop.
70189
70190 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70191             Bruno Haible  <bruno@clisp.org>
70192
70193         * m4/inet_ntop.m4: New file.
70194
70195 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70196             Bruno Haible  <bruno@clisp.org>
70197
70198         * lib/inet_ntop.h: New file.
70199         * lib/inet_ntop.c: New file, from glibc with modifications.
70200
70201 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
70202
70203         * modules/time_r (License): Change to LGPL.
70204         * modules/extensions (License): Change to LGPL.  Actually,
70205         the license is more permissive than that, but currently gnulib-tool
70206         doesn't know how to handle more-permissive licenses.
70207
70208         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
70209         Problem reported by Dave Love.
70210
70211 2005-05-08  Jim Meyering  <jim@meyering.net>
70212
70213         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
70214         blank.
70215
70216 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
70217
70218         * modules/argmatch (Depends-on): Add stdbool.
70219         * modules/backupfile (Depends-on): Likewise.
70220         * modules/chdir-long (Depends-on): Likewise.
70221         * modules/closeout (Depends-on): Likewise.
70222         * modules/cycle-check (Depends-on): Likewise.
70223         * modules/dirname (Depends-on): Likewise.
70224         * modules/fnmatch (Depends-on): Likewise.
70225         * modules/fsusage (Depends-on): Likewise.
70226         * modules/fwriteerror (Depends-on): Likewise.
70227         * modules/getcwd (Depends-on): Likewise.
70228         * modules/getloadavg (Depends-on): Likewise.
70229         * modules/hard-locale (Depends-on): Likewise.
70230         * modules/makepath (Depends-on): Likewise.
70231         * modules/mountlist (Depends-on): Likewise.
70232         * modules/nanosleep (Depends-on): Likewise.
70233         * modules/posixtm (Depends-on): Likewise.
70234         * modules/quotearg (Depends-on): Likewise.
70235         * modules/readtokens (Depends-on): Likewise.
70236         * modules/readtokens0 (Depends-on): Likewise.
70237         * modules/readutmp (Depends-on): Likewise.
70238         * modules/save-cwd (Depends-on): Likewise.
70239         * modules/strftime (Depends-on): Likewise.
70240         * modules/userspec (Depends-on): Likewise.
70241         * modules/utimecmp (Depends-on): Likewise.
70242         * modules/xgetcwd (Depends-on): Likewise.
70243         * modules/xnanosleep (Depends-on): Likewise.
70244         * modules/xstrtod (Depends-on): Likewise.
70245         * modules/yesno (Depends-on): Likewise.
70246
70247 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
70248
70249         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
70250         needless checks.
70251
70252 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70253
70254         Merge from coreutils.  Among other things,
70255         add bulletproofing for cases where stdin, stdout, or stderr are closed.
70256         * lib/fd-safer.c: New file.
70257         * lib/fcntl-safer.h, open-safer.c: Remove.
70258         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
70259         * lib/dup-safer.c: Include unistd-safer.h first.
70260         Don't include errno.h.
70261         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
70262         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
70263         * lib/file-type.c: Rely on file-type.h change.
70264         * lib/getloadavg.c: Include unistd-safer.h.
70265         (getloadavg): Use safer open.
70266         * lib/getusershell.c: Include "stdio-safer.h".
70267         (getusershell): Use safer fopen.
70268         * lib/long-options.c (long_options): Use NULL rather than 0.
70269         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
70270         'free'.
70271         * lib/modechange.c: Likewise.
70272         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
70273         (MODE_DONE): New constant.
70274         (struct mode_change): Remove 'next' member.
70275         (make_node_op_equals): New function; like the old one of the
70276         same name, except it allocates an array.
70277         (mode_compile, mode_create_from_ref): Use it.
70278         (mode_compile): Allocate result as an array, not a linked list.
70279         Parse octal string ourself, so that we catch mistakes like "+0".
70280         (mode_adjust): Arg is an array, not a linked list.
70281         * lib/modechange.c: Include stat-macros.h, xalloc.h.
70282         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
70283         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
70284         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
70285         Remove.  This is now stat-macros.h's job.
70286         (talloc): Remove.  All callers replaced by xalloc, so that
70287         our invokers don't have to worry about reporting memory failures.
70288         (make_node_op_equals): Remove.
70289         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
70290         New constants.
70291         (struct mode_change): Moved here from modechange.h.
70292         (mode_append_entry): Remove.
70293         (mode_compile): Remove MASKED_OPS arg, since it encouraged
70294         apps to have incorrect behavior.  Use simpler algorithm for head
70295         and tail.  Don't futz with umask; that's now the job of mode_adjust.
70296         Detect more invalid usages rather than having somewhat-random behavior.
70297         Don't insert an "a=" action, as that leads to incorrect behavior.
70298         (mode_compile, mode_create_from_ref): Return NULL on error instead
70299         of an enum, since now there's only one way to have an error.  All
70300         callers changed.
70301         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
70302         at the correct time.  Simplify calculation of "+u" and its ilk.
70303         Don't mishandle "+X".
70304         (mode_free): Remove "register" and localize decls.
70305         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
70306         (struct mode_change): Move to modechange.c; callers don't
70307         need to see this stuff.
70308         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
70309         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
70310         (mode_change, mode_adjust): Reflect the new signatures noted above.
70311         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
70312         that might redefine system include files.
70313         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
70314         (my_usleep): Use NULL rather than (void *) 0.
70315         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
70316         Use siginterrupt to specify that system calls should be interrupted.
70317         (rpl_nanosleep): Move initialization of suspended closer to call of
70318         my_usleep.
70319         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
70320         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
70321         (desirable_utmp_entry): New function.
70322         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
70323         using x2nrealloc, to simplify logic.
70324         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
70325         size calculation.  Do not assume utmp file is a regular file.
70326         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
70327         (READ_UTMP_CHECK_PIDS): New constant.
70328         * lib/save-cwd.c: Include unistd-safer.h.
70329         (save_cwd): Use fd_safer.
70330         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
70331         [!_LIBC] Include "stat-macros.h" instead.
70332         * lib/unistd-safer.h (fd_safer): New decl.
70333
70334 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70335
70336         * modules/getloadavg (Depends-on): Add unistd-safer.
70337         * modules/getusershell (Depends-on): Add stdio-safer.
70338         * modules/lstat (Depends-on): Remove xalloc.
70339         * modules/mkstemp (Depends-on): Add stat-macros.
70340         * modules/modechange (Depends-on): Remove xstrtol.
70341         Add stat-macros, xalloc.
70342         * modules/save-cwd (Depends-on): Add unistd-safer.
70343         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
70344         * modules/unistd-safer (Files): Add lib/fd-safer.c
70345         (Makefile.am): Remove lib_SOURCES.
70346
70347         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
70348         Remove fcntl-safer; unistd-safer supersedes it.
70349
70350 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70351
70352         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
70353         AC_HEADER_STAT.
70354         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
70355         (gl_PREREQ_CHOWN): Remove.
70356         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
70357         it.  Don't require AC_HEADER_STAT.
70358         (gl_PREREQ_LSTAT): Remove.
70359         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
70360         Don't require AC_HEADER_STAT.
70361         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
70362         (gl_PREREQ_RMDIR): Remove.
70363         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
70364         mention stat-macros.h or AC_HEADER_STAT, since we'll make
70365         the stat-macros module a prerequisite.
70366         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
70367         * m4/filemode.m4 (gl_FILEMODE): Likewise.
70368         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
70369         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
70370         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
70371         variable names.
70372         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
70373         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
70374         variable prefixes.
70375         * m4/fcntl-safer.m4: Remove.
70376         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
70377         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
70378         Invoke gl_PREREQ_FD_SAFER.
70379         (gl_PREREQ_FD_SAFER): New macro.
70380         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
70381         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
70382         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
70383         Remove duplicate call to AC_LIBOBJ(readutmp).
70384         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
70385
70386         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
70387         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
70388
70389 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70390
70391         * MODULES.html.sh (Misc): Add byteswap.
70392
70393 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70394
70395         * modules/getcwd (Depends-on): Add extensions.
70396         * modules/openat (Depends-on): Likewise.
70397
70398 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70399
70400         * modules/byteswap: New file.
70401
70402 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70403
70404         * m4/byteswap.m4: New file.
70405
70406 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70407
70408         * lib/byteswap_.h: New file.
70409
70410 2005-04-25  Karl Berry  <karl@gnu.org>
70411
70412         * m4/gettext.m4: Update from GNU gettext 0.14.4.
70413
70414 2005-04-25  Albert Chin  <china@thewrittenword.com>
70415
70416         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
70417         Toolkit C bug.
70418
70419 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
70420
70421         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
70422         (func_ln_if_changed): Remove forcibly for no error message
70423         in case file does not exist.
70424
70425 2005-04-19  Simon Josefsson  <jas@extundo.com>
70426
70427         * gnulib-tool (Options): Make --symlink mean --symbolic.
70428
70429 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
70430
70431         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
70432
70433 2005-04-16  Simon Josefsson  <jas@extundo.com>
70434
70435         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
70436
70437 2005-04-15  Simon Josefsson  <jas@extundo.com>
70438
70439         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
70440
70441 2005-04-15  Simon Josefsson  <jas@extundo.com>
70442
70443         * gnulib-tool: Rename --symlink to --symbolic.
70444
70445 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
70446
70447         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
70448         symbolic links to files instead of copying/moving.  Add --aux-dir,
70449         specifying directory relative --dir where auxiliary build tools
70450         are placed.
70451
70452 2005-04-14  Bruno Haible  <bruno@clisp.org>
70453
70454         * modules/allocsa (License): Change to LGPL.
70455         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
70456
70457 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70458
70459         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
70460         that "UTC +1 second" continues to work.  Problem reported
70461         by Dmitry V. Levin.
70462         (relunit_snumber): New rule.
70463         (relunit): Use it.
70464
70465 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70466
70467         * lib/getdate.y (universal_time_zone_table): New constant.
70468         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
70469         universal_time_zone_table.
70470         (lookup_zone): Prefer universal_time_zone_table to
70471         local_time_zone_table, so that "GMT" time stamps are allowed in
70472         London during the summer.  Problem reported by Ian Abbott.
70473
70474 2005-04-12  Jim Meyering  <jim@meyering.net>
70475
70476         * lib/human.c (humblock): Set *options even when returning due to
70477         xstrtoumax conversion failure.  Thanks to a used-uninitialized
70478         warning from gcc-4.
70479
70480 2005-04-09  Jim Meyering  <jim@meyering.net>
70481
70482         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
70483         -Wuninitialized: initialize tm0.tm_year.
70484
70485 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70486
70487         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
70488         count, since there's no maximum.  All uses changed.
70489         Add member dsts_seen.
70490         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
70491         not being INT_MAX.
70492         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
70493         Use pc_rels_seen to decide whther a date is absolute.
70494
70495         * lib/getdate.y (number): Don't overwrite year.
70496         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
70497         check.
70498
70499 2005-04-02  Simon Josefsson  <jas@extundo.com>
70500
70501         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
70502         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
70503
70504 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
70505
70506         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
70507         where no absolute path name can be longer than PATH_MAX.
70508
70509 2005-03-27  Jim Meyering  <jim@meyering.net>
70510
70511         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
70512
70513 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
70514
70515         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
70516         "one's complement" -> "ones' complement" in comment, as per Knuth.
70517         "value of type" -> "type or expression" in comment.
70518         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
70519
70520 2005-03-26  Jim Meyering  <jim@meyering.net>
70521
70522         Comment nits.
70523         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
70524         Correct typos: s/or/of/.
70525
70526 2005-03-26  Jim Meyering  <jim@meyering.net>
70527
70528         * modules/check-include-files: Move to ../ and rename to...
70529         * check-module: ...this.
70530
70531 2005-03-25  Jim Meyering  <jim@meyering.net>
70532
70533         * modules/xvasprintf (Files): Add xalloc.h.
70534
70535 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70536
70537         * modules/gettext (Files): config/config.rpath ->
70538         build-aux/config.rpath
70539         * modules/iconv (Files): Likewise.
70540         Problem reported by Oskar Liljeblad.
70541
70542 2005-03-23  Jim Meyering  <jim@meyering.net>
70543
70544         * modules/check-include-files: New script to check for
70545         missing dependencies, multiple includes, etc.
70546
70547         * modules/c-strtold (Depends-on): Add xalloc.
70548         * modules/c-strtod (Depends-on): Add xalloc.
70549         * modules/hash (Depends-on): Add xalloc.
70550         (Files): Remove lib/xalloc.h.
70551
70552         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
70553         * modules/userspec (Files): Add lib/inttostr.h.
70554
70555 2005-03-23  Jim Meyering  <jim@meyering.net>
70556
70557         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
70558
70559 2005-03-22  Jim Meyering  <jim@meyering.net>
70560
70561         * modules/stat-macros: New module.
70562         * modules/canonicalize, modules/euidaccess, modules/file-type,
70563         * modules/filemode, modules/lchown, modules/makepath,
70564         * modules/rmdir, modules/stat: Depend on new stat-macros module
70565         rather than listing lib/stat-macros.h manually.
70566         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
70567
70568 2005-03-22  Jim Meyering  <jim@meyering.net>
70569
70570         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
70571
70572 2005-03-22  Bruno Haible  <bruno@clisp.org>
70573
70574         * config/srclist.txt: Replace target directory 'config' with
70575         'build-aux'.
70576         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
70577         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
70578         ../build-aux/.
70579
70580 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
70581
70582         * modules/chdir-long (Depends-on): Add mempcpy.
70583
70584         * modules/acl, modules/backupfile, modules/c-strtod,
70585         modules/c-strtold, modules/canon-host, modules/canonicalize,
70586         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
70587         modules/exclude, modules/exitfail, modules/file-type,
70588         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
70589         modules/getdate, modules/getline, modules/getpagesize,
70590         modules/getpass, modules/getugroups, modules/group-member,
70591         modules/hard-locale, modules/hash, modules/human, modules/idcache,
70592         modules/inttostr, modules/long-options, modules/makepath,
70593         modules/md5, modules/memcasecmp, modules/memcoll,
70594         modules/modechange, modules/mountlist, modules/path-concat,
70595         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
70596         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
70597         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
70598         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
70599         modules/strftime, modules/strndup, modules/strverscmp,
70600         modules/timespec, modules/unlocked-io, modules/userspec,
70601         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
70602         modules/yesno:
70603         Remove lib_SOURCES line from Makefile.am section, as this is now
70604         done automatically by the corresponding Autoconf macro.
70605
70606 2005-03-21  Jim Meyering  <jim@meyering.net>
70607
70608         Changes imported from coreutils.
70609
70610         * lib/cycle-check.c: Don't include xalloc.h.
70611
70612         * lib/path-concat.c: Don't include assert.h.
70613         (path_concat): Remove assertion that would have triggered
70614         for ABASE starting with more than one slash.
70615         Reported by Andreas Schwab.
70616
70617         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
70618         properly when ABASE is an absolute file name.
70619         Correct the description of this function.
70620         Include <assert.h>.
70621         Add an assertion and a test driver.
70622         This fixes a bug introduced on 2004-07-02.
70623         Andreas Schwab reported the resulting failure of cp --parents:
70624         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
70625
70626 2005-03-21  Jim Meyering  <jim@meyering.net>
70627
70628         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
70629         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
70630
70631 2005-03-21  Jim Meyering  <jim@meyering.net>
70632         and  Paul Eggert  <eggert@cs.ucla.edu>
70633
70634         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
70635         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
70636         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
70637         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
70638         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
70639         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
70640         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
70641         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
70642         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
70643         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
70644         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
70645         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
70646         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
70647         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
70648         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
70649         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
70650         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
70651         for these modules.
70652
70653 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
70654
70655         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
70656         (which shouldn't happen), generate nothing instead of returning 0
70657         immediately, so that nstrftime (NULL, ...) doesn't return 0.
70658
70659 2005-03-16  Bruno Haible  <bruno@clisp.org>
70660
70661         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
70662         HAVE_LONGLONG_64BIT.
70663
70664 2005-03-16  Bruno Haible  <bruno@clisp.org>
70665
70666         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
70667         HAVE_LONGLONG_64BIT.
70668
70669 2005-03-16  Bruno Haible  <bruno@clisp.org>
70670
70671         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
70672         HAVE_LONGLONG_64BIT.
70673
70674 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70675
70676         * lib/strftime.c (my_strftime): Prepend space to format so that we can
70677         reliably distinguish strftime failure from empty output on POSIX
70678         hosts.
70679
70680 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70681
70682         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
70683         (iconv_string): Don't guess a size-zero buffer, as that might cause
70684         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
70685         result would be 'too large', where 'too large' is (heuristically)
70686         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
70687         overflow concerns.  This will prevent some unwanted malloc failures
70688         when the inputs are very large.
70689
70690 2005-03-15  Karl Berry  <karl@gnu.org>
70691
70692         * config/srclist.txt (config.rpath): from gettext.
70693         * config/config.rpath: update.
70694
70695 2005-03-15  Bruno Haible  <bruno@clisp.org>
70696
70697         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
70698         to 'negate'.
70699
70700         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
70701         variable.
70702
70703         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
70704         results.
70705
70706 2005-03-14  Simon Josefsson  <jas@extundo.com>
70707
70708         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
70709         <fx@gnu.org>.
70710
70711 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
70712
70713         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
70714         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
70715         intprops.h.
70716         * lib/strtol.c: Likewise.
70717
70718 2005-03-14  Jim Meyering  <jim@meyering.net>
70719
70720         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
70721         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
70722         to be nonzero so that we (and caller) can detect the difference
70723         between a valid zero-length expansion and an error return, even
70724         when the underlying strftime fails before writing anything into
70725         that location.
70726
70727 2005-03-14  Bruno Haible  <bruno@clisp.org>
70728
70729         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
70730         Update from GNU gettext 0.14.3.
70731
70732 2005-03-10  Jim Meyering  <jim@meyering.net>
70733
70734         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
70735
70736 2005-03-10  Jim Meyering  <jim@meyering.net>
70737
70738         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
70739         so that this module works on systems without fchdir.
70740
70741 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
70742
70743         Factor int-properties macros into a single file, except for
70744         glibc-related files.
70745         * lib/intprops.h: New file.
70746         * lib/getloadavg.c: Include it instead of limits.h.
70747         (INT_STRLEN_BOUND): Remove.
70748         * lib/human.c: Include intprops.h.
70749         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
70750         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
70751         302/1000.
70752         * lib/inttostr.h: Include intprops.h instead of limits.h.
70753         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
70754         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
70755         for consistency with intprops.h.
70756         (time_t_is_integer, twos_complement_arithmetic): Use them.
70757         * lib/sig2str.h: Include <signal.h>, intprops.h.
70758         (INT_STRLEN_BOUND): Remove.
70759         * lib/strftime.c (TYPE_SIGNED): Remove.
70760         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
70761         * lib/strtol.c: Adjust comments to match intprops.h.
70762         * lib/userspec.c: Include intprops.h.
70763         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
70764         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
70765         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
70766         instead of rolling our own expressions.
70767         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
70768
70769         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
70770         instead of int.
70771         (my_strftime): Do not mishandle years close to INT_MAX, by doing
70772         the right thing even if adding 1900 would overflow.  Similarly
70773         for tm_mon + 1 and tm_yday + 1.
70774         Make %Y always equivalent to %C%y, and similarly for %G and %g.
70775         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
70776         (DO_SIGNED_NUMBER): New macro.
70777         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
70778
70779 2005-03-07  Bruno Haible  <bruno@clisp.org>
70780
70781         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
70782
70783 2005-03-07  Bruno Haible  <bruno@clisp.org>
70784
70785         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
70786
70787 2005-03-04  Derek R. Price  <derek@ximbiot.com>
70788
70789         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
70790         (func_import): Only replace files via --import when they have actually
70791         changed.
70792
70793 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70794
70795         * m4/mmap-anon.m4: New file.
70796         * m4/pagealign_alloc.m4: New file.
70797
70798 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70799             Bruno Haible  <bruno@clisp.org>
70800
70801         * modules/pagealign_alloc: New file.
70802         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
70803
70804 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70805             Bruno Haible  <bruno@clisp.org>
70806
70807         * lib/pagealign_alloc.h: New file.
70808         * lib/pagealign_alloc.c: New file.
70809
70810 2005-03-03  Bruno Haible  <bruno@clisp.org>
70811
70812         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
70813         Use an all-permissive copyright notice, recommended by RMS.
70814
70815 2005-03-02  Bruno Haible  <bruno@clisp.org>
70816
70817         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
70818         of AIX, the replacement has to be done only after <string.h> is
70819         included, therefore not in config.h. stpncpy.h does the replacement,
70820         and stpncpy.c uses it.
70821
70822 2005-03-02  Bruno Haible  <bruno@clisp.org>
70823
70824         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
70825         stpncpy.c uses it.
70826
70827 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70828
70829         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
70830         The workaround isn't strictly needed for POSIX conformance, and
70831         it's too much of a pain to configure and maintain.  We'll ask
70832         people to fix their kernels instead.
70833         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
70834         (NANOSLEEP_BUG_WORKAROUND): Remove.
70835         (xnanosleep): Remove the workaround.
70836
70837 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70838
70839         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
70840         Reported by Derek Price.
70841         (Include): Add "timespec.h".
70842
70843         * modules/xnanosleep (Depends-on): Remove gethrxtime.
70844
70845 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70846
70847         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
70848         to detect nanosleep bug.
70849
70850 2005-03-01  Bruno Haible  <bruno@clisp.org>
70851
70852         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
70853
70854 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
70855
70856         * modules/gethrxtime: New file.
70857         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
70858         (Depends-on): Add gethrxtime.
70859         (configure.ac): Add gl_XNANOSLEEP.
70860         (Makefile.am): Remove lib_SOURCES line.
70861
70862 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70863
70864         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
70865         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
70866
70867 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70868
70869         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
70870         * lib/timespec.h (gettime): Return void, since it always
70871         succeeds now.  All uses changed.
70872         * lib/gettime.c (gettime): Likewise.
70873         [HAVE_NANOTIME]: Prefer nanotime.
70874         Assume gettimeofday succeeds, as POSIX requires.
70875         Assime time () succeeds, since other code already does.
70876         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
70877         (timespec_subtract): Remove.
70878         (NANOSLEEP_BUG_WORKAROUND): New constant.
70879         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
70880         things considerably.  Use it only on GNU/Linux hosts, since the
70881         workaround shouldn't be needed elsewhere.
70882
70883 2005-02-24  Bruno Haible  <bruno@clisp.org>
70884
70885         * modules/gettext (Files): Add m4/glibc2.m4.
70886
70887 2005-02-24  Bruno Haible  <bruno@clisp.org>
70888
70889         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
70890         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
70891         * m4/progtest.m4:
70892         Update from GNU gettext 0.14.2.
70893         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
70894
70895 2005-02-24  Bruno Haible  <bruno@clisp.org>
70896
70897         * lib/localcharset.c: Update from GNU gettext 0.14.2.
70898         * lib/config.charset: Update from GNU gettext 0.14.2.
70899
70900 2005-02-24  Bruno Haible  <bruno@clisp.org>
70901
70902         * lib/gettext.h: Update from GNU gettext 0.14.2.
70903
70904 2005-02-23  Simon Josefsson  <jas@extundo.com>
70905
70906         * m4/iconvme.m4: New file.
70907
70908 2005-02-23  Jim Meyering  <jim@meyering.net>
70909
70910         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
70911         change.
70912         Thanks to Bruno Haible for catching it.
70913
70914 2005-02-22  Simon Josefsson  <jas@extundo.com>
70915
70916         * modules/iconvme: New file.
70917
70918         * MODULES.html.sh: Add iconvme.
70919
70920 2005-02-22  Simon Josefsson  <jas@extundo.com>
70921
70922         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
70923
70924 2005-02-22  Simon Josefsson  <jas@extundo.com>
70925
70926         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
70927
70928 2005-02-22  Jim Meyering  <jim@meyering.net>
70929
70930         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
70931         s/ifndef/ifdef/.
70932
70933 2005-02-20  Neil Conway  <neilc@samurai.com>
70934
70935         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
70936         returned by OSX/Darwin if the specified buffer is not large
70937         enough for the hostname.
70938
70939 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70940
70941         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
70942         pass it to _help, otherwise the latter coredumps trying to
70943         dereference state.root_argp.
70944
70945 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70946
70947         * modules/chdir-long (Depends-on): Add memrchr.
70948         * modules/memrchr (Files): Add lib/memrchr.h.
70949         (Include): "memrchr.h".
70950
70951 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70952
70953         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
70954
70955 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70956
70957         * lib/memrchr.h: New file.
70958         * lib/chdir-long.c: Include it.
70959         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
70960         Don't bother including stddef.h.
70961
70962 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70963
70964         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
70965         inclusion.
70966         Include <sys/types.h>, for dev_t.
70967         (ME_DUMMY, ME_REMOTE): Move from here....
70968         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
70969         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
70970         Dmitry V. Levin.
70971         Include mountlist.h first, to test the interface.
70972
70973 2005-01-29  Bruno Haible  <bruno@clisp.org>
70974
70975         * lib/progname.c (program_name): Initialize.
70976         Needed when linking statically on MacOS X.
70977
70978 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70979
70980         Sync from coreutils.
70981         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
70982         (Depends-on): Add c-strtod.
70983         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
70984
70985 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70986
70987         Sync from coreutils.
70988         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
70989
70990         Remove files that are specific to coreutils.
70991         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
70992
70993 2005-01-28  Bruno Haible  <bruno@clisp.org>
70994
70995         * modules/javacomp: New file.
70996         * MODULES.html.sh (Java): Add javacomp.
70997
70998 2005-01-28  Bruno Haible  <bruno@clisp.org>
70999
71000         * m4/javacomp.m4: New file, from GNU gettext.
71001
71002 2005-01-28  Bruno Haible  <bruno@clisp.org>
71003
71004         * lib/javacomp.sh.in: New file, from GNU gettext.
71005         * lib/javacomp.h: New file, from GNU gettext.
71006         * lib/javacomp.c: New file, from GNU gettext.
71007
71008 2005-01-26  Simon Josefsson  <jas@extundo.com>
71009
71010         * lib/gai_strerror.c: Use GPL in header.
71011
71012 2005-01-26  Bruno Haible  <bruno@clisp.org>
71013
71014         * modules/javaexec: New file.
71015         * MODULES.html.sh (Java): Add javaexec.
71016
71017 2005-01-26  Bruno Haible  <bruno@clisp.org>
71018
71019         * m4/javaexec.m4: New file, from GNU gettext.
71020
71021 2005-01-26  Bruno Haible  <bruno@clisp.org>
71022
71023         * lib/javaexec.sh.in: New file, from GNU gettext.
71024         * lib/javaexec.h: New file, from GNU gettext.
71025         * lib/javaexec.c: New file, from GNU gettext.
71026
71027 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71028
71029         * modules/lchown (Depends-on): Remove lchown.h
71030
71031 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71032
71033         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
71034         must be defined if the header file was not found, in order
71035         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
71036
71037 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71038
71039         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
71040         initializers for struct pentry_state.
71041         (__argp_error): Check return value of __asprintf
71042         (__argp_failure): Translate error message
71043
71044         * lib/argp-parse.c: Removed braces around the expansion of N_()
71045
71046 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71047
71048         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
71049         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
71050         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
71051         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
71052         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
71053         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
71054         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
71055         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
71056         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
71057         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
71058         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
71059         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
71060         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
71061         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
71062         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
71063         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
71064         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
71065         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
71066         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
71067         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
71068         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
71069         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
71070         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
71071         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
71072         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
71073         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
71074         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
71075         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
71076         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
71077         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
71078         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
71079         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
71080         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
71081         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
71082         xstrtol.m4, xstrtoumax.m4, yesno.m4:
71083         Use an all-permissive copyright notice, recommended by RMS.
71084
71085 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
71086
71087         * modules/chdir-long (Depends-on): Remove mempcpy.
71088
71089 2005-01-21  Jim Meyering  <jim@meyering.net>
71090
71091         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
71092         same value as for Solaris 9.
71093
71094         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
71095         component length.  This included changing the parameter to be
71096         of type `char *' rather than `char const *'.
71097         * lib/chdir-long.h (chdir_long): Update prototype.
71098
71099         * lib/openat.c (fdopendir, fstatat): New functions.
71100         * lib/openat.h: Include headers required for use of DIR and struct
71101         stat.
71102         [AT_SYMLINK_NOFOLLOW]: Define.
71103         (fdopendir, fstatat): Add prototypes.
71104
71105 2005-01-21  Bruno Haible  <bruno@clisp.org>
71106
71107         * modules/classpath: New file.
71108         * MODULES.html.sh (Java): Add classpath.
71109
71110 2005-01-21  Bruno Haible  <bruno@clisp.org>
71111
71112         * lib/classpath.h: New file, from GNU gettext.
71113         * lib/classpath.c: New file, from GNU gettext.
71114
71115 2005-01-20  Simon Josefsson  <jas@extundo.com>
71116
71117         * modules/version-etc-fsf: New file.
71118
71119 2005-01-20  Simon Josefsson  <jas@extundo.com>
71120
71121         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
71122         * lib/version-etc.c: Remove version_etc_copyright.
71123         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
71124         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
71125
71126 2005-01-20  Simon Josefsson  <jas@extundo.com>
71127
71128         * lib/base64.h (isbase64): Add.
71129
71130         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
71131         using a unsigned prototype, don't inline.
71132         (base64_decode): Use it.
71133
71134 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71135
71136         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
71137         it.
71138
71139 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71140
71141         * lib/save-cwd.c (save_cwd): Remove code to support the case
71142         where fchdir is missing or flaky.
71143
71144 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71145
71146         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
71147
71148 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71149
71150         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
71151         AC_LIBSOURCES now does this.
71152         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
71153         with new ullong_max module.
71154
71155 2005-01-19  Bruno Haible  <bruno@clisp.org>
71156
71157         * modules/sh-quote: New file.
71158         * MODULES.html.sh (Executing programs): Add sh-quote.
71159
71160 2005-01-19  Bruno Haible  <bruno@clisp.org>
71161
71162         * lib/sh-quote.h: New file, from GNU gettext.
71163         * lib/sh-quote.c: New file, from GNU gettext.
71164
71165 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71166
71167         Merge from coreutils.
71168         * m4/ullong_max.m4: New file.
71169         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
71170         (gl_MACROS): Assume localeconv exists.
71171
71172 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71173
71174         Merge changes from coreutils, as described below in several
71175         changelogs dated today.
71176
71177         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
71178         (O_DIRECTORY): Remove; not needed here, since "." must be
71179         a directory.  All uses removed.
71180         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
71181         universal on Suns, and we also need to test for IRIX.
71182         Revamp code to use 'if' rather than '#if'.
71183         Avoid unnecessary comparison of cwd->desc to 0.
71184
71185         * lib/utimens.c (futimens): Robustify the previous patch, by checking
71186         for known valid error numbers rather than observed invalid ones.
71187
71188 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71189
71190         * modules/ullong_max: New file.
71191
71192         * modules/chdir-long, modules/openat: New files.
71193         * modules/save-cwd (Depends-on): Depend on chdir-long.
71194         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
71195
71196 2005-01-18  Jim Meyering  <jim@meyering.net>
71197
71198         Merge from coreutils.
71199         * m4/chdir-long.m4, m4/openat.m4: New files.
71200         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
71201         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
71202         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
71203         is sane and DOES follow symlinks.  Besides, testing 20 different
71204         systems found no broken chown implementations.
71205         Prompted by a change in rsync's copy of this macro.
71206         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
71207
71208         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
71209
71210         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
71211         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
71212         NULL-means-set-to-current-time semantics.
71213         Remove temporary file immediately, rather than waiting
71214         for configure's at-exit trap code to do it.
71215
71216 2005-01-18  Jim Meyering  <jim@meyering.net>
71217
71218         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71219
71220         * lib/utimens.c (futimens): Account for the fact that futimes
71221         can also fail with errno == ENOSYS or errno == ENOENT.
71222         Patch from Dmitry V. Levin.
71223
71224         Change the name of the robust chdir function from chdir to chdir_long.
71225         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
71226         (restore_cwd): Use chdir_long, not chdir.
71227         * lib/chdir-long.c: Renamed from chdir.c.
71228         * lib/chdir-long.h: Renamed from chdir.h.
71229         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
71230         Hurd.
71231
71232 2005-01-18  Bruno Haible  <bruno@clisp.org>
71233
71234         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
71235         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
71236         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
71237         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
71238         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
71239         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
71240         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
71241         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
71242         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
71243         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
71244         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
71245         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
71246         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
71247         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
71248         Use an all-permissive copyright notice, recommended by RMS.
71249
71250 2005-01-18  Bob Proulx  <bob@proulx.com>
71251
71252         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
71253         simplify offsetof() macro construct to avoid compile failure with
71254         native HP-UX 11.0 ANSI C compiler.
71255
71256 2005-01-17  Bruno Haible  <bruno@clisp.org>
71257
71258         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
71259         redundant because stpncpy.m4 takes care of it.
71260
71261 2005-01-17  Bruno Haible  <bruno@clisp.org>
71262
71263         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
71264
71265 2005-01-17  Bruno Haible  <bruno@clisp.org>
71266
71267         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
71268         used.
71269
71270 2005-01-17  Bruno Haible  <bruno@clisp.org>
71271
71272         * lib/fwriteerror.h (fwriteerror): Change specification to include
71273         fclose.
71274         * lib/fwriteerror.c: Include <stdbool.h>.
71275         (fwriteerror): At the end, close the file stream. Record whether
71276         stdout was already closed.
71277
71278 2005-01-17  Bruno Haible  <bruno@clisp.org>
71279
71280         * lib/execute.c (environ): Declare if needed.
71281         * lib/pipe.c (environ): Likewise.
71282         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
71283
71284 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71285
71286         * modules/argp: Depend on vsnprintf
71287
71288 2005-01-10  Jim Meyering  <jim@meyering.net>
71289
71290         * modules/closeout (Depends-on): Add atexit.
71291
71292 2005-01-06  Bruno Haible  <bruno@clisp.org>
71293
71294         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
71295
71296 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71297
71298         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
71299         definitions to be after all include files, to avoid collisions.
71300         Problem reported by Bob Proulx.
71301
71302 2005-01-04  Jim Meyering  <jim@meyering.net>
71303
71304         Changes imported from coreutils.
71305         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
71306         as the mkstemp template, use a temporary directory and an
71307         8.3-friendly template to avoid trouble on systems like DJGPP.
71308         Reported by Juan M. Guerrero via Stepan Kasal.
71309         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
71310         close. Remove the temporary directory right away, rather than waiting
71311         for configure's at-exit trap code to do it.
71312         Suggestion from Stepan Kasal.
71313
71314 2005-01-01  Simon Josefsson  <jas@extundo.com>
71315
71316         * gnulib-tool: Print #include directives when --import'ing.
71317
71318 2004-12-28  Simon Josefsson  <jas@extundo.com>
71319
71320         * tests/test-base64.c: Include required header files.  Remove
71321         unused variables.
71322
71323 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71324
71325         * modules/error (Depends-on): Remove gettext.
71326
71327 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71328
71329         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
71330         not needed.  This removes a dependency on the gettext module.
71331         [defined _LIBC]: Do not include <libintl.h>; not needed.
71332
71333 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
71334
71335         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
71336         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
71337
71338 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
71339
71340         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
71341         HAVE_DECL_STRTOLD.
71342
71343 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71344
71345         * modules/getdate (Depends-on): Remove alloca-opt.
71346
71347 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71348
71349         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
71350
71351 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71352
71353         * lib/argp-parse.c: Include <stddef.h>.
71354         (alignof, alignto): New macros.
71355         (parser_init): Don't assume that void * is aligned sufficiently
71356         for struct option.
71357
71358         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
71359         need to extend the stack.
71360         (YYINITDEPTH): New macro, so that the initial stack isn't overly
71361         large.
71362
71363 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71364
71365         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
71366
71367 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
71368
71369         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
71370         (2004-10-24) change.  Apparently this was a false alarm.
71371
71372         * modules/getdate: Depend on alloca-opt, not alloca.
71373
71374 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
71375
71376         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
71377         Remove now-obsolete comment about AIX.
71378         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
71379         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
71380         (YYMAXDEPTH): New macro.
71381
71382 2004-12-18  Simon Josefsson  <jas@extundo.com>
71383
71384         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
71385
71386 2004-12-18  Bruno Haible  <bruno@clisp.org>
71387
71388         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
71389
71390 2004-12-18  Bruno Haible  <bruno@clisp.org>
71391
71392         * lib/fatal-signal.c (fatal_signals): Make non-const.
71393         (init_fatal_signals): New function.
71394         (uninstall_handlers, install_handlers): Ignore signals that were set to
71395         SIG_IGN.
71396         (at_fatal_signal): Call init_fatal_signals.
71397         (init_fatal_signal_set): Likewise. Ignore signals that were set to
71398         SIG_IGN.
71399         Reported by Paul Eggert.
71400
71401 2004-12-18  Bruno Haible  <bruno@clisp.org>
71402
71403         * doc/alloca.texi: New file.
71404         * doc/alloca-opt.texi: New file.
71405
71406 2004-12-17  Jim Meyering  <jim@meyering.net>
71407
71408         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
71409         Otherwise, install-sh could exit with improper exit status when
71410         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
71411
71412 2004-12-16  Simon Josefsson  <jas@extundo.com>
71413
71414         * tests/test-base64.c: Add license.
71415
71416 2004-12-15  Stepan Kasal  <address@hidden>
71417
71418         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
71419
71420 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
71421
71422         * modules/getcwd (Files): Add m4/d-ino.m4.
71423         Suggested by Mark D. Baushke.
71424
71425 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
71426
71427         * lib/getdate.y (textint): New member "negative".
71428         (time_zone_hhmm): New function.
71429         Expect 14 shift-reduce conflicts, not 13.
71430         (o_colon_minutes): New rule.
71431         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
71432         (yylex): Set the "negative" member of signed numbers.
71433
71434 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
71435
71436         * doc/getdate.texi (Time of day items, Time zone items):
71437         Describe new formats +00:00, UTC+00:00.
71438
71439 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
71440
71441         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
71442         spurious "-l"s.  Problem reported by Stepan Kasal.
71443
71444 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
71445
71446         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
71447         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
71448
71449 2004-12-04  Simon Josefsson  <jas@extundo.com>
71450
71451         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
71452         Vandoorselaere <yoann@prelude-ids.org>.
71453
71454 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71455
71456         Changes imported from coreutils.
71457         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
71458         exist.
71459         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
71460
71461 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71462
71463         Changes imported from coreutils.
71464         * lib/hard-locale.c: Assume <locale.h> exists.
71465         Include "strdup.h".
71466         (GLIBC_VERSION): New macro.
71467         (hard_locale): Assume setlocale exists.
71468         Rewrite to avoid #ifdef.
71469         Use strdup rather than malloc + strcpy.
71470         * lib/human.c: Assume <locale.h> exists.
71471         (human_readable): Assume localeconv exists.
71472
71473 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71474
71475         * modules/hard-locale (Depends-on): Add strdup.
71476
71477 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71478
71479         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
71480         convert T2, not T.  (Imported from libc.)
71481
71482 2004-11-30  Simon Josefsson  <jas@extundo.com>
71483
71484         * modules/restrict (License): Change to LGPL.
71485
71486 2004-11-30  Simon Josefsson  <jas@extundo.com>
71487
71488         * m4/restrict.m4: Add copyright and copying conditions.
71489
71490 2004-11-30  Simon Josefsson  <jas@extundo.com>
71491
71492         * m4/base64.m4: New file.
71493
71494 2004-11-30  Simon Josefsson  <jas@extundo.com>
71495
71496         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
71497         base64.
71498
71499         * tests/test-base64.c: New file.
71500
71501         * modules/base64: New file.
71502
71503 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
71504
71505         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
71506         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
71507
71508         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
71509
71510 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
71511
71512         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
71513         (__getcwd.c): Don't restore errno; glibc doesn't.
71514         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
71515         first, falling back to our code only if its results look suspicious.
71516         Ensure that the resulting buffer is only as large as necessary.
71517
71518         * lib/readutmp.c: Include readutmp.h first.
71519         Include <errno.h>, since readutmp.h no longer does that.
71520         * lib/readutmp.h: Don't include <errno.h>,
71521         <sys/param.h>, <time.h>; not needed to establish interface.
71522         (errno): Remove decl.
71523         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
71524         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
71525         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
71526
71527 2004-11-28  Simon Josefsson  <jas@extundo.com>
71528
71529         * lib/base64.h, base64.c: New file.
71530
71531 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71532
71533         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
71534
71535 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71536
71537         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
71538         (Depends-on): Remove pathmax, same.  Add mempcpy.
71539         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
71540         (Makefile.am): Append getcwd.h to lib_SOURCES.
71541         (Include): Add getcwd.h.
71542         (Maintainer): Change from Jim Meyering to "all, glibc",
71543         since getdate now uses intended-for-glibc code.
71544         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
71545         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
71546
71547 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71548
71549         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
71550         HP's ANSI C compiler.
71551         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
71552         Declaring int functions causes warnings on some modern systems and
71553         shouldn't be needed to compile on ancient ones.
71554         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
71555         defined.
71556
71557         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
71558         with the following changes.
71559         (__set_errno): Parenthesize properly.
71560         Include <stdbool.h>.
71561         (MIN, MAX, MATCHING_INO): New macros.
71562         (__getcwd): Define with prototype, not K&R form.
71563         Use heuristics to allocate default buffer on stack if possible.
71564         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
71565         behavior, and to avoid the PATH_MAX limit when computing
71566         ../../../../...
71567         Use MATCHING_INO to compare inode number to file.
71568         Check for arithmetic overflow in size calculations.
71569         Fix bug in reallocation of dot array that caused getcwd to fail
71570         on directories nested deeper than 75.
71571         Be more careful about saving errno on error.
71572         Do not use realloc; use only free+malloc, as this is a bit
71573         more flexible and avoids a needless copy operation.
71574         Do not inspect st_dev and st_ino for symbolic links; POSIX
71575         doesn't specify the latter.
71576         Check for closedir errors.
71577         Avoid needless casts.
71578         Use "#ifdef weak_alias" around weak_alias, to be like other
71579         glibc code.
71580         The following changes to getcwd.c have effect only when used in
71581         gnulib; they have no effect inside glibc proper.
71582         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
71583         as alloca isn't used.
71584         (alloca, __alloca): Likewise.
71585         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
71586         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71587         unconditionally, as gnulib assumes C89 or better.
71588         Do not include <sys/param.h>.
71589         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
71590         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
71591         better.
71592         (NULL) [!defined NULL]: Remove; we assume C89 or better.
71593         Include <dirent.h> in a way that is compatible with modern Autoconf.
71594         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
71595         New macros, if not already defined.
71596         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
71597         Use "_LIBC", not "defined _LIBC", for consistency.
71598         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
71599         a mempcpy module.
71600         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
71601         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
71602         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
71603         credit only to Jim Meyering and adjust the copyright dates.
71604         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
71605         <stdlib.h>, <unistd.h>, "pathmax.h".
71606         Instead, include "xgetcwd.h" (first) and "getcwd.h".
71607         (INITIAL_BUFFER_SIZE): Remove.
71608         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
71609
71610 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71611
71612         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
71613         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
71614         Use the _ONCE methods, for efficiency.
71615         Check for fcntl.h.  In test program, include <errno.h>
71616         and <fcntl.h> if available.  Remove old K&R cruft from
71617         test program.  Check for common errors in GNU/Linux,
71618         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
71619         don't do AC_LIBOBJ, as that's getcwd.m4's job.
71620         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
71621         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
71622         name accordingly.
71623         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
71624         accommodate new getcwd.c.
71625         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
71626         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
71627         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
71628         that's all we need now.
71629
71630 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71631
71632         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
71633         argp-parse.c depends on getopt internals, that means we should
71634         always use our getopt, to be on the safe side.
71635         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
71636         order not to spoil the result of an eventual previous invocation
71637         of gl_GETOPT_SUBSTITUTE.
71638
71639 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71640
71641         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
71642         redefinition warnings. To avoid them, include the defines
71643         in `#if !defined __need_getopt ... #endif'. The only place
71644         where __getopt_argv_const is used is in definitions
71645         of getopt_long and getopt_long_only below, which are as well
71646         protected by `#ifndef __need_getopt'.
71647         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
71648         __need_getopt after including <stdio.h> and <unistd.h> These
71649         headers might have defined it.
71650
71651 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71652
71653         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
71654
71655 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71656
71657         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
71658         (futimens): New function, which uses futimes if available.
71659         (futimens, utimens): Support timespec==NULL, with same semantics
71660         as utime and utimens.
71661         * lib/utimens.h (futimens): New decl.
71662
71663 2004-11-23  Jim Meyering  <jim@meyering.net>
71664
71665         * lib/getopt_.h: Remove trailing blanks.
71666
71667 2004-11-23  Jim Meyering  <jim@meyering.net>
71668
71669         * lib/__fpending.c: Add comment.
71670
71671 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
71672
71673         * modules/canonicalize (Depends-on): Add xreadlink.
71674         Problem reported by James Youngman.
71675
71676 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71677
71678         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
71679         New macros.
71680         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
71681         optopt): Use them instead of invoking ## directly; otherwise, the
71682         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
71683
71684 2004-11-19  Bruno Haible  <bruno@clisp.org>
71685
71686         * lib/strtok_r.c: Move comments from here...
71687         * lib/strtok_r.h: ... to here.
71688
71689 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71690
71691         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
71692         implementations that mishandle size_t overflow.
71693
71694 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71695
71696         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
71697         might fail.  Problem reported by Yoann Vandoorselaere.
71698         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
71699         implementations that mishandle size_t overflow.
71700
71701 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71702
71703         * modules/canon-host (Depends-on): Add strdup.
71704
71705 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71706
71707         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
71708
71709 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71710
71711         * lib/canon-host.c: Include "strdup.h".
71712         (canon_host): Use getaddrinfo if available, so that IPv6 works.
71713         Use strdup instead of malloc/strcpy to duplicate strings.
71714
71715         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
71716         (human_space_before_unit): New constant.
71717         * lib/human.c (human_readable): Support it.
71718
71719         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
71720         (xgetcwd): Set errno correctly when failing.
71721         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
71722         the failure is actually due to a PATH_MAX problem.
71723
71724         Further getopt changes to make it more likely that glibc will
71725         buy the changes back.
71726         * lib/getopt.c (POSIXLY_CORRECT): New constant.
71727         (getopt): Use it, so to preserve glibc semantic
71728         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
71729         when compiling for libc.
71730         * lib/getopt_.h (__getopt_argv_const): Bring it back.
71731         (getopt_long, getopt_long_only): Use it.
71732
71733         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71734         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
71735         (getopt): Argv is now char * const *, as per standard.
71736         (_getopt_internal_r, _getopt_internal): Argv is now char **,
71737         not char *__getopt_argv_const *.
71738         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71739         _getopt_long_only_r): Likewise.
71740         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
71741         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71742         _getopt_long_r, _getopt_long_only_r): Likewise.
71743         * lib/getopt_.h (__getopt_argv_const): Remove.
71744         (getopt): Argv is now char * const *, as per standard.
71745
71746         * lib/getdate.y (tORDINAL): New token.
71747         (day, relunit): Allow it for relative times.
71748         (relative_time_table): Use tORDINAL for ordinals.
71749
71750 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71751
71752         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
71753         Document that "second" isn't allowed as an ordinal number.
71754
71755 2004-11-16  Jim Meyering  <jim@meyering.net>
71756
71757         * modules/closeout (Depends-on): Add fpending.
71758
71759 2004-11-15  Jim Meyering  <jim@meyering.net>
71760
71761         * lib/closeout.c: Include "__fpending.h" once again.
71762         Include <stdbool.h>.
71763         (close_stdout): Don't fail just because stdout was closed initially,
71764         since some programs don't write to stdout in the normal course of
71765         operation (other than --version and --help), and we don't want this
71766         function to make e.g. `touch file >&-' fail.
71767         But do fail if it was closed and someone has tried to write to it.
71768         E.g., `printf foo >&-' must fail.
71769
71770 2004-11-13  Jim Meyering  <jim@meyering.net>
71771
71772         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
71773
71774 2004-11-12  Simon Josefsson  <jas@extundo.com>
71775
71776         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
71777         small doc fix is still pending.
71778
71779 2004-11-11  Simon Josefsson  <jas@extundo.com>
71780
71781         * modules/strtok_r: New file.
71782
71783         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71784         strtok_r.
71785
71786 2004-11-11  Simon Josefsson  <jas@extundo.com>
71787
71788         * m4/strtok_r.m4: New file.
71789
71790         * m4/getopt.m4: Replace opterr.
71791
71792 2004-11-11  Simon Josefsson  <jas@extundo.com>
71793
71794         * lib/strtok_r.h, strtok_r.c: New file.
71795
71796 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71797
71798         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
71799         of replacing opterr, getopt, etc.  This should handle the
71800         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
71801
71802 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71803
71804         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
71805         we can stop lying to compilers about the constness of argv when we
71806         are compiled outside glibc.
71807         (getopt, getopt_long, getopt_long_only): Use it.
71808         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71809         _getopt_internal, getopt): Likewise.
71810         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71811         _getopt_long_only_r): Likewise.
71812         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71813         _getopt_long_r, _getopt_long_only_r): Likewise.
71814
71815         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
71816         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
71817         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
71818         the other external symbols.
71819         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
71820         declaration, since the above renaming now works around collisions.
71821
71822 2004-11-11  Jim Meyering  <jim@meyering.net>
71823
71824         * lib/linebreak.c: Remove trailing blanks.
71825         * lib/alloca_.h: Likewise.
71826         * lib/acosl.c: Likewise.
71827         * lib/euidaccess.c: Likewise.
71828         * lib/allocsa.h: Likewise.
71829
71830 2004-11-10  Simon Josefsson  <jas@extundo.com>
71831
71832         * m4/getaddrinfo.m4: New file.
71833
71834 2004-11-10  Simon Josefsson  <jas@extundo.com>
71835
71836         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
71837
71838 2004-11-10  Simon Josefsson  <jas@extundo.com>
71839
71840         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71841         getaddrinfo.
71842
71843         * modules/getaddrinfo: New file.
71844
71845 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71846
71847         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
71848
71849 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71850
71851         * lib/mktime.c (SHR): New macro, which is a portable
71852         substitute for >> that should work even on Crays.
71853         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
71854         Problem reported by Mark D. Baushke in
71855         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
71856         * lib/getdate.y (SHR): Likewise.
71857         (tm_diff): Use it.
71858         * lib/strftime.c (SHR): Likewise.
71859         (tm_diff): Use it.
71860         * lib/quotearg.c (struct quoting_options): Use unsigned int for
71861         quote_these_too, so that right shifts are well defined.  All uses
71862         changed.
71863
71864 2004-11-10  Jim Meyering  <jim@meyering.net>
71865
71866         Ensure that no close failure goes unreported.
71867         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
71868         return early when it seems there's nothing to flush.
71869         Don't include __fpending.h.
71870
71871 2004-11-10  Jim Meyering  <jim@meyering.net>
71872
71873         * modules/closeout (Depends-on): Remove fpending.
71874
71875 2004-11-10  Jim Meyering  <jim@meyering.net>
71876
71877         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
71878
71879 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71880
71881         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
71882         gl_FUNC_STRFTIME.
71883         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
71884         and AC_REQUIRE when possible, to avoid duplicate checks.
71885         Check for <wchar.h>.
71886
71887 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71888
71889         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
71890
71891 2004-11-09  Bruno Haible  <bruno@clisp.org>
71892
71893         * m4/sockpfaf.m4: New file.
71894
71895 2004-11-05  Bruno Haible  <bruno@clisp.org>
71896
71897         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
71898         Reported by Mark D. Baushke <mdb@cvshome.org>.
71899
71900 2004-11-04  Bruno Haible  <bruno@clisp.org>
71901
71902         2004-09-11  Bruno Haible  <bruno@clisp.org>
71903                 * allocsa.valgrind: New file.
71904         2004-02-06  Bruno Haible  <bruno@clisp.org>
71905                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
71906                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
71907                 Reported by Christopher Seip <chris.seip@hp.com>.
71908
71909 2004-11-04  Bruno Haible  <bruno@clisp.org>
71910
71911         * modules/allocsa (Files): Add lib/allocsa.valgrind.
71912         (Makefile.am): Distribute it.
71913
71914 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
71915
71916         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
71917         with errno == ERANGE if the buffer is too small.
71918         Problem reported by Mark D. Baushke.
71919
71920 2004-11-03  Albert Chin  <china@thewrittenword.com>
71921             Paul Eggert  <eggert@cs.ucla.edu>
71922
71923         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
71924         equivalent, substitute $ac_type for equivalent type rather than
71925         blindly using uint32_t *always* which won't work if uint32_t is not
71926         available.  Define _UINT32_T to work around typedef of uint32_t if
71927         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
71928         2.5.1.
71929
71930 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71931
71932         * m4/jm-macros.m4: Sync from coreutils.
71933         (gl_MACROS): Check for mbrlen, for pathchk.
71934         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
71935
71936 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71937
71938         * lib/xreadlink.c (MAXSIZE): New macro.
71939         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
71940         size does not exceed MAXSIZE.  Avoid cast.
71941         As suggested by Mark D. Baushke in
71942         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
71943         if readlink fails with buffer size just under MAXSIZE, try again
71944         with MAXSIZE.
71945
71946 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71947
71948         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
71949
71950 2004-11-02  Derek R. Price  <derek@ximbiot.com>
71951         and  Paul Eggert  <eggert@cs.ucla.edu>
71952
71953         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
71954         (get_date): Overparenthesize to avoid GCC warning.
71955
71956 2004-11-02  Bruno Haible  <bruno@clisp.org>
71957
71958         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
71959         returns void.
71960
71961 2004-11-02  Bruno Haible  <bruno@clisp.org>
71962
71963         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
71964         function returns void.
71965
71966 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
71967
71968         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
71969         fflush_unlocked, flockfile, funlockfile, funlockfile,
71970         fputs_unlocked, putc_unlocked.
71971
71972 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
71973
71974         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
71975         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
71976         already declared.
71977
71978 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71979
71980         * modules/getdate (Files): Add doc/getdate.texi.
71981         (Depends-on): Add setenv, xalloc.
71982
71983 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71984
71985         * lib/getdate.y: Add support for TZ="foo" within a date string.
71986         Fix some bugs near time_t boundaries.  Reject dates with
71987         out-of-range components, e.g., "Sept 31".
71988         Include <stdlib.h>, "setenv.h", "xalloc.h".
71989         (ISDIGIT_LOCALE): Remove; unused.
71990         Note that the TZ and time functions used here are not reentrant.
71991         (mktime_ok, get_tz): New functions.
71992         (TZBUFSIZE): New constant.
71993         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
71994         This requires that we sometimes generate our own TZ="XXX..." setting.
71995
71996 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71997
71998         * doc/getdate.texi: New file, from coreutils with modifications for
71999         the new TZ parsing.
72000
72001 2004-10-27  Derek R. Price  <derek@ximbiot.com>
72002
72003         * lib/mktime.c (not_equal_tm): Remove redundant check.
72004
72005 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72006
72007         * modules/regex (lib_SOURCES): Add regex.c.
72008         Reported by James Youngman in
72009         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
72010
72011 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72012
72013         * lib/getdate.y: Use Bison 1.875 features, and some minor
72014         code cleanups.  This change does not affect semantics.
72015         Don't include <stdlib.h>; no longer needed.
72016         Don't include unlocked-io.h; only the "#if TEST" code uses
72017         stdio, and performance isn't crucial there.
72018         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
72019         Bison 1.875 features as described below.
72020         All uses of "PC." replaced by "pc->".
72021         (YYSTYPE): Add a forward declaration.
72022         (yylex, yyerror): Use full prototypes in forward decls.
72023         Use "%pure-parser" rather than obsolescent "%pure_parser".
72024         Use %parse-param and %lex-param instead of obsolescent
72025         YYPARSE_PARAM and YYLEX_PARAM.
72026         (meridian_table, month_and_day_table, time_units_table,
72027         relative_time_table, time_zone_table, military_table,
72028         lookup_zone, lookup_word, get_date):
72029         Use NULL instead of 0 where appropriate.
72030         (to_hour): Avoid abort (), to avoid a dependency on
72031         stdlib.h.
72032         (yyerror, yylex): Now accepts parser_control * arg.
72033         (main) [TEST]: Use '\0' rather than 0 for char.
72034
72035 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72036
72037         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
72038
72039 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72040
72041         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
72042         It's now the caller's responsibility to handle the case where
72043         !HAVE_GETPAGESIZE && !defined getpagesize.
72044
72045         * lib/mktime.c (leapyear): Arg is long int, not int.
72046
72047 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
72048
72049         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
72050
72051 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72052
72053         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
72054         missing.  Problem reported by James Youngman.
72055
72056 2004-10-16  Simon Josefsson  <jas@extundo.com>
72057
72058         * gnulib-tool: Fix comments.  Fix parse problem.
72059         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
72060
72061 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
72062
72063         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
72064         implementation of getopt_long.  Problem reported by Alexander Taler in:
72065         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
72066
72067 2004-10-15  Bruno Haible  <bruno@clisp.org>
72068
72069         * gnulib-tool: Untabify. Initialize supplied_libname.
72070         (func_usage): More homogenous output.
72071         (func_modules_transitive_closure, func_modules_to_filelist,
72072         func_emit_lib_Makefile_am): New functions.
72073         (func_import): New function, extracted from big case statement. Use
72074         func_get_license, func_modules_transitive_closure,
72075         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
72076         opt_lgpl. Don't use test -a, as it's not portable.
72077         (func_create_testdir): Use func_modules_transitive_closure,
72078         func_modules_to_filelist, func_emit_lib_Makefile_am.
72079
72080 2004-10-15  Bruno Haible  <bruno@clisp.org>
72081
72082         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
72083
72084 2004-10-15  Bruno Haible  <bruno@clisp.org>
72085
72086         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
72087         the portions belonging to each module.
72088         Suggested by Derek Robert Price <derek@ximbiot.com>.
72089
72090 2004-10-12  Simon Josefsson  <jas@extundo.com>
72091
72092         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
72093         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
72094         to real functions.
72095
72096 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72097
72098         * modules/vsnprintf: New file.
72099
72100 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72101
72102         * m4/vsnprintf.m4: New file.
72103
72104 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72105
72106         * lib/vsnprintf.h: New file.
72107         * lib/vsnprintf.c: New file.
72108
72109 2004-10-11  Bruno Haible  <bruno@clisp.org>
72110
72111         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
72112         vsnprintf.
72113
72114 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
72115
72116         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
72117
72118 2004-10-07  Bruno Haible  <bruno@clisp.org>
72119
72120         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
72121         fits into the provided buffer.
72122
72123 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
72124
72125         * lib/diacrit.c, diacrit.h: Add GPL notice.
72126
72127         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
72128         notice.
72129         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
72130         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
72131         This avoids a potential constant-folding bug.
72132
72133 2004-10-05  Bruno Haible  <bruno@clisp.org>
72134
72135         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
72136         for the declaration of strsep.
72137
72138 2004-10-05  Bruno Haible  <bruno@clisp.org>
72139
72140         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
72141
72142 2004-10-04  Simon Josefsson  <jas@extundo.com>
72143
72144         * modules/memmem: New file.
72145         * tests/test-memmem.c: New file.
72146         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
72147
72148 2004-10-04  Simon Josefsson  <jas@extundo.com>
72149
72150         * m4/memmem.m4: New file.
72151
72152 2004-10-04  Simon Josefsson  <jas@extundo.com>
72153
72154         * lib/memmem.h: New file.
72155         * lib/memmem.c: New file, taken from glibc.
72156
72157 2004-10-04  Simon Josefsson  <jas@extundo.com>
72158
72159         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
72160         '#ifdef USE_UNLOCKED_IO'.
72161
72162 2004-10-04  Simon Josefsson  <jas@extundo.com>
72163
72164         * config/srclist.txt: Add memmem from glibc.
72165
72166 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72167
72168         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
72169
72170         * modules/argmatch, modules/argp, modules/closeout, modules/error,
72171         modules/exclude, modules/getdate, modules/getline,
72172         modules/getndelim2, modules/getpass, modules/getpass-gnu,
72173         modules/getusershell, modules/linebuffer, modules/md5,
72174         modules/mountlist, modules/posixtm, modules/readtokens,
72175         modules/readutmp, modules/regex, modules/sha1,
72176         modules/version-etc, modules/yesno:
72177         Remove dependency on unlocked-io.
72178
72179 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72180
72181         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
72182
72183         * m4/unlocked-io.m4: Add copyright notice.
72184         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
72185
72186 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72187
72188         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
72189         * lib/xmalloc.c (xmemdup): Likewise.
72190         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
72191         XFREE): Remove these long-obsolescent macros.
72192         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
72193         * lib/xstrdup.c: Remove.
72194
72195         * lib/regex.c (re_comp): Cast gettext return value to char *,
72196         Problem reported by Martin Neitzel via Mark D. Baushke.
72197
72198 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72199
72200         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
72201         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
72202         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
72203         regex.c, sha1.c, version-etc.c, yesno.c:
72204         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
72205         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
72206         the includer's responsibility.
72207
72208         Sync from coreutils.
72209
72210         * lib/modechange.c (mode_compile): Don't decrement a pointer that
72211         points to the start of a string, as the C Standard says the
72212         resulting behavior is undefined.
72213
72214         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
72215         simple -> simple_backups, numbered_existing ->
72216         numbered_existing_backups, numbered -> numbered_backups
72217         to avoid shadowing problems.  All uses changed.
72218         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
72219         * lib/backupfile.c (check_extension, numbered_backup):
72220         Rename locals to avoid shadowing 'basename'.
72221         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
72222         once.
72223
72224         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
72225         * lib/.cvsignore: Add getopt.h.
72226
72227 2004-10-04  Bruno Haible  <bruno@clisp.org>
72228
72229         * modules/README: New file.
72230         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
72231         not a module.
72232
72233 2004-10-02  Jim Meyering  <jim@meyering.net>
72234
72235         * lib/dirfd.h, getpagesize.h: Add copyright notice.
72236
72237 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72238
72239         * modules/strsep: New file.
72240
72241 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72242
72243         * m4/strsep.m4: New file.
72244
72245 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72246
72247         * lib/strsep.h: New file.
72248         * lib/strsep.c: New file.
72249
72250 2004-10-01  Simon Josefsson  <jas@extundo.com>
72251
72252         * lib/snprintf.c (snprintf): Handle size==0.
72253
72254 2004-10-01  Simon Josefsson  <jas@extundo.com>
72255             Bruno Haible  <bruno@clisp.org>
72256
72257         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
72258         (snprintf): Declare 'args'.
72259
72260 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
72261
72262         * lib/snprintf.c: Remove comments as to why each header is needed.
72263
72264 2004-10-01  Bruno Haible  <bruno@clisp.org>
72265
72266         * MODULES.html.sh: Add strsep.
72267
72268 2004-09-30  Simon Josefsson  <jas@extundo.com>
72269
72270         * modules/snprintf: New file.
72271
72272 2004-09-30  Simon Josefsson  <jas@extundo.com>
72273
72274         * m4/snprintf.m4: New file.
72275
72276 2004-09-30  Simon Josefsson  <jas@extundo.com>
72277
72278         * lib/snprintf.h, lib/snprintf.c: New files.
72279
72280 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72281
72282         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
72283         (hol_entry_help): Never translate an empty string.
72284         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
72285         * lib/argp.h (OPTION_NO_TRANS): New option.
72286
72287 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72288
72289         * modules/argp (Maintainer): Replace Simon Josefsson
72290         by Sergey Poznyakoff.
72291
72292 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72293
72294         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
72295         changes merged back into glibc.
72296
72297 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72298
72299         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
72300
72301 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
72302
72303         * lib/xvasprintf.c: Include xalloc.h.
72304         (xvasprintf): Use xalloc_die, not xmalloc_die.
72305
72306 2004-09-29  Bruno Haible  <bruno@clisp.org>
72307
72308         * modules/alloca-opt: New file, derived from modules/alloca.
72309         * modules/allocsa: Depend on alloca-opt instead of alloca.
72310         * modules/setenv: Likewise.
72311         * modules/vasnprintf: Likewise.
72312         * MODULES.html.sh: Add alloca-opt.
72313
72314 2004-09-28  Simon Josefsson  <jas@extundo.com>
72315
72316         * gnulib-tool: New parameter --lgpl, to asseert that modules are
72317         LGPL, and to replace license template from GPL to LGPL.
72318
72319 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
72320
72321         * modules/dummy: Change license to LGPL.
72322
72323 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
72324
72325         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
72326
72327 2004-09-24  Simon Josefsson  <jas@extundo.com>
72328
72329         * modules/minmax (License): Change from GPL to LGPL.
72330
72331 2004-09-23  Simon Josefsson  <jas@extundo.com>
72332
72333         * gnulib-tool (--import): Typo.
72334
72335 2004-09-23  Simon Josefsson  <jas@extundo.com>
72336
72337         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
72338
72339 2004-09-22  Bruno Haible  <bruno@clisp.org>
72340
72341         * modules/*: Add 'License' field.
72342         * gnulib-tool: Accept --extract-license option.
72343         (func_get_license): New function.
72344
72345 2004-09-21  Bruno Haible  <bruno@clisp.org>
72346
72347         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
72348         Reported by Simon Josefsson.
72349
72350 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72351
72352         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
72353         gl_AC_TYPE_LONG_LONG.
72354
72355 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72356
72357         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
72358
72359 2004-09-18  Simon Josefsson  <jas@extundo.com>
72360         and  Paul Eggert  <eggert@cs.ucla.edu>
72361
72362         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
72363         calls with autoreconf.  Define GL_LIB.
72364
72365 2004-09-14  Karl Berry  <karl@gnu.org>
72366
72367         * config/srclist.txt: unsync setenv.c, sigh.
72368
72369 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72370
72371         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
72372         Problem reported by Bruno Haible in:
72373         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
72374
72375 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72376
72377         * config/srclist.txt: Comment out argp-pvh.c.
72378
72379 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
72380
72381         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
72382         in case some system header has #define'd it.  Problem reported by
72383         Soeren D. Schulze in
72384         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
72385
72386 2004-09-09  Karl Berry  <karl@gnu.org>
72387
72388         * regex.[ch]: delete from the root.  These were supposed to be
72389                 synced with emacs cvs, but this has not happened for about
72390                 a year, and anyway nothing else uses emacs regex.[ch].
72391                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
72392                 lib/regex[.ch] is untouched.
72393
72394 2004-09-09  Bruno Haible  <bruno@clisp.org>
72395
72396         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
72397
72398 2004-09-09  Bruno Haible  <bruno@clisp.org>
72399
72400         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
72401         modifications.
72402         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
72403
72404 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
72405
72406         * modules/xvasprintf: New file.
72407         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
72408
72409 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
72410
72411         * lib/xvasprintf.h: New file.
72412         * lib/xvasprintf.c: New file.
72413         * lib/xasprintf.c: New file.
72414
72415 2004-09-08  Bruno Haible  <bruno@clisp.org>
72416
72417         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
72418
72419 2004-09-08  Bruno Haible  <bruno@clisp.org>
72420
72421         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
72422         length is > INT_MAX.
72423         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
72424         more.
72425
72426 2004-09-08  Bruno Haible  <bruno@clisp.org>
72427
72428         * lib/stdint_.h: New file, taken from GNU clisp.
72429
72430 2004-09-08  Bruno Haible  <bruno@clisp.org>
72431             Oskar Liljeblad  <oskar@osk.mine.nu>
72432
72433         * modules/stdint: New file.
72434         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
72435
72436 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72437
72438         Import from coreutils.
72439         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
72440         strings on unbounded length.  alloca's performance benefits aren't
72441         that important here.
72442         (V_STRDUP): Remove.
72443         (parse_with_separator): New function, with most of the internals
72444         of the old parse_user_spec.  Allow user to omit both user and group,
72445         for compatibility with FreeBSD.
72446         Clone only the user name, not the entire spec.
72447         Do not set *uid, *gid unless entirely successful.
72448         Avoid memory leak in some failing cases.
72449         Fix regression for USER.GROUP reported by Dmitry V. Levin in
72450         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
72451         (parse_user_spec): Rewrite to use parse_with_separator.
72452
72453 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72454
72455         * modules/userspec: Don't depend on alloca.
72456
72457 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72458
72459         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
72460
72461 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72462
72463         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
72464         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
72465         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
72466
72467 2004-08-16  Simon Josefsson  <jas@extundo.com>
72468
72469         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
72470         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
72471         Add --dry-run for --import.
72472         Let user provided command line parameters override configure.ac
72473         settings.
72474
72475 2004-08-12  Simon Josefsson  <jas@extundo.com>
72476
72477         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
72478         as discussed with Paul Eggert in threads rooted at
72479         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
72480         and
72481         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
72482         Before, the test was empty, and relied on ELIDE_CODE in source
72483         code.)
72484         (gl_PREREQ_GETOPT): New macro.
72485         (gl_GETOPT): Use them.
72486
72487 2004-08-12  Simon Josefsson  <jas@extundo.com>
72488
72489         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
72490         * lib/getopt_.h: Renamed from getopt.h.
72491
72492 2004-08-12  Simon Josefsson  <jas@extundo.com>
72493
72494         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
72495         Change default library name from libfoo to libgnu.
72496         Now, if you have a configure.ac that says:
72497                 gl_SOURCE_BASE(gl)
72498                 gl_M4_BASE(gl/m4)
72499                 gl_MODULES(error getopt etcetera)
72500                 gl_INIT
72501         you can import all you need by running:
72502                 ../gnulib/gnulib-tool --import
72503
72504         * modules/getopt (Files): Rename getopt.h to getopt_.h.
72505         (Makefile.am): Rewrite, use logic from argz.
72506         (Include): Use <getopt.h> instead of "getopt.h".
72507
72508 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72509
72510         * modules/argp (Files): Add m4/unlocked-io.m4.
72511         (Depends-on): Add extensions.
72512
72513 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72514
72515         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
72516         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
72517         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
72518         Check for program_invocation_name, program_invocation_short_name,
72519         flockfile, funlockfile, features.h, _getopt_long_only_r.
72520
72521 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72522
72523         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
72524         its complicated substitute.
72525         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
72526         and program_invocation_name.
72527         (__argp_basename) [!_LIBC]: Remove; the only use was
72528         replaced by its body.
72529         (__argp_short_program_name): Change condition from
72530         !defined __argp_short_program_name to
72531         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
72532         to match argp-namefrob.h.
72533         (__argp_failure): Don't assume strerror_r returns char *.
72534         * lib/argp-parse.c (N_): Define unconditionally.
72535         (argp_default_options): Fill out initializers with 0 to avoid
72536         gcc warnings.
72537
72538 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72539
72540         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
72541         getopt1.c.
72542
72543 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72544
72545         Merge from coreutils.
72546
72547         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
72548
72549         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
72550         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
72551
72552 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72553
72554         Merge from coreutils.
72555
72556         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
72557         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
72558         for Reliant Unix 5.43.
72559
72560         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
72561         (union fooround): Use uintmax_t, not long int.
72562         The rest is a merge from libc:
72563         [defined _LIBC]: Include <shlib-compat.h>.
72564         (_obstack) [defined _LIBC]: Remove after 2.3.4.
72565
72566         * lib/settime.c (settime): Recode to avoid warning with
72567         Sun Forte C 6U2.
72568
72569         * lib/strverscmp.c: Convert to UTF-8.
72570
72571 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72572
72573         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
72574         m4/uintmax_t.m4.
72575
72576 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72577
72578         * modules/xalloc-die: New file.
72579         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
72580
72581         * modules/md5 (Files): Add m4/uint32_t.m4.
72582         * modules/sha1: Renamed from modules/sha.
72583         (Files):
72584         Rename lib/sha.h to lib/sha1.h.
72585         Rename lib/sha.c to lib/sha1.c.
72586         Rename m4/sha.m4 to m4/sha1.m4.
72587         (lib_SOURCES): Likewise.
72588         (configure.ac): Rename gl_SHA to gl_SHA1.
72589         (Include): sha.h -> sha1.h.
72590
72591 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72592
72593         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
72594         * m4/sha1.m4: Renamed from sha.m4.
72595         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
72596
72597 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72598
72599         * lib/obstack.h (obstack_empty_p):
72600         Don't assume that chunk->contents is suitably aligned.
72601         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
72602         Likewise. Problem reported by Benno in
72603         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
72604
72605         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
72606         readable.  This could be improved further but it'd take some work.
72607
72608 2004-08-08  Simon Josefsson  <jas@extundo.com>
72609
72610         * modules/xgethostname (Depends-on): Remove exit and error (not
72611         used).
72612
72613         * modules/getpass-gnu: Add getpass.h.
72614         (Depends-on): Add stdbool.
72615         * modules/getpass: Add getpass.h.
72616
72617 2004-08-08  Simon Josefsson  <jas@extundo.com>
72618
72619         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
72620         Check getpass declaration.
72621
72622 2004-08-08  Simon Josefsson  <jas@extundo.com>
72623
72624         * lib/xgethostname.c: Don't include error.h (not used).
72625
72626         * lib/getpass.h: Add.
72627         * lib/getpass.c: Include getpass.h first.
72628
72629 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
72630
72631         * lib/xalloc-die.c: New file.
72632         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
72633         All uses removed.
72634         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
72635         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
72636         xalloc-die.c.
72637         (_, N_, xalloc_die): Move to xalloc-die.c.
72638         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
72639         so that we needn't mess with xalloc_msg_memory_exhausted.
72640
72641         * lib/sha1.h: Renamed from sha.h.
72642         (SHA1_H): Renamed from _SHA_H.
72643         (sha1_ctx): Renamed from sha_ctx.
72644         (sha1_init_ctx): Renamed from sha_init_ctx.
72645         (sha1_process_block): Renamed from sha_process_block.
72646         (sha1_process_bytes): Renamed from sha_process_bytes.
72647         (sha1_finish_ctx): Renamed from sha_finish_ctx.
72648         (sha1_read_ctx): Renamed from sha_read_ctx.
72649         (sha1_stream): Renamed from sha_stream.
72650         (sha1_buffer): Renamed from sha_buffer.
72651         * lib/sha1.c: Likewise; renamed from sha.c.
72652         Do not include <sys/types.h>.
72653         Include <stddef.h> rather than <stdlib.h>.
72654
72655 2004-08-08  Bruno Haible  <bruno@clisp.org>
72656
72657         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
72658         FILESYSTEM_PREFIX_LEN.
72659         * lib/progreloc.c: Likewise.
72660         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
72661
72662 2004-08-06  Simon Josefsson  <jas@extundo.com>
72663
72664         * modules/progname (Depends-on): Don't depend on stdbool.
72665
72666 2004-08-06  Simon Josefsson  <jas@extundo.com>
72667
72668         * modules/getsubopt: New file.
72669         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72670         getsubopt.
72671
72672 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72673
72674         More merge from coreutils.
72675
72676         * m4/utimens.m4, m4/utimecmp.m4: New files.
72677         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
72678         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
72679         prereq.m4, sha.m4: Import changes from coreutils.
72680
72681 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72682
72683         More merge from coreutils.
72684         * modules/raise, modules/readtokens0, modules/utimens:
72685         * modules/utimecmp, module/xnanosleep: New files.
72686         * modules/strftime: Add lib/strftime.h.
72687         Change include from <time.h> to "strftime.h".
72688         * modules/yesno: Add lib/yesno.h.
72689         * modules/backupfile: Remove lib/addext.c.
72690         * modules/euidaccess: Add stat-macros.h.
72691         * modules/canonicalize, modules/euidaccess,
72692         modules/filemode, modules/lchown, modules/makepath,
72693         modules/rmdir, modules/stat: Likewise.
72694
72695 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72696
72697         Merge from tar.
72698         * lib/argp-help.c (make_hol, hol_append): Don't assume that
72699         SIZE_MAX is a valid preprocessor constant.
72700         (__argp_basename): Change from "#ifndef _LIBC"
72701         to "#ifndef __argp_short_program_name", so that
72702         we don't compile these functions for tar.
72703
72704         More merges from coreutils.
72705         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
72706         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
72707         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
72708         * lib/addext.c: Remove; no longer needed.
72709         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
72710         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
72711         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
72712         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
72713         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
72714         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
72715         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
72716         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
72717         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
72718         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72719         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
72720         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
72721         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
72722         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
72723         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
72724         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
72725         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
72726         Import changes from coreutils.
72727
72728 2004-08-05  Simon Josefsson  <jas@extundo.com>
72729
72730         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
72731
72732 2004-08-05  Simon Josefsson  <jas@extundo.com>
72733
72734         * m4/getsubopt.m4: New file.
72735
72736 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72737
72738         Merge from coreutils.
72739
72740         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
72741         * m4/getcwd-path-max.m4: New files.
72742
72743         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
72744         FILESYSTEM_PREFIX_LEN ->
72745         FILE_SYSTEM_PREFIX_LEN.
72746         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
72747         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
72748         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
72749         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
72750
72751         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
72752         prerequisite modules now handle the DOS stuff.
72753         Don't check for unistd.h.
72754
72755 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72756
72757         Merge from coreutils.
72758
72759         * lib/.gdb-history: Remove; this doesn't belong here.
72760
72761         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
72762         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
72763         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
72764         * lib/getcwd.c: New files.
72765
72766         * lib/dirname.h: Include <stdbool.h>.
72767         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
72768         for consistency with POSIX terminology.  All uses changed.
72769         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
72770         (strip_trailing_slashes): Use bool for booleans.
72771         * lib/stripslash.c (strip_trailing_slashes): Likewise.
72772
72773         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
72774         sometimes returns a positive errno value even when it succeeds.
72775         (print_errno_message) [!LIBC]: Fall back on strerror if
72776         __strerror_r fails.
72777
72778         * lib/path-concat.c (mempcpy): Don't define if a system header defines
72779         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
72780         (longest_relative_suffix): New function.
72781         (path_concat): Use it.  Assume first argument is not NULL.
72782         Port to DOS.  Omit redundant separators.
72783         Report an error instead of returning NULL.
72784         Use mempcpy instead of memcpy.
72785         (xpath_concat): Remove: not declared or used.
72786
72787         * lib/same.h: Include <stdbool.h>
72788         (same_name): Return bool, not int.
72789         * lib/same.c (same_name): Likewise.
72790         (errno): Don't declare; we assume C89 or better now.
72791
72792         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
72793         if not already defined.
72794
72795         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
72796         * lib/dup-safer.c (errno): Likewise.
72797
72798 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72799
72800         Merge from coreutils.
72801         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
72802         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
72803         * modules/path-concat: Don't depend on strdup.
72804
72805 2004-08-03  Simon Josefsson  <jas@extundo.com>
72806
72807         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
72808         * lib/progname.h: Don't include stdbool.h.
72809
72810 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72811
72812         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
72813         * MODULES.html.sh (func_all_modules): Remove fatal.
72814
72815 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72816
72817         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
72818
72819 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72820
72821         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
72822         working.
72823
72824 2004-08-02  Simon Josefsson  <jas@extundo.com>
72825
72826         * lib/getsubopt.h: New file, with comments from Bruno Haible.
72827         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
72828         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
72829
72830 2004-08-01  Simon Josefsson  <jas@extundo.com>
72831
72832         * lib/xgetdomainname.c: Include stdlib.h, for free().
72833
72834 2004-07-19  Bruno Haible  <bruno@clisp.org>
72835
72836         * MODULES.html.sh (func_all_modules): Add dummy.
72837
72838 2004-07-16  Simon Josefsson  <jas@extundo.com>
72839
72840         * modules/dummy: New file.
72841
72842 2004-07-16  Simon Josefsson  <jas@extundo.com>
72843
72844         * lib/dummy.c: New file.
72845
72846 2004-07-16  Bruno Haible  <bruno@clisp.org>
72847
72848         * lib/backupfile.h: Add extern "C" for C++.
72849         * lib/closeout.h: Likewise.
72850         * lib/copy-file.h: Likewise.
72851         * lib/findprog.h: Likewise.
72852         * lib/full-write.h: Likewise.
72853         * lib/pathname.h: Likewise.
72854         * lib/progname.h: Likewise.
72855         * lib/stpcpy.h: Likewise.
72856         * lib/stpncpy.h: Likewise.
72857         * lib/strcase.h: Likewise.
72858         * lib/strstr.h: Likewise.
72859         * lib/xalloc.h: Likewise.
72860
72861         * lib/mbswidth.h: Add extern "C" for C++.
72862         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
72863
72864 2004-07-13  Robert Millan  <robertmh@gnu.org>
72865
72866         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
72867
72868 2004-07-09  Simon Josefsson  <jas@extundo.com>
72869
72870         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
72871         failed without this.)
72872
72873 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72874
72875         * modules/chown (Files): Add lib/fchown-stub.c, since
72876         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
72877
72878 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72879
72880         * lib/fchown-stub.c: New file.
72881
72882 2004-06-24  Jim Meyering  <jim@meyering.net>
72883
72884         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
72885
72886 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72887
72888         * modules/argz: Omit "#include".
72889
72890         * MODULES.html.sh (func_all_modules): Add calloc, to match
72891         2004-06-01 addition of calloc module.
72892
72893 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72894
72895         * m4/argz.m4: New file, which is autoupdated from libtool.
72896
72897 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72898
72899         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
72900         libtool.
72901
72902 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72903
72904         * config/srclist-update: Don't insist on "USA." before the
72905         close-comment, as libtool omits the period and puts the */ on a
72906         separate line.
72907         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
72908         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
72909
72910 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
72911
72912         * modules/argz: New file.
72913         * MODULES.html.sh (func_all_modules): Add argz.
72914
72915 2004-06-12  Jim Meyering  <jim@meyering.net>
72916         and  Paul Eggert  <eggert@cs.ucla.edu>
72917
72918         * modules/hash (Files): Add lib/xalloc.h.
72919         * modules/pipe (Depends-on): Add wait-process.
72920         * modules/stat (Depends-on): Add xalloc.
72921         * modules/userspec (Files): Add lib/userspec.h.
72922         * modules/xstrto
72923
72924         Upgrade from gettext-0.13.
72925         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
72926         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
72927         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
72928
72929 2004-06-10  Jim Meyering  <jim@meyering.net>
72930
72931         * lib/calloc.c: New file.
72932
72933 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
72934
72935         * lib/getdate.y (yylex): Allow space between sign and number.
72936         Problem reported by Dan Jacobson.
72937
72938 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
72939
72940         Merge from coreutils CVS.
72941
72942         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
72943         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
72944         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
72945         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
72946         xstrtol.m4: Fix copyright date and/or serial number.
72947
72948         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
72949         See if we need an fchown replacement.
72950         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
72951         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
72952         and use the replacement function if we detect either defect.
72953
72954         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
72955         gl_UTIMECMP.
72956
72957 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
72958         and  Jim Meyering  <jim@meyering.net>
72959
72960         Merge from coreutils CVS.
72961
72962         * lib/stat-macros.h: New file, with contents from file-type.h
72963         and coreutils' system.h.
72964         * lib/file-type.c: Include "stat-macros.h".
72965         * lib/file-type.h (file_type): Move all macro definitions to new file,
72966         stat-macros.h.
72967
72968         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
72969         Wrap old code with this conditional.
72970         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
72971         function that does not dereference symlinks.
72972         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
72973
72974         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
72975         dependency problems.
72976         (xreadlink): Accept new arg SIZE, for efficiency.
72977         All decls and uses changed.
72978         * lib/xreadlink.h: Include <stddef.h>, for size_t.
72979
72980         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
72981         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
72982
72983         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
72984         sysexits.h.
72985
72986 2004-06-01  Jim Meyering  <jim@meyering.net>
72987
72988         * m4/calloc.m4: New file.
72989
72990 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
72991
72992         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
72993         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
72994         Also, fix a typo in a diagnostic.
72995
72996 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
72997
72998         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
72999         or AC_FUNC_REALLOC.
73000
73001 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
73002
73003         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
73004         macros to be defined.
73005         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
73006         the allocator returns NULL because the requested size is zero.
73007
73008 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73009
73010         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
73011         var.  Add comment explaining why libc still defines it.  This
73012         merges the following patch from glibc:
73013         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
73014
73015 2004-05-20  Andreas Schwab  <schwab@suse.de>
73016
73017         * m4/free.m4: Replace free if it not known to work, not the other
73018         way round.
73019
73020 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73021
73022         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
73023         present in glibc since revision 1.1 of this file.
73024         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
73025         obstack_alignment_mask, obstack_alloc, obstack_base,
73026         obstack_blank, obstack_blank_fast, obstack_chunk_size,
73027         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
73028         obstack_grow0, obstack_init, obstack_int_grow,
73029         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
73030         obstack_next_free, obstack_object_size, obstack_ptr_grow,
73031         obstack_ptr_grow_fast, obstack_room): Remove declarations of
73032         nonexistent functions.
73033
73034 2004-05-18  Karl Berry  <karl@gnu.org>
73035
73036         * config/srclist.txt: break link for vasnprintf.c.
73037
73038 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
73039
73040         Port obstack to the AS/400, where pointers are 16 bytes wide and
73041         you cannot cast an integer to a valid pointer.  This patch is
73042         currently waiting to be integrated into glibc; see
73043         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
73044
73045         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
73046         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
73047         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
73048         (struct obstack): temp member is now a union of a pointer and
73049         an integer, instead of an integer.  All integer uses changed.
73050         This does not affect the physical layout of struct obstack,
73051         except on hosts (like the AS/400) where the size or alignment of
73052         void * is greater than that of ptrdiff_t.
73053         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
73054         __STDC__)]: Store temporary in pointer member of union, not
73055         integer member.
73056         * lib/obstack.c: Include <stddef.h>, for offsetof.
73057         (struct fooalign): Remove; it doesn't need a name.
73058         (union fooround): Change double to long double, and add void *.
73059         (DEFAULT_ALIGNMENT): Use offsetof to compute.
73060         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
73061         not a macro.  Hence the values are always int; so remove all
73062         casts-to-int in uses.
73063
73064 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
73065
73066         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
73067         we can get this patch merged into glibc.
73068
73069 2004-05-17  Derek R. Price  <derek@ximbiot.com>
73070             Paul Eggert  <eggert@cs.ucla.edu>
73071
73072         * m4/argp: Depend on alloca.
73073
73074 2004-05-17  Derek R. Price  <derek@ximbiot.com>
73075             Paul Eggert  <eggert@cs.ucla.edu>
73076
73077         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
73078         freecoding.
73079
73080 2004-05-17  Bruno Haible  <bruno@clisp.org>
73081
73082         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
73083         precision that consists of a '.' followed by an empty digit string.
73084         Patch by Tor Lillqvist <tml@iki.fi>.
73085
73086 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
73087
73088         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
73089         for backward compatibility with older code.  We need our own
73090         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
73091         it under some other name, and our alloca.h will define it.
73092
73093 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
73094             Derek Price  <derek@ximbiot.com>
73095
73096         * lib/alloca.c: Include <alloca.h>, to get our interface.
73097         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
73098         include <alloca.h> first.  Use C89 prototype for alloca; this
73099         requires including <stddef.h> for size_t.  Use extern "C" if C++.
73100         Use #elif for simplicity, since we can assume C89 now.
73101         Don't try to source the system alloca.h since it will not be found
73102         and to prevent recursively including its replacement.
73103         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
73104         * lib/regex.c: Likewise.
73105
73106 2004-05-16  Derek Price  <derek@ximbiot.com>
73107             Paul Eggert  <eggert@cs.ucla.edu>
73108
73109         getline cleanup.  This changes the getndelim2 API: both order of
73110         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
73111         no delimiter).
73112
73113         * lib/getline.c: Don't include stddef.h or stdio.h, since our
73114         interface does that.
73115         (getline): Always use getdelim, so that we don't have two
73116         copies of this code.
73117         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
73118         if available.
73119         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
73120         (GETNDELIM2_MAXIMUM): New macro.
73121         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
73122         instead of the old practice of delim2==0.  All callers changed.
73123         Return -1 on overflow, instead of returning junk.
73124         Do not set *linesize unless allocation succeeds.
73125         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
73126         that we include sys/types.h.
73127         * lib/getnline.h: Likewise.
73128         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
73129         (getndelim2): Reorder arguments.
73130         * lib/getnline.c (getnline, getndelim):
73131         Don't discard the NMAX argument.
73132         (getnline): Invoke getndelim, to avoid code duplication.
73133         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
73134         of (size_t) -1 by callers of the getnline family.
73135
73136 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73137
73138         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
73139         Check for gettimeofday.
73140         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
73141         Check for settimeofday, stime.
73142
73143 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73144
73145         * lib/nanosleep.c (suspended): Change its type from int to
73146         sig_atomic_t volatile.
73147         (first_call): Make it private to rpl_nanosleep, and have it
73148         be zero initially as that's a bit faster.
73149         (my_usleep): Round up fractional times instead of truncating them,
73150         as this is the usual meaning for 'sleep'.
73151
73152         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
73153         doesn't work.
73154         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
73155         (ENOSYS): Define if not defined.
73156         (settime): Fall back on stime if it exists and settimeofday fails.
73157         But don't bother with fallbacks if a method fails with errno == EPERM.
73158
73159 2004-05-11  Jim Meyering  <jim@meyering.net>
73160
73161         Prior to this change, the save_cwd caller required read access to the
73162         current directory on most systems (ones with the fchdir function).
73163
73164         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
73165         fails, try write-only, and finally, resort to using xgetcwd.
73166
73167 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
73168
73169         * lib/obstack.c, obstack.h: Import changes from libc.
73170
73171 2004-04-28  Bruno Haible  <bruno@clisp.org>
73172
73173         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
73174         also implicitly appends .exe to executables.
73175         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
73176         accepts Windows pathnames.
73177         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73178         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73179         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73180         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73181         Reported by Derek Robert Price <derek@ximbiot.com>.
73182
73183 2004-04-21  Karl Berry  <karl@gnu.org>
73184
73185         * config/srclist.txt (localcharset.c): break sync.
73186
73187 2004-04-20  Paul Eggert  <eggert@twinsun.com>
73188
73189         * m4/host-os.m4: Add a copyright notice.
73190
73191 2004-04-20  Jim Meyering  <jim@meyering.net>
73192
73193         Change UTILS_ to gl_ in AC_DEFINE'd names.
73194         Change utils_- and jm_-prefixed variables, too.
73195         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
73196         UTILS_FUNC_MKDIR_TRAILING_SLASH.
73197         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
73198
73199         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
73200         Don't emit trailing blanks.
73201         Also rename jm_-prefixed variables to have gl_ prefix.
73202
73203         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
73204         Also rename jm_-prefixed variables to have gl_ prefix.
73205
73206         * m4/jm-macros.m4: Reflect the renamings.
73207         * m4/prereq.m4: Likewise.
73208
73209 2004-04-20  Jim Meyering  <jim@meyering.net>
73210
73211         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
73212         memory.
73213
73214 2004-04-20  Jim Meyering  <jim@meyering.net>
73215             Bruno Haible  <bruno@clisp.org>
73216
73217         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
73218         memory when realloc fails.
73219
73220 2004-04-19  Jim Meyering  <jim@meyering.net>
73221
73222         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
73223         now that readutmp.c may call `free (0)'.
73224
73225 2004-04-19  Bruno Haible  <bruno@clisp.org>
73226
73227         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
73228         * m4/inttypes_h.m4: Likewise.
73229         * m4/stdint_h.m4: Likewise.
73230         * m4/intmax_t.m4: Likewise.
73231         * m4/uintmax_t.m4: Likewise.
73232
73233 2004-04-18  Jim Meyering  <jim@meyering.net>
73234
73235         * m4/prereq.m4: Don't forbid jm_ prefix.
73236
73237         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
73238         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
73239         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
73240         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
73241         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
73242         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
73243         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
73244         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
73245         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
73246         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
73247         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
73248         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
73249         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
73250         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
73251         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
73252         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
73253         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
73254         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
73255         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
73256
73257 2004-04-18  Jim Meyering  <jim@meyering.net>
73258
73259         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
73260         failure, don't leak memory and do call END_UTMP_ENT.
73261
73262 2004-04-16  Jim Meyering  <jim@meyering.net>
73263
73264         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
73265         coreutils' stat program.
73266         (gl_PREREQ): Don't require jm_PREREQ_STAT.
73267
73268 2004-04-11  Paul Eggert  <eggert@twinsun.com>
73269
73270         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
73271         C89.
73272         (CHAR_BIT): Remove, since we assume C89.
73273         Include <stdint.h> if available, as per current Autoconf CVS advice.
73274
73275 2004-03-31  Jim Meyering  <jim@meyering.net>
73276
73277         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
73278         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
73279         * m4/xalloc.m4: Likewise.
73280
73281 2004-03-30  Paul Eggert  <eggert@twinsun.com>
73282
73283         Merge from coreutils.
73284
73285         * m4/inttostr.m4: New file.
73286         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
73287         Require AM_STDBOOL_H and gl_TIMESPEC instead.
73288         Require gl_CLOCK_TIME.
73289         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
73290
73291 2004-03-30  Paul Eggert  <eggert@twinsun.com>
73292
73293         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
73294         not bool, to be more consistent with Unix conventions.
73295         Suggested by Bruno Haible.
73296
73297         Merge from coreutils.
73298
73299         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
73300         * lib/umaxtostr.c: New files.
73301
73302         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
73303         the usual <time.h> dance.
73304         (get_date): Change signature to support fractional time stamps.
73305         All callers changed.
73306         * lib/getdate.y: Include "getdate.h" first, as we can now
73307         assume C89 and don't need to worry about 'const'.
73308         Similarly, include "unlocked-io.h" near start, not in middle.
73309         Include <limits.h>.
73310         (textint.value): Use long int rather than int.
73311         (textint.digits): Use size_t rather than int.
73312         (BILLION, LOG10_BILLION): New constants.
73313         (parser_control): New member rel_ns.  Members day_ordinal,
73314         time_zone, month, day, hour, minutes, rel_year, rel_month,
73315         rel_day, rel_hour, rel_minutes, rel_seconds
73316         are now long int, not int.  Member seconds is now struct timespec,
73317         not int.  New member timespec_seen.  Members dates_seen, days_seen,
73318         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
73319         not int.
73320         (%union.intval): Now long int, not int.
73321         New member timespec.
73322         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
73323         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
73324         (spec): Now is a timespec or an item list.
73325         (timespec, items): New nonterminals.
73326         (time, rel, relunit, number, get_date):
73327         Add support for fractional seconds.
73328         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
73329         (gmtime, localtime, mktime): Remove decls; not needed with C89.
73330         (to_hour): First arg is now long int, not int.
73331         (to_year): Returns long int, not int.
73332         Don't treat year -70 like 70.
73333         (tm_diff): Returns long int, not int.
73334         (lookup_word): Use bool instead of int when appropriate.
73335         (yylex): Use size_t for count, not int.
73336         Detect overflow when parsing large integer constants.
73337         Add support for fractions.
73338         (get_date): Make pointers 'const' if possible.
73339         Use more-portable code to detect integer overflow.
73340         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
73341         Don't use ctime; it's not reliable if the year has >4 digits.
73342
73343         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
73344         This is for compatibility with BSD.
73345
73346         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
73347         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
73348         From coreutils' system.h.
73349
73350         * lib/userspec.c: Don't include "posixver.h".
73351         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
73352         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
73353         compatible extension.  Simplify code by removing a boolean int
73354         that was always nonzero if a string was nonnull.
73355
73356 2004-03-30  Jim Meyering  <jim@meyering.net>
73357
73358         Merge from coreutils.
73359
73360         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
73361         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
73362         on some systems one must include <grp.h> before it.
73363         Reported by Christian Krackowizer.
73364
73365 2004-03-30  Jim Meyering  <jim@meyering.net>
73366
73367         Merge from coreutils.
73368
73369         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
73370
73371         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
73372         an empty input stream.
73373
73374         * lib/readtokens.c: Include <stdbool.h>.
73375         (readtoken): Use `size_t' rather than int/long.
73376         All callers adjusted.
73377         Use `bool' rather than `int' where appropriate.
73378         Use memset rather than an explicit loop.
73379         Use x2nrealloc rather than xrealloc.
73380         Allow the use of `\0' as a delimiter.
73381         (readtokens): Likewise.
73382         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
73383
73384 2004-03-30  Jim Meyering  <jim@meyering.net>
73385
73386         * m4/realloc.m4: Remove file, since now it does no more than
73387         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
73388         the `configure.ac' section of module/realloc.
73389         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
73390
73391 2004-03-30  Bruno Haible  <bruno@clisp.org>
73392
73393         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
73394         nonnull.
73395
73396 2004-03-29  Paul Eggert  <eggert@twinsun.com>
73397
73398         Merge changes to getloadavg.c from coreutils and Emacs.
73399
73400         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
73401         Define to an expression, not to the empty string.
73402         Include cloexec.h and xalloc.h.
73403         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
73404         Use set_cloexec_flag rather than rolling our own.
73405         * lib/cloexec.c, lib/cloexec.h: New files.
73406
73407 2004-03-29  Paul Eggert  <eggert@twinsun.com>
73408
73409         * m4/cloexec.m4: New file.
73410
73411 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73412
73413         * lib/getopt.h: Sync with libc CVS.
73414
73415 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73416             Bruno Haible  <bruno@clisp.org>
73417
73418         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
73419         mbswidth.
73420
73421 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73422             Bruno Haible  <bruno@clisp.org>
73423
73424         * lib/mbswidth.h: Include <wchar.h> only if
73425         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
73426         <wchar.h>.
73427         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
73428
73429 2004-03-09  Paul Eggert  <eggert@twinsun.com>
73430
73431         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
73432         Sync with libc CVS.
73433         * lib/getopt_int.h: New file, also synced from libc.
73434
73435 2004-03-09  Paul Eggert  <eggert@twinsun.com>
73436
73437         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
73438         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
73439         Bring back getopt.c, getopt.h, getopt1.c.
73440
73441 2004-03-07  Paul Eggert  <eggert@twinsun.com>
73442
73443         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
73444         All uses changed.  Check for sa_sigaction member; this fixes
73445         a bug first reported by Jason Andrade in
73446         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
73447
73448 2004-03-07  Paul Eggert  <eggert@twinsun.com>
73449
73450         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
73451         '#if' expressions.  Unlike the code it replaces, it does not
73452         depend on (defined _SC_PAGESIZE).  However, it does depend on
73453         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
73454         first reported by Jason Andrade in
73455         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
73456
73457 2004-02-25  Simon Josefsson  <jas@extundo.com>
73458
73459         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
73460
73461 2004-02-25  Simon Josefsson  <jas@extundo.com>
73462
73463         * lib/strdup.h: New file.
73464         * lib/strdup.c: Include it.
73465         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
73466         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
73467
73468 2004-02-23  Karl Berry  <karl@gnu.org>
73469
73470         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
73471         (from fencepost.gnu.org:/gd/gnuorg).
73472
73473 2004-02-23  Karl Berry  <karl@gnu.org>
73474
73475         * config/srclistvars.sh (GNUORG) [karl]: redefine.
73476         * config/srclist.txt: add maintain/standards documents.
73477
73478 2004-02-18  Bruno Haible  <bruno@clisp.org>
73479
73480         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
73481         Reported by Derek Robert Price <derek@ximbiot.com>.
73482
73483 2004-02-16  Karl Berry  <karl@gnu.org>
73484
73485         * config/mkinstalldirs, install-sh: update from automake.
73486
73487 2004-02-06  Karl Berry  <karl@gnu.org>
73488
73489         * m4/po.m4: update from gettext 0.14.1.
73490
73491 2004-02-06  Karl Berry  <karl@gnu.org>
73492
73493         * lib/config.charset: update from gettext 0.14.1.
73494
73495 2004-02-05  Paul Eggert  <eggert@twinsun.com>
73496
73497         Add comments and code, prompted by suggestions from Bruno Haible
73498         for sh-quote.
73499         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
73500         describing the enum quoting_style values.
73501         * lib/quotearg.c (quotearg_alloc): New function.
73502         (quotearg_buffer_restyled): Treat lone { and } as special.
73503         Treat = as special.  Work around bug with older shells
73504         that "see" a '\' that is really the 2nd byte of a multibyte char.
73505         Quote empty string with shell_quoting_style.
73506
73507 2004-02-03  Bruno Haible  <bruno@clisp.org>
73508
73509         * m4/pipe.m4: New file, from GNU gettext.
73510
73511 2004-02-03  Bruno Haible  <bruno@clisp.org>
73512
73513         * lib/pipe.h: New file, from GNU gettext.
73514         * lib/pipe.c: New file, from GNU gettext.
73515
73516 2004-01-27  Bruno Haible  <bruno@clisp.org>
73517
73518         * m4/execute.m4: New file, from GNU gettext.
73519
73520 2004-01-27  Bruno Haible  <bruno@clisp.org>
73521
73522         * lib/execute.h: New file, from GNU gettext.
73523         * lib/execute.c: New file, from GNU gettext.
73524         * lib/w32spawn.h: New file, from GNU gettext.
73525
73526 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73527
73528         Merge from diffutils.
73529
73530         * lib/file-type.c (file_type): Add typed memory objects.
73531         * lib/file-type.h (S_TYPEISTMO): New macro.
73532
73533         * lib/c-stack.h (c_stack_action): Remove argv argument.
73534         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
73535         (die): Don't calculate message unless segv_action returns.
73536         (get_stack_location, min_address_from_argv, max_address_from_argv,
73537         volatile stack_base, volatile_stack_size): Remove.
73538         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
73539         that every segmentation violation is a stack overflow.  (Ouch!)
73540         See Debian bug 136249 (still outstanding) for more info about why
73541         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
73542
73543 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73544
73545         Exit-status fix from coreutils.
73546
73547         Use exit_failure consistently in place of EXIT_FAILURE,
73548         so that program exit statuses are consistent on failure.
73549
73550         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
73551         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
73552         * lib/argmatch.h: Comment fix to match the above.
73553         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
73554         Now a macro referring to exit_failure, instead of a separate
73555         variable.  Include "exitfail.h" to get it.
73556         * lib/xstrtol.h: Include "exitfail.h".
73557         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
73558
73559         * lib/long-options.c (parse_long_options): Use prototype
73560         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
73561         for clarity.
73562
73563 2004-01-21  Jim Meyering  <jim@meyering.net>
73564
73565         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
73566         so as not to conflict with a different-sized __mktime_internal
73567         function in GNU libc.
73568         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
73569         Problem building statically-linked `ls' reported by Michael Brunnbauer.
73570
73571 2004-01-20  Karl Berry  <karl@gnu.org>
73572
73573         * config/config.guess: update from config.
73574
73575         * config/srclistvars.sh: GNUWWWLICENSES for karl.
73576
73577 2004-01-20  Bruno Haible  <bruno@clisp.org>
73578
73579         Safer stack allocation.
73580         * lib/setenv.c: Include allocsa.h.
73581         (alloca): Remove fallback definition.
73582         (freea): Remove macro.
73583         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
73584         instead of freea.
73585
73586 2004-01-20  Bruno Haible  <bruno@clisp.org>
73587
73588         * m4/eealloc.m4: New file, from GNU gettext.
73589
73590 2004-01-20  Bruno Haible  <bruno@clisp.org>
73591
73592         * m4/allocsa.m4: New file, from GNU gettext.
73593
73594 2004-01-20  Bruno Haible  <bruno@clisp.org>
73595
73596         * lib/xallocsa.h: New file, from GNU gettext.
73597         * lib/xallocsa.c: New file, from GNU gettext.
73598
73599 2004-01-20  Bruno Haible  <bruno@clisp.org>
73600
73601         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
73602
73603 2004-01-20  Bruno Haible  <bruno@clisp.org>
73604
73605         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
73606         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
73607         specially.
73608
73609 2004-01-20  Bruno Haible  <bruno@clisp.org>
73610
73611         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
73612         patch.
73613
73614 2004-01-20  Bruno Haible  <bruno@clisp.org>
73615
73616         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
73617
73618 2004-01-20  Bruno Haible  <bruno@clisp.org>
73619
73620         * lib/eealloc.h: New file.
73621
73622 2004-01-20  Bruno Haible  <bruno@clisp.org>
73623
73624         * lib/binary-io.h: Avoid warnings on Cygwin.
73625
73626 2004-01-20  Bruno Haible  <bruno@clisp.org>
73627
73628         * lib/allocsa.h: New file, from GNU gettext.
73629         * lib/allocsa.c: New file, from GNU gettext.
73630
73631 2004-01-18  Karl Berry  <karl@gnu.org>
73632
73633         * doc/gpl.texi, doc/lgpl.texi: new files.
73634
73635 2004-01-18  Karl Berry  <karl@gnu.org>
73636
73637         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
73638         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
73639
73640 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73641
73642         Merge from coreutils.
73643
73644         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
73645         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
73646         (gl_DEFAULT_POSIX2_VERSION): Move
73647         the documentation from 'configure' into 'config.hin',
73648         so that 'configure --help' isn't burdened by it and
73649         we don't have to worry about its formatting there.
73650         Reword the documentation so that it's more succinct
73651         and can be run together into a single paragraph.
73652         * m4/same.m4 (gl_SAME): Check for pathconf.
73653
73654 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73655
73656         Merge from coreutils.
73657
73658         * lib/posixver.c: Include posixver.h.
73659
73660         * lib/same.c: Include <stdbool.h>, <limits.h>.
73661         (_POSIX_NAME_MAX): Define if not defined.
73662         (MIN): New macro.
73663         (same_name): If file names are silently truncated, report
73664         that the file names are the same if they are the same after
73665         the silent truncation.
73666
73667         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
73668         conversion function.
73669         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
73670         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
73671         longer needed.
73672
73673 2004-01-15  Jim Meyering  <jim@meyering.net>
73674
73675         Merge from coreutils.
73676
73677         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
73678         if no library is required.
73679         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
73680         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
73681         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
73682         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
73683         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
73684         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
73685         value, $ac_cv_search_crypt, if it's "none required".
73686         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
73687         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
73688         not gl_FUNC_GETLOADAVG.
73689         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
73690         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
73691
73692 2004-01-15  Jim Meyering  <jim@meyering.net>
73693
73694         Merge from coreutils.
73695
73696         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
73697         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
73698         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
73699
73700         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
73701         optional configure-time default.
73702
73703         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73704
73705         * lib/xreadlink.c (xreadlink): Correct outdated comment.
73706
73707 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
73708
73709         Merge from coreutils.
73710
73711         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
73712         value, $ac_cv_search_nanosleep, if it's "none required".
73713
73714 2004-01-14  Paul Eggert  <eggert@twinsun.com>
73715
73716         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
73717         with like-named macro in fnmatch.c.
73718         (EXT): Use an internal constant instead.
73719
73720         Merge fnmatch patches from glibc.
73721         * lib/fnmatch.c (mbsinit): Remove define.
73722         Add libc_hidden_ver (__fnmatch, fnmatch).
73723         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
73724         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
73725
73726 2004-01-14  Karl Berry  <karl@gnu.org>
73727
73728         * config/install-sh: update from automake.
73729
73730 2004-01-13  Karl Berry  <karl@gnu.org>
73731
73732         * config/install-sh: update from automake.
73733
73734 2004-01-09  Karl Berry  <karl@gnu.org>
73735
73736         * config/install-sh: update from automake.
73737
73738 2004-01-05  Karl Berry  <karl@gnu.org>
73739
73740         * config/config.{sub,guess}: update from config.
73741
73742 2003-12-31  Karl Berry  <karl@gnu.org>
73743
73744         * config/depcomp: update from automake.
73745
73746 2003-12-14  Karl Berry  <karl@gnu.org>
73747
73748         * lib/config.charset: update from gettext-runtime.
73749
73750 2003-12-03  Paul Eggert  <eggert@twinsun.com>
73751
73752         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
73753         Bug reported by Alfred M. Szmidt.
73754
73755 2003-12-03  Bruno Haible  <bruno@clisp.org>
73756
73757         * m4/gettext.m4: Upgrade from gettext-0.13.
73758         * m4/po.m4: Upgrade from gettext-0.13.
73759         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
73760         * m4/intmax.m4: New file, from gettext-0.13.
73761         * m4/printf-posix.m4: New file, from gettext-0.13.
73762
73763 2003-11-29  Karl Berry  <karl@gnu.org>
73764
73765         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
73766
73767 2003-11-25  Paul Eggert  <eggert@twinsun.com>
73768             Bruno Haible  <bruno@clisp.org>
73769
73770         * lib/printf-parse.h: Don't include sys/types.h.
73771         (ARG_NONE): New macro.
73772         (char_directive): Change type of *arg_index fields to size_t.
73773         * lib/printf-parse.c: Don't include sys/types.h.
73774         (SSIZE_MAX): Remove macro.
73775         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
73776         Remove unnecessary overflow check.
73777         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
73778         fields.
73779
73780 2003-11-25  Bruno Haible  <bruno@clisp.org>
73781
73782         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
73783
73784 2003-11-25  Bruno Haible  <bruno@clisp.org>
73785
73786         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
73787         gt_TYPE_SSIZE_T.
73788
73789 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73790
73791         * modules/alloca: Remove dependency on xalloc.
73792
73793 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73794
73795         * lib/alloca.c: Remove dependency on xalloc module.
73796         (xalloc_die): Remove.
73797         (memory_full) [!defined emacs]: New macro.
73798         [!defined emacs]: Don't include xalloc.h.
73799         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
73800         address arithmetic overflows.  Change datatypes a bit to avoid
73801         unnecessary casts.
73802
73803 2003-11-22  Jim Meyering  <jim@meyering.net>
73804
73805         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
73806         s/size/size_t/.
73807
73808 2003-11-21  Karl Berry  <karl@gnu.org>
73809
73810         * config/config.{sub,guess}: update from config.
73811
73812 2003-11-18  Karl Berry  <karl@gnu.org>
73813
73814         * config/config.{sub,guess}: update from config.
73815
73816         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
73817
73818 2003-11-17  Paul Eggert  <eggert@twinsun.com>
73819
73820         * README: Mention that S+T cannot overflow if S is the size of
73821         an existing object and T is sufficiently small.
73822
73823 2003-11-17  Jim Meyering  <jim@meyering.net>
73824
73825         On systems without utime and without a utimes function capable of
73826         dealing with a NULL struct utimbuf* argument, this utime replacement
73827         could -- in unusual circumstances -- leak a file descriptor.
73828         * lib/utime.c: Include <unistd.h> and <errno.h>.
73829         (utime_null): Be sure to close `fd' and to preserve errno.
73830         Reported by Geoff Collyer via Arnold Robbins.
73831
73832 2003-11-17  Bruno Haible  <bruno@clisp.org>
73833
73834         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
73835         (Depends-on): Add xsize.
73836
73837 2003-11-17  Bruno Haible  <bruno@clisp.org>
73838
73839         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
73840
73841 2003-11-17  Bruno Haible  <bruno@clisp.org>
73842
73843         * lib/vasnprintf.c (alloca): Remove fallback definition.
73844         (freea): Remove definition.
73845         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
73846         Reported by Paul Eggert.
73847
73848 2003-11-16  Paul Eggert  <eggert@twinsun.com>
73849             Bruno Haible  <bruno@clisp.org>
73850
73851         Protect against address arithmetic overflow.
73852         * lib/printf-args.h: Include stddef.h.
73853         (arguments): Change type of field 'count' to size_t.
73854         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
73855         'unsigned int' where appropriate.
73856         * lib/printf-parse.h: Include sys/types.h.
73857         (char_directive): Change type of *arg_index fields to ssize_t.
73858         (char_directives): Change type of fields 'count', max_*_length to
73859         size_t.
73860         * lib/printf-parse.c: Include sys/types.h and xsize.h.
73861         (SSIZE_MAX): Define fallback value.
73862         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
73863         instead of 'int' where appropriate. Check a_allocated, d_allocated
73864         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
73865         * lib/vasnprintf.c: Include xsize.h.
73866         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
73867         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
73868         overflow. Avoid wraparound when converting a width or precision from
73869         decimal to binary.
73870
73871 2003-11-16  Bruno Haible  <bruno@clisp.org>
73872
73873         Update from GNU gettext.
73874         * lib/printf-parse.c: Generalize to it can be compiled for wide
73875         strings.
73876         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
73877         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
73878         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
73879         SNPRINTF): New macros.
73880         Don't include <alloca.h> if the file is used inside libintl.
73881         (local_wcslen): New function, for Solaris 2.5.1.
73882         (VASNPRINTF): Use it instead of wcslen.
73883
73884 2003-11-16  Bruno Haible  <bruno@clisp.org>
73885
73886         * lib/xsize.h (xmax): New function.
73887         (xsum, xsum3, xsum4): Declare as "pure" functions.
73888
73889 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73890
73891         * modules/xalloc (Files): Undo latest change, since xalloc.h
73892         no longer needs SIZE_MAX or PTRDIFF_MAX.
73893
73894 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73895
73896         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
73897         gl_PTRDIFF_MAX.
73898
73899 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73900
73901         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
73902         "return", to pacify some unknown compiler.  Problem reported
73903         by Joerg Schilling.
73904
73905 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73906
73907         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
73908         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
73909         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
73910         heuristic is just as accurate as far as we know, and it removes a
73911         dependency on size_max.m4 and ptrdiff_max.m4.
73912
73913 2003-11-11  Bruno Haible  <bruno@clisp.org>
73914
73915         * modules/xsize (Files): Add m4/size_max.m4.
73916         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
73917
73918 2003-11-11  Bruno Haible  <bruno@clisp.org>
73919
73920         * m4/size_max.m4: New file.
73921         * m4/ptrdiff_max.m4: New file.
73922         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
73923         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
73924         (gl_XALLOC): Invoke it.
73925
73926 2003-11-11  Bruno Haible  <bruno@clisp.org>
73927
73928         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
73929         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
73930         defined.
73931
73932 2003-11-10  Paul Eggert  <eggert@twinsun.com>
73933
73934         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
73935         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
73936         rejected some allocations of exactly SIZE_MAX - 2 bytes.
73937         From Bruno Haible.
73938         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
73939         not (size_t) -1, since it's defined here.
73940
73941 2003-11-09  Karl Berry  <karl@gnu.org>
73942
73943         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
73944
73945 2003-11-06  Paul Eggert  <eggert@twinsun.com>
73946
73947         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
73948         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
73949         Reject sizes of exactly SIZE_MAX bytes.
73950         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
73951         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
73952
73953 2003-11-05  Bruno Haible  <bruno@clisp.org>
73954
73955         * lib/xsize.h: Include limits.h, to avoid a possible collision with
73956         SIZE_MAX defined in <limits.h> on Solaris.
73957
73958 2003-11-04  Jim Meyering  <jim@meyering.net>
73959
73960         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
73961         variable names, rather than @VAR@.
73962         * modules/poll: Likewise.
73963
73964 2003-11-04  Bruno Haible  <bruno@clisp.org>
73965
73966         * modules/xsize: New file.
73967         * modules/linebreak: Depend on xsize.
73968         * MODULES.html.sh (func_all_modules): Add xsize.
73969
73970 2003-11-04  Bruno Haible  <bruno@clisp.org>
73971
73972         * m4/xsize.m4: New file.
73973
73974 2003-11-04  Bruno Haible  <bruno@clisp.org>
73975
73976         * lib/xsize.h: New file.
73977         * lib/linebreak.c: Include xsize.h.
73978         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
73979         argument for overflow.
73980         Suggested by Paul Eggert.
73981
73982 2003-11-03  Karl Berry  <karl@gnu.org>
73983
73984         * config/config.{guess,sub}: update from config.
73985
73986 2003-11-03  Jim Meyering  <jim@meyering.net>
73987
73988         * modules/userspec (lib_SOURCES): Add userspec.h.
73989         (Include): Add "userspec.h".
73990         Improve description.
73991
73992 2003-11-03  Jim Meyering  <jim@meyering.net>
73993
73994         * lib/userspec.c: Include "userspec.h".
73995         * lib/userspec.h: New file.
73996
73997 2003-11-03  Bruno Haible  <bruno@clisp.org>
73998
73999         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
74000
74001 2003-11-03  Bruno Haible  <bruno@clisp.org>
74002
74003         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
74004         available, to avoid (extremely rare) race condition.
74005         Suggested by Paul Eggert.
74006
74007 2003-11-02  Karl Berry  <karl@gnu.org>
74008
74009         * config/srclist.txt (vasprintf.c): sync broken, sigh.
74010
74011 2003-10-31  Paul Eggert  <eggert@twinsun.com>
74012
74013         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
74014         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
74015         (read_filesystem_list): Set and use me_type_malloced.
74016         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
74017         whatever the type happens to be), for brevity and consistency.
74018         Check for size calculation overflow on Alphas running OSF/1.
74019
74020 2003-10-31  Jim Meyering  <jim@meyering.net>
74021
74022         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
74023
74024         * lib/linebuffer.c: Include <string.h> for declaration of memset.
74025
74026 2003-10-30  Paul Eggert  <eggert@twinsun.com>
74027             Bruno Haible  <bruno@clisp.org>
74028
74029         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
74030         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
74031
74032 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74033
74034         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
74035         netbsd*-gnu*.  Suggested by Robert Millan.
74036
74037 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74038
74039         * modules/group-member: Depend on stdbool.
74040
74041 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74042
74043         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
74044
74045 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74046
74047         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
74048         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
74049         after the 'gnu' in these cases.  This fixes some bugs in the
74050         previous change, and is based on suggestions by Robert Millan.
74051
74052 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74053
74054         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
74055         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
74056         no longer needed.
74057         * lib/quotearg.c (quotearg_n_options): Use it.
74058         * lib/group-member.c: Include <stdbool.h>.
74059         (free_group_info): Arg is now const *; don't free arg.
74060         (get_group_info): Now returns bool and accepts struct group_info *,
74061         rather than returning a malloc'ed struct group_info *.
74062         All uses changed.  Check for overflow in internal size calculation.
74063
74064         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
74065         rather than xmalloc/xrealloc.
74066         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
74067         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
74068         conformance bug: the old code used a pointer after freeing the
74069         storage that it addressed.
74070         * lib/hash.c (hash_initialize): Simplify the code by using
74071         xalloc_oversized rather than doing it by hand.
74072         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
74073         the buffer preserved.  Use free and xmalloc instead.
74074         * lib/quotearg.c (quotearg_n_options): Likewise.
74075         Use a simpler test for size overflow.  Don't use xalloc_oversized
74076         because unsigned int might be wider than size_t (!); this suggests
74077         that we should switch from unsigned int to size_t for slot numbers.
74078
74079 2003-10-28  Paul Eggert  <eggert@twinsun.com>
74080
74081         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
74082         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
74083         NetBSD kernels.  Requested by Richard Stallman.
74084
74085 2003-10-27  Paul Eggert  <eggert@twinsun.com>
74086
74087         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
74088         to allocate the returned structure.  Do not allocate a subarray,
74089         as x2nrealloc will do that.
74090         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
74091         instead of xnrealloc.
74092         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
74093
74094 2003-10-27  Bruno Haible  <bruno@clisp.org>
74095
74096         * lib/stdbool_.h: Better support for BeOS.
74097
74098 2003-10-26  Paul Eggert  <eggert@twinsun.com>
74099
74100         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
74101         now uses inline.
74102
74103 2003-10-26  Paul Eggert  <eggert@twinsun.com>
74104
74105         * lib/xalloc.h (xalloc_oversized): New static inline function, for
74106         callers that want to do their own size-overflow checking.  Include
74107         <stdbool.h>, since xalloc_oversized returns bool.
74108         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
74109         to use xalloc_oversized.
74110
74111         Add two functions x2realloc, x2nrealloc, for programs that grow
74112         arrays dynamically by doubling their sizes.
74113         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
74114         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
74115         New functions.
74116
74117         Port to C99 semantics for 'inline' of external functions.
74118         Bug reported by Bruno Haible.
74119         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
74120         with the old contents of xnmalloc.
74121         (xnmalloc, xmalloc): Use it.
74122         (xnrealloc_inline): New static inline function,
74123         with the old contents of xnrealloc.
74124         (xnrealloc, xrealloc): Use it.
74125
74126         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
74127         that.
74128
74129 2003-10-26  Karl Berry  <karl@gnu.org>
74130
74131         * config/srclist.txt (COPYING.DOC): no longer available from
74132         /gd/gnuorg; don't know where the ultimate source is.
74133
74134 2003-10-25  Paul Eggert  <eggert@twinsun.com>
74135
74136         Fix several address-calculation bugs in the hash modules,
74137         plus some minor code cleanup.
74138
74139         * lib/hash.h: Include <stdbool.h>, for bool.
74140         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
74141         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
74142         hash_get_n_entries, hash_get_max_bucket_length,
74143         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
74144         hash_rehash): Use size_t rather than unsigned.
74145         * lib/hash.c (struct hash_table, hash_get_n_buckets,
74146         hash_get_n_buckets_used, hash_get_n_entries,
74147         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
74148         hash_get_entries, hash_do_for_each, hash_string, is_prime,
74149         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
74150         Likewise.
74151         (SIZE_MAX): Define if not defined.
74152         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
74153         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
74154         hash_print):
74155         Use const * when possible.
74156         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
74157         (check_tuning): Fix bug: if tuning parameters were very close to
74158         0 or 1, rounding errors could have caused subscript violations.
74159         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
74160         (hash_initialize): Add 'fail:' label
74161         to free table and return NULL, and use it to simplify code.
74162         Use calloc rather than clearing the storage ourself.
74163         (hash_initialize, hash_rehash): Check for arithmetic overflow in
74164         buffer size calculations.
74165         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
74166         Include <stddef.h>, for size_t.
74167         * lib/hash-pjw.c (hash_pjw): Likewise.
74168         Switch to method described by Bruno Haible.
74169         Include <limits.h>, for CHAR_BIT.
74170         (SIZE_BITS): New macro.
74171
74172 2003-10-23  Paul Eggert  <eggert@twinsun.com>
74173
74174         * m4/getline.m4 (AM_FUNC_GETLINE):
74175         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
74176         hosts.  Problem reported by Derek Robert Price in
74177         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
74178         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
74179         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
74180
74181 2003-10-21  Paul Eggert  <eggert@twinsun.com>
74182
74183         * lib/getndelim2.c (getndelim2): When size calculation overflows,
74184         ceiling the allocation at NMAX bytes rather than silently
74185         discarding input bytes before NMAX is reached.  This makes
74186         a difference only if NMAX exceeds SIZE_MAX / 2.
74187
74188         * lib/obstack.c: Merge from glibc.
74189         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
74190         Add libc_hidden_def (_obstack_newchunk).
74191         (_obstack_free) [! defined _LIBC]: Remove.
74192         [defined _LIBC]: Make a strong alias from obstack_free, rather than
74193         a clone of the function body.
74194         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
74195         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
74196
74197         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
74198         glibc.
74199         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
74200         arg to memcpy.
74201
74202         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
74203         (obstack_ptr_grow_fast, obstack_int_grow_fast):
74204         Don't use lvalue casts, as GCC plans to remove support for them
74205         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
74206         was also present in the non-GCC version, indicating that this
74207         code had always been buggy and had never been widely used.
74208         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
74209         Use the fast variant of each macro, rather than copying the
74210         definiens of the fast variant; that way, we'll be more likely to
74211         catch future bugs in the fast variants.
74212
74213 2003-10-20  Bruno Haible  <bruno@clisp.org>
74214
74215         * modules/wait-process: New file.
74216         * MODULES.html.sh (func_all_modules): Add wait-process.
74217
74218 2003-10-20  Bruno Haible  <bruno@clisp.org>
74219
74220         * m4/wait-process.m4: New file.
74221
74222 2003-10-20  Bruno Haible  <bruno@clisp.org>
74223
74224         * lib/wait-process.h: New file, from GNU gettext.
74225         * lib/wait-process.c: New file, from GNU gettext.
74226
74227 2003-10-19  Jim Meyering  <jim@meyering.net>
74228
74229         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
74230         HPUX 10.20.
74231
74232 2003-10-18  Karl Berry  <karl@gnu.org>
74233
74234         * config/config.guess: update from config.
74235
74236 2003-10-16  Paul Eggert  <eggert@twinsun.com>
74237
74238         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
74239         (getgroups): First arg is int, not size_t.
74240         Don't let 'free' mangle errno.
74241
74242 2003-10-16  Paul Eggert  <eggert@twinsun.com>
74243
74244         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
74245
74246 2003-10-16  Karl Berry  <karl@gnu.org>
74247
74248         * config/config.{guess,sub}: update from config.
74249
74250 2003-10-16  Jim Meyering  <jim@meyering.net>
74251
74252         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
74253         memcpy.
74254
74255 2003-10-15  Paul Eggert  <eggert@twinsun.com>
74256
74257         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
74258         (SIZE_MAX): Remove.
74259         (new_exclude, add_exclude_file): Initial size no longer needs to
74260         be a power of 2.
74261         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
74262         our own address arithmetic overflow checking.
74263
74264         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
74265         (fnmatch): Do not alloca more than 2000 wide characters;
74266         instead, use malloc for large buffers.
74267         Check for address arithmetic overflow, and return -1
74268         with errno set to ENOMEM in that case.
74269         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
74270         (NEW_PATTERN): Do not alloca more than 8000 bytes;
74271         instead, return -1.  Check for address arithmetic overflow.
74272
74273 2003-10-14  Paul Eggert  <eggert@twinsun.com>
74274
74275         Handle invalid suffixes and overflow independently, so that
74276         callers can treat them independently as needed.  Fix some bugs in
74277         suffix handling, e.g., "100k@" was not diagnosed as an invalid
74278         suffix for a human-readable blocksize.  The major caller-visible
74279         change is the addition of a new
74280         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
74281         that both overflow and suffix chars were found.
74282
74283         * lib/human.c (humblock): Don't check separately for invalid suffix
74284         char; that is xstrtoumax's job (now that its bug is fixed).
74285         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
74286         INTMAX_MAX]: New macros.
74287         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
74288         TYPE_MAXIMUM): New macros.
74289         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
74290         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
74291         if overflow occurs, as it's what __strtol does and it's more useful
74292         in practice.
74293         (__xstrtol): If __strtol reports some error other than ERANGE,
74294         reflect it to the caller as LONGINT_INVALID.  If it reports
74295         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
74296         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
74297         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
74298         value.
74299         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
74300         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
74301         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
74302         [defined UINTMAX_MAX]: New macros.
74303
74304 2003-10-14  Bruno Haible  <bruno@clisp.org>
74305
74306         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
74307
74308 2003-10-14  Bruno Haible  <bruno@clisp.org>
74309
74310         * m4/sig_atomic_t: New file, from GNU gettext.
74311         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
74312
74313 2003-10-14  Bruno Haible  <bruno@clisp.org>
74314
74315         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
74316         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
74317         Also use volatile where needed.
74318
74319 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74320
74321         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
74322         Change maintainer from Bruno Haible to 'all'.
74323
74324 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74325
74326         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
74327
74328 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74329
74330         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
74331         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
74332         and define in terms of the other primitives.
74333         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
74334         (SIZE_MAX): Define if not already defined.
74335         (array_size_overflow): New function.
74336         (xalloc_die): Abort instead of exiting if 'error' returns.
74337         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
74338         (xmalloc, xrealloc): Use them.
74339         (xcalloc): Check for address arithmetic overflow.
74340         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
74341         a bit faster than strcpy.
74342
74343 2003-10-10  Simon Josefsson  <jas@extundo.com>
74344
74345         * modules/argp (Depends-on): Add restrict and strcase.
74346
74347 2003-10-10  Simon Josefsson  <jas@extundo.com>
74348
74349         * m4/argp.m4: Add AC_C_INLINE.
74350
74351 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74352
74353         Merge getpass from libc, plus a few fixes.
74354
74355         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
74356         Include <stdbool.h>.
74357         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
74358         __fsetlocking to empty.
74359         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
74360         do include <bits/libc-lock.h>.
74361         Do not include <fcntl.h>; not needed.
74362         [_LIBC]: Include <wchar.h>.
74363         (NOTCANCEL_MODE): New macro.
74364         (flockfile, funlockfile) [_LIBC]: New macros.
74365         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
74366         [!_LIBC]: New macros.
74367         (call_fclose): New function.
74368         (getpass): Use it.  Save tty stream separately; this simplifies the
74369         code and makes it more reliable if stdin happens to equal stdout.
74370         Invoke __fsetlocking on tty.
74371         Handle thread cancellation if needed.
74372         Namespace cleanup (use __tcgetattr, __getline).
74373         Use bool for Booleans.
74374         [USE_IN_LIBIO]: Handle wide streams.
74375         [!_LIBC]: Unconditionally do the fseek, since we don't know what
74376         stream might go where.
74377
74378         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
74379         doesn't have to include <stdio.h> before us.
74380         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
74381         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
74382         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
74383         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
74384         if not declared, so that we can use getpass.c code from libc without
74385         rewriting it.
74386         (flockfile, ftrylockfile, funlockfile): New macros.
74387
74388 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74389
74390         * modules/getpass: Depend on stdbool.
74391
74392 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74393
74394         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
74395
74396 2003-10-07  Karl Berry  <karl@gnu.org>
74397
74398         * config/config.{guess,sub}: update from config.
74399
74400 2003-10-06  Jim Meyering  <jim@meyering.net>
74401             Bruno Haible  <bruno@clisp.org>
74402
74403         This lets translators provide better translations for the
74404         "Written by ..." part of --version output.
74405         * lib/version-etc.h: Include stdarg.h.
74406         (version_etc_copyright): Declare as readonly.
74407         (version_etc): Make this function variadic with a NULL-terminated list
74408         of author name strings.
74409         (version_etc_va): New declaration.
74410         * lib/version-etc.c: Include stdarg.h, stdlib.h.
74411         (version_etc_copyright): Declare as readonly.
74412         (version_etc_va): New function. Provide a different translatable string
74413         for each possible number of authors < 10. Abbreviate when there are 10
74414         authors or more.
74415         (version_etc): Make this function variadic. Call version_etc_va.
74416         Suggestion from Gary V. Vaughan.
74417
74418         * lib/long-options.h (parse_long_options): Change prototype: the
74419         authors string is moved to the end and becomes variadic.
74420         * lib/long-options.c: Include stdarg.h.
74421         (parse_long_options): Make this function variadic, too.
74422         Call version_etc_va, not version_etc.
74423
74424 2003-10-06  Bruno Haible  <bruno@clisp.org>
74425
74426         * modules/version-etc-2: Remove file.
74427         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
74428
74429 2003-10-06  Bruno Haible  <bruno@clisp.org>
74430
74431         * modules/fatal-signal: New file.
74432         * MODULES.html.sh (func_all_modules): Add fatal-signal.
74433
74434 2003-10-06  Bruno Haible  <bruno@clisp.org>
74435
74436         * m4/fatal-signal.m4: New file.
74437         * m4/signalblocking.m4: New file, from GNU gettext.
74438
74439 2003-10-06  Bruno Haible  <bruno@clisp.org>
74440
74441         * lib/version-etc-2.h: Remove file.
74442         * lib/version-etc-2.c: Remove file.
74443
74444 2003-10-06  Bruno Haible  <bruno@clisp.org>
74445
74446         * lib/fatal-signal.h: New file, from GNU gettext.
74447         * lib/fatal-signal.c: New file, from GNU gettext.
74448
74449 2003-10-05  Paul Eggert  <eggert@twinsun.com>
74450
74451         * README: Rework advice for preventing empty .o files.
74452         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
74453         not <sys/types.h>.
74454
74455 2003-10-04  Karl Berry  <karl@gnu.org>
74456
74457         * lib/argp*: update from libc.
74458
74459 2003-10-04  Karl Berry  <karl@gnu.org>
74460
74461         * config/config.{guess,sub}: update from config.
74462
74463 2003-10-02  Bruno Haible  <bruno@clisp.org>
74464
74465         * modules/lchown (Include): Add lchown.h.
74466         * modules/time_r (Include): Use "..." syntax.
74467         * modules/xgetdomainname (Include): Add xgetdomainname.h.
74468
74469 2003-10-01  Simon Josefsson  <jas@extundo.com>
74470
74471         * MODULES.html.sh (func_all_modules): Move gethostname from section
74472         'based on' to section 'lacking' POSIX:2001.
74473
74474 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
74475
74476         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
74477         to output mode on the same stream.
74478
74479 2003-09-29  Paul Eggert  <eggert@twinsun.com>
74480
74481         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
74482         Fix arg typo in previous patch.
74483
74484 2003-09-28  Jim Meyering  <jim@meyering.net>
74485
74486         * lib/error.c: Correct cpp indentation.
74487
74488 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74489
74490         * modules/free: New file.
74491
74492 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74493
74494         * m4/free.m4: New file.
74495
74496 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74497
74498         * lib/minmax.h (MIN, MAX)
74499         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
74500         Omit the special code that used __typeof__, since we worry that
74501         it could be more trouble than it's worth.  See:
74502         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
74503         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
74504
74505         * lib/free.c: New file.
74506
74507 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
74508
74509         Trivial fixes to Makefile.am parts of module listings.
74510         * modules/strstr: Append strstr.h to lib_SOURCES.
74511         * modules/strcase: Likewise, for strcase.h.
74512
74513 2003-09-27  Karl Berry  <karl@gnu.org>
74514
74515         * config/mkinstalldirs: update from automake.
74516
74517 2003-09-26  Paul Eggert  <eggert@twinsun.com>
74518
74519         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
74520         (error_tail): Do not loop, reallocating temporary buffer, since
74521         the output cannot contain more wide characters than the input
74522         contains bytes, the size must be big enough already.  This avoids
74523         one potential size overflow calculation.  Check for size overflow
74524         when calculating temporary buffer size.  Free temporary buffer
74525         when done, if it was allocated with malloc; this plugs a memory
74526         leak.  Remove casts from void * to pointers, that are no longer
74527         needed now that we're assuming C89 or better.
74528
74529         Merge error changes from glibc.
74530
74531         * lib/error.c, error.h: Update copyright notice header to match glibc.
74532         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
74533         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
74534         Disable cancellation while printing error.
74535         * lib/error.h: Prepend __ to parameter names.
74536
74537 2003-09-26  Jim Meyering  <jim@meyering.net>
74538
74539         * lib/error.c (error_tail): Move some declarations
74540         into inner scope where the local variables are used.
74541
74542 2003-09-26  Bruno Haible  <bruno@clisp.org>
74543
74544         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
74545         stpncpy().
74546         Don't define stpncpy through config.h; it's now done through stpncpy.h.
74547
74548 2003-09-26  Bruno Haible  <bruno@clisp.org>
74549
74550         * lib/stpncpy.h (gnu_stpncpy): New declaration.
74551         (stpncpy): Define as alias for gnu_stpncpy.
74552         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
74553
74554 2003-09-25  Simon Josefsson  <jas@extundo.com>
74555
74556         * lib/xgetdomainname.h: New file.
74557         * lib/xgetdomainname.c: New file.
74558
74559 2003-09-25  Simon Josefsson  <jas@extundo.com>
74560             Bruno Haible  <bruno@clisp.org>
74561
74562         * modules/getdomainname: New file.
74563         * modules/xgetdomainname: New file.
74564         * MODULES.html.sh (func_all_modules): Add getdomainname,
74565         xgetdomainname.
74566
74567 2003-09-25  Simon Josefsson  <jas@extundo.com>
74568             Bruno Haible  <bruno@clisp.org>
74569
74570         * m4/getdomainname.m4: New file.
74571
74572 2003-09-25  Simon Josefsson  <jas@extundo.com>
74573             Bruno Haible  <bruno@clisp.org>
74574
74575         * lib/getdomainname.h: New file.
74576         * lib/getdomainname.c: New file.
74577
74578 2003-09-25  Karl Berry  <karl@gnu.org>
74579
74580         * lib/argp-fmtstream.c, argp-help.c: update from libc.
74581
74582 2003-09-25  Karl Berry  <karl@gnu.org>
74583
74584         * config/install-sh: update from automake.
74585
74586 2003-09-25  Bruno Haible  <bruno@clisp.org>
74587
74588         * modules/version-etc-2: New file, from modules/version-etc with
74589         modifications.
74590         * MODULES.html.sh (func_all_modules): Add version-etc-2.
74591
74592 2003-09-25  Bruno Haible  <bruno@clisp.org>
74593
74594         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
74595         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
74596
74597 2003-09-24  Simon Josefsson  <jas@extundo.com>
74598
74599         * modules/xgethostname: Add xgethostname.h.
74600
74601 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74602
74603         * lib/linebuffer.c (freebuffer): Don't free the argument, just
74604         the buffer associated with the argument.  Bug reported by
74605         Simon Josefsson.
74606
74607 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74608
74609         * README: Document assumptions that 'int' is at least 32 bits
74610         wide, that integer arithmetic is 2's complement without overflow,
74611         that there are no holes in integer values, that adding sizes of
74612         two nonoverlapping objects can't overflow, and that all-bits-zero
74613         yields scalar zero.  Fix spelling and capitalization typos.
74614
74615 2003-09-19  Karl Berry  <karl@gnu.org>
74616
74617         * lib/argp.h: update from libc.
74618
74619 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74620
74621         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
74622         to avoid spurious warnings like "AC_RUN_IFELSE was called before
74623         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
74624
74625 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74626
74627         * gnulib-tool: Use "test -h", not "test -L", for portability
74628         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
74629         (tags_regexp): Remove, since \| doesn't conform to POSIX.
74630         (sed_extract_prog): Issue s commands one-by-one, rather than
74631         using \| in one s command.
74632
74633 2003-09-16  Paul Eggert  <eggert@twinsun.com>
74634
74635         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
74636         input error, instead of returning NULL the next time we are called
74637         (and therefore losing track of errno).
74638
74639 2003-09-16  Bruno Haible  <bruno@clisp.org>
74640
74641         * gnulib-tool (func_create_testdir): Warn about duplicated
74642         dependencies.
74643
74644 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74645
74646         * modules/argmatch, modules/fatal, modules/obstack,
74647         modules/xalloc, modules/xgethostname: Sort dependencies by
74648         importance, not alphabetically.
74649
74650 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74651
74652         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
74653         fails, so that the caller gets the proper errno.
74654
74655         * lib/readutmp.c (read_utmp): Likewise.
74656         Check for fstat error.  Close stream and free storage
74657         when failing.
74658
74659 2003-09-14  Karl Berry  <karl@gnu.org>
74660
74661         * config/srclist.txt (strdup.c): disable for c89 changes.
74662
74663 2003-09-14  Jim Meyering  <jim@meyering.net>
74664
74665         * lib/getloadavg.c: Correct cpp indentation.
74666         * lib/strdup.c: Likewise.
74667         * lib/vasnprintf.c: Likewise.
74668
74669 2003-09-14  Bruno Haible  <bruno@clisp.org>
74670
74671         * modules/fwriteerror: New file.
74672         * MODULES.html.sh (func_all_modules): Add fwriteerror.
74673
74674 2003-09-14  Bruno Haible  <bruno@clisp.org>
74675
74676         * lib/fwriteerror.h: New file.
74677         * lib/fwriteerror.c: New file.
74678
74679 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74680
74681         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
74682         modules/xgethostname, modules/xalloc: Depend on exit.
74683
74684 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74685
74686         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
74687
74688         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
74689         and AC_MINIX, too, so that their extensions are available.
74690
74691         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
74692         This macro has been superseded by gl_BACKUPFILE.
74693
74694         More patches to assume C89 or better.
74695
74696         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
74697
74698         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
74699         unconditionally.
74700         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
74701         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
74702         Include <string.h>, <stdlib.h> unconditionally.
74703         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
74704         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
74705         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
74706         headers or for string.h.
74707         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
74708         or strtoul.
74709
74710         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
74711         headers.
74712         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
74713         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74714         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
74715         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
74716         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74717         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
74718         memcpy, memset.
74719         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
74720         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
74721         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
74722         strtol.
74723         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
74724         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
74725         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
74726         strtoul.
74727
74728 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74729
74730         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
74731         * lib/obstack.c [!defined _LIBC]: Likewise.
74732         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
74733         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
74734         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
74735
74736         More changes to assume C89 or better.
74737
74738         * lib/error.c (error_tail): Assume vprintf.
74739
74740         * lib/argmatch.c (getenv): Remove decl.
74741         * lib/progreloc.c (get_full_program_name): Define via prototype.
74742         * lib/setenv.c (clearenv): Likewise.
74743         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
74744         needed.
74745         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
74746         (malloc, memcpy): Remove decls.
74747         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
74748         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
74749         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74750         (memcpy): Remove macro.
74751         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
74752         (__P): Remove.  All uses removed.
74753         (PTR): Remove.  All uses changed to void *.
74754         (CHAR_BIT, NULL): Remove.
74755         (spaces, zeros, memset_space, memset_zero)
74756         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
74757         Remove.
74758         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
74759         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
74760         Define with prototype.
74761         Remove now-unnecessary prototype decl.
74762         (extra_args_spec): Assume ANSI C.  All uses changed.
74763         (extra_args_spec_iso): Remove.
74764         (my_strftime, emacs_strftimeu): Define via prototype.
74765         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
74766         unconditionally.
74767         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
74768         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
74769         (strtoul, strtol): Remove decls.
74770         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
74771         LONG_MAX): Remove.
74772         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74773         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
74774         (LOCALE_PARAM_PROTO): New macro.
74775         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
74776         (INTERNAL (strtol), strtol): Define with a prototype.
74777         (PARAMS): Remove.  All uses removed.
74778         * lib/tempname.c: Include <string.h> unconditionally.
74779         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
74780         * lib/xgethostname.c (main): Define with a prototype.
74781         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
74782         Include <stdlib.h> unconditionally.
74783         (calloc, malloc, realloc, free): Remove decls.
74784         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
74785         Include <stdlib.h> unconditionally.  Sort include file names.
74786         (strtod): Remove.
74787         (xstrtod): Define with a prototype.
74788         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
74789         (strtol, strtoul): Remove decls.
74790
74791 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74792
74793         More patches to assume C89 or better.
74794         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
74795         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
74796         string.h, memchr, STDC_HEADERS.
74797
74798 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74799
74800         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
74801         Include <stdlib.h>, <string.h> unconditionally.
74802         Remove now-unnecessary cast to char *.
74803         * lib/strnlen.c: Include <string.h> unconditionally.
74804         * lib/yesno.c (yesno): Define with a prototype.
74805
74806 2003-09-11  Bruno Haible  <bruno@clisp.org>
74807
74808         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
74809
74810 2003-09-10  Jim Meyering  <jim@meyering.net>
74811
74812         * lib/error.c: Correct indentation of cpp directives.
74813
74814 2003-09-10  Bruno Haible  <bruno@clisp.org>
74815
74816         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
74817         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
74818         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
74819         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
74820         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
74821         <stdlib.h> and <string.h> checks.
74822         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
74823         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
74824
74825 2003-09-10  Bruno Haible  <bruno@clisp.org>
74826
74827         * lib/strcspn.c: Include <string.h> unconditionally.
74828         * lib/strpbrk.c: Include <string.h> unconditionally.
74829         * lib/strstr.c: Include <string.h> unconditionally.
74830         * lib/unicodeio.c: Include <string.h> unconditionally.
74831         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
74832         * lib/unsetenv.c: Likewise.
74833         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
74834         * lib/yesno.c: Include <stdlib.h> unconditionally.
74835         (rpmatch): Add prototype.
74836
74837 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74838
74839         More patches to assume C89 or better.
74840         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
74841         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
74842         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
74843         or for string.h.
74844         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
74845         stdlib.h.
74846         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
74847         C headers.
74848         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
74849         string.h.
74850         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
74851         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
74852         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
74853         or for string.h.
74854         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
74855         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
74856         C headers.
74857         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
74858         memcpy.
74859         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
74860         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
74861         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
74862         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
74863         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
74864         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
74865         string.h, free.
74866         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
74867         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
74868         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
74869         C headers, or for string.h.
74870         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
74871         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
74872         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
74873         headers, memory.h, stdlib.h, string.h, strings.h.
74874         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
74875         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
74876         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
74877         strchr.
74878         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
74879         headers, memory.h, string.h.
74880         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
74881         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
74882         free.
74883         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
74884         headers.
74885         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
74886         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
74887         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
74888         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
74889         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
74890
74891 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74892
74893         More K&R removal.
74894
74895         * lib/acosl.c (main): Use a prototype.
74896         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
74897         tanl.c: Likewise.
74898
74899         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
74900
74901         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
74902         (getopt, etopt_long, getopt_long_only, _getopt_internal)
74903         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
74904         with a prototype.
74905         * lib/getopt.c (const): Remove macro.
74906         Include <string.h> unconditionally.
74907         (my_index): Remove; all uses changed to strchr.
74908         (strlen): Remove decl.
74909         (exchange): Remove forward decl; no longer needed.
74910         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
74911         Define with prototype.
74912         * lib/getopt1.c (const): Remove macro.
74913         (getopt_long, getopt_long_only, main): Define with prototype.
74914
74915         * lib/getugroups.c: Include <string.h> unconditionally.
74916
74917         * lib/getusershell.c: Include <stdlib.h> unconditionally.
74918         (getusershell, setusershell, endusershell, readname, main):
74919         Define with prototypes.
74920
74921         * lib/group-member.c: Include group-member.h first.
74922         Include <stdlib.h> unconditionally.
74923
74924         * lib/hard-locale.c: Include hard-locale.h first.
74925         Include <stdlib.h>, <string.h> unconditionally.
74926
74927         * lib/hash.c (free, malloc): Remove decls.
74928         Include <stdlib.h> unconditionally.
74929
74930         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
74931         (getenv): Do not declare.
74932
74933         * lib/idcache.c: Include <string.h> unconditionally.
74934
74935         * lib/long-options.c: Include long-options.h first, to test interface.
74936         Include <stdlib.h> unconditionally.
74937
74938         * lib/makepath.c: Include makepath.h first, to test interface.
74939         Include <stdlib.h> and <string.h> unconditionally.
74940
74941         * lib/linebuffer.c: Include <stdlib.h>.
74942         (free): Remove decl.
74943
74944         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
74945         stddef.h. rpl_malloc returns void *, not char *.
74946         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
74947         prototype.
74948
74949         * lib/md5.h: Include <limits.h> unconditionally.
74950         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
74951         (__P): Remove; all uses removed.
74952         * lib/md5.c: Include "md5.h" first.
74953         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
74954         md5_buffer, md5_process_bytes, md5_process_block):
74955         Define with prototypes.
74956         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
74957         * lib/sha.c: Include "sha.h" first.
74958         Include <stdlib.h>, <string.h> unconditionally.
74959
74960         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
74961         * lib/memcmp.c (__ptr_t): Likewise.
74962         * lib/memrchr.c (__ptr_t): Likewise.
74963         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
74964         Include <string.h> unconditionally.
74965         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
74966         * lib/memchr.c: Include <stdlib.h> unconditionally.
74967         * lib/memchr.c (LONG_MAX): Remove.
74968         * lib/memrchr.c (LONG_MAX): Likewise.
74969         * lib/memchr.c (__memchr): Define via a prototype.
74970         * lib/memrchr.c (__memrchr): Likewise.
74971         * lib/memcmp.c (__P): Remove, and remove all uses.
74972         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
74973         Remove forward decls; no longer needed.
74974         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
74975         Use types required by C89 in prototype.
74976
74977         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
74978         * lib/savedir.c: Likewise.
74979         * lib/mkdir.c (free): Remove decl.
74980         * lib/rmdir.c (rmdir): Define with a prototype.
74981         * lib/savedir.c: Include savedir.h first, to test interface.
74982
74983         * lib/mktime.c (STDC_HEADERS): Remove.
74984         Include <stdlib.h>, <string.h> unconditionally.
74985
74986         * lib/modechange.c: Include <stdlib.h> unconditionally.
74987         (malloc): Remove decl.
74988
74989         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
74990         (free): Remove decl.
74991
74992         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
74993         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
74994         (This type really should be intptr_t, but that's a C99ism.)
74995         (_obstack_memcpy): Remove: all uses changed to memcpy.
74996         Include <string.h> unconditionally.
74997         (struct obstack): Assume __STDC__ for types of members
74998         chunkfun, freefun, extra_arg.
74999         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
75000         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
75001         obstack_begin, obstack_specify_allocation,
75002         obstack_specify_allocation_with_arg, obstack_chunkfun,
75003         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
75004         Remove unprototyped decls and the macros that use them.
75005         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
75006         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
75007         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
75008         (defined __STDC__ && __STDC__)]:
75009         Remove nonprototyped code.
75010         Include <stdlib.h> unconditionally.
75011         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
75012         _obstack_allocated_p, _obstack_free, obstack_free,
75013         _obstack_memory_used, print_and_abort):
75014         Define using prototypes.
75015         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
75016         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
75017         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
75018         obstack_next_free, obstack_object_size, obstack_room) [0]:
75019         Remove unused, unprototyped code.
75020
75021         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
75022
75023         * lib/physmem.c (physmem_total, physmem_available, main): Define
75024         with prototypes.
75025
75026         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
75027         (main): Define with a prototype.
75028
75029         * lib/posixver.c (getenv): Remove decl.
75030
75031         * lib/putenv.c (malloc): Returns void *, not char *.
75032         Include <string.h> unconditionally.
75033         (strchr, memcpy, NULL): Do not define.
75034
75035         * lib/readtokens.c: Include readtokens.h first, to test interface.
75036         Include <stdlib.h>, <string.h> unconditionally.
75037         (init_tokenbuffer): Define with a prototype.
75038
75039         * lib/regex.c (PARAMS): Remove.  All uses removed.
75040         All uses of _RE_ARGS removed, too.
75041         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
75042         unconditionally.
75043         (bzero): Assume memset exists.
75044         (memcmp, memcpy, NULL): Remove.
75045         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
75046         char, or assignments to local vars of type signed char.
75047         (init_syntax_once, PREFIX(extract_number_and_incr),
75048         PREFIX(print_partial_compiled_pattern),
75049         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
75050         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
75051         PREFIX(regex_grow_registers), PREFIX(regex_compile),
75052         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
75053         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
75054         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
75055         wcs_compile_range, byte_compile_range, truncate_wchar,
75056         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
75057         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
75058         count_mbs_length, wcs_re_match_2_internal,
75059         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
75060         PREFIX(alt_match_null_string_p),
75061         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
75062         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
75063         regfree, PREFIX(extract_number)): Define with prototype.  Remove
75064         now-unnecessary declaration, if any.
75065         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
75066         regcomp, regexec):
75067         Remove now-unnecessary casts among pointer types.
75068         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
75069
75070         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
75071         (free): Remove decl.
75072
75073         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
75074
75075         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
75076         (free): Remove decl.
75077
75078         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
75079         * lib/xgetcwd.c: Likewise.
75080
75081         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
75082         (free): Remove decl.
75083
75084         * lib/strchrnul.c (strchrnul): Define with a prototype.
75085         Fix bug: c_in was not converted to char before searching.
75086
75087         The following changes are not K&R related:
75088
75089         * lib/group-member.h: Include <sys/types.h>, so that this file is
75090         self-contained.
75091         * lib/makepath.h: Likewise.
75092
75093         * lib/getusershell.c (readname, default_index, line_size, readname):
75094         Use size_t, not int, for sizes.
75095         (readname): If the size overflows, report an error instead of
75096         looping forever.
75097
75098 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75099
75100         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
75101         libc.
75102
75103 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75104
75105         * README: New section: portability guidelines.
75106
75107 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
75108
75109         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
75110         C89 spec.
75111
75112 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
75113
75114         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
75115
75116 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75117
75118         Assume C89 or better; remove K&R cruft.
75119         A few of these changes were first proposed by Derek Robert Price
75120         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
75121
75122         * lib/addext.c: Include <string.h> unconditionally.
75123         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
75124         Don't declare getenv or malloc.
75125
75126         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
75127         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
75128         (NULL): Remove.
75129         (find_stack_direction, alloca): Use prototypes.
75130
75131         * lib/atexit.c (atexit): Define using a prototype.
75132
75133         * lib/basename.c, dirname.c, stripslash.c:
75134         Include <string.h> unconditionally.
75135
75136         * lib/bcopy.c: Include <stddef.h>.
75137         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
75138
75139         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
75140
75141         * lib/error.h (error, error_at_line, error_print_progname)
75142         [! (defined (__STDC__) && __STDC__)]: Remove decls.
75143         * lib/error.c: Include error.h first, to check interface.
75144         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
75145         (VA_START): Remove; all uses changeed to va_start.
75146         (exit, strerror): Remove decls.
75147         (error_print_progname): Prototype uncondionally.
75148         Don't include <errno.h>; no longer needed.
75149         (private_strerror): Remove.
75150         (error_tail): Always define.
75151         (error, error_at_line): Assume C89 or better; always use prototypes.
75152         * lib/fatal.c: Include "fatal.h" first, to test interface.
75153         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
75154         (VA_START): Remove; all uses changed to va_start.
75155         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
75156         this case.
75157         (exit): Remove decl.
75158         (fatal): Prototype unconditionally.  Assume va_start works.
75159         Abort at end, to pacify gcc.
75160
75161         * lib/euidaccess.c (main): Define with a prototype.
75162
75163         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
75164
75165         * lib/exitfail.c: Include <stdlib.h> unconditionally.
75166
75167         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
75168         prototypes.
75169         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
75170         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
75171         (getenv): Remove decl.
75172         (fnmatch): Define using a prototype.
75173         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
75174         (FCT): Define using a prototype.
75175
75176         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
75177
75178         * lib/gethostname.c: Include <stddef.h>.
75179         (gethostname): Define with prototype.  Length is size_t, not int.
75180
75181 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75182
75183         Assume C89 or better; remove K&R cruft.
75184         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
75185         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
75186         string.h, getenv, malloc.
75187         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
75188         headers.
75189         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
75190         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
75191         do not check for strerror.
75192         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
75193         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
75194         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
75195         do not check for doprnt or vprintf.
75196         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
75197         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
75198
75199 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75200
75201         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
75202         getversion.c should have been removed then, but was accidentally
75203         preserved.
75204
75205         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
75206         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
75207
75208 2003-09-08  Karl Berry  <karl@gnu.org>
75209
75210         * config/config.sub, config.guess, srclistvars.sh: update from savannah
75211                 config, forget about prep.
75212
75213         * config/depcomp, missing: update from automake.
75214
75215 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75216
75217         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
75218         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75219
75220 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75221
75222         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
75223         copy_tm_result.  Bug reported by Simon Josefsson in
75224         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75225
75226 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75227
75228         * m4/time_r.m4: New file.
75229         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
75230         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
75231         is. Check for timegm declaration.
75232         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
75233         Do not check for gmtime_r.
75234         Replace mktime if __mktime_internal does not exist and if mktime
75235         hasn't been replaced already.
75236
75237 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75238
75239         * lib/time_r.c, lib/time_r.h: New files.
75240
75241         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
75242         __localtime_r.
75243         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
75244         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
75245
75246         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
75247         __gmtime_r.
75248         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
75249         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
75250         Include <time_r.h>.
75251
75252         * lib/timegm.c: Switch to glibc implementation, with the following
75253         changes:
75254         [defined HAVE_CONFIG_H]: Include <config.h>.
75255         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
75256         (__mktime_internal) [!defined _LIBC]: New decl.
75257         (__gmtime_r) [!defined _LIBC]: New macro and function.
75258         (timegm): Use a prototype, since gnulib assumes C89.
75259         Do not bother declaring tmp to be const, as it's not really usefu.
75260         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
75261         (timegm): Declare only if HAVE_DECL_TIMEGM.
75262
75263 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75264
75265         * MODULES.html.sh (func_all_modules): Add time_r.
75266         * modules/time_r: New file.
75267         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
75268         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
75269
75270 2003-09-03  Paul Eggert  <eggert@twinsun.com>
75271
75272         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
75273         Bug reported by Lute Kamstra in
75274         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
75275
75276         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
75277         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
75278         course with correspondingly smaller numbers for tomorrow and
75279         yesterday.  From Tadayoshi Funaba.  Originally installed into
75280         sh-utils on 1999-08-07, but the patch got lost (I guess during the
75281         coreutils merge?).
75282
75283 2003-08-31  Simon Josefsson  <jas@extundo.com>
75284
75285         * modules/timegm: New file.
75286         * MODULES.html.sh (func_all_modules): Add timegm.
75287
75288 2003-08-31  Simon Josefsson  <jas@extundo.com>
75289
75290         * m4/timegm.m4: New file.
75291
75292 2003-08-31  Simon Josefsson  <jas@extundo.com>
75293
75294         * lib/timegm.h: New file.
75295         * lib/timegm.c: New file.  Based on
75296         wget-1.8.2/src/http.c:mktime_from_utc.
75297
75298 2003-08-31  Karl Berry  <karl@gnu.org>
75299
75300         * lib/argp.h: update from libc.
75301
75302 2003-08-28  Bruno Haible  <bruno@clisp.org>
75303
75304         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
75305         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
75306         followed by '#define fnmatch fnmatch_posix' gives an error.
75307
75308 2003-08-28  Bruno Haible  <bruno@clisp.org>
75309
75310         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
75311         warning on QNX, which defines O_BINARY to 000000.
75312
75313 2003-08-27  Jim Meyering  <jim@meyering.net>
75314
75315         * m4/mkstemp.m4: Require that the system mkstemp be able to create
75316         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
75317         would fail after 32.  Reported by Danny Levinson.  Details here:
75318         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
75319
75320 2003-08-24  Bruno Haible  <bruno@clisp.org>
75321
75322         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
75323         MSVC7 <stdio.h> is included later.
75324
75325 2003-08-22  Simon Josefsson  <jas@extundo.com>
75326
75327         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
75328
75329 2003-08-20  Karl Berry  <karl@gnu.org>
75330
75331         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
75332
75333 2003-08-20  Bruno Haible  <bruno@clisp.org>
75334
75335         * modules/progname: New file.
75336         * MODULES.html.sh (func_all_modules): Add progname.
75337
75338 2003-08-20  Bruno Haible  <bruno@clisp.org>
75339
75340         * lib/progname.h: New file, from GNU gettext.
75341         * lib/progname.c: New file, from GNU gettext.
75342         * lib/progreloc.c: New file, from GNU gettext.
75343
75344 2003-08-19  Jim Meyering  <jim@meyering.net>
75345
75346         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
75347         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
75348
75349 2003-08-19  Bruno Haible  <bruno@clisp.org>
75350
75351         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
75352         more.
75353
75354 2003-08-19  Bruno Haible  <bruno@clisp.org>
75355
75356         * lib/xstrdup.c: Assume <string.h> exists.
75357
75358 2003-08-18  Paul Eggert  <eggert@twinsun.com>
75359
75360         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
75361         in makefile rules.
75362
75363 2003-08-18  Jim Meyering  <jim@meyering.net>
75364
75365         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
75366         * m4/lib-ld.m4: Likewise.
75367
75368 2003-08-18  Jim Meyering  <jim@meyering.net>
75369
75370         * lib/setenv.h: Indent nested cpp directive.
75371         * lib/vasnprintf.c: Remove trailing blanks.
75372
75373 2003-08-17  Simon Josefsson  <jas@extundo.com>
75374
75375         * modules/xstrndup: New file.
75376         * MODULES.html.sh (func_all_modules): Add xstrndup.
75377
75378 2003-08-17  Simon Josefsson  <jas@extundo.com>
75379
75380         * modules/argp: Fix autoconf macro name. Add more dependencies.
75381
75382 2003-08-17  Simon Josefsson  <jas@extundo.com>
75383
75384         * m4/xstrndup.m4: New file.
75385
75386 2003-08-17  Simon Josefsson  <jas@extundo.com>
75387
75388         * m4/argp.m4: New file.
75389
75390 2003-08-17  Simon Josefsson  <jas@extundo.com>
75391             Bruno Haible  <bruno@clisp.org>
75392
75393         * lib/xstrndup.h: New file.
75394         * lib/xstrndup.c: New file.
75395
75396 2003-08-17  Bruno Haible  <bruno@clisp.org>
75397
75398         * modules/strndup (Files, Include): Add lib/strndup.h.
75399
75400 2003-08-17  Bruno Haible  <bruno@clisp.org>
75401
75402         * modules/euidaccess (Files): Add lib/euidaccess.h.
75403
75404 2003-08-17  Bruno Haible  <bruno@clisp.org>
75405
75406         * lib/strndup.h: New file.
75407
75408 2003-08-17  Bruno Haible  <bruno@clisp.org>
75409
75410         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
75411         like AC_GNU_SOURCE.
75412         * modules/extensions (configure.ac): Comment out the invocation of
75413         gl_USE_SYSTEM_EXTENSIONS.
75414
75415 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75416
75417         Merges from coreutils, etc.
75418         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
75419         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
75420         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
75421         fixing a typo.
75422         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
75423         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
75424
75425 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75426
75427         Document merge from coreutils.
75428         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
75429         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
75430         * modules/utime: Add m4/utimes-null.m4.
75431
75432 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75433
75434         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
75435         space, undoing this 2003-08-12 change:
75436         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
75437
75438 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75439
75440         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
75441         strtoul.c from libc, undoing this 2003-08-12 change:
75442         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
75443
75444 2003-08-16  Jim Meyering  <jim@meyering.net>
75445
75446         Merges from coreutils.
75447         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
75448         prefix.  Adjust cache variables similarly.  Create 500 rather than
75449         just 300 files, to exercise bug on Darwin6.5, too.
75450         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
75451         $missing_dir.
75452         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
75453         AM_SYS_POSIX_TERMIOS.
75454         Reported by mkc@mathdogs.com.
75455         Also change use of $am_cv_sys_posix_termios
75456         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
75457         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
75458         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
75459         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
75460         in /proc/mounts until it finds one with matching device number.  This
75461         is unnecessary when the FILE argument *is* a mount point.  No stat call
75462         is necessary in that case.  So, disable the statvfs-testing code on
75463         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
75464         as RedHat bug# 84846.
75465         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
75466         to 1MB, so as not to render systems with no stack size limit (e.g.,
75467         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
75468         Include <unistd.h>.  On some systems,
75469         it is required for the definition of _SC_PAGESIZE.
75470
75471 2003-08-16  Jim Meyering  <jim@meyering.net>
75472
75473         Merge from coreutils.
75474         * lib/xstrtoimax.c: #else #if -> #elif.
75475         * lib/xstrtoumax.c: Likewise.
75476
75477 2003-08-16  Jim Meyering  <jim@meyering.net>
75478
75479         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
75480         * m4/utimes.m4: Removed.
75481         * m4/utimes-null.m4: Renamed from utimes.m4.
75482
75483         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
75484         to 1MB, so as not to render systems with no stack size limit (e.g.,
75485         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
75486         Include <unistd.h>.  On some systems,
75487         it is required for the definition of _SC_PAGESIZE.
75488
75489 2003-08-16  Jim Meyering  <jim@meyering.net>
75490         and Paul Eggert  <eggert@cs.ucla.edu>
75491
75492         Merges from coreutils, etc.
75493
75494         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
75495         using the latest version from cvs.  This avoids problems with #line
75496         directives using a vendor (Sun) compiler.
75497         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
75498         Don't set GETGROUPS_LIB here; now it's
75499         done via getgroups.m4's wrapper function.
75500         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
75501         rather than just in sh-util/configure.in, so that the
75502         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
75503         same.
75504         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
75505         AC_FUNC_GETLOADAVG where to find getloadavg.c.
75506         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
75507         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
75508         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
75509         Remove code that is now done by the newly-required macros.
75510         Append $(EXEEXT) to DF_PROG.
75511         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
75512         Do not invoke or require the following here,
75513         since prereq.m4 or some gnulib .m4 now does this for us:
75514         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
75515         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
75516         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
75517         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
75518         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
75519         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
75520         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
75521         AC_FUNC_OBSTACK.
75522         Do not replace the following functions, as this is now the job
75523         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
75524         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
75525         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
75526         atexit getpass, strdup, getpagesize.
75527         Replace 'raise'.
75528         Do not check for the following functions, as this is now the job
75529         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
75530         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
75531         setregid.
75532         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
75533         Check for sys/sysctl.h.
75534         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
75535         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
75536         of checking for ssize_t ourselves.
75537
75538         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
75539         Require every macro that gnulib/modules/* suggests for us.
75540         (jm_PREREQ_ADDEXT): New macro.
75541         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
75542         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
75543
75544         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
75545         (gl_PHYSMEM): Use it.
75546         Also check for `table' function.
75547         Check for new headers and functions.
75548         Add check for sys/sysmp.h.
75549         With suggestions from Kaveh Ghazi.
75550         Ignore headers that are present but cannot be compiled.  This
75551         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
75552         C 5.4.
75553
75554 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75555
75556         Document merge from coreutils.
75557         * modules/userspec: Depend on posixver.
75558         * modules/strftime: Depend on tzset.
75559
75560 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75561
75562         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
75563         rather than tab, after '#' in shell-script copyright notices.
75564         Suggested by Bruno Haible.
75565
75566 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75567
75568         * config/srclist-update: Use three spaces, rather than tab, after '#'
75569         in shell-script copyright notices.  Suggested by Bruno Haible.
75570         Remove unnecessary parenthesization in regular expression.
75571
75572 2003-08-15  Jim Meyering  <jim@meyering.net>
75573
75574         Merge from coreutils.
75575         * lib/xgethostname.c: Include <stdlib.h>.
75576         (xghostname): Don't exit for anything other than memory-related
75577         failure; just return NULL.
75578         * lib/userspec.c: Include "posixver.h".
75579         (parse_user_spec): Accept `.' as a separator only
75580         in pre-POSIX-200112 mode.
75581         * lib/strtoimax.c: Use #elif rather than #else #if.
75582         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
75583         Remove function, now that we can rely on a working tzset function.
75584         [!_LIBC]: Ensure that the required autoconf test has been run.
75585         [!defined _NL_CURRENT && HAVE_STRFTIME]:
75586         Use underlying_strftime for %r.
75587         * lib/sha.c: Merge in some clean-up and optimization changes from
75588         glibc.
75589         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
75590         Ensure that it is a multiple of 64.
75591         Rearrange loop exit tests so as to avoid performing an
75592         additional fread after encountering an error or EOF.
75593         * lib/realloc.c: Update copyright date.
75594
75595 2003-08-15  Jim Meyering  <jim@meyering.net>
75596         and Paul Eggert  <eggert@twinsun.com>
75597
75598         Merge from coreutils.
75599         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
75600         member but strut utmpx does not.  Needed for AIX 4.3.3.
75601         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
75602
75603 2003-08-15  Jim Meyering  <jim@meyering.net>
75604         and Paul Eggert  <eggert@cs.ucla.edu>
75605
75606         Merges from coreutils, etc.
75607         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
75608         Require gl_FUNC_TZSET_CLOBBER.
75609         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
75610         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
75611         members.
75612
75613 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75614
75615         Help the merge from coreutils.
75616         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
75617         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
75618         * m4/tzset.m4: Use it too.
75619
75620 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75621
75622         * modules/tzset: New file.
75623
75624 2003-08-14  Jim Meyering  <jim@meyering.net>
75625
75626         Merges from coreutils.
75627         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
75628         variable names, rather than @FNMATCH_H@.
75629         * modules/alloca: Likewise for $(ALLOCA_H).
75630
75631         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
75632         the three copies of the literal target, `fnmatch.h'.
75633         * modules/alloca (alloca.h): Likewise.
75634
75635 2003-08-14  Jim Meyering  <jim@meyering.net>
75636
75637         Merge from coreutils.
75638         * m4/tzset.m4: New file.
75639         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
75640         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
75641         otherwise, AIX 5.1 systems would end up using the latter.
75642         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
75643         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
75644         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
75645         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
75646
75647 2003-08-14  Jim Meyering  <jim@meyering.net>
75648
75649         Merge from coreutils.
75650         * lib/obstack.h: Whitespace changes.
75651         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
75652         and xcalloc return values.
75653         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
75654         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
75655         hang on OSF/1 5.1 for DIR on both local and remote file systems.
75656         Reported by (and fix confirmed by) Nelson H. F. Beebe.
75657         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
75658         error from mntctl.
75659         Use mntctl's return value to drive the entry-processing loop, since
75660         we can't rely on the value of the vmt_length member in the last
75661         entry.  On some systems doing so could result in exhausting
75662         virtual memory.  Based in part on a patch from Mike Jetzer.
75663
75664 2003-08-14  Jim Meyering  <jim@meyering.net>
75665         and Paul Eggert  <eggert@twinsun.com>
75666
75667         Merges from coreutils, plus other fixes.
75668         * lib/physmem.c: Merge in portability changes from gcc/libiberty
75669         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
75670         for credits and details.  Thanks to Kaveh Ghazi for helping
75671         to keep these files in sync.
75672         (ARRAY_SIZE): Define it.
75673         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
75674         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
75675         (memcasecmp): Don't assume size_t fits in unsigned int.
75676         Remove casts and duplicate code.
75677         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
75678         (memcpy): Remove definition.
75679         Merge in some clean-up and optimization changes from glibc.
75680         [BLOCKSIZE]: Move definition to top of file.
75681         Ensure that it is a multiple of 64.
75682         Rearrange loop exit tests so as to avoid performing an
75683         additional fread after encountering an error or EOF.
75684         * lib/md5.h (md5_uintptr): Define.
75685         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
75686         return to the initial working directory.  Preserve errno
75687         for caller.
75688         * lib/idcache.c: Include "xalloc.h".
75689         (xmalloc, xrealloc): Remove decls.
75690         (getuser): Remove casts no longer required in C89.
75691         * lib/human.c: Include stdio.h, for sprintf.
75692         * lib/group-member.c: Include "xalloc.h".
75693         (xmalloc, xrealloc): Remove decls.
75694         (get_group_info): Remove casts no longer required in C89.
75695         * lib/getusershell.c (readname): Remove casts no longer required in
75696         C89.
75697         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
75698         * lib/getline.c: Whitespace fix, from coreutils.
75699
75700 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75701
75702         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
75703         Check for isascii.
75704
75705         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75706         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75707         Undo previous (whitespace-only) change.
75708
75709 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75710
75711         * lib/exclude.c: Include <ctype.h>
75712         (IN_CTYPE_DOMAIN): New macro.
75713         (is_space): New fn.
75714         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
75715         and empty lines.
75716
75717         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75718         Undo previous (whitespace-only) change.
75719
75720 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75721
75722         * config/srclist-update: Change update back to the old behavior,
75723         leaving whitespace alone.  Use one 'sed' command rather than a
75724         pipeline.
75725         (fixlicense): Now a variable, not a function.
75726         (remove_trailing_blanks): Remove.
75727         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
75728         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75729         Undo previous (whitespace-only) change.
75730
75731 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75732
75733         Merge from coreutils.
75734         * modules/euidaccess: Add lib_SOURCES, include for new
75735         file euidaccess.h
75736
75737 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75738
75739         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75740         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75741         Normalize leading white space and remove trailing white space.
75742
75743         Merge from coreutils
75744         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
75745
75746         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
75747         0.12.1.  These files are now being upgraded automatically by
75748         ../config/srclist-update.
75749
75750 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75751
75752         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75753         Normalize leading white space and remove trailing white space.
75754         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
75755         notice, as per ../config/srclist-update.
75756
75757         Merge from coreutils.
75758         * lib/euidaccess.h: New file.
75759         * lib/euidaccess.c: Include it.
75760         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
75761         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
75762         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
75763
75764 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75765
75766         * config/srclist-update: Add copyright notice.
75767         (remove_id_lines, remove_trailing_blanks): New constants.
75768         (fixfile): Use them to normalize spacing a bit in copied files.
75769         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75770         Normalize leading white space and remove trailing white space.
75771
75772         * config/texinfo.tex: Sync with texinfo.
75773
75774         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
75775         strtoul.c from libc, to merge coreutils whitespace changes.
75776
75777         * config/srclist.txt: Get the following m4 files from gettext:
75778         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
75779         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
75780         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
75781         wint_t.m4.
75782
75783 2003-08-12  Karl Berry  <karl@gnu.org>
75784
75785         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
75786         been made.
75787
75788 2003-08-11  Paul Eggert  <eggert@twinsun.com>
75789
75790         * modules/gnu-source, m4/gnu-source.m4:
75791         Remove; we're assuming Autoconf 2.54 or later now.
75792         Suggested by Bruno Haible.
75793         * MODULES.html.sh (func_all_modules): Remove gnu-source.
75794
75795 2003-08-11  Bruno Haible  <bruno@clisp.org>
75796
75797         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
75798
75799 2003-08-11  Bruno Haible  <bruno@clisp.org>
75800
75801         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
75802         (vasnprintf): Use it instead of wcslen.
75803
75804 2003-08-11  Bruno Haible  <bruno@clisp.org>
75805
75806         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
75807         value to ensure that _Bool promotes to int. Use #define for _Bool when
75808         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
75809
75810 2003-08-10  Karl Berry  <karl@gnu.org>
75811
75812         * lib/regex.h: update from libc (whitespace fix).
75813
75814 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75815
75816         Merge some files from coreutils.  These changes were
75817         originally made by Jim Meyering.
75818         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
75819         many older Unixes require this.
75820         * lib/alloca.c (alloca): Remove cast to argument of free;
75821         no longer needed in C89.
75822         * lib/alloca_.h, regex.h: Fix white space to match
75823         what GNU indent does.
75824
75825 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75826
75827         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
75828         apparently Emacs's Unicode mode got confused before my 2003-08-05
75829         checkin.
75830
75831 2003-08-08  Paul Eggert  <eggert@twinsun.com>
75832
75833         * m4/extensions.m4: New file.
75834         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
75835         Require gl_USE_SYSTEM_EXTENSIONS.
75836         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
75837         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
75838
75839 2003-08-08  Paul Eggert  <eggert@twinsun.com>
75840
75841         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
75842         * modules/extensions, modules/gnu-source: New files.
75843         * modules/timespec, modules/unlocked-io: Depend on extensions.
75844
75845 2003-08-07  Paul Eggert  <eggert@twinsun.com>
75846
75847         * modules/restrict: New file.
75848         * MODULES.html.sh (func_all_modules): Add restrict.
75849         * modules/regex: Depend on restrict.
75850
75851 2003-08-07  Paul Eggert  <eggert@twinsun.com>
75852
75853         * m4/restrict.m4: New file.
75854         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
75855
75856 2003-08-07  Bruno Haible  <bruno@clisp.org>
75857
75858         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
75859         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
75860
75861 2003-08-07  Bruno Haible  <bruno@clisp.org>
75862
75863         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
75864         makes the module 'getndelim2' compatible with the module 'getline'.
75865
75866 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75867
75868         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
75869         byte with "\201" to avoid glitches when editing that source file
75870         with multi-gnome-terminal.
75871
75872 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75873
75874         * lib/bumpalloc.h: Remove.
75875
75876 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75877
75878         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
75879         * modules/bumpalloc: Remove.
75880
75881 2003-08-04  Paul Eggert  <eggert@twinsun.com>
75882
75883         * lib/getloadavg.c: Change copyright notice and spacing to conform to
75884         GNU coding style.
75885
75886         Merge from coreutils.
75887         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
75888         1. From glibc.
75889         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
75890         from Karl Berry, implemented by Jim Meyering.
75891         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
75892         from Dmitry V. Levin.
75893         Remove anachronistic cast of xrealloc.
75894         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
75895         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
75896         type. Otherwise, it wouldn't compile with at least /bin/cc on
75897         ymp-cray-unicos9.0.2.X.
75898         Combine two mostly-identical uses of alloca into one.
75899         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
75900
75901 2003-08-04  Dave Love  <d.love@dl.ac.uk>
75902
75903         [From Emacs.]
75904
75905         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
75906         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
75907         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
75908         obsolete NLIST_NAME_UNION.
75909         [__GNU__]: Undef BSD and FSCALE.
75910         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
75911
75912 2003-08-03  Paul Eggert  <eggert@twinsun.com>
75913
75914         * lib/stdbool_.h (_Bool): Make it signed char, instead of
75915         an enum type, so that it's guaranteed to promote to int.  See:
75916         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
75917
75918 2003-08-03  Karl Berry  <karl@gnu.org>
75919
75920         * config/depcomp: update from automake.
75921
75922 2003-07-31  Paul Eggert  <eggert@twinsun.com>
75923
75924         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
75925         (strerror): Don't assume that a printable int fits in 14 bytes.
75926
75927 2003-07-31  Bruno Haible  <bruno@clisp.org>
75928
75929         * modules/getpass-gnu: New file.
75930         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
75931
75932 2003-07-31  Bruno Haible  <bruno@clisp.org>
75933
75934         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
75935
75936 2003-07-24  Karl Berry  <karl@gnu.org>
75937
75938         * config/missing: update from automake.
75939
75940 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
75941             Bruno Haible  <bruno@clisp.org>
75942
75943         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
75944         * lib/getline.c (getline, getdelim): Likewise.
75945         Remove _GNU_SOURCE define; now it's defined in config.h through
75946         m4/getline.m4.
75947
75948 2003-07-23  Karl Berry  <karl@gnu.org>
75949
75950         * config/config.sub: update from prep.
75951
75952 2003-07-22  Paul Eggert  <eggert@twinsun.com>
75953
75954         * modules/xalloc (Depends-on): Add exitfail.
75955         * modules/xmemcoll: Likewise.
75956
75957 2003-07-22  Paul Eggert  <eggert@twinsun.com>
75958
75959         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
75960         over-parenthesization in macros.
75961
75962         Sync with coreutils.
75963
75964         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
75965         required by C99.
75966
75967         Use `exit_failure' for xalloc and xmemcoll instead of their own
75968         private exit-failure variables.
75969         * lib/xalloc.h (xalloc_exit_failure): Remove.
75970         * lib/xmalloc.c: Likewise.  Include exitfail.h.
75971         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
75972         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
75973         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
75974         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
75975
75976 2003-07-20  Jim Meyering  <jim@meyering.net>
75977
75978         * modules/closeout (Depends-on): Add exitfail.
75979         Suggestion from Bruno Haible.
75980
75981 2003-07-19  Karl Berry  <karl@gnu.org>
75982
75983         * config/config.sub: update from prep.
75984
75985 2003-07-18  Paul Eggert  <eggert@twinsun.com>
75986
75987         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
75988         Remove.
75989         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
75990         to test that it can stand by itself.  Include "exitfail.h".
75991         Clients should set exit_failure instead.
75992         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
75993
75994 2003-07-18  Bruno Haible  <bruno@clisp.org>
75995
75996         * modules/getndelim2: New file.
75997         * modules/getline: Share files with module getndelim2.
75998         * modules/getnline: Depend on getndelim2 instead of sharing files with
75999         it. Add getnline.c to lib_SOURCES.
76000         * MODULES.html.sh (func_all_modules): Add getndelim2.
76001
76002 2003-07-18  Bruno Haible  <bruno@clisp.org>
76003
76004         * m4/getndelim2.m4: New file.
76005         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
76006         invoke gl_PREREQ_GETNDELIM2.
76007         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
76008         gl_PREREQ_GETNDELIM2.
76009         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
76010         gl_GETNDELIM2.
76011
76012 2003-07-18  Bruno Haible  <bruno@clisp.org>
76013
76014         * lib/getndelim2.h: New file.
76015         * lib/getndelim2.c: Make into a module of its own. Include config.h,
76016         getndelim2.h.
76017         (getndelim2): Make non-static. Change return type to ssize_t.
76018         * lib/getline.h: Change argument names.
76019         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
76020         * lib/getnline.c: Include getndelim2.h.
76021
76022 2003-07-18  Andreas Schwab  <schwab@suse.de>
76023
76024         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
76025
76026 2003-07-17  Karl Berry  <karl@gnu.org>
76027
76028         * config/config.sub: update from prep.
76029
76030 2003-07-17  Bruno Haible  <bruno@clisp.org>
76031
76032         * modules/getnline: New file.
76033         * modules/getline: Add lib/getndelim2.c to source file list.
76034         * MODULES.html.sh (func_all_modules): Add getnline.
76035
76036 2003-07-17  Bruno Haible  <bruno@clisp.org>
76037
76038         * m4/getnline.m4: New file.
76039
76040 2003-07-17  Bruno Haible  <bruno@clisp.org>
76041
76042         * m4/Makefile.am.in: Remove file.
76043         * m4/Makefile.am: Remove file.
76044         * m4/Makefile.in: Remove file.
76045
76046 2003-07-17  Bruno Haible  <bruno@clisp.org>
76047
76048         * lib/getnline.h: New file.
76049         * lib/getnline.c: New file.
76050         * lib/getndelim2.c: New file, extracted from getline.c.
76051         (getndelim2): Renamed from getdelim2, with added nmax argument.
76052         * lib/getline.c: Include getndelim2.c.
76053         (getdelim2): Moved out to getndelim2.c.
76054         (getline, getdelim): Update.
76055
76056 2003-07-17  Bruno Haible  <bruno@clisp.org>
76057
76058         * lib/Makefile.am: Remove file.
76059         * lib/Makefile.in: Remove file.
76060
76061 2003-07-17  Bruno Haible  <bruno@clisp.org>
76062
76063         * configure.in: Remove file.
76064         * Makefile.in: Remove file.
76065
76066 2003-07-17  Bruno Haible  <bruno@clisp.org>
76067
76068         * MODULES.html.sh: Put the </BODY> right before </HTML>.
76069
76070 2003-07-16  Karl Berry  <karl@gnu.org>
76071
76072         * config/srclist-update: was running fixlicense twice, which caused
76073                 texinfo.tex to be nullified for some reason.  Simplify,
76074                 $gplsrc is no longer needed as far as I can see?
76075
76076 2003-07-16  Jim Meyering  <jim@meyering.net>
76077
76078         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
76079
76080 2003-07-15  Paul Eggert  <eggert@twinsun.com>
76081
76082         * config/srclist.txt: Get the following files from gettext-runtime/intl
76083         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
76084         ref-del.sin.  From Bruno Haible.
76085         * config/srclist-update (fixfile): Change grep pattern again, since the
76086         previous fix didn't work (there was another trailing $).  Use
76087         '[$]' to escape the $s.
76088
76089 2003-07-15  Karl Berry  <karl@gnu.org>
76090
76091         * lib/vasnprintf.c: update from gettext.
76092
76093 2003-07-15  Karl Berry  <karl@gnu.org>
76094
76095         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
76096         gets expanded when surrounded by '$'.
76097
76098 2003-07-15  Jim Meyering  <jim@meyering.net>
76099
76100         * modules/save-cwd: Don't depend on error.  From Derek Price.
76101
76102 2003-07-15  Jim Meyering  <jim@meyering.net>
76103
76104         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
76105
76106 2003-07-14  Simon Josefsson  <jas@extundo.com>
76107
76108         * modules/mempcpy: New file.
76109         * MODULES.html.sh (func_all_modules): Add mempcpy.
76110
76111 2003-07-14  Simon Josefsson  <jas@extundo.com>
76112
76113         * m4/mempcpy.m4: New file.
76114
76115 2003-07-14  Simon Josefsson  <jas@extundo.com>
76116
76117         * lib/mempcpy.h: New file.
76118         * lib/mempcpy.c: New file.
76119
76120 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76121
76122         * modules/getdate, modules/posixtm: Depend on mktime.
76123
76124 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76125
76126         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
76127         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
76128         unicodeio.c, unicodeio.h, unlocked-io.h:
76129         Switch from LGPL to GPL.
76130
76131 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76132
76133         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
76134         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
76135         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
76136         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
76137         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
76138         updated automatically by ../config/srclist-update.  This changes
76139         their license from LPGL to GPL.
76140
76141 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76142
76143         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
76144         assumed to refer to the root of the most recent stable gettext version.
76145         * config/srclistvars.sh: Add defaults for eggert.
76146         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
76147         Match "This program" as well as "The program".  This is needed
76148         for gettext.
76149
76150 2003-07-14  Jim Meyering  <jim@meyering.net>
76151
76152         Don't emit diagnostics.  Let callers do that.
76153         * lib/save-cwd.c: Don't include "error.h".
76154         (save_cwd): Don't call error.  Ensure that errno is valid
76155         when returning nonzero.
76156
76157         * lib/save-cwd.h (restore_cwd): Update prototype.
76158         * lib/save-cwd.c (restore_cwd): Remove two parameters.
76159         Simplify.  Don't call error upon failure.  Let callers do that.
76160         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
76161         when auditing is enabled.  But don't bother updating the #if.
76162
76163 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
76164
76165         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
76166         it breaks C++ compilation.
76167         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
76168
76169 2003-07-10  Simon Josefsson  <jas@extundo.com>
76170
76171         * modules/strchrnul (Makefile.am): Add strchrnul.h.
76172
76173 2003-07-10  Jim Meyering  <jim@meyering.net>
76174
76175         * m4/clock_time.m4: Remove trailing blank.
76176         * m4/intmax_t.m4: Likewise.
76177
76178 2003-07-10  Jim Meyering  <jim@meyering.net>
76179
76180         * lib/vasnprintf.c: Remove trailing blanks.
76181         Make cpp indentation consistent.
76182
76183 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76184
76185         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
76186         posixver.c, strftime.c, strnlen.c, strverscmp.c:
76187         Switch from LGPL to GPL.
76188
76189 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76190
76191         * config/srclist.txt: Sort sublists.  Add
76192         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
76193         that differ from gnulib for one reason or another; we'd like this list
76194         to be smaller but for now let's document what we have.
76195
76196 2003-07-08  Paul Eggert  <eggert@twinsun.com>
76197
76198         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
76199         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
76200         and sweeter "eval x=$x".
76201         * config/srclist.txt: Get lib/argp* from glibc.
76202
76203 2003-07-07  Paul Eggert  <eggert@twinsun.com>
76204
76205         * lib/mktime.c: Fix some boundary cases and remove need for floating
76206         point.
76207
76208         Issue a compile-time diagnostic if time_t is floating point, or if
76209         two's complement arithmetic is not in effect, or if arithmetic
76210         right shift does not propagate the sign.  These assumptions were
76211         all in the original code but they weren't checked.
76212
76213         (TIME_T_MIDPOINT, verify): New macros.
76214         (__isleap): Remove; it has integer overflow problems.
76215         (leapyear): New function, without those problems.
76216         (ydhms_tm_diff): Remove; splitting into two parts.
76217         (ydhms_diff): New function, containing the arithmetic part of
76218         the old ydhms_tm_diff function.  Issue a compile-time
76219         diagnostic if we are not using C99 integer division.
76220         Avoid casts when possible.
76221         (guess_time_tm): New function, containing the checking part of
76222         the old ydhms_tm_diff function.  Return the new value, rather than
76223         the difference between it and the old.  Accept a new argument T
76224         so that *T specifies the old value.  Check for overflow in the result.
76225
76226         (__mktime_internal): Use a time_t offset, not a long int offset.
76227         This undoes the 2003-06-04 change, which is no longer needed now
76228         that we have better overflow checking.
76229         (localtime_offset): Likewise.
76230
76231         (__mktime_internal): Avoid harmful overflow on hosts where time_t
76232         and long are 64-bit but int is only 32-bit.
76233         (ydhms_diff): Use long int to store year1 and yday1.
76234         Issue a compile-time diagnostic if long int is not wide enough.
76235
76236         (__mktime_internal): Use long int to store adjusted year and yday.
76237         Use plain C rather than preprocessor commands, if that doesn't
76238         affect efficiency.
76239         Check for overflow (and try to repair) after each probe
76240         rather than checking only at the very end.  This avoids some bugs
76241         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
76242         does not equal GMT offset at maximum time).
76243         Use integer to check for overflow rather than floating point; this
76244         is more portable to non-IEEE hosts, and is a tad faster.
76245         When we detect that we are oscillating between two values,
76246         don't check whether tm_isdst has the requested value, since
76247         we already know the answer.  When tm_isdst has the wrong value,
76248         use a different heuristic to find the right one, based on the
76249         extreme values actually observed in practice in tz2003a,
76250         rather than the (overly optimistic) "previous 3 calendar quarters".
76251
76252         (not_equal_tm, print_tm, check_result): Use "const T" rather than
76253         "T const" to accommodate glibc style.
76254         (check_result): Use less-confusing report format.  "long" -> "long int.
76255         (main): Likewise.
76256         Don't loop if the iteration overflows time_t.
76257         Allow a negative step in the iteration.
76258
76259 2003-07-06  Karl Berry  <karl@gnu.org>
76260
76261         * config/depcomp: update from automake.
76262         * config/config.sub: update from prep.
76263
76264 2003-07-03  Karl Berry  <karl@gnu.org>
76265
76266         * config/config.guess: update from prep.
76267
76268 2003-07-01  Paul Eggert  <eggert@twinsun.com>
76269
76270         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
76271         xreadlink.c now includes it unconditionally.
76272
76273 2003-07-01  Paul Eggert  <eggert@twinsun.com>
76274
76275         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
76276         having it depend on HAVE_SYS_TYPES_H.
76277
76278 2003-07-01  Bruno Haible  <bruno@clisp.org>
76279
76280         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
76281         <sys/types.h> should be sufficient.
76282         Reported by Paul Eggert.
76283
76284 2003-06-26  Karl Berry  <karl@gnu.org>
76285
76286         * config/depcomp: update from automake.
76287
76288 2003-06-26  Bruno Haible  <bruno@clisp.org>
76289
76290         * modules/human: Depend on module stdbool.
76291
76292 2003-06-25  Bruno Haible  <bruno@clisp.org>
76293
76294         * modules/readlink: New file.
76295         * modules/xreadlink: Depend on it.
76296         * MODULES.html.sh (func_all_modules): Add readlink.
76297
76298 2003-06-25  Bruno Haible  <bruno@clisp.org>
76299
76300         * m4/readlink.m4: New file.
76301
76302 2003-06-25  Bruno Haible  <bruno@clisp.org>
76303
76304         * lib/readlink.c: New file.
76305
76306 2003-06-22  Karl Berry  <karl@gnu.org>
76307
76308         * config/srclist.txt: update mkinstalldirs from automake.
76309         * config/mkinstalldirs: update.
76310
76311 2003-06-22  Bruno Haible  <bruno@clisp.org>
76312
76313         Portability to mingw32.
76314         * m4/ssize_t.m4: New file, from GNU gettext.
76315         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
76316         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
76317
76318 2003-06-22  Bruno Haible  <bruno@clisp.org>
76319
76320         * modules/safe-read: Add m4/ssize_t.m4.
76321         * modules/xreadlink: Add m4/ssize_t.m4.
76322
76323 2003-06-20  Bruno Haible  <bruno@clisp.org>
76324
76325         Assume C89, so PARAMS isn't needed.
76326         * lib/unicodeio.h (PARAMS): Remove.
76327         * lib/unicodeio.c: Don't use PARAMS.
76328
76329 2003-06-18  Karl Berry  <karl@gnu.org>
76330
76331         * config/config.{guess,sub}: update from prep.
76332
76333 2003-06-18  Jim Meyering  <jim@meyering.net>
76334
76335         Merge changes from coreutils.
76336         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
76337         Remove explicit declarations of xmalloc and realloc.
76338         Include xalloc.h.
76339         (read_utmp): Remove anachronistic cast of xmalloc.
76340
76341 2003-06-17  Paul Eggert  <eggert@twinsun.com>
76342
76343         Assume C89, so PARAMS isn't needed.
76344         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
76345         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
76346         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
76347         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
76348         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
76349         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
76350         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
76351         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
76352         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
76353         lib/xstrtod.h, lib/xstrtol.h: Likewise.
76354         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
76355         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
76356         no longer needed. Anyway, config.h should always be included before any
76357         other file.
76358
76359 2003-06-11  Simon Josefsson  <jas@extundo.com>
76360
76361         * modules/sysexits: New file.
76362         * MODULES.html.sh (func_all_modules): Add sysexits.
76363
76364 2003-06-11  Simon Josefsson  <jas@extundo.com>
76365
76366         * lib/sysexit_.h: New file.
76367
76368 2003-06-11  Derek Price  <derek@ximbiot.com>
76369
76370         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
76371         necessary.
76372
76373 2003-06-11  Bruno Haible  <bruno@clisp.org>
76374
76375         * m4/sysexits.m4: New file.
76376
76377 2003-06-10  Simon Josefsson  <jas@extundo.com>
76378
76379         * lib/argp.h: New file, from glibc.
76380         * lib/argp-ba.c: New file, from glibc.
76381         * lib/argp-eexst.c: New file, from glibc.
76382         * lib/argp-fmtstream.c: New file, from glibc.
76383         * lib/argp-fmtstream.h: New file, from glibc.
76384         * lib/argp-fs-xinl.c: New file, from glibc.
76385         * lib/argp-help.c: New file, from glibc.
76386         * lib/argp-namefrob.h: New file, from glibc.
76387         * lib/argp-parse.c: New file, from glibc.
76388         * lib/argp-pv.c: New file, from glibc.
76389         * lib/argp-pvh.c: New file, from glibc.
76390         * lib/argp-xinl.c: New file, from glibc.
76391
76392 2003-06-10  Simon Josefsson  <jas@extundo.com>
76393
76394         * modules/strchrnul: New file.
76395
76396 2003-06-10  Simon Josefsson  <jas@extundo.com>
76397
76398         * modules/argp: New file.
76399
76400 2003-06-10  Simon Josefsson  <jas@extundo.com>
76401
76402         * m4/strchrnul.m4: New file.
76403
76404 2003-06-10  Simon Josefsson  <jas@extundo.com>
76405
76406         * lib/strchrnul.h: New file.
76407         * lib/strchrnul.c: New file.
76408
76409 2003-06-10  Bruno Haible  <bruno@clisp.org>
76410
76411         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
76412
76413 2003-06-07  Karl Berry  <karl@gnu.org>
76414
76415         * config/config.{guess,sub}: update from prep.
76416
76417 2003-06-07  Jim Meyering  <jim@meyering.net>
76418
76419         * modules/strtod: Use $(...) notation, not @...@ for
76420         AC_REPLACE'd variables.
76421         * modules/localcharset: Likewise.
76422
76423 2003-06-07  Jim Meyering  <jim@meyering.net>
76424
76425         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
76426         in place of my name in the copyright comment.
76427         Remove definition and uses of __P.
76428
76429         From coreutils.
76430         * lib/stat.c: Don't declare xmalloc explicitly.
76431         Instead, include "xalloc.h".
76432         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
76433         xrealloc, and xcalloc return values.
76434         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
76435         Improve comment.
76436         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
76437
76438 2003-06-07  Bruno Haible  <bruno@clisp.org>
76439
76440         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
76441         avoid AC_CONFIG_LINKS.
76442         * modules/fnmatch (Makefile.am): Use explicit creation rule for
76443         fnmatch.h, to avoid AC_CONFIG_LINKS.
76444         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
76445
76446 2003-06-07  Bruno Haible  <bruno@clisp.org>
76447
76448         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
76449         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
76450         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
76451         directory.
76452         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
76453         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
76454         directory.
76455
76456 2003-06-06  Jim Meyering  <jim@meyering.net>
76457
76458         Merge from coreutils.
76459         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
76460         Consolidate declarations and initializations of *_base* locals.
76461
76462         Merge from coreutils.
76463         This avoids a core dump on systems without GNU putenv,
76464         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
76465         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
76466         (unsetenv): New static function, from GNU libc.
76467         (rpl_putenv): Use it.
76468
76469         * lib/modechange.c: Remove trailing blanks.
76470
76471         Merge from coreutils.
76472         * lib/fsusage.c: Remove declaration of statfs.
76473         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
76474
76475         * lib/posixtm.c: Include <stdbool.h> unconditionally.
76476
76477 2003-06-06  Jim Meyering  <jim@meyering.net>
76478
76479         * lib/stdbool_.h: Renamed from stdbool.h.in.
76480
76481 2003-06-06  Jim Meyering  <jim@meyering.net>
76482             Bruno Haible  <bruno@clisp.org>
76483
76484         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
76485         Adjust Makefile.am snippet not to redirect directly to target.
76486         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
76487
76488 2003-06-05  Paul Eggert  <eggert@twinsun.com>
76489
76490         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
76491         mismatch, look in future quarters as well as past.  This fixes a
76492         bug when processing fall-backwards gaps immediately after a long
76493         period of daylight-saving time.
76494
76495         * lib/mktime.c: Assume freestanding C89 or better.
76496         (HAVE_LIMITS_H): Remove.  Assume it's 1.
76497         (__P): Remove; not used.
76498         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
76499         (mktime, not_equal_tm, print_tm, check_result,
76500         main): Use prototypes.  Use const * where appropriate.
76501         (main): Fix typo in testing code that uncovered by above changes.
76502         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
76503
76504 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76505
76506         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
76507         locale.h, localeconv.  This merges changes from coreutils.
76508
76509         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
76510         It can be removed after the next Autoconf is released.
76511         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
76512         needed.
76513
76514 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76515
76516         * lib/mktime.c: Fix Debian bug 177940
76517         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
76518         (localtime_offset): Now long int, not time_t, because we want it
76519         to be guaranteed to be signed.  All uses changed.
76520         (__mktime_internal): If overflow would occur when adding offset,
76521         don't add it.
76522
76523         Merge 'human' changes from coreutils.  Rewrite to support
76524         locale-specific notations like thousands separators.
76525         * lib/human.c: Simplify authorship notice.
76526         Include human.h immediately after config.h.
76527         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
76528         <limits.h>: Do not include, since human.h does.
76529         (SIZE_MAX, UINTMAX_MAX): New macros.
76530         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
76531         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
76532         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
76533         (power_letter): Renamed from suffixes.
76534         (generate_suffix_backwards): Remove.
76535         (adjust_value): Now takes int style (because of human.h changes)
76536         and long double value (for greater precision on some platforms).
76537         (group_number): New function.
76538         (human_readable): Use it.  Use integer options, not enum.
76539         Put the options before the sizes in the arg list.
76540         Support all the new options.
76541         The old human_readable function has been removed;
76542         use inttostr.h instead.
76543         (human_readable, default_block_size, humblock):
76544         Use uintmax_t, not int, for block sizes.
76545         (human_readable_inexact, block_size_types): Remove.
76546         (block_size_opts): New constant.
76547         (human_options): Renamed from human_block_size, with new signature
76548         that allows block sizes up to UINTMAX_MAX.  All callers changed.
76549         * lib/human.h: Add copyright and authorship notice.
76550         Include <limits.h> and <stdbool.h> unconditionally.
76551         (PARAMS): Remove.  All uses removed.
76552         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
76553         (enum human_inexact_style): Remove tag; now a nameless enum.
76554         (human_floor, human_ceiling, human_round_to_even): Now have
76555         values 2, 0, 1 rather than -1, 1, 0.
76556         (human_group_digits, human_suppress_point_zero, human_autoscale,
76557         human_base_1024, human_SI, human_B): New constants.
76558         (human_readable_inexact, human_block_size): Remove.
76559         (human_readable): Size args are now uintmax_t, not int.
76560         (human_options): New decl.
76561
76562         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
76563         unnecessary now that we assume C89 or better.  This change
76564         imported from coreutils.
76565
76566         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76567         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
76568         in the 2003-05-30 sync from glibc.
76569
76570         .h files should stand alone, but we shouldn't include <sys/types.h>
76571         if we can get away with just <stddef.h>.
76572
76573         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
76574         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
76575         rather than <sys/types.h>, as we merely need size_t.
76576         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
76577         to get size_t.
76578         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
76579         Include <stdio.h>, to get FILE.
76580         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
76581         memcasecmp.h has included <stddef.h> and all we need is size_t.
76582         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
76583         our interface, instead of including <sys/types.h>
76584
76585 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76586
76587         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
76588         now, as glibc mktime is buggy on non-glibc systems.
76589
76590 2003-06-03  Karl Berry  <karl@gnu.org>
76591
76592         * config/config.sub: update from prep.
76593
76594 2003-06-02  Paul Eggert  <eggert@twinsun.com>
76595
76596         [from coreutils]
76597         Fix some minor time-related bugs with POSIX time arguments.
76598         Some valid time stamps were being rejected (notably -1, and
76599         time stamps before 1900 on 64-bit hosts).  And some invalid
76600         time stamps were being accepted, e.g. September 31.
76601
76602         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
76603         that we can return (time_t) -1 successfully.
76604         * lib/posixtm.c: Likewise.
76605         [HAVE_STDBOOL_H]: Include <stdbool.h>.
76606         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
76607         (t): Remove static var.
76608         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
76609         of static var.  All uses changed.
76610         (year): Do not reject years before 1900; they can occur with
76611         64-bit time_t.
76612         (posix_time_parse): Do not check for out-of-range components;
76613         that is now the caller's responsibility, since our checks were
76614         only approximations.
76615         (posixtime): Use mktime to check for out-of-range components,
76616         since it knows them exactly.
76617         If mktime returns (time_t) -1, check whether an error actually occurred
76618         by invoking localtime on -1.
76619         (main) [TEST_POSIXTIME]: Check for input data errors, and report
76620         posixtime failures better.
76621         Improve the test data (in comments only).
76622
76623 2003-06-02  Karl Berry  <karl@gnu.org>
76624
76625         * config/mkinstalldirs (version): new variable.
76626         (--version): new option.
76627         (usage): improve message.
76628
76629 2003-05-30  Karl Berry  <karl@gnu.org>
76630
76631         * lib/mktime.c: update from libc.
76632
76633 2003-05-30  Bruno Haible  <bruno@clisp.org>
76634
76635         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
76636         * config/config.rpath: Upgrade to gettext-0.12.1.
76637
76638 2003-05-30  Bruno Haible  <bruno@clisp.org>
76639
76640         * m4/gettext.m4: Upgrade to gettext-0.12.1.
76641         * m4/nls.m4: New file, from gettext-0.12.1.
76642         * m4/po.m4: New file, from gettext-0.12.1.
76643         * m4/progtest.m4: Upgrade to gettext-0.12.1.
76644
76645 2003-05-30  Bruno Haible  <bruno@clisp.org>
76646
76647         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
76648         * lib/localcharset.h: Likewise.
76649         * lib/localcharset.c: Likewise.
76650
76651 2003-05-29  Karl Berry  <karl@gnu.org>
76652
76653         * config/config.rpath: update from gettext.
76654
76655 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76656
76657         Assume the headers required for C89 freestanding compilers.
76658         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
76659         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
76660         * m4/human.m4 (gl_HUMAN): Likewise.
76661         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
76662         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
76663         * m4/userspec.m4 (gl_USERSPEC): Likewise.
76664         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
76665         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76666         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
76667
76668 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76669
76670         Assume the headers required for C89 freestanding compilers.
76671         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
76672         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
76673         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
76674         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
76675         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
76676         define, since <limits.h> is guaranteed to do that.
76677         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
76678         * lib/exclude.c: Include <stdbool.h> unconditionally.
76679         * lib/tempname.c: Include <stddef.h> unconditionally.
76680         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
76681         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
76682         <stddef.h> does that.
76683         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
76684         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
76685         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
76686         needed.
76687         * lib/xstrtol.c: Likewise.
76688         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
76689         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
76690
76691         * lib/addext.c (addext): Use assignment rather than cast, to avoid
76692         warnings on some platforms.
76693
76694         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76695         arbitrarily.
76696
76697 2003-05-26  Jim Meyering  <jim@meyering.net>
76698
76699         Merge in a change from coreutils:
76700         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
76701         that is guaranteed to be `no'.  Use `no_such_member' to indicate
76702         that condition, rather than `-1' which is slightly misleading.
76703         Change the name of the cache variable to have the gl_ prefix.
76704         Prompted by a patch from Richard Dawe for DJGPP.
76705
76706 2003-05-24  Karl Berry  <karl@gnu.org>
76707
76708         * config/config.guess: update from prep.
76709
76710 2003-05-22  Karl Berry  <karl@gnu.org>
76711
76712         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
76713
76714 2003-05-20  Karl Berry  <karl@gnu.org>
76715
76716         * config/config.guess: update from prep.
76717
76718 2003-05-18  Karl Berry  <karl@gnu.org>
76719
76720         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
76721         might actually be set by the user.
76722
76723         * config/depcomp, install-sh, mdate-sh: update from automake.
76724
76725 2003-05-17  Bruno Haible  <bruno@clisp.org>
76726
76727         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
76728         invalid expansion for AC_EGREP_CPP.
76729         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
76730         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
76731         Suggested by Akim Demaille <akim@epita.fr> in
76732         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
76733
76734 2003-05-12  Jim Meyering  <jim@meyering.net>
76735
76736         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
76737         the space-padded-by-default conversion specifiers, %e, %k, %l.
76738
76739 2003-05-12  Bruno Haible  <bruno@clisp.org>
76740
76741         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
76742         the string is longer than 4 KB.
76743
76744 2003-05-11  Karl Berry  <karl@gnu.org>
76745
76746         * config/config.{guess,sub}: update from prep.
76747
76748 2003-05-09  Bruno Haible  <bruno@clisp.org>
76749
76750         * modules/error: Add m4/strerror_r.m4 to file list.
76751
76752 2003-05-03  Bruno Haible  <bruno@clisp.org>
76753
76754         Upgrade to Unicode-4.0.
76755         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
76756         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
76757         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
76758         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
76759         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
76760         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
76761         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
76762         Change width of U+E0100..U+E01EF from 1 to 0.
76763
76764 2003-04-25  Jim Meyering  <jim@meyering.net>
76765
76766         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
76767         of type size_t, not int.
76768
76769 2003-04-25  Bruno Haible  <bruno@clisp.org>
76770
76771         * lib/copy-file.c: Include <stddef.h>, for size_t.
76772
76773 2003-04-21  Paul Eggert  <eggert@twinsun.com>
76774
76775         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
76776         code which expansion is under static control.  Patch imported from
76777         Akim Demaille's patch to Bison; see
76778         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
76779
76780 2003-04-14  Bruno Haible  <bruno@clisp.org>
76781
76782         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
76783
76784 2003-04-11  Jim Meyering  <jim@meyering.net>
76785
76786         Merge changes from Coreutils.
76787
76788         2003-03-22  Jim Meyering  <jim@meyering.net>
76789
76790         * lib/strftime.c (widen): Cast alloca return value to proper type.
76791
76792         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
76793
76794         From GNU libc.
76795         * lib/strftime.c (my_strftime): Handle very large width
76796         specifications for numeric values correctly.  Improve checks for
76797         overflow.
76798
76799         2003-01-19  Jim Meyering  <jim@meyering.net>
76800
76801         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
76802         definitions.
76803         (nl_get_alt_digit) [! defined my_strftime]: Define.
76804         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
76805         _nl_get_alt_digit and _nl_get_walt_digit.
76806
76807         * lib/strftime.c (my_strftime): Merge in locale-related changes from
76808         libc. These changes have no effect outside of _LIBC.
76809
76810 2003-04-10  Bruno Haible  <bruno@clisp.org>
76811
76812         * modules/findprog: New file.
76813         * MODULES.html.sh (func_all_modules): Add it.
76814
76815 2003-04-10  Bruno Haible  <bruno@clisp.org>
76816
76817         * m4/findprog.m4: New file.
76818         * m4/eaccess.m4: New file.
76819
76820 2003-04-10  Bruno Haible  <bruno@clisp.org>
76821
76822         * lib/findprog.h: New file, from GNU gettext.
76823         * lib/findprog.c: New file, from GNU gettext.
76824
76825 2003-04-05  Jim Meyering  <jim@meyering.net>
76826
76827         Merge changes from Coreutils.
76828
76829         * lib/exclude.h (PARAMS): Remove definition and uses.
76830         * lib/exclude.c: Remove uses of `PARAMS'.
76831
76832         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
76833         Add test-cases for DOS filenames. Declare program_name.
76834         (main): Set up program_name.  Patch by Rich Dawe.
76835
76836         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
76837         error from mntctl.
76838         Use mntctl's return value to drive the entry-processing loop, since
76839         we can't rely on the value of the vmt_length member in the last
76840         entry.  On some systems doing so could result in exhausting
76841         virtual memory.  Based in part on a patch from Mike Jetzer.
76842
76843 2003-04-04  Bruno Haible  <bruno@clisp.org>
76844
76845         * modules/linebreak: New file.
76846         * MODULES.html.sh (func_all_modules): Add it.
76847
76848 2003-04-04  Bruno Haible  <bruno@clisp.org>
76849
76850         * m4/linebreak.m4: New file.
76851
76852 2003-04-04  Bruno Haible  <bruno@clisp.org>
76853
76854         * lib/linebreak.h: New file, from GNU gettext.
76855         * lib/linebreak.c: New file, from GNU gettext with slight
76856         modifications.
76857         * lib/lbrkprop.h: New file, from GNU gettext.
76858
76859 2003-04-03  Bruno Haible  <bruno@clisp.org>
76860
76861         * modules/utf8-ucs4: New file.
76862         * modules/utf16-ucs4: New file.
76863         * modules/ucs4-utf8: New file.
76864         * modules/ucs4-utf16: New file.
76865         * MODULES.html.sh (func_all_modules): Add them.
76866
76867 2003-04-03  Bruno Haible  <bruno@clisp.org>
76868
76869         * m4/utf-ucs4.m4: New file.
76870         * m4/ucs4-utf.m4: New file.
76871
76872 2003-04-03  Bruno Haible  <bruno@clisp.org>
76873
76874         * lib/utf8-ucs4.h: New file, from GNU gettext.
76875         * lib/utf16-ucs4.h: New file, from GNU gettext.
76876         * lib/ucs4-utf8.h: New file, from GNU gettext.
76877         * lib/ucs4-utf16.h: New file, from GNU gettext.
76878
76879 2003-04-02  Bruno Haible  <bruno@clisp.org>
76880
76881         * modules/binary-io: New file.
76882         * MODULES.html.sh (func_all_modules): Add it.
76883
76884 2003-04-02  Bruno Haible  <bruno@clisp.org>
76885
76886         * lib/binary-io.h: New file, from GNU gettext.
76887
76888 2003-04-01  Bruno Haible  <bruno@clisp.org>
76889
76890         * modules/pathname: New file.
76891         * MODULES.html.sh (func_all_modules): Add it.
76892
76893 2003-04-01  Bruno Haible  <bruno@clisp.org>
76894
76895         * lib/pathname.h: New file, from GNU gettext.
76896         * lib/concatpath.c: New file, from GNU gettext.
76897
76898 2003-03-30  Bruno Haible  <bruno@clisp.org>
76899
76900         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
76901
76902 2003-03-30  Bruno Haible  <bruno@clisp.org>
76903
76904         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
76905         function chown() doesn't exist.
76906
76907 2003-03-28  Bruno Haible  <bruno@clisp.org>
76908
76909         * modules/copy-file: New file.
76910         * MODULES.html.sh (func_all_modules): Add it.
76911
76912 2003-03-28  Bruno Haible  <bruno@clisp.org>
76913
76914         * m4/copy-file.m4: New file.
76915
76916 2003-03-28  Bruno Haible  <bruno@clisp.org>
76917
76918         * lib/copy-file.h: New file, from GNU gettext.
76919         * lib/copy-file.c: New file, from GNU gettext.
76920
76921 2003-03-18  Jim Meyering  <jim@meyering.net>
76922
76923         * lib/quote.c (quote_n): Fix typo in comment.
76924
76925 2003-03-18  Bruno Haible  <bruno@clisp.org>
76926
76927         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
76928         checking.
76929         * m4/onceonly_2_57.m4: Likewise.
76930
76931 2003-03-17  Bruno Haible  <bruno@clisp.org>
76932
76933         * m4/onceonly.m4: Require autoconf 2.54 or newer.
76934         (m4_quote): Remove macro.
76935         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
76936
76937 2003-03-14  Jim Meyering  <jim@meyering.net>
76938
76939         Merge changes from Coreutils.
76940         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
76941         to be const, in order to avoid warnings.
76942         (obstack_room): Likewise.
76943         (obstack_empty_p): Likewise.
76944
76945 2003-03-14  Bruno Haible  <bruno@clisp.org>
76946
76947         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
76948         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
76949
76950 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76951
76952         Merge changes from Bison.
76953         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
76954         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
76955         when compiling Bison 1.875's `bitset bset = obstack_alloc
76956         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
76957         * lib/hash.c: Include <stdbool.h> unconditionally.
76958
76959 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76960
76961         * m4/onceonly.m4 (m4_quote): New macro.
76962         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
76963         Quote AC_FOREACH variable-expansions properly.
76964
76965 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76966
76967         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
76968
76969 2003-03-09  Paul Eggert  <eggert@twinsun.com>
76970
76971         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
76972         Reported by Bruce Becker; see:
76973         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
76974
76975 2003-03-03  Paul Eggert  <eggert@twinsun.com>
76976             Bruno Haible  <bruno@clisp.org>
76977
76978         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
76979         Reported by John Hughes, see
76980         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
76981
76982 2003-02-20  Bruno Haible  <bruno@clisp.org>
76983
76984         * MODULES.html.sh (func_all_modules): Add poll.
76985
76986 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76987
76988         * modules/poll: New file.
76989
76990 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76991
76992         * lib/poll_.h: New file.
76993         * lib/poll.c: New file.
76994
76995 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76996
76997         * m4/poll.m4: New file.
76998
76999 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77000
77001         * modules/mathl: New file.
77002
77003 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77004
77005         * lib/mathl.h: New file.
77006         * lib/acosl.c: New file.
77007         * lib/asinl.c: New file.
77008         * lib/atanl.c: New file.
77009         * lib/ceill.c: New file.
77010         * lib/cosl.c: New file.
77011         * lib/expl.c: New file.
77012         * lib/floorl.c: New file.
77013         * lib/frexpl.c: New file.
77014         * lib/ldexpl.c: New file.
77015         * lib/logl.c: New file.
77016         * lib/sincosl.c: New file.
77017         * lib/sinl.c: New file.
77018         * lib/sqrtl.c: New file.
77019         * lib/tanl.c: New file.
77020         * lib/trigl.c: New file.
77021         * lib/trigl.h: New file.
77022
77023 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77024
77025         * m4/mathl.m4: New file.
77026
77027 2003-02-18  Bruno Haible  <bruno@clisp.org>
77028
77029         * MODULES.html.sh (func_all_modules): Add mathl.
77030
77031 2003-02-17  Bruno Haible  <bruno@clisp.org>
77032
77033         * modules/mkdtemp: New module.
77034         * MODULES.html.sh (func_all_modules): Add it.
77035
77036 2003-02-17  Bruno Haible  <bruno@clisp.org>
77037
77038         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
77039
77040 2003-02-17  Bruno Haible  <bruno@clisp.org>
77041
77042         * lib/mkdtemp.h: New file, from GNU gettext.
77043         * lib/mkdtemp.c: New file, from GNU gettext.
77044
77045 2003-02-02  Jim Meyering  <jim@meyering.net>
77046
77047         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
77048         e.g. glibc-2.2.93.
77049
77050 2003-01-31  Bruno Haible  <bruno@clisp.org>
77051
77052         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
77053         'rpl_rename'.
77054         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
77055         'rpl_strnlen'.
77056         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
77057         'rpl_strtod'.
77058         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
77059         'rpl_utime'.
77060
77061 2003-01-31  Bruno Haible  <bruno@clisp.org>
77062
77063         * lib/rename.c: #undef rename before defining rpl_rename.
77064         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
77065
77066 2003-01-30  Bruno Haible  <bruno@clisp.org>
77067
77068         * modules/vasnprintf, modules/vasprintf: New modules.
77069         * MODULES.html.sh (func_all_modules): Add them.
77070
77071 2003-01-30  Bruno Haible  <bruno@clisp.org>
77072
77073         * m4/signed.m4: New file, from GNU gettext.
77074         * m4/longdouble.m4: New file, from GNU gettext.
77075         * m4/wchar_t.m4: New file, from GNU gettext.
77076         * m4/wint_t.m4: New file, from GNU gettext.
77077         * m4/vasnprintf.m4: New file.
77078         * m4/vasprintf.m4: New file.
77079
77080 2003-01-30  Bruno Haible  <bruno@clisp.org>
77081
77082         * lib/printf-args.h: New file, from GNU gettext.
77083         * lib/printf-args.c: New file, from GNU gettext.
77084         * lib/printf-parse.h: New file, from GNU gettext.
77085         * lib/printf-parse.c: New file, from GNU gettext.
77086         * lib/vasnprintf.h: New file, from GNU gettext.
77087         * lib/vasnprintf.c: New file, from GNU gettext.
77088         * lib/asnprintf.c: New file, from GNU gettext.
77089         * lib/vasprintf.h: New file, from GNU gettext with modifications.
77090         * lib/vasprintf.c: New file, from GNU gettext.
77091         * lib/asprintf.c: New file, from GNU gettext.
77092
77093 2003-01-29  Bruno Haible  <bruno@clisp.org>
77094
77095         * modules/stpncpy: New module.
77096         * MODULES.html.sh (func_all_modules): Add it.
77097
77098 2003-01-29  Bruno Haible  <bruno@clisp.org>
77099
77100         * m4/stpncpy.m4: New file.
77101
77102 2003-01-29  Bruno Haible  <bruno@clisp.org>
77103
77104         * lib/stpncpy.h: New file, from GNU gettext with modifications.
77105         * lib/stpncpy.c: New file, from GNU gettext with modifications.
77106
77107 2003-01-28  Bruno Haible  <bruno@clisp.org>
77108
77109         * modules/c-ctype: New module.
77110         * MODULES.html.sh (func_all_modules): Add it.
77111
77112 2003-01-28  Bruno Haible  <bruno@clisp.org>
77113
77114         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
77115         Paul Eggert.
77116         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
77117         Paul Eggert.
77118
77119 2003-01-27  Bruno Haible  <bruno@clisp.org>
77120
77121         * modules/xsetenv: New module.
77122         * MODULES.html.sh (func_all_modules): Add it.
77123
77124 2003-01-27  Bruno Haible  <bruno@clisp.org>
77125
77126         * lib/xsetenv.h: New file, from GNU gettext.
77127         * lib/xsetenv.c: New file, from GNU gettext.
77128
77129 2003-01-23  Jim Meyering  <jim@meyering.net>
77130
77131         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
77132         from working on systems without dirfd (at least Irix and OSF1/Tru64).
77133
77134 2003-01-23  Bruno Haible  <bruno@clisp.org>
77135
77136         * modules/minmax: New module.
77137         * MODULES.html.sh (func_all_modules): Add it.
77138
77139 2003-01-23  Bruno Haible  <bruno@clisp.org>
77140
77141         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
77142         Eggert.
77143
77144 2003-01-22  Bruno Haible  <bruno@clisp.org>
77145
77146         * modules/exit: New module.
77147         * MODULES.html.sh (func_all_modules): Add it.
77148
77149 2003-01-22  Bruno Haible  <bruno@clisp.org>
77150
77151         * lib/exit.h: New file, from GNU gettext.
77152
77153 2003-01-19  Bruno Haible  <bruno@clisp.org>
77154
77155         * gnulib-tool: Recognize option --extract-maintainer.
77156         (func_get_maintainer): New function.
77157         * modules/*: Add Maintainer entry.
77158
77159 2003-01-16  Jim Meyering  <jim@meyering.net>
77160
77161         * m4/regex.m4: The `regex' struct is both input and output.
77162         Initialize it before each use.  Patch by Tim Waugh.
77163
77164 2003-01-16  Bruno Haible  <bruno@clisp.org>
77165
77166         * MODULES.html.sh: Add a table of contents. Add the module name as
77167         leftmost column. Add hyperlinks.
77168
77169 2003-01-15  Bruno Haible  <bruno@clisp.org>
77170
77171         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
77172
77173 2003-01-15  Bruno Haible  <bruno@clisp.org>
77174
77175         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
77176         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
77177         suffix.
77178
77179 2003-01-15  Bruno Haible  <bruno@clisp.org>
77180
77181         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
77182
77183 2003-01-15  Bruno Haible  <bruno@clisp.org>
77184
77185         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
77186         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
77187
77188 2003-01-14  Jim Meyering  <jim@meyering.net>
77189
77190         * lib/same.c (same_name): Tweak a comment.
77191
77192 2003-01-14  Bruno Haible  <bruno@clisp.org>
77193
77194         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
77195         when a string comparison is sufficient.
77196
77197 2003-01-14  Bruno Haible  <bruno@clisp.org>
77198
77199         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
77200         'unsigned int'.
77201
77202 2003-01-14  Bruno Haible  <bruno@clisp.org>
77203
77204         * lib/hash-pjw.c: Add comment about low quality of this function.
77205
77206 2003-01-13  Bruno Haible  <bruno@clisp.org>
77207
77208         * modules/stpcpy: Distribute lib/stpcpy.h.
77209         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
77210
77211 2003-01-13  Bruno Haible  <bruno@clisp.org>
77212
77213         * modules/*: Add a description.
77214         * modules/strpbrk: Fix Makefile.am snippet.
77215         * modules/strtoimax: Fix dependencies.
77216         * modules/strtoumax: Likewise.
77217
77218 2003-01-13  Bruno Haible  <bruno@clisp.org>
77219
77220         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
77221         * modules/alloca (Makefile.am): All object files depend on alloca.h.
77222         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
77223
77224 2003-01-13  Bruno Haible  <bruno@clisp.org>
77225
77226         * gnulib-tool (func_create_testdir): Store config/* files in the main
77227         directory.
77228         * config.rpath: Move to ...
77229         * config/config.rpath: ... here.
77230         * modules/gettext: Contains config/config.rpath, not config.rpath.
77231         * modules/iconv: Likewise.
77232
77233 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77234
77235         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77236         to avoid collisions with libcurses and libreadline.
77237
77238         * m4/getstr.m4: Remove.
77239         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
77240
77241 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77242
77243         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77244         to avoid collisions with libcurses and libreadline.
77245
77246         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
77247         * lib/getstr.h, getstr.c: Remove.
77248         * lib/getline.c: Include "getline.h", to check interface.
77249         Move body of old getstr.c here: this defines MIN_CHUNK and
77250         declares getdelim2, which is renamed from getstr.
77251         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
77252
77253         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
77254         All uses changed.
77255         * lib/linebuffer.h: Likewise.
77256         (readline): Remove backward-compatibility macro.
77257
77258 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77259
77260         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77261         to avoid collisions with libcurses and libreadline.
77262         * getstr: Remove.
77263         * MODULES.html.sh: Remove getstr.
77264         * modules/getline: Depend on unlocked-io, not getstr.
77265
77266 2003-01-12  Jim Meyering  <jim@meyering.net>
77267
77268         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
77269
77270 2003-01-10  Bruno Haible  <bruno@clisp.org>
77271
77272         * modules/alloca: Change Makefile.am requirements. Simplify Include
77273         requirements. Add lib/alloca_.h to file list.
77274
77275 2003-01-10  Bruno Haible  <bruno@clisp.org>
77276
77277         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
77278
77279 2003-01-10  Bruno Haible  <bruno@clisp.org>
77280
77281         * lib/alloca_.h: New file.
77282         * lib/getdate.y: Unconditionally include alloca.h.
77283         * lib/makepath.c: Likewise.
77284         * lib/setenv.c: Likewise.
77285         * lib/userspec.c: Likewise.
77286
77287 2003-01-09  Karl Berry  <karl@gnu.org>
77288
77289         * MODULES.html.sh: include `dirname $0` in PATH, to find
77290         gnulib-tool.
77291
77292 2003-01-09  Bruno Haible  <bruno@clisp.org>
77293
77294         * modules/stdbool: Change configure.ac, Makefile.am requirements.
77295         Simplify Include requirements. Add lib/stdbool.h.in to file list.
77296
77297 2003-01-09  Bruno Haible  <bruno@clisp.org>
77298
77299         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
77300
77301 2003-01-09  Bruno Haible  <bruno@clisp.org>
77302
77303         * lib/stdbool.h.in: New file.
77304
77305 2003-01-09  Bruno Haible  <bruno@clisp.org>
77306
77307         * gnulib-tool (func_all_modules): Ignore files ending in ~.
77308         * MODULES.html.sh: Likewise.
77309
77310 2003-01-08  Jim Meyering  <jim@meyering.net>
77311
77312         * lib/full-write.c: Undefine and define-away `const' after inclusion
77313         of errno.h, not before.  Suggestion from Bruno Haible.
77314
77315 2003-01-08  Bruno Haible  <bruno@clisp.org>
77316
77317         * modules/full-read: Depend on full-write.
77318
77319 2003-01-08  Bruno Haible  <bruno@clisp.org>
77320
77321         * lib/safe-read.c: Include specification header first, to ensure its
77322         selfcontainedness.
77323         * lib/full-write.c: Likewise.
77324
77325 2003-01-07  Jim Meyering  <jim@meyering.net>
77326
77327         * lib/full-write.c: Rework so that it may serve to define full_read,
77328         too.
77329         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
77330
77331 2003-01-07  Bruno Haible  <bruno@clisp.org>
77332
77333         * lib/strtoimax.c: Include <stdint.h> as an alternative to
77334         <inttypes.h>.
77335         * lib/xstrtol.h: Likewise.
77336         * lib/xstrtoimax.c: Likewise.
77337         * lib/xstrtoumax.c: Likewise.
77338         * lib/human.h: Likewise.
77339
77340         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
77341         on systems that have <inttypes.h> but not <stdint.h>.
77342
77343 2003-01-07  Bruno Haible  <bruno@clisp.org>
77344
77345         * MODULES.html.sh: Add copyright notice.
77346         (missed_files): Omit CVS directory entries.
77347         (func_module): Make it work with sed-3.02.
77348         * MODULES.txt: Remove file.
77349
77350 2003-01-06  Jim Meyering  <jim@meyering.net>
77351
77352         * lib/version-etc.c: Update year in translatable copyright string.
77353
77354 2003-01-03  Karl Berry  <karl@gnu.org>
77355
77356         * config/config.{guess,sub}: update from prep.
77357
77358 2003-01-02  Karl Berry  <karl@gnu.org>
77359
77360         * doc/COPYING.DOC: belatedly updated to 1.2.
77361
77362 2003-01-01  Karl Berry  <karl@gnu.org>
77363
77364         * gnulib-tool (func_verify_module): report module name $module in
77365         error message, not $1.
77366         * gnulib-tool (create-testdir): don't complain if destdir couldn't
77367         be created, only if it doesn't exist.
77368         * gnulib-tool (last_checkin_date): don't expand the $Date here.
77369
77370 2002-12-31  Paul Eggert  <eggert@twinsun.com>
77371
77372         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
77373
77374 2002-12-31  Paul Eggert  <eggert@twinsun.com>
77375
77376         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
77377         memcmp if strcoll doesn't work.
77378
77379 2002-12-31  Bruno Haible  <bruno@clisp.org>
77380
77381         * lib/utime.c (utime_null): No need to call ftruncate if the file was
77382         nonempty.
77383
77384 2002-12-31  Bruno Haible  <bruno@clisp.org>
77385
77386         * lib/memcoll.c (STRCOLL): New macro.
77387         (memcoll): Use it.
77388
77389 2002-12-31  Bruno Haible  <bruno@clisp.org>
77390
77391         * lib/localcharset.h: New file.
77392         * lib/localcharset.c: Include it.
77393         * lib/unicodeio.c: Likewise.
77394
77395 2002-12-31  Bruno Haible  <bruno@clisp.org>
77396
77397         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
77398         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
77399
77400 2002-12-31  Bruno Haible  <bruno@clisp.org>
77401
77402         * lib/getline.h: Include <stddef.h>, for size_t.
77403
77404         * lib/unicodeio.h: Include <stddef.h>, for size_t.
77405         * lib/unicodeio.c: Don't include <stddef.h>.
77406
77407 2002-12-31  Bruno Haible  <bruno@clisp.org>
77408
77409         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
77410         HAVE_TM_ZONE.
77411
77412 2002-12-24  Karl Berry  <karl@gnu.org>
77413
77414         * config/config.guess: update from prep.
77415
77416 2002-12-24  Bruno Haible  <bruno@clisp.org>
77417
77418         General infrasructure.
77419         * m4/README: Rewritten.
77420         * m4/onceonly.m4: New file.
77421         * m4/onceonly_2_57.m4: New file.
77422
77423         Module atexit.
77424         * m4/atexit.m4: New file.
77425
77426         Module strtod.
77427         * m4/strtod.m4: New file.
77428
77429         Module strtol.
77430         * m4/strtol.m4: New file.
77431
77432         Module strtoul.
77433         * m4/strtoul.m4: New file.
77434
77435         Module memchr.
77436         * m4/memchr.m4: New file.
77437
77438         Module memcmp.
77439         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
77440         (jm_FUNC_MEMCMP): Invoke it.
77441
77442         Module memcpy.
77443         * m4/memcpy.m4: New file.
77444
77445         Module memmove.
77446         * m4/memmove.m4: New file.
77447
77448         Module memset.
77449         * m4/memset.m4: New file.
77450
77451         Module strcspn.
77452         * m4/strcspn.m4: New file.
77453
77454         Module strpbrk.
77455         * m4/strpbrk.m4: New file.
77456
77457         Module strstr.
77458         * m4/strstr.m4: New file.
77459
77460         Module strerror.
77461         * m4/strerror.m4: New file.
77462
77463         Module mktime.
77464         * m4/mktime.m4: Renamed from jm-mktime.m4.
77465         (gl_PREREQ_MKTIME): New macro.
77466         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
77467
77468         Module malloc.
77469         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
77470         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
77471         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
77472
77473         Module realloc.
77474         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
77475         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
77476         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
77477
77478         Module strftime.
77479         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
77480         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
77481         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
77482         gl_TM_GMTOFF.
77483         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
77484
77485         Module xalloc.
77486         * m4/xalloc.m4: New file.
77487
77488         Module alloca.
77489         * m4/alloca.m4: New file.
77490
77491         Module putenv.
77492         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
77493         (jm_FUNC_PUTENV): Invoke it.
77494
77495         Module setenv.
77496         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
77497         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
77498         when invoked twice.
77499         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
77500         gt_FUNC_SETENV.
77501
77502         Module memrchr.
77503         * m4/memrchr.m4: New file.
77504
77505         Module stpcpy.
77506         * m4/stpcpy.m4: New file.
77507
77508         Module strcase.
77509         * m4/strcase.m4: New file.
77510
77511         Module strdup.
77512         * m4/strdup.m4: New file.
77513
77514         Module strnlen.
77515         * m4/strnlen.m4: New file.
77516
77517         Module strndup.
77518         * m4/strndup.m4: New file.
77519
77520         Module xstrtod.
77521         * m4/xstrtod.m4: New file.
77522
77523         Module xstrtol.
77524         * m4/xstrtol.m4: New file.
77525
77526         Module getdate.
77527         * m4/getdate.m4: New file.
77528
77529         Module unlocked-io.
77530         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
77531         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
77532         * m4/jm-glibc-io.m4n: Remove file.
77533
77534         Module long-options.
77535         * m4/long-options.m4: New file.
77536
77537         Module md5.
77538         * m4/md5.m4: New file.
77539
77540         Module sha.
77541         * m4/sha.m4: New file.
77542
77543         Module getstr.
77544         * m4/getstr.m4: New file.
77545
77546         Module getline.
77547         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
77548         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
77549         <sys/types.h>, for size_t. Use the function name gnu_getline, not
77550         simply getline. Infoke gl_PREREQ_GETLINE.
77551
77552         Module obstack.
77553         * m4/obstack.m4: New file.
77554
77555         Module hash.
77556         * m4/hash.m4: New file.
77557
77558         Module readtokens.
77559         * m4/readtokens.m4: New file.
77560
77561         Module strverscmp.
77562         * m4/strverscmp.m4: New file.
77563
77564         Module stdbool.
77565         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
77566         OSF/1.
77567
77568         Module strtoll.
77569         * m4/strtoll.m4: New file.
77570
77571         Module strtoull.
77572         * m4/strtoull.m4: New file.
77573
77574         Module strtoimax.
77575         * m4/strtoimax.m4: New file.
77576
77577         Module strtoumax.
77578         * m4/strtoumax.m4: New file.
77579
77580         Module xstrtoimax.
77581         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
77582         jm_AC_PREREQ_XSTRTOIMAX.
77583         Moved the strtol prerequisites to strtol.m4.
77584         Moved the strtoll prerequisites to strtoll.m4.
77585         Moved the strtoimax prerequisites to strtoimax.m4.
77586
77587         Module xstrtoumax.
77588         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
77589         jm_AC_PREREQ_XSTRTOUMAX.
77590         Moved the strtoul prerequisites to strtoul.m4.
77591         Moved the strtoull prerequisites to strtoull.m4.
77592         Moved the strtoumax prerequisites to strtoumax.m4.
77593
77594         Module chown.
77595         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
77596         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
77597
77598         Module dup2.
77599         * m4/dup2.m4: New file.
77600
77601         Module ftruncate.
77602         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
77603         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
77604
77605         Module getgroups.
77606         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
77607         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
77608
77609         Module gettimeofday.
77610         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
77611         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
77612         gl_PREREQ_GETTIMEOFDAY.
77613
77614         Module mkdir.
77615         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
77616         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
77617
77618         Module mkstemp.
77619         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
77620         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
77621         jm_AC_TYPE_UINTMAX_T.
77622         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
77623
77624         Module stat.
77625         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
77626         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
77627
77628         Module lstat.
77629         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
77630         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
77631
77632         Module timespec.
77633         * m4/timespec.m4 (gl_TIMESPEC): New macro.
77634         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
77635         * m4/st_mtim.m4: Indentation.
77636
77637         Module nanosleep.
77638         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
77639         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
77640         gl_PREREQ_NANOSLEEP.
77641
77642         Module regex.
77643         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
77644         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
77645         (gl_REGEX): New macro.
77646
77647         Module rename.
77648         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
77649         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
77650
77651         Module rmdir.
77652         * m4/rmdir.m4: New file.
77653
77654         Module utime.
77655         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
77656         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
77657         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
77658
77659         Module dirname.
77660         * m4/dirname.m4: New file.
77661
77662         Module getopt.
77663         * m4/getopt.m4: New file.
77664
77665         Module unistd-safer.
77666         * m4/unistd-safer.m4: New file.
77667
77668         Module fnmatch.
77669         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
77670         declaration.
77671         (gl_PREREQ_FNMATCH_EXTRA): New macro.
77672         (gl_FUNC_FNMATCH_POSIX): New macro.
77673         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
77674         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
77675         simply fnmatch.
77676
77677         Module exclude.
77678         * m4/exclude.m4: New file.
77679
77680         Module human.
77681         * m4/human.m4: New file.
77682
77683         Module acl.
77684         * m4/acl.m4: Nop.
77685
77686         Module backupfile.
77687         * m4/backupfile.m4: New file.
77688         * m4/d-ino.m4: Indentation.
77689
77690         Module fsusage.
77691         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
77692         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
77693         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
77694
77695         Module dirfd.
77696         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
77697         requirements.
77698
77699         Module euidaccess.
77700         * m4/euidaccess.m4: New file.
77701
77702         Module file-type.
77703         * m4/file-type.m4: New file.
77704
77705         Module fileblocks.
77706         * m4/fileblocks.m4: New file.
77707
77708         Module filemode.
77709         * m4/filemode.m4: New file.
77710
77711         Module isdir.
77712         * m4/isdir.m4: New file.
77713
77714         Module lchown.
77715         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
77716         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
77717
77718         Module makepath.
77719         * m4/makepath.m4: New file.
77720
77721         Module modechange.
77722         * m4/modechange.m4: New file.
77723
77724         Module mountlist.
77725         * m4/mountlist.m4: New file.
77726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
77727         Indentation.
77728
77729         Module path-concat.
77730         * m4/path-concat.m4: New file.
77731
77732         Module pathmax.
77733         * m4/pathmax.m4: New file.
77734
77735         Module same.
77736         * m4/same.m4: New file.
77737
77738         Module save-cwd.
77739         * m4/save-cwd.m4: New file.
77740
77741         Module savedir.
77742         * m4/savedir.m4: New file.
77743
77744         Module xgetcwd.
77745         * m4/xgetcwd.m4: New file.
77746         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
77747
77748         Module xreadlink.
77749         * m4/xreadlink.m4: New file.
77750
77751         Module safe-read.
77752         * m4/safe-read.m4: New file.
77753
77754         Module safe-write.
77755         * m4/safe-write.m4: New file.
77756
77757         Module closeout.
77758         * m4/closeout.m4: New file.
77759
77760         Module stdio-safer.
77761         * m4/stdio-safer.m4: New file.
77762
77763         Module getpass.
77764         * m4/getpass.m4: New file.
77765
77766         Module getugroups.
77767         * m4/getugroups.m4: New file.
77768
77769         Module group-member.
77770         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
77771         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
77772
77773         Module idcache.
77774         * m4/idcache.m4: New file.
77775
77776         Module userspec.
77777         * m4/userspec.m4: New file.
77778
77779         Module gettime.
77780         * m4/clock_time.m4: New file.
77781         * m4/gettime.m4: New file.
77782
77783         Module settime.
77784         * m4/settime.m4: New file.
77785
77786         Module posixtm.
77787         * m4/posixtm.m4: New file.
77788
77789         Module gethostname.
77790         * m4/gethostname.m4: New file.
77791
77792         Module canon-host.
77793         * m4/canon-host.m4: New file.
77794
77795         Module gettext.
77796         * m4/codeset.m4: New file, from gettext-0.11.5.
77797         * m4/gettext.m4: New file, from gettext-0.11.5.
77798         * m4/glibc21.m4: New file, from gettext-0.11.5.
77799         * m4/iconv.m4: New file, from gettext-0.11.5.
77800         * m4/intdiv0.m4: New file, from gettext-0.11.5.
77801         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
77802         * m4/inttypes.m4: New file, from gettext-0.11.5.
77803         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
77804         * m4/isc-posix.m4: New file, from gettext-0.11.5.
77805         * m4/lcmessage.m4: New file, from gettext-0.11.5.
77806         * m4/lib-ld.m4: New file, from gettext-0.11.5.
77807         * m4/lib-link.m4: New file, from gettext-0.11.5.
77808         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
77809         * m4/progtest.m4: New file, from gettext-0.11.5.
77810         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
77811         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
77812         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
77813
77814         Module localcharset.
77815         * m4/localcharset.m4: New file.
77816
77817         Module hard-locale.
77818         * m4/hard-locale.m4: New file.
77819
77820         Module mbswidth.
77821         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
77822         onceonly macros.
77823         * m4/mbrtowc.m4: Add comment.
77824
77825         Module memcasecmp.
77826         * m4/memcasecmp.m4: New file.
77827
77828         Module memcoll.
77829         * m4/memcoll.m4: New file.
77830
77831         Module unicodeio.
77832         * m4/unicodeio.m4: New file.
77833
77834         Module rpmatch.
77835         * m4/rpmatch.m4: New file.
77836
77837         Module yesno.
77838         * m4/yesno.m4: New file.
77839
77840         Module exitfail.
77841         * m4/exitfail.m4: New file.
77842
77843         Module c-stack.
77844         * m4/c-stack.m4 (gl_C_STACK): New macro.
77845         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
77846
77847         Module error.
77848         * m4/error.m4 (gl_ERROR): New macro.
77849         (jm_PREREQ_ERROR): Use onceonly macros.
77850
77851         Module fatal.
77852         * m4/fatal.m4: New file.
77853
77854         Module getloadavg.
77855         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
77856         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
77857
77858         Module getpagesize.
77859         * m4/getpagesize.m4: New file.
77860
77861         Module getusershell.
77862         * m4/getusershell.m4: New file.
77863
77864         Module physmem.
77865         * m4/physmem.m4: New file.
77866
77867         Module posixver.
77868         * m4/posixver.m4: New file.
77869
77870         Module quotearg.
77871         * m4/quotearg.m4: New file.
77872
77873         Module quote.
77874         * m4/quote.m4: New file.
77875
77876         Module readutmp.
77877         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
77878
77879         Module sig2str.
77880         * m4/sig2str.m4: New file.
77881
77882         Other.
77883         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
77884         ulonglong.m4.
77885         * m4/intmax_t.m4: New file.
77886         * m4/d-type.m4: Indentation.
77887         * m4/jm-macros.m4: Update.
77888         * m4/prereq.m4 (jm_PREREQ): Update.
77889         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
77890         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
77891         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
77892         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
77893         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
77894         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
77895         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
77896         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
77897         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
77898         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
77899         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
77900         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
77901         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
77902         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
77903         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
77904         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
77905         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
77906         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
77907         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
77908
77909 2002-12-24  Bruno Haible  <bruno@clisp.org>
77910
77911         * MODULES.txt: Update according to m4/ changes.
77912
77913         Module gettext.
77914         * config.rpath: New file, from gettext-0.11.5.
77915
77916         * modules/*: New module descriptions.
77917         * gnulib-tool: New file.
77918         * MODULES.html.sh: New file.
77919
77920 2002-12-21  Karl Berry  <karl@gnu.org>
77921
77922         * doc/fdl.texi: update to version 1.2.
77923
77924 2002-12-19  Karl Berry  <karl@gnu.org>
77925
77926         * config/config.guess: update from prep.
77927
77928 2002-12-18  Bruno Haible  <bruno@clisp.org>
77929
77930         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
77931         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
77932
77933 2002-12-17  Bruno Haible  <bruno@clisp.org>
77934
77935         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
77936         stdlib.h, string.h.
77937
77938 2002-12-17  Bruno Haible  <bruno@clisp.org>
77939
77940         * lib/canon-host.c (strdup): Remove unused declaration.
77941
77942         * lib/fsusage.c: Include full_read.h.
77943         (get_fs_usage): Use full_read instead of safe_read.
77944
77945         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
77946
77947 2002-12-12  Karl Berry  <karl@gnu.org>
77948
77949         * config/config.guess: update from prep.
77950
77951 2002-12-11  Bruno Haible  <bruno@clisp.org>
77952
77953         * m4/setenv.m4: New file, from gettext-0.11.5.
77954
77955 2002-12-11  Bruno Haible  <bruno@clisp.org>
77956
77957         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
77958         not unsetenv().
77959         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
77960         modifications:
77961
77962         2002-12-11  Bruno Haible  <bruno@clisp.org>
77963
77964                 * setenv.c (alloca): Fall back to malloc.
77965                 (freea): New macro.
77966                 (setenv): Use freea() to free memory allocated with alloca().
77967
77968         2002-11-13  Bruno Haible  <bruno@clisp.org>
77969
77970                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
77971                 function declarations.
77972                 * unsetenv.c (unsetenv): Likewise.
77973
77974         2002-03-04  Bruno Haible  <bruno@clisp.org>
77975
77976                 Portability to AIX 4.3.3.
77977                 * unsetenv.c: New file, extracted from setenv.c.
77978                 * setenv.c: Move the unsetenv() function to unsetenv.c.
77979
77980         2001-12-20  Bruno Haible  <bruno@clisp.org>
77981
77982                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
77983                 use malloc instead. For SunOS 4.
77984
77985         2001-12-11  Bruno Haible  <bruno@clisp.org>
77986
77987                 * setenv.c: Declare alloca.
77988                 (compar_fn_t): New typedef.
77989                 (KNOWN_VALUE, STORE_VALUE): Use it.
77990
77991         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
77992         setenv.h.
77993
77994 2002-12-10  Paul Eggert  <eggert@twinsun.com>
77995
77996         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
77997         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
77998         Choose values that are less likely to collide with system fnmatch
77999         options.
78000         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
78001         defined (e.g., a pure POSIX system).
78002         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
78003         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
78004
78005 2002-12-06  Paul Eggert  <eggert@twinsun.com>
78006
78007         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
78008         a pain in practice to deal with generated m4 files.  This change
78009         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
78010
78011         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
78012         and jm-glibc-io.m4, as they are no longer a special case.
78013         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
78014         kludge and the auto-generation stuff.  Check only whether the
78015         functions are declared, not whether they exist, since older hosts
78016         that don't declare the functions can't use the optimization anyway.
78017
78018 2002-12-06  Jim Meyering  <jim@meyering.net>
78019
78020         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
78021
78022         Merge in changes from libc's misc/error.c, in preparation
78023         for the merge of gnulib's changes back into libc.
78024
78025         * lib/error.c (_): Define only if not already defined.
78026         Move definition to follow all #include directives.
78027         Include unlocked-io.h only if !_LIBC.
78028         [_LIBC]: Include <libio/libioP.h>.
78029         [USE_IN_LIBIO]: Include <libio/iolibio.h>
78030         (fflush): Tweak definition to use INTUSE.
78031         (putc): Define.
78032
78033 2002-12-05  Paul Eggert  <eggert@twinsun.com>
78034
78035         * lib/alloca.c [defined emacs]: Include "lisp.h".
78036         (xalloc_die) [defined emacs]: New macro.
78037         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
78038         [! defined emacs]: Include <xalloc.h>.
78039         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
78040         (pointer): Typedef to POINTER_TYPE *.
78041         (malloc): Remove decl; we now always use xmalloc.
78042         (alloca): Use old-style definition, since Emacs needs this.
78043         Check for arithmetic overflow when computing combined size.
78044
78045 2002-12-04  Paul Eggert  <eggert@twinsun.com>
78046
78047         Do not generate unlocked-io.h automatically, since it's easier to
78048         maintain it by hand.
78049
78050         * lib/unlocked-io.h: New file, from GNU diffutils,
78051         but with proper copyright notice and attribution.
78052         * lib/gen-uio: Remove.
78053         * lib/Makefile.am: Add copyright notice.
78054         (libfetish_a_SOURCES): Add unlocked-io.h.
78055         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
78056         (DISTCLEANFILES, io_functions): Remove macros.
78057         (EXTRA_DIST): Remove gen_uio.
78058         (unlocked-io.h): Remove rule.
78059
78060 2002-12-04  Jim Meyering  <jim@meyering.net>
78061
78062         Reflect the fact that stat.c and lstat.c are no longer generated.
78063         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
78064         (DISTCLEANFILES): Likewise.
78065         (EXTRA_DIST): Likewise.
78066         (all_local): Don't depend on stat.c or lstat.c.
78067         (stat.c, lstat.c): Remove rules.
78068         (EXTRA_DIST): Remove xstat.in.
78069
78070         * lib/xstat.in: Remove file.  Contents moved into stat.c.
78071         * lib/stat.c: New file.  Contents mostly from xstat.in.
78072         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
78073         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
78074
78075         * lib/safe-read.c: Rework so that it may serve to define safe_write,
78076         too.
78077         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
78078
78079 2002-12-03  Jim Meyering  <jim@meyering.net>
78080
78081         * lib/safe-read.c, safe-write.c: Change variable names and comments,
78082         but not semantics, to minimize the differences between these two files.
78083         (safe_read): Change comment to mention SAFE_READ_ERROR.
78084
78085         * lib/safe-read.c (IS_EINTR): Define.
78086         (safe_read): Use IS_EINTR in place of in-function cpp directives.
78087
78088 2002-12-02  Jim Meyering  <jim@meyering.net>
78089
78090         * lib/safe-read.c (EINTR): Define.
78091         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78092         (INT_MAX): Provide fallback.
78093         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
78094
78095         * lib/safe-read.h (SAFE_READ_ERROR): Define.
78096
78097 2002-12-02  Bruno Haible  <bruno@clisp.org>
78098
78099         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
78100         Define, taken from safe-read.c.
78101         (INT_MAX): Provide fallback.
78102         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
78103         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
78104
78105         * lib/safe-read.c (EINTR): Remove definition.
78106         (safe_read): Don't use EINTR if it is absent.
78107
78108 2002-12-01  Jim Meyering  <jim@meyering.net>
78109
78110         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
78111         zero.
78112         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
78113
78114 2002-11-27  Paul Eggert  <eggert@twinsun.com>
78115
78116         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
78117         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
78118         with `if (! (value < limit)) abort ();', for readability.
78119
78120 2002-11-26  Karl Berry  <karl@gnu.org>
78121
78122         * lib/strdup.c: copy from libc again, with jim's ok.
78123         * lib/.cppi-disable: re-add strdup.c
78124
78125 2002-11-25  Karl Berry  <karl@gnu.org>
78126
78127         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
78128         instead of "strtol.c".
78129
78130 2002-11-25  Karl Berry  <karl@gnu.org>
78131
78132         * config/install-sh: update from automake for variable quoting, $0 in
78133         error msgs, etc.
78134
78135         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
78136         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
78137         entry.
78138
78139 2002-11-25  Jim Meyering  <jim@meyering.net>
78140
78141         * lib/mktime.c: Sync from libc, now that it has the latest fix.
78142
78143 2002-11-24  Karl Berry  <karl@gnu.org>
78144
78145         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
78146         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
78147
78148 2002-11-24  Jim Meyering  <jim@meyering.net>
78149
78150         Update from coreutils:
78151
78152         * lib/mktime.c: Merge in changes from libc.
78153
78154         Avoid a link-time failure on some Linux systems.
78155         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
78156         (otherwise).
78157         (__mon_yday): Declare with the STATIC attribute.
78158         (__mktime_internal): Likewise.
78159         Based on a report from Greg Schafer.
78160
78161 2002-11-23  Jim Meyering  <jim@meyering.net>
78162
78163         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
78164         Use `unsigned', not `int', as type of index.
78165
78166         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
78167
78168         * lib/fsusage.c: Remove unneeded parentheses around operands of
78169         `defined'.
78170
78171 2002-11-22  Paul Eggert  <eggert@twinsun.com>
78172
78173         * lib/quotearg.h: Allow multiple inclusion by surrounding with
78174         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
78175         so that we can be included first.
78176         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
78177         * lib/quotearg.c: Include quotearg.h immediately after config.h.
78178         No need to include stddef.h or sys/types.h any more.
78179         Surround local include files with "", not "<>".
78180         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
78181         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
78182         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
78183         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
78184         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
78185         (ISPRINT): Remove; no longer needed now that we assume C89.
78186
78187         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
78188         Preserve errno.
78189
78190         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
78191         quotearg_char): Use SIZE_MAX rather than
78192         (size_t) -1 when we are talking about "infinity".
78193
78194         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
78195
78196 2002-11-22  Paul Eggert  <eggert@twinsun.com>
78197
78198         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
78199         hint that one should use `if (! x) abort ();' rather than `assert
78200         (x);', and anyway it's one less thing to worry about configuring.
78201         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
78202         hash_rehash, hash_insert): Use abort rather than assert.
78203
78204 2002-11-22  Bruno Haible  <bruno@clisp.org>
78205
78206         * lib/safe-read.h: Assume C89. Add comments.
78207         (safe_read): Change return type to size_t.
78208         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
78209         byte counts > SSIZE_MAX correctly.
78210         * lib/safe-write.h: New file.
78211         * lib/safe-write.c: New file.
78212         * lib/full-read.h: New file.
78213         * lib/full-read.c: New file.
78214         * lib/full-write.h: Assume C89. Add comments.
78215         * lib/full-write.c: Include safe-write.h.
78216         (full_write): Rewritten to use safe_write.
78217         Suggested by Jim Meyering and Paul Eggert.
78218
78219 2002-11-21  Jim Meyering  <jim@meyering.net>
78220
78221         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
78222
78223         Merge in changes from the coreutils.
78224
78225         2002-09-25  Paul Eggert  <eggert@twinsun.com>
78226         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
78227         <stdint.h>.
78228         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
78229         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
78230         int.  Work more efficiently if X is the same width as uintmax_t.
78231         Do not compare X to -1, to avoid bogus compiler warning.
78232         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
78233         Don't assume that f_frsize and f_bsize are the same type.
78234
78235         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
78236         warning on FreeBSD.
78237
78238         * lib/makepath.c (make_path): Restore umask *before* creating the final
78239         component.
78240         (make_path): Minor reformatting.
78241
78242         * lib/xmalloc.c: Adjust to work with new autoconf macros,
78243         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
78244         HAVE_MALLOC/HAVE_REALLOC.
78245
78246         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
78247         dummy ones.  At least on GNU/Linux systems, `auto' means something
78248         else.
78249         From Michael Stone.
78250
78251 2002-11-21  Bruno Haible  <bruno@clisp.org>
78252
78253         Remove case insensitive option matching.
78254         * lib/argmatch.h (argcasematch): Remove declaration.
78255         (ARGCASEMATCH): Remove macro.
78256         (__xargmatch_internal): Remove case_sensitive argument.
78257         (XARGMATCH): Update.
78258         (XARGCASEMATCH): Remove macro.
78259         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
78260         case_sensitive argument.
78261         (argcasematch): Remove function.
78262         (__xargmatch_internal): Remove case_sensitive argument.
78263         (main): Use XARGMATCH instead of XARGCASEMATCH.
78264
78265         * lib/xmalloc.c: Change compile-time error message. Add comment about
78266         required autoconf version.
78267
78268 2002-11-20  Paul Eggert  <eggert@twinsun.com>
78269
78270         Merge argmatch cleanups from Bison.  Assume C89.
78271
78272         * lib/argmatch.c: Include config.h here, not in argmatch.h.
78273         Include stdlib.h, for EXIT_FAILURE.
78274         Always include <string.h>, since we assume C89.
78275         (EXIT_FAILURE): Remove pre-C89 bug workaround.
78276         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
78277         Include <stddef.h> instead, since it's all we need for size_t.
78278         (PARAMS): Remove.  All uses removed.
78279         (ARRAY_CARDINALITY): Do not bother to #undef.
78280         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
78281         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
78282         Remove unnecessary parentheses.
78283         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
78284         Insert necessary parentheses.
78285         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
78286         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
78287
78288 2002-11-19  Bruno Haible  <bruno@clisp.org>
78289
78290         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
78291         * lib/mbswidth.h: Include <stddef.h>, for size_t.
78292
78293         * lib/mbswidth.h (PARAMS): Remove macro.
78294         (mbswidth, mbsnwidth): Use ANSI C function declarations.
78295         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
78296
78297         * lib/gcd.h (PARAMS): Remove macro.
78298         (gcd): Use ANSI C function declarations.
78299         * lib/gcd.c (gcd): Likewise.
78300
78301 2002-11-15  Bruno Haible  <bruno@clisp.org>
78302
78303         * lib/strcspn.c: Include <stddef.h>.
78304         (strcspn): Use ANSI C function declaration. Change return type to
78305         size_t. Use NULL.
78306         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
78307         (strpbrk): Use NULL.
78308         * lib/strpbrk.h (PARAMS): Remove macro.
78309         (strpbrk): Use ANSI C function declaration.
78310         * lib/strstr.c: Don't include <sys/types.h>.
78311         * lib/strstr.h (PARAMS): Remove macro.
78312         (strstr): Use ANSI C function declarations.
78313
78314 2002-11-14  Karl Berry  <karl@gnu.org>
78315
78316         * config/mkinstalldirs: `do' on separate line, instead of
78317         `for var; do'.
78318
78319 2002-11-06  Bruno Haible  <bruno@clisp.org>
78320
78321         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
78322         * lib/gcd.c (gcd): Likewise.
78323
78324 2002-11-05  Bruno Haible  <bruno@clisp.org>
78325
78326         * lib/gcd.h: New file, from gettext-0.11.5.
78327         * lib/gcd.c: New file, from gettext-0.11.5.
78328
78329 2002-11-05  Bruno Haible  <bruno@clisp.org>
78330
78331         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78332         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78333         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78334         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78335
78336         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
78337         <libintl.h>.
78338         * lib/makepath.c: Include gettext.h instead of <locale.h> and
78339         <libintl.h>.
78340
78341         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
78342         * lib/human.c: Include gettext.h instead of <libintl.h>.
78343         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
78344         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
78345         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
78346         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
78347         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
78348         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
78349         (textdomain): Remove definition.
78350         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
78351
78352         * lib/long-options.c: Remove include of <libintl.h> and definition of
78353         _.
78354         * lib/same.c: Remove include of <libintl.h> and definition of _.
78355
78356 2002-11-04  Owen Taylor  <otaylor@redhat.com>
78357
78358         * lib/config.charset: A few additions for Solaris.
78359
78360 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
78361
78362         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
78363         * lib/localcharset.c (locale_charset): Declare as extern "C".
78364
78365 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
78366
78367         * lib/config.charset: msdos in uk_UA uses CP1125.
78368
78369 2002-11-04  Bruno Haible  <bruno@clisp.org>
78370
78371         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
78372         * lib/strcase.h: New file, from GNU gettext-0.11.5.
78373         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
78374         * lib/strstr.h: New file, from GNU gettext-0.11.5.
78375         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
78376
78377 2002-11-04  Bruno Haible  <bruno@clisp.org>
78378
78379         * lib/localcharset.c (locale_charset): Don't return an empty string.
78380
78381 2002-11-04  Bruno Haible  <bruno@clisp.org>
78382
78383         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
78384         aliases.
78385
78386 2002-11-04  Bruno Haible  <bruno@clisp.org>
78387
78388         * lib/config.charset: Update for newest glibc. Add canonical names
78389         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
78390
78391 2002-11-04  Bruno Haible  <bruno@clisp.org>
78392
78393         * lib/config.charset: Add support for NetBSD.
78394
78395 2002-11-04  Bruno Haible  <bruno@clisp.org>
78396
78397         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
78398
78399 2002-11-01  Bruno Haible  <bruno@clisp.org>
78400
78401         * configure.in: Add AC_CONFIG_AUX_DIR call.
78402         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
78403         test/Makefile.
78404         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
78405
78406 2002-09-28  Karl Berry  <karl@gnu.org>
78407
78408         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
78409         installed automake until the next release, since changes have been
78410         made.
78411
78412 2002-09-25  Karl Berry  <karl@gnu.org>
78413
78414         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
78415         * lib/getopt*: copy from libc/posix.
78416         * lib/gettext.h: copy from gettext.
78417         * lib/.cppi-disable: add strdup.c, gettext.h.
78418
78419 2002-09-25  Karl Berry  <karl@gnu.org>
78420
78421         * config/srclist.txt: enable gettext.h check.
78422         * config/config.{guess,sub}: update from prep.
78423         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
78424                 from automake 1.6.3.
78425         See srclist*.
78426
78427 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
78428
78429         * regex.c (PATFETCH): Remove the translating fetch.
78430         (PATFETCH_RAW): Rename to PATFETCH.
78431         (set_image_of_range): New fun.
78432         (SET_RANGE_TABLE_WORK_AREA): Use it.
78433         (regex_compile): Don't translate the pattern chars so eagerly.
78434         Only do it when inserting an `exactn' bytecode or when handling
78435         a char-range.
78436         (mutually_exclusive_p): Avoid empty statement.
78437
78438 2002-07-06  Jim Meyering  <meyering@lucent.com>
78439
78440         * m4/README: Don't mention Makefile.am.in.
78441         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
78442
78443 2002-07-01  Jim Meyering  <meyering@lucent.com>
78444
78445         * lib/c-stack.c: Include sys/time.h.
78446         From Volker Borchert.
78447
78448 2002-06-26  Paul Eggert  <eggert@twinsun.com>
78449
78450         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
78451
78452 2002-06-26  Paul Eggert  <eggert@twinsun.com>
78453
78454         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
78455         New macro.  Use it uniformly instead of
78456         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
78457         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
78458         reported by Vin Shelton.
78459
78460 2002-06-22  Paul Eggert  <eggert@twinsun.com>
78461
78462         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
78463         Do not assume SA_SIGINFO behavior.
78464         Bug reported by Jim Meyering on NetBSD 1.5.2.
78465
78466 2002-06-22  Jim Meyering  <meyering@lucent.com>
78467
78468         * m4/c-stack.m4: New file, from diffutils-2.8.2.
78469         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
78470
78471         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
78472         now that configure.ac uses AC_GNU_SOURCE.
78473         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
78474         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
78475
78476         Update to latest tools.  Suggestions from Paul Eggert.
78477         * m4/stdbool.m4: New file, from diffutils-2.8.2.
78478         * m4/gnu-source.m4: Update from diffutils-2.8.2.
78479         * m4/fnmatch.m4: Likewise.
78480         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
78481         to AC_HEADER_STDBOOL
78482
78483 2002-06-22  Jim Meyering  <meyering@lucent.com>
78484
78485         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
78486         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
78487
78488 2002-06-22  Jim Meyering  <meyering@lucent.com>
78489
78490         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
78491
78492         * lib/exitfail.c, exitfail.h: Likewise.
78493         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
78494
78495         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
78496         of fnmatch.h.
78497         (EXTRA_DIST): Add fnmatch_loop.c.
78498         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
78499
78500         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
78501         * lib/fnmatch.c: Update from diffutils-2.8.2.
78502         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
78503         * lib/fnmatch.h: Remove file.
78504
78505 2002-06-21  Jim Meyering  <meyering@lucent.com>
78506
78507         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
78508         * m4/mbrtowc.m4: Likewise.
78509
78510         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
78511         * m4/mbswidth.m4: Reflect name change:
78512         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
78513         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78514
78515         * m4/lib-link.m4: Update from gettext-0.11.2.
78516         * m4/gettext.m4: Likewise.
78517
78518         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
78519         From Alfred M. Szmidt.
78520
78521 2002-06-18  Paul Eggert  <eggert@twinsun.com>
78522
78523         * lib/file-type.h: Report an error if neither S_ISREG nor
78524         S_IFREG is defined, instead of using a test specific to glibc
78525         2.2.  This should be safe, since POSIX requires S_ISREG and
78526         Unix Version 7 had S_IFREG.  We don't need to check for
78527         <sys/types.h> since we don't use any symbols that it defines.
78528
78529 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
78530
78531         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
78532         $@-t, so that each temporary file name is unique and valid in the first
78533         8 characters, for operation under DOS.
78534
78535 2002-06-15  Paul Eggert  <eggert@twinsun.com>
78536
78537         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
78538
78539 2002-06-15  Jim Meyering  <meyering@lucent.com>
78540
78541         Work even with DJGPP 2.03, which lacks support for symlinks.
78542         From Richard Dawe.
78543         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
78544         is defined.
78545         * lib/lchown.c (S_ISLNK): Likewise.
78546
78547 2002-06-15  Jim Meyering  <meyering@lucent.com>
78548
78549         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
78550         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
78551         have been included before this file.
78552
78553 2002-06-14  Jim Meyering  <meyering@lucent.com>
78554
78555         * lib/file-type.h: Use the version from diffutils-2.8.2.
78556         * lib/file-type.c: Likewise.
78557
78558 2002-06-07  Jim Meyering  <meyering@lucent.com>
78559
78560         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
78561         They're needed at least for NetBSD 1.5.2.
78562         ($statxfs_includes): Include those same headers.
78563         ($statxfs_includes): Include sys/vfs.h if available.
78564         ($statxfs_includes): Likewise for sys/statvfs.h.
78565         Check for the following members in both structs statfs and statvfs:
78566         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
78567
78568 2002-06-01  Jim Meyering  <meyering@lucent.com>
78569
78570         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
78571         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
78572
78573 2002-05-28  Jim Meyering  <meyering@lucent.com>
78574
78575         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
78576         Reported by Volker Borchert.
78577
78578 2002-05-27  Jim Meyering  <meyering@lucent.com>
78579
78580         Fix a problem seen only on nonconforming systems whereby ls.c's
78581         use of localtime, and then of gettimeofday would cause trouble:
78582         the localtime call used to initialize rpl_gettimeofday's save
78583         mechanism would clobber ls's current local time information so
78584         that in any long listing the first file would always be listed
78585         with date 1970-01-01.  Analysis by Volker Borchert.
78586
78587         * lib/gettimeofday.c (localtime): Undefine.
78588         (rpl_localtime): New function.
78589
78590 2002-05-27  Jim Meyering  <meyering@lucent.com>
78591
78592         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
78593         localtime.
78594
78595         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
78596         use the replacement function; it wouldn't resolve at link time.
78597         Reported by Volker Borchert.
78598
78599 2002-05-22  Jim Meyering  <meyering@lucent.com>
78600
78601         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
78602         file-type.h.
78603         * lib/file-type.h: New file.
78604         * lib/file-type.c (file_type): New file/function.  Extracted from
78605         diffutils.
78606
78607 2002-04-30  Jim Meyering  <meyering@lucent.com>
78608
78609         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
78610
78611 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78612
78613         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
78614
78615 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78616
78617         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
78618         Do not check for alloca.h (no longer used) or stdbool.h (was never
78619         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
78620
78621 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78622
78623         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
78624
78625 2002-04-29  Jim Meyering  <meyering@lucent.com>
78626
78627         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
78628         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
78629         Use AC_FUNC_STRNLEN here instead.
78630
78631         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
78632         With autoconf-2.53a, it's part of AC_PROG_CC.
78633
78634 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78635
78636         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
78637         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
78638
78639 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78640
78641         * lib/sig2str.h, lib/sig2str.c: New files.
78642         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
78643
78644 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78645
78646         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
78647         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
78648         of 127, since 64 is the largest conceivable number for ancient
78649         nonstandard hosts.
78650         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
78651
78652 2002-04-28  Jim Meyering  <meyering@lucent.com>
78653
78654         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
78655
78656 2002-04-24  Jim Meyering  <meyering@lucent.com>
78657
78658         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
78659         (jm_PREREQ): Use it.
78660
78661         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
78662         mach/mach.h fcntl.h.
78663         Check for this function: setlocale.
78664
78665 2002-04-24  Jim Meyering  <meyering@lucent.com>
78666
78667         * lib/gettext.h: New file, from Gettext.
78668         * lib/Makefile.am (INCLUDES): Remove -I../intl.
78669         (libfetish_a_SOURCES): Add gettext.h.
78670
78671 2002-04-16  Jim Meyering  <meyering@lucent.com>
78672
78673         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
78674         ut_pid, ut_id, ut_exit.
78675
78676 2002-04-16  Jim Meyering  <meyering@lucent.com>
78677
78678         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
78679         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
78680         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
78681
78682 2002-04-12  Jim Meyering  <meyering@lucent.com>
78683
78684         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
78685         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
78686         existence of the getmntinfo function.  Needed for Darwin 5.3.
78687
78688         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
78689         This is necessary at least on Darwin 5.3.
78690
78691         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
78692         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
78693         strnlen.o in the library, and that makes some versions of ranlib
78694         object.
78695
78696 2002-04-12  Jim Meyering  <meyering@lucent.com>
78697
78698         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
78699
78700 2002-04-09  Jim Meyering  <meyering@lucent.com>
78701
78702         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
78703         to be more precise.  Rather than saying we're checking whether the
78704         function `works', say what we're testing.
78705         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
78706         Reported by Bruno Haible.
78707
78708 2002-03-10  Jim Meyering  <meyering@lucent.com>
78709
78710         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
78711         Suggestion from Santiago Vila.
78712
78713 2002-03-08  Jim Meyering  <meyering@lucent.com>
78714
78715         * lib/rename.c: Mention that this wrapper is needed also on
78716         mips-dec-ultrix4.4 systems.
78717
78718 2002-03-02  Jim Meyering  <meyering@lucent.com>
78719
78720         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
78721         not HAVE_CLOCK_SETTIME.
78722
78723 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78724
78725         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
78726         Check for clock_settime.
78727
78728 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78729
78730         * lib/nanosleep.h: Rename to....
78731         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
78732
78733         * lib/gettime.c: New file.
78734         * lib/settime.c: New file.
78735         * lib/stime.c: Remove.
78736
78737         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
78738         timespec.h.  Remove nanosleep.h.
78739
78740 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78741
78742         * m4/acl.m4: New file.
78743         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
78744         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
78745
78746 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78747
78748         * lib/acl.c, lib/acl.h: New files.
78749         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
78750
78751 2002-02-24  Jim Meyering  <meyering@lucent.com>
78752
78753         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
78754         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
78755         cause trouble.  Reported by Nelson Beebe.
78756
78757 2002-02-23  Paul Eggert  <eggert@twinsun.com>
78758
78759         * lib/path-concat.c (xpath_concat): Reorder code to pacify
78760         compilers that don't know that xalloc_die never returns.
78761
78762 2002-02-20  Jim Meyering  <meyering@lucent.com>
78763
78764         * lib/getdate.c: Regenerate using bison-1.33.
78765
78766 2002-02-17  Jim Meyering  <meyering@lucent.com>
78767
78768         * config/config.guess (main): Don't use `head -1'; it's no longer
78769         portable. Use `sed 1q' instead.
78770
78771 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
78772
78773         * m4/codeset.m4: Upgrade to gettext-0.11.
78774         * m4/gettext.m4: Upgrade to gettext-0.11.
78775         * m4/glibc21.m4: Upgrade to gettext-0.11.
78776         * m4/iconv.m4: Upgrade to gettext-0.11.
78777         * m4/isc-posix.m4: Upgrade to gettext-0.11.
78778         * m4/lcmessage.m4: Upgrade to gettext-0.11.
78779         * m4/lib-ld.m4: New file, from gettext-0.11.
78780         * m4/lib-link.m4: New file, from gettext-0.11.
78781         * m4/lib-prefix.m4: New file, from gettext-0.11.
78782         * m4/progtest.m4: Upgrade to gettext-0.11.
78783
78784 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78785
78786         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
78787         (jm_PREREQ): Use it.
78788
78789 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78790
78791         * lib/posixver.c, lib/posixver.h: New files.
78792         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78793
78794 2002-02-02  Paul Eggert  <eggert@twinsun.com>
78795             Bruno Haible  <bruno@clisp.org>
78796
78797         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
78798         (fwrite_success_callback): New declaration.
78799         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
78800         print_unicode_char. Call failure callback instead of error.
78801         (fwrite_success_callback): New function.
78802         (exit_failure_callback): New function.
78803         (fallback_failure_callback): New function.
78804         (print_unicode_char): Call unicode_to_mb.
78805
78806 2002-01-26  Jim Meyering  <meyering@lucent.com>
78807
78808         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
78809         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
78810
78811 2002-01-26  Jim Meyering  <meyering@lucent.com>
78812
78813         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
78814
78815 2002-01-22  Paul Eggert  <eggert@twinsun.com>
78816
78817         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
78818
78819 2002-01-22  Jim Meyering  <meyering@lucent.com>
78820
78821         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
78822         Otherwise, some versions of automake would omit the rule that makes
78823         Makefile from Makefile.in.
78824
78825 2002-01-21  Paul Eggert  <eggert@twinsun.com>
78826
78827         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
78828         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78829         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
78830         (memcoll): Set errno to zero if there is no error.
78831
78832         * lib/quotearg.c (quotearg_buffer_restyled):
78833         Fix bug with quoting buffers containing NUL when backslashing escapes.
78834         This bug was exposed by the other changes in this patch.
78835         (quotearg_n_options): New arg ARGSIZE.
78836         All callers changed.
78837         (quoting_options_from_style): New function.
78838         (quotearg_n_style): Use it.
78839         (quotearg_n_style_mem): New function.
78840
78841         * lib/quotearg.h (quotearg_n_style_mem): New function.
78842
78843 2002-01-19  Jim Meyering  <meyering@lucent.com>
78844
78845         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
78846         Remove useless quotes: DF_PROG="df".
78847         * m4/strnlen.m4: New file.
78848
78849 2002-01-16  Paul Eggert  <eggert@twinsun.com>
78850
78851         * lib/backupfile.c (ISDIGIT): Comment fix.
78852         * lib/getdate.y (ISDIGIT): Likewise.
78853         * lib/posixtm.c (ISDIGIT, year): Likewise.
78854         * lib/strverscmp.c (ISDIGIT): Likewise.
78855         * lib/userspec.c (ISDIGIT): Likewise.
78856
78857 2002-01-16  Jim Meyering  <meyering@lucent.com>
78858
78859         * lib/getdate.y: Add three semicolons, each just before a closing
78860         brace. Bison (as of version 1.31) no longer papers over that mistake.
78861
78862 2002-01-05  Jim Meyering  <meyering@lucent.com>
78863
78864         * lib/version-etc.c (version_etc_copyright): Update copyright year.
78865
78866 2001-12-19  Paul Eggert  <eggert@twinsun.com>
78867
78868         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
78869         not silently exit merely because the output buffer happens to
78870         have nothing pending.
78871
78872 2001-12-18  Paul Eggert  <eggert@twinsun.com>
78873
78874         See the big note in ../ChangeLog.
78875         * lib/human.c (suffixes): Prefer K to k for 1024.
78876         (generate_suffix_backwards): New function.
78877         (human_readable_inexact): Use it.
78878         * lib/xstrtol.c (__xstrtol): If there is no number but there
78879         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
78880         Accept 'K' as well as 'k'.
78881
78882 2001-12-15  Jim Meyering  <meyering@lucent.com>
78883
78884         * lib/regex.h (__restrict_arr): Update from libc.
78885
78886         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
78887         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
78888         (STREQ): Define.
78889
78890 2001-12-14  Jim Meyering  <meyering@lucent.com>
78891
78892         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
78893         Suggestion from Bruno Haible.
78894
78895 2001-12-10  Jim Meyering  <meyering@lucent.com>
78896
78897         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
78898         xrealloc, Instead, include "xalloc.h".
78899         (initbuffer): Don't cast xmalloc return value to char*.
78900         (readline): Reword comment.
78901         Don't cast xrealloc return value to char*
78902         Return NULL, not 0.
78903
78904 2001-12-09  Jim Meyering  <meyering@lucent.com>
78905
78906         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
78907         about `signed and unsigned type in conditional expression'.
78908         * lib/posixtm.c (posix_time_parse): Likewise.
78909
78910         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
78911
78912         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
78913         to avoid a pedantic warning.
78914
78915         * lib/getstr.c: Don't include assert.h.
78916         (getstr): Remove warning-evoking assertions.
78917         Return -1 if offset parameter is out of bounds.
78918         Change the type of a local from int to size_t.
78919
78920         * lib/strftime.c (my_strftime_localtime_r): Include this function
78921         definition in the `#if ! HAVE_TM_GMTOFF' block.
78922
78923         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
78924         Include xalloc.h instead.
78925
78926 2001-12-02  Jim Meyering  <meyering@lucent.com>
78927
78928         * lib/tempname.c: Don't declare getenv, thus reverting the change of
78929         2001-11-18.  It's no longer necessary, now that stdlib.h is always
78930         included.
78931
78932         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
78933         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
78934
78935 2001-11-30  Akim Demaille  <akim@epita.fr>
78936
78937         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
78938         before being defined.
78939
78940 2001-11-27  Paul Eggert  <eggert@twinsun.com>
78941
78942         * lib/quotearg.h (quotearg_n, quotearg_n_style):
78943         First arg is int, not unsigned.
78944         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
78945         (SIZE_MAX, UINT_MAX): New macros.
78946         (quotearg_n_options): Abort if N is negative.
78947         Avoid overflow check on hosts where size_t is 64 bits and int
78948         is 32 bits, as overflow is impossible there.
78949         Fix off-by-one typo that caused unnecessary reallocation.
78950
78951 2001-11-27  Jim Meyering  <meyering@lucent.com>
78952
78953         * lib/tempname.c: Merge with version from libc.
78954         * lib/regex.c: Likewise.
78955
78956         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
78957         systems for which STDC_HEADERS is 0, it was not included, resulting in
78958         a warning about an integer-to-pointer conversion problem with getenv.
78959         Reported by Volker Borchert.
78960
78961 2001-11-26  Jim Meyering  <meyering@lucent.com>
78962
78963         * lib/gtod.h: Remove file.
78964         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
78965         * lib/gettimeofday.c: Don't include gtod.h.
78966         (GTOD_init): Remove function.
78967         (rpl_gettimeofday): Do its job here instead, rather than aborting.
78968         Suggestion from Volker Borchert.
78969
78970 2001-11-23  Jim Meyering  <meyering@lucent.com>
78971
78972         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
78973         it.
78974         * lib/hash.c (struct hash_table): Define it here instead.
78975
78976 2001-11-22  Jim Meyering  <meyering@lucent.com>
78977
78978         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
78979
78980 2001-11-20  Jim Meyering  <meyering@lucent.com>
78981
78982         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
78983         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
78984
78985 2001-11-19  Jim Meyering  <meyering@lucent.com>
78986
78987         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
78988         directory.  Use "conftestXXXXXX" as the template.
78989         Suggestion from Paul Eggert.
78990
78991         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
78992         immediately, so the test doesn't mistakenly hit the max-open-files
78993         limit.
78994
78995 2001-11-18  Paul Eggert  <eggert@twinsun.com>
78996
78997         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
78998         (TEMPORARIES): New macro.
78999         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
79000         removes an artificial limitation (e.g. HP-UX 10.20, where
79001         TMP_MAX is 17576).
79002
79003 2001-11-18  Jim Meyering  <meyering@lucent.com>
79004
79005         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
79006
79007 2001-11-18  Jim Meyering  <meyering@lucent.com>
79008
79009         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
79010         on SunOS 4.
79011
79012         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
79013         files will be created before anything else.
79014
79015 2001-11-17  Paul Eggert  <eggert@twinsun.com>
79016
79017         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
79018         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
79019
79020 2001-11-17  Jim Meyering  <meyering@lucent.com>
79021
79022         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
79023         Prompted by a report from Bob Proulx.
79024
79025         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
79026         Instead, require UTILS_FUNC_MKSTEMP.
79027
79028 2001-11-17  Jim Meyering  <meyering@lucent.com>
79029
79030         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
79031         Now, that's done as part of AC_FUNC_STRTOD.
79032
79033 2001-11-17  Jim Meyering  <meyering@lucent.com>
79034
79035         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
79036         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
79037         rather than group writable.  Patch by Juan F. Codagnone.
79038
79039         * lib/readtokens.c: Remove explicit declarations of xmalloc and
79040         xrealloc, Instead, include "xalloc.h".
79041
79042         * lib/mountlist.c: Include unlocked-io.h after all system headers.
79043         Remove explicit declarations of xmalloc, xrealloc,
79044         and xstrdup.  Instead, include "xalloc.h".
79045
79046         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
79047         unlocked-io.h.
79048         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
79049         Likewise.
79050         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
79051
79052         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
79053         Reported by Padraig Brady.
79054
79055         * lib/mkstemp.c: #undef mkstemp.
79056         Include config.h.
79057         (rpl_mkstemp): Rename from mkstemp.
79058         Protoize.
79059
79060 2001-11-16  Jim Meyering  <meyering@lucent.com>
79061
79062         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
79063         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
79064         determine the amount of total physical memory, use pstat_getstatic.
79065         HPUX-11 doesn't define _SC_PHYS_PAGES.
79066         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
79067         If sysconf couldn't be used to determine the amount of available
79068         physical memory, use both pstat_getstatic and pstat_getdynamic.
79069         Based on a patch from Bob Proulx.
79070
79071 2001-11-10  Jim Meyering  <meyering@lucent.com>
79072
79073         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
79074         (jm_PREREQ): Use it.
79075
79076 2001-11-09  Jim Meyering  <meyering@lucent.com>
79077
79078         * m4/jm-macros.m4: Require autoconf-2.52f.
79079         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
79080         Use these AC_-prefixed names, not the AM_-prefixed ones.
79081
79082         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
79083
79084 2001-11-05  Jim Meyering  <meyering@lucent.com>
79085
79086         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
79087
79088 2001-11-04  Jim Meyering  <meyering@lucent.com>
79089
79090         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
79091         $DEFS.
79092
79093 2001-11-03  Jim Meyering  <meyering@lucent.com>
79094
79095         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
79096         of AC_DEFUN.
79097
79098         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
79099         know the name of the variable in the macro definition.
79100
79101 2001-11-03  Jim Meyering  <meyering@lucent.com>
79102
79103         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
79104         in argmatch_to_argument call.
79105
79106         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
79107         argument.
79108
79109         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
79110         e.g., a fault due to an attempt to free a NULL pointer.
79111
79112 2001-11-01  Jim Meyering  <meyering@lucent.com>
79113
79114         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
79115         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
79116
79117 2001-11-01  Jim Meyering  <meyering@lucent.com>
79118
79119         * lib/dirfd.c, lib/dirfd.h: New files.
79120         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
79121
79122         * lib/hash.c (hash_print) [TESTING]: Clean up.
79123
79124 2001-10-22  Paul Eggert  <eggert@twinsun.com>
79125
79126         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
79127         to avoid a warning if -Wall.
79128
79129 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
79130
79131         * README: New file
79132         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
79133         (per RMS's instructions, this is now the canonical source)
79134         * lgpl/, gpl/: New directories.
79135
79136 2001-10-21  Paul Eggert  <eggert@twinsun.com>
79137
79138         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
79139
79140 2001-10-21  Jim Meyering  <meyering@lucent.com>
79141
79142         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
79143         this code would end up calling gettext even in packages built
79144         with --disable-nls.
79145         * lib/getopt.c (_): Likewise.
79146         * lib/regex.c (_): Likewise.
79147
79148 2001-10-20  Paul Eggert  <eggert@twinsun.com>
79149
79150         * m4/error.m4 (jm_PREREQ_ERROR):
79151         Do not invoke AC_CHECK_FUNCS with strerror_r, as
79152         AC_FUNC_STRERROR_R does that.
79153         Check for strerror declaration.
79154
79155         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
79156         are supposed to have them these days.
79157         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
79158         Merge changes from latest Autoconf CVS.
79159         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
79160         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
79161         POSIX decided to standardize on the int flavor of strerror_r.
79162
79163 2001-10-20  Paul Eggert  <eggert@twinsun.com>
79164
79165         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
79166         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
79167         Use strerror_r that is only a macro, even if it is not a function.
79168         (strerror): Check for HAVE_DECL_STRERROR before declaring.
79169         (private_strerror): Use prototypes, not old-style function definition.
79170         (print_errno_message): New function.
79171         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
79172         char*-flavored one.
79173         (error_tail, error, error_at_line): Use it.
79174
79175 2001-10-11  Jim Meyering  <meyering@lucent.com>
79176
79177         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
79178         and quote_n (1, ... to avoid clobbering a buffer.
79179
79180 2001-10-05  Jim Meyering  <meyering@lucent.com>
79181
79182         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
79183         hash-pjw.h.
79184         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
79185         * lib/hash-pjw.h: New file.
79186
79187 2001-09-30  Jim Meyering  <meyering@lucent.com>
79188
79189         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
79190         `struct fsstat' has the `f_fstypename' member.
79191         Use that to define FS_TYPE, which is now used to make
79192         the getfsstat link test tighter.
79193
79194 2001-09-30  Jim Meyering  <meyering@lucent.com>
79195
79196         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
79197         Include <sys/ucred.h>, for Apple Darwin.
79198         Include sys/mount.h and sys/fs_types.h only if available.
79199         (FS_TYPE): Define.
79200         (read_filesystem_list): Use FS_TYPE.
79201
79202 2001-09-29  Paul Eggert  <eggert@twinsun.com>
79203
79204         * lib/exclude.c (excluded_filename): 0 -> false, since it's
79205         a boolean context.
79206
79207 2001-09-29  Jim Meyering  <meyering@lucent.com>
79208
79209         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79210         [one-argument getmntent function]): Include stdio.h before mntent.h.
79211         SunOS 4.1.x needs it for the declaration of `FILE'.
79212         Patch by Volker Borchert.
79213
79214         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79215         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
79216         sys/fs_types.h, and make the link-test for getfsstat guard #include
79217         directives with appropriate #if HAVE_*_H tests so that we can
79218         detect getfsstat on Apple Darwin1.3.7 systems.
79219         Reported by Nelson Beebe.
79220         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
79221
79222 2001-09-28  Paul Eggert  <eggert@twinsun.com>
79223
79224         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
79225         #defines strtoimax.  Also treat the other strto* functions
79226         like strtoimax.
79227
79228         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
79229         Check for strtoul and strtoumax,
79230         as those declarations are made even in the signed case.
79231         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
79232         Likewise, for strtol and strtoimax.
79233
79234 2001-09-28  Paul Eggert  <eggert@twinsun.com>
79235
79236         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
79237         #defines strtoimax.  Also treat the other strto* functions
79238         like strtoimax.
79239
79240         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
79241         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
79242         (strtoimax, strtoumax): Do not declare if already defined as a macro.
79243
79244 2001-09-26  Jim Meyering  <meyering@lucent.com>
79245
79246         Most macros in unlocked-io.h had the wrong number of arguments.
79247         * lib/gen-uio: New script.
79248         (USE_UNLOCKED_IO): Define to 1 if not already defined.
79249         * lib/unlocked-io.hin: Remove file.
79250         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
79251         rather than trying to embed it here.
79252         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
79253         Reported by Padraig Brady.
79254
79255 2001-09-25  Volker Borchert  <bt@teknon.de>
79256
79257         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
79258         `result'.
79259
79260 2001-09-24  Jim Meyering  <meyering@lucent.com>
79261
79262         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
79263
79264 2001-09-23  Jim Meyering  <meyering@lucent.com>
79265
79266         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
79267         instead of the mere test for existence of mntent.h.  The latter
79268         would get a false-positive on AIX 3.4 systems.
79269         In the outer getmntent if-block, don't die if neither of the getmntent
79270         tests succeeds.  Instead, just fall through and continue with the
79271         remaining tests.
79272
79273 2001-09-23  Jim Meyering  <meyering@lucent.com>
79274
79275         * lib/mountlist.c: Remove useless parentheses in #if directives.
79276         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
79277         the deprecated MOUNTED symbol is no longer defined in mntent.h.
79278
79279 2001-09-22  Jim Meyering  <meyering@lucent.com>
79280
79281         * m4/gettext.m4: New file.  From gettext.
79282         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
79283         * m4/progtest.m4: Likewise
79284         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
79285         * m4/glibc21.m4: Likewise.
79286
79287         * m4/libintl.m4: Remove.  No longer used.
79288
79289 2001-09-22  Jim Meyering  <meyering@lucent.com>
79290
79291         * lib/localcharset.c: Update from latest gettext.
79292         * lib/config.charset: Likewise.
79293
79294 2001-09-20  Jim Meyering  <meyering@lucent.com>
79295
79296         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
79297         strtoimax.
79298         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
79299         strtoumax.
79300
79301 2001-09-20  Jim Meyering  <meyering@lucent.com>
79302
79303         * lib/xstrtol.c (strtoimax): Guard declaration with
79304         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
79305         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
79306         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
79307         (strtoumax): Likewise, for completeness (it wasn't necessary).
79308
79309 2001-09-17  Paul Eggert  <eggert@twinsun.com>
79310
79311         * lib/strtoimax.c (HAVE_LONG_LONG):
79312         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
79313         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
79314         to work around bug in IBM C compiler.
79315
79316 2001-09-17  Jim Meyering  <meyering@lucent.com>
79317
79318         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
79319         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
79320         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
79321         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
79322         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
79323         whenever the right hand side need not be expanded by the shell.
79324
79325 2001-09-16  Paul Eggert  <eggert@twinsun.com>
79326
79327         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
79328         library.  It's not correct, as some older glibcs are buggy.
79329         fnmatch wasn't fixed until glibc 2.2.
79330
79331         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
79332         special shell magic here.
79333
79334 2001-09-16  Jim Meyering  <meyering@lucent.com>
79335
79336         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
79337         * m4/jm-macros.m4: Require it.
79338
79339 2001-09-16  Jim Meyering  <meyering@lucent.com>
79340
79341         * lib/mkdir.c: New file.
79342
79343 2001-09-15  Jim Meyering  <meyering@lucent.com>
79344
79345         * m4/jm-macros.m4: Check for help2man.
79346
79347 2001-09-11  Jim Meyering  <meyering@lucent.com>
79348
79349         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
79350         The body, by Paul Eggert, was moved here from configure.in.
79351         * m4/jm-macros.m4: Require UTILS_HOST_OS.
79352
79353 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79354
79355         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
79356         (jm_PREREQ): Use it.
79357
79358 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79359
79360         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
79361         Use ssize_t, not int, to store result of readlink.
79362         Check for ssize_t overflow as well as size_t overflow,
79363         as POSIX says the result of readlink is implementation-defined
79364         when ssize_t overflows.
79365         Remove unnecessary cast to char*.
79366         Use free+malloc instead of realloc, as the storage doesn't need
79367         to be preserved and it's clearer and can be more efficient that way.
79368         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
79369         * lib/xreadlink.h (xreadlink): Update prototype.
79370
79371 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79372
79373         * lib/xgetcwd.c: Revert some of the previous change; intead,
79374         fix the HAVE_GETCWD_NULL code to behave more like the
79375         !HAVE_GETCWD_NULL code used to.
79376
79377         Include "xalloc.h".
79378         (xgetcwd): Do not return NULL when memory is exhausted; instead,
79379         invoke xalloc_die.
79380
79381 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79382
79383         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
79384         sys/param.h, as pathmax.h includes them.
79385
79386 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79387
79388         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
79389         (jm_PREREQ_XGETCWD): New macro.
79390
79391         * m4/getcwd.m4: New file.
79392
79393 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79394
79395         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
79396         like the HAVE_GETCWD_NULL code.
79397         Include pathmax.h if not HAVE_GETCWD.
79398         Do not include xalloc.h.
79399         (INITIAL_BUFFER_SIZE): New symbol.
79400         Do not use xmalloc / xrealloc, since the caller is responsible for
79401         handling errors.  Preserve errno around `free' during failure.
79402         Do not overrun buffer when using getwd.
79403
79404 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79405
79406         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
79407         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
79408         getcwd (NULL, 0).
79409
79410 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79411
79412         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
79413         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
79414         spotted by Jim Meyering.
79415
79416 2001-09-03  Jim Meyering  <meyering@lucent.com>
79417
79418         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
79419         failure.
79420
79421 2001-09-02  Jim Meyering  <meyering@lucent.com>
79422
79423         * lib/error.c: Update from GNU libc.
79424
79425 2001-09-01  Jim Meyering  <meyering@lucent.com>
79426
79427         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
79428         Used by df.
79429
79430 2001-09-01  Jim Meyering  <meyering@lucent.com>
79431
79432         * lib/xreadlink.c: New file.
79433         * lib/xreadlink.h: New file.
79434         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
79435         xreadlink.h.
79436
79437         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
79438         doesn't conflict with sparc Solaris 7's definition in
79439         /usr/include/sys/int_types.h.
79440
79441         * lib/exclude.c: Use `""', not `<>' to #include non-system header
79442         files.
79443         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
79444         and strncasecmp as r-values.  Unixware didn't have declarations.
79445
79446 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79447
79448         * lib/xstrtol.h: Add copyright notice.
79449         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
79450         LONGINT_INVALID_SUFFIX_CHAR.
79451
79452 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79453
79454         * lib/xstrtol.c (strtoimax): New decl.
79455
79456 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79457
79458         * lib/xgetcwd.c: Don't include pathmax.h.
79459         Include stdlib.h and unistd.h if available.
79460         Include xalloc.h.
79461         (xmalloc, xstrdup, free): Remove decls.
79462         (xgetcwd): Don't assume sizes fit in unsigned.
79463         Check for overflow when computing sizes.
79464         Simplify reallocation code.
79465
79466 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79467
79468         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
79469         a directory's st_size can have an arbitrary value, so the old
79470         usage could waste an arbitrary amount of memory.  All uses
79471         changed.
79472         * lib/savedir.h: Update prototype.
79473
79474 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79475
79476         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
79477
79478         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
79479         old strtoimax.c.
79480
79481         Also, make the following further changes to make this file's
79482         configuration more similar to that of strtol.c:
79483         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
79484         (strtoumax, uintmax_t, strtoull, strtol): Remove.
79485         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
79486         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
79487         changed to signed values.
79488
79489         And make the following changes as well:
79490         Fix copyright notice, as 1999 was missing.
79491         (verify): New macro.
79492         (strtoimax): Check sizes at compile-time, not run-time.
79493         Prefer strtol to strtoll if both work.
79494         (main): Remove; it was not that useful and was a pain to maintain.
79495
79496         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
79497
79498 2001-08-31  Jim Meyering  <meyering@lucent.com>
79499
79500         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
79501         Use an initial, malloc'd, buffer of length 128 rather than
79502         a statically allocated one of length 1024.
79503
79504 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79505
79506         Simplify code, partly by assuming autoconf 2.52 semantics.
79507
79508         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
79509
79510         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
79511         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
79512         All uses removed.
79513         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
79514         Move AC_REQUIRE to next-to-top level, to avoid confusion.
79515         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
79516         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
79517         jm_AC_HEADER_INTTYPES_H.
79518         * m4/jm-macros.m4 (jm_MACROS): Likewise.
79519
79520         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
79521
79522         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
79523         Quote first arg of AC_DEFUN.
79524         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
79525         since they are needed to parse the include file even if we need
79526         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
79527         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
79528         but with opposite signedness.
79529
79530 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79531
79532         Merge 'exclude' changes from tar 1.13.22.
79533         This fixes one or two unlikely storage allocation overflow bugs,
79534         but doesn't change user-visible behavior otherwise.
79535
79536 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79537
79538         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
79539         (jm_PREREQ_EXCLUDE): New macro.
79540
79541 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79542
79543         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
79544         tm to be declared.
79545
79546 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79547
79548         * lib/hash.c: Remove '2001' from copyright notice.
79549
79550 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79551
79552         * lib/full-write.h: New file.
79553         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
79554         * lib/full-write.c: Correct credits, as cccp.c no longer
79555         exists and anyway it was so heavily changed from the old cccp
79556         code as to be unrecognizable.  Include full-write.h.
79557         (full_write): Return size_t, with short writes meaning failure.
79558         All callers changed.  This fixes a bug with large buffers
79559         on 64-bit hosts.
79560         * lib/utime.c: Include full-write.h.
79561
79562 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79563
79564         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
79565         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
79566         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
79567         Include if available.
79568         (<xalloc.h>): Include
79569         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
79570         (verify): New macro.  Use it to verify that EXCLUDE macros do not
79571         collide with FNM macros.
79572         (struct patopts): New struct.
79573         (struct exclude): Use it, as exclude patterns now come with options.
79574         (new_exclude): Support above changes.
79575         (new_exclude, add_exclude_file):
79576         Initial size must now be a power of two to simplify overflow checking.
79577         (free_exclude, fnmatch_no_wildcards): New function.
79578         (excluded_filename): No longer requires options arg, as the options
79579         are determined by add_exclude.  Now returns bool, not int.
79580         (excluded_filename, add_exclude):
79581         Add support for the fancy new exclusion options.
79582         (add_exclude, add_exclude_file): Now takes int options arg.
79583         Check for arithmetic overflow when computing sizes.
79584         (add_exclude_file): xrealloc might modify errno, so don't
79585         realloc until after errno might be used.
79586
79587         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
79588         New macros.
79589         (free_exclude): New decl.
79590         (add_exclude, add_exclude_file): Now takes int options arg.
79591         (excluded_filename): No longer requires options arg, as the options
79592         are determined by add_exclude.  Now returns bool, not int.
79593
79594 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79595
79596         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
79597
79598 2001-08-27  Jim Meyering  <meyering@lucent.com>
79599
79600         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
79601
79602         * lib/version-etc.c (N_): Remove definition.
79603         Revert most of last change.
79604         Instead, simply don't mark the `Copyright...' string for translation.
79605         Based on advice from Paul Eggert.
79606
79607         * lib/strtoxmax.c: Tweak comment.
79608
79609 2001-08-26  Jim Meyering  <meyering@lucent.com>
79610
79611         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
79612
79613         * m4/xstrtoimax.m4: New file.
79614         * m4/xstrtoumax.m4: Add comments explaining why we
79615         AC_REPLACE_FUNCS(strtol).
79616
79617 2001-08-26  Jim Meyering  <meyering@lucent.com>
79618
79619         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
79620         of copyright with `%s' so translators don't get an untranslated
79621         message in 2002.
79622         (COPYRIGHT_YEAR): Define.
79623         (version_etc): Use fprintf rather than fputs.
79624         Suggestion from Ulrich Drepper.
79625
79626         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
79627
79628         * lib/strtoll.c: New file, from GNU libc.
79629         * lib/xstrtoimax.c: New file.
79630
79631         * lib/xstrtol.h: Add xstrtoimax.
79632         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
79633         * lib/strtoimax.c: New file.  Likewise, but first define
79634         STRTOUXMAX_SIGNED.
79635
79636         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
79637         ...
79638         * lib/strtoxmax.c: ... then renamed to this.
79639
79640 2001-08-18  Paul Eggert  <eggert@twinsun.com>
79641
79642         * m4/inttypes.m4: Add AC_PREREQ(2.13).
79643         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
79644         (jm_AC_TYPE_INTMAX_T): New macro.
79645         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
79646
79647         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
79648
79649         * m4/longlong.m4: Renamed from ulonglong.m4.
79650         * m4/inttypes.m4: Renamed from inttypes_h.m4.
79651         * m4/uintmax_t.m4: Removed.
79652
79653 2001-08-13  Paul Eggert  <eggert@twinsun.com>
79654
79655         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
79656         Port to Solaris 8, where 'sed' requires a space after the 'r'
79657         command, and where sh dislikes "$/".  Clean up the spacing a bit.
79658         Redirect output to $tmp just once.
79659
79660 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
79661
79662         * lib/addext.c (<errno.h>): Include.
79663         (errno): Declare if not defined.
79664         (addext): Work correctly when pathconf returns -1 and leaves
79665         errno alone because there is no limit.  Also, work even if
79666         pathconf returns a value greater than SIZE_MAX.
79667
79668 2001-08-12  Jim Meyering  <meyering@lucent.com>
79669
79670         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
79671         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
79672         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
79673         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
79674         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
79675         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
79676         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
79677         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
79678         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
79679         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
79680         utime.m4, utimes.m4, xstrtoumax.m4:
79681         Quote the first argument in each use of AC_DEFUN.
79682
79683 2001-08-12  Jim Meyering  <meyering@lucent.com>
79684
79685         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
79686         Simply `return getcwd (NULL, 0);'.
79687         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
79688         Use 1300 as initial value for length, not PATH_MAX.
79689
79690         * lib/pathmax.h: Clean up cpp syntax.
79691
79692 2001-08-12  Jim Meyering  <meyering@lucent.com>
79693
79694         * lib/gettimeofday.c: New file.
79695         * lib/gtod.h: New file.
79696         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
79697
79698 2001-08-05  Jim Meyering  <meyering@lucent.com>
79699
79700         * m4/jm-macros.m4: Require autoconf-2.52.
79701
79702 2001-08-04  Jim Meyering  <meyering@lucent.com>
79703
79704         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
79705         stmt, to get in sync with glibc.
79706
79707 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79708
79709         The following changes are from gettext 0.10.39 as maintained by
79710         Bruno Haible.
79711
79712         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
79713         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
79714         with inverted sense.  All uses changed.
79715
79716         * lib/mbswidth.c: Don't include <limits.h>.
79717         Include <stdlib.h> and <string.h> unconditionally.
79718         (iswcntrl, mbsinit, ISCNTRL): New macros.
79719         (mbsnwidth): Use K&R style function declarations.
79720         Don't bother checking for MB_LEN_MAX == 1, since the compiler
79721         can optimize it when MB_CUR_MAX == 1.
79722         The width of control characters is zero, not 1.
79723
79724 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79725
79726         The following changes are from gettext 0.10.39 as maintained by
79727         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
79728
79729         * m4/codeset.m4: Upgrade to serial AM1.
79730         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
79731         all uses changed.  Quote first arg of AC_DEFUN.
79732         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
79733
79734         * m4/iconv.m4: Upgrade to serial AM2.
79735         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
79736         Add --with-libconv-prefix.
79737         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
79738         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
79739         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
79740         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
79741         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
79742
79743         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
79744         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
79745         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
79746         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
79747         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
79748         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
79749         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
79750         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
79751         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
79752
79753         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
79754         string.h any more.
79755
79756         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
79757         not the default value.
79758
79759         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
79760         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
79761         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
79762         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
79763         Also check for iswcntrl, used for wcwidth fallback.
79764         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
79765         to Autoconf 2.13.
79766
79767 2001-08-03  Jim Meyering  <meyering@lucent.com>
79768
79769         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
79770         as it was in the original.  Reported by Paul Eggert.
79771
79772 2001-07-16  Jim Meyering  <meyering@lucent.com>
79773
79774         * m4/gettimeofday.m4: New file.
79775         Prompted by a report from Bernhard Baehr.
79776
79777 2001-07-15  Jim Meyering  <meyering@lucent.com>
79778
79779         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
79780         stuff. Now it's in ../Makefile.cfg.
79781
79782 2001-07-15  Jim Meyering  <meyering@lucent.com>
79783
79784         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
79785         (BUILT_SOURCES): Add unlocked-io.h.
79786         (io_functions): Define.
79787         (unlocked-io.h): New rule.
79788         (DISTCLEANFILES): Add unlocked-io.h.
79789         (all-local): Depend on unlocked-io.h, to ensure it is created.
79790
79791         * lib/unlocked-io.hin: New file
79792
79793         * lib/regex.c: Update from glibc.
79794
79795 2001-07-05  Jim Meyering  <meyering@lucent.com>
79796
79797         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
79798         recommendation.
79799         (libfetish_a_SOURCES): Put all .h files here instead.
79800         Remove a thus-exposed (better checks in automake) duplicate and
79801         two unnecessary .h files.
79802
79803 2001-07-04  Jim Meyering  <meyering@lucent.com>
79804
79805         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
79806         that generates jm-glibc-io.m4 so that it doesn't trigger any make
79807         distcheck failure.
79808
79809 2001-07-02  Jim Meyering  <meyering@lucent.com>
79810
79811         The following changes were prompted by suggestions from Bruno Haible.
79812
79813         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
79814         is now generated.
79815         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
79816         definition of EXTRA_DIST.
79817         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
79818         ensure that the generated file is created/updated whenever the list
79819         of $(unlocked_functions) is changed.
79820         (jm-glibc-io.m4): New rule.
79821         (unlocked-io.h): New rule -- currently unused.
79822
79823 2001-06-24  Jim Meyering  <meyering@lucent.com>
79824
79825         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
79826         unmatched right bracket, rather than kludging it with an extra,
79827         falsely-matching quote in a comment.  Patch by Akim Demaille.
79828
79829 2001-06-11  Jim Meyering  <meyering@lucent.com>
79830
79831         * lib/regex.c: Update from GNU libc.
79832
79833 2001-05-27  Jim Meyering  <meyering@lucent.com>
79834
79835         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
79836         Check for ut_type in struct utmp.
79837
79838 2001-05-27  Jim Meyering  <meyering@lucent.com>
79839
79840         * lib/readutmp.h (UT_TYPE): Define.
79841
79842 2001-05-24  Jim Meyering  <meyering@lucent.com>
79843
79844         * lib/argmatch.c: Include "quote.h".
79845         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
79846         quote function.  Reported by Göran Uddeborg.
79847
79848 2001-05-22  Jim Meyering  <meyering@lucent.com>
79849
79850         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
79851         now that we use the package-supplied version unconditionally.
79852         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
79853
79854 2001-05-21  Jim Meyering  <meyering@lucent.com>
79855
79856         * m4/regex.m4: Change a couple backticks to single quotes to avoid
79857         shell syntax errors.
79858
79859 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
79860
79861         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
79862
79863 2001-05-20  Paul Eggert  <eggert@twinsun.com>
79864
79865         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
79866         Don't bother to check library strftime, since
79867         we'll be using our own my_strftime function anyway.
79868         Define my_strftime instead of strftime.
79869
79870 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
79871
79872         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
79873         which is not yet declared.
79874
79875 2001-05-15  Jim Meyering  <meyering@lucent.com>
79876
79877         * m4/regex.m4: Use proper quoting so brackets appear in the test
79878         program.
79879         Reported by, and with help from, Bruno Haible.
79880
79881 2001-05-13  Jim Meyering  <meyering@lucent.com>
79882
79883         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
79884         undefined.
79885
79886 2001-05-11  Paul Eggert  <eggert@twinsun.com>
79887
79888         dirname code cleanup.  base_name now behaves more compatibly
79889         with POSIX basename when given file names that have trailing
79890         slashes, and similarly for dir_name.  Add new primitives
79891         base_len and dir_len.  Put the directory-name-related decls
79892         into dirname.h.
79893
79894         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
79895         * lib/backupfile.c (base_name): Likewise.
79896         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
79897         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
79898         * lib/makepath.c (strip_trailing_slashes): Likewise.
79899         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
79900         ISSLASH): Likewise.
79901         * lib/rename.c (strip_trailing_slashes): Likewise.
79902         * lib/same.c (base_name): Likewise.
79903         * lib/stripslash.c (ISSLASH): Likewise.
79904
79905         * lib/addext.c: Include <dirname.h> after size_t is defined.
79906         * lib/backupfile.c: Likewise.
79907
79908         * lib/addext.c (addext): Use base_len to trim redundant
79909         trailing slashes instead of doing it ourselves.
79910         But do not trim the last slash if it is not redundant.
79911
79912         * lib/backupfile.c (find_backup_file_name,
79913         max_backup_version): Use base_len instead of rolling it ourselves.
79914         Handle the case of "" and (on DOS) "C:" correctly.
79915
79916         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
79917         needed. Include <string.h>, <dirname.h>.
79918         (base_name): Allow file names ending in slashes, other than names
79919         that are all slashes.  In this case, return the basename followed
79920         by the slashes.  This is more general, and can be used in places
79921         where the original base_name purposely had an assertion failure.
79922         (base_len): New function.
79923
79924         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
79925         Do not include <assert.h>; no longer needed.
79926         Include xalloc.h.
79927         (memrchr): Remove decl.
79928         (dir_name_r): Remove.
79929         (dir_len): Renamed from dirlen.  All callers changed.
79930         Rewrite in terms of base_name, for simplicity and consistency.
79931         (dir_name): Never return NULL.  All callers changed.
79932         Do not include <stdlib.h> in test program; no longer needed.
79933         return 0; is fine for test program.
79934
79935         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
79936         New macros.
79937         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
79938
79939         * lib/path-concat.c (path_concat): Use base_len to compute
79940         base length, not strlen; this means we cannot rely on memcpy
79941         to null-terminate.
79942
79943         * lib/same.c (STREQ): Remove.
79944         (same_name): Handle the case where the basename ends in trailing '/'.
79945
79946         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
79947         a slash was stripped.  Do not strip the last slash after a
79948         file system prefix.
79949
79950 2001-05-11  Paul Eggert  <eggert@twinsun.com>
79951
79952         * lib/Makefile.am (libfetish_a_SOURCES):
79953         Add strftime.c, since we now compile it on all hosts.
79954
79955         * lib/strftime.c (my_strftime):
79956         Define to nstrftime if emacs, but only if my_strftime is not defined.
79957         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
79958         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
79959         Add one more extra argument: a nanoseconds value.
79960         All uses changed.
79961         (ns): New macro.
79962         (my_strftime function): Add %N format.
79963         (emacs_strftimeu): Renamed from emacs_strftime,
79964         with extra ut argument.
79965
79966 2001-05-09  Paul Eggert  <eggert@twinsun.com>
79967
79968         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
79969
79970 2001-04-21  Jim Meyering  <meyering@lucent.com>
79971
79972         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
79973         doesn't interfere.
79974
79975 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
79976
79977         * m4/ftruncate.m4: Check for chsize.
79978         Link with ftruncate.o unconditionally if ftruncate is missing.
79979         This was required when cross-compiling to i586-mingw32msvc.
79980
79981 2001-04-08  Jim Meyering  <meyering@lucent.com>
79982
79983         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
79984         recomputed; that's necessary when the offset spans a DST transition.
79985         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
79986
79987 2001-04-02  Jim Meyering  <meyering@lucent.com>
79988
79989         * lib/regex.h, regex.c: Update from GNU libc.
79990
79991 2001-03-24  Jim Meyering  <meyering@lucent.com>
79992
79993         * m4/jm-macros.m4: Require autoconf-2.49d.
79994
79995 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
79996
79997         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
79998
79999 2001-03-19  Paul Eggert  <eggert@twinsun.com>
80000
80001         * lib/version-etc.c (version_etc_copyright): Update to 2001.
80002
80003 2001-03-17  Jim Meyering  <meyering@lucent.com>
80004
80005         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
80006         now that the version in autoconf is equivalent.
80007         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
80008
80009         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
80010         Suggestion from Akim Demaille.
80011
80012         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
80013         (jm_PREREQ_TEMPNAME): New function.
80014
80015 2001-03-16  Paul Eggert  <eggert@twinsun.com>
80016
80017         * lib/tempname.c (uint64_t): Define to uintmax_t if
80018         not defined, and if UINT64_MAX is not defined.
80019         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
80020         Reported by John David Anglin.
80021
80022 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
80023
80024         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
80025         resolve alias if codeset is empty.
80026         * lib/config.charset (BeOS): Use wildcard syntax.
80027
80028 2001-03-13  Jim Meyering  <meyering@lucent.com>
80029
80030         * lib/path-concat.c (path_concat)
80031         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
80032         concatenating e.g., `C:' and `foo'.
80033         From Bruno Haible.
80034
80035 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80036
80037         * lib/localcharset.c (locale_charset): Don't use
80038         setlocale(LC_CTYPE,NULL). Don't return NULL.
80039         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
80040
80041 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80042
80043         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
80044         support for DOS/DJGPP.
80045
80046 2001-03-01  Paul Eggert  <eggert@twinsun.com>
80047
80048         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
80049         lacks mkstemp.  Compile our own tempname.c if we compile our own
80050         mkstemp.c, as mkstemp relies on tempname.
80051
80052 2001-03-01  Jim Meyering  <meyering@lucent.com>
80053
80054         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
80055         AH_VERBATIM really does output its argument verbatim.
80056
80057 2001-02-28  Paul Eggert  <eggert@twinsun.com>
80058
80059         * lib/Makefile.am (libfetish_a_SOURCES):
80060         Add dup-safer.c, fopen-safer.c.
80061         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
80062
80063         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
80064         * lib/unistd-safer.h: New files.
80065
80066 2001-02-25  Paul Eggert  <eggert@twinsun.com>
80067
80068         The mkstemp replacement is taken from glibc 2.2.2, with some
80069         portability fixes for use outside glibc, as follows:
80070
80071         * lib/tempname.c (struct_stat64): New macro.
80072         (direxists, __gen_tempname): Use it.
80073         This avoids a portability problem with Solaris 8.
80074
80075         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
80076         (<stddef.h>, <stdint.h>, <string.h>):
80077         Include only if STDC_HEADERS || _LIBC.
80078         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
80079         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
80080         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
80081         (__set_errno): Define this macro if <errno.h> doesn't.
80082         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
80083         Define these macros if <stdio.h> doesn't.
80084         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
80085         Define these macros if <sys/stat.h>
80086         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
80087         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
80088         __xstat64): Define if not _LIBC.
80089         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
80090         (__gen_tempname): Invoke gettimeofday only if
80091         HAVE_GETTIMEOFDAY || _LIBC;
80092         otherwise, fall back on plain "time".
80093         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
80094
80095         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
80096
80097         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
80098
80099 2001-02-18  Paul Eggert  <eggert@twinsun.com>
80100
80101         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
80102
80103 2001-02-17  Paul Eggert  <eggert@twinsun.com>
80104
80105         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
80106         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
80107         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
80108         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
80109
80110 2001-02-17  Paul Eggert  <eggert@twinsun.com>
80111
80112         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
80113         Remove workaround macros for hosts that have mbrtowc but not
80114         mbstate_t, as we now insist on proper declarations for both
80115         before using mbrtowc.
80116
80117 2001-02-17  Jim Meyering  <meyering@lucent.com>
80118
80119         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
80120         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
80121         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
80122         UnixWare 7.1.1.
80123
80124         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
80125         rather than AC_CACHE_VAL.
80126
80127 2001-02-17  Jim Meyering  <meyering@lucent.com>
80128
80129         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
80130         around included file name.
80131
80132         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
80133
80134         * lib/strftime.c: Update from GNU libc (the only changes were to
80135         comments).
80136
80137 2001-02-17  Jim Meyering  <meyering@lucent.com>
80138
80139         * lib/regex.c: Update from libc.
80140
80141 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
80142
80143         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
80144         clash.
80145
80146 2001-02-16  Paul Eggert  <eggert@twinsun.com>
80147
80148         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
80149         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
80150         Reported by Mark Hounschell via Paul Eggert.
80151
80152 2001-02-07  Jim Meyering  <meyering@lucent.com>
80153
80154         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
80155
80156 2001-02-05  Jim Meyering  <meyering@lucent.com>
80157
80158         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
80159         it includes the patch required for `large file' support with at least
80160         HP-UX's 10.20 /bin/cc.
80161
80162 2001-02-03  Jim Meyering  <meyering@lucent.com>
80163
80164         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
80165         AS_IF, now that it works once again (mysteriously).
80166         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
80167
80168 2001-01-30  Jim Meyering  <meyering@lucent.com>
80169
80170         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
80171         * m4/chown.m4: Rename conftestchown to conftest.chown.
80172         * m4/rename.m4: s/conftestdir/conftest.d1/ and
80173         s/conftestdir2/conftest.d2/.
80174         * m4/utimes.m4: s/conftestdata/conftest.data/
80175         Inspired by Pavel Roskin's change in autoconf.
80176
80177 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
80178
80179         * lib/config.charset: Update for FreeBSD 4.2.
80180
80181 2001-01-27  Jim Meyering  <meyering@lucent.com>
80182
80183         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
80184         a use of AS_IF.
80185         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
80186
80187 2001-01-26  Jim Meyering  <meyering@lucent.com>
80188
80189         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
80190         quotearg.c includes it.
80191
80192 2001-01-26  Jim Meyering  <meyering@lucent.com>
80193
80194         * lib/quotearg.c: Include stddef.h.
80195         * lib/quote.c: Include stddef.h.
80196         Reported by Axel Kittenberger.
80197
80198         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
80199         line in double quotes so that it evokes a better diagnostic.
80200         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
80201         Reported by Axel Kittenberger.
80202
80203 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
80204
80205         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
80206         as if it was a `charset'.
80207
80208 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80209
80210         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
80211         has const.
80212
80213 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80214
80215         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
80216         to avoid a warning.  Add back 'const' to inptr.
80217
80218 2001-01-20  Jim Meyering  <meyering@lucent.com>
80219
80220         Be sure that headers are checked before used in code compiled
80221         for the type checks.
80222         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
80223         In place of that, invoke jm_CHECK_ALL_TYPES.
80224         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
80225         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
80226         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
80227         The check for ssize_t was mistakenly run before the test for unistd.h.
80228
80229         The configure-time check for stdbool.h was missing.
80230         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
80231         (jm_PREREQ_HASH): New function.
80232
80233 2001-01-17  Jim Meyering  <meyering@lucent.com>
80234
80235         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
80236         for autoconf-2.49c.
80237         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
80238
80239 2001-01-16  Jim Meyering  <meyering@lucent.com>
80240
80241         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
80242         From Bruno Haible.
80243
80244 2001-01-14  Jim Meyering  <meyering@lucent.com>
80245
80246         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
80247         foo and bar.  Create conftestdir/ in the script, not in the C code.
80248         Remove directories in the script, not in the C code.
80249         Remove conftestdir{,2} before trying to create the directory.
80250         Make the entire configure script fail if the mkdir fails.
80251
80252 2001-01-14  Jim Meyering  <meyering@lucent.com>
80253
80254         * lib/rename.c: New file.  From Volker Borchert.
80255         Include stdlib.h, string.h or strings.h, and xalloc.h.
80256         Use strip_trailing_slashes rather than open-coding it.
80257
80258 2001-01-03  Paul Eggert  <eggert@twinsun.com>
80259
80260         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
80261
80262 2001-01-03  Jim Meyering  <meyering@lucent.com>
80263
80264         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
80265         of local `inptr' to avoid warning with some system declarations of
80266         iconv.
80267
80268 2001-01-02  Volker Borchert  <bt@teknon.de>
80269
80270         * m4/rename.m4: New file.
80271         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
80272
80273 2001-01-01  Jim Meyering  <meyering@lucent.com>
80274
80275         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
80276         even on systems with utmpx.h.  It's necessary for the declaration of
80277         utmp's ut_user member.  Reported by Andreas Jaeger.
80278
80279         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
80280         available. They are required for the declarations of getgrgid and
80281         getpwuid resp.
80282         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
80283         Reported by Andreas Jaeger.
80284
80285 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
80286
80287         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
80288         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
80289         so `make install' also works in VPATH builds.
80290
80291 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
80292
80293         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
80294         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
80295         can be used in subdirectories.
80296
80297 2000-12-29  Paul Eggert  <eggert@twinsun.com>
80298
80299         * lib/modechange.c: Do not assume that mode_t uses the
80300         traditional octal encoding.  E.g. "chmod 1 FOO" should set
80301         the other-execute bit of FOO even if S_IXOTH != 1.
80302
80303         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
80304         WOTH, XOTH, ALLM): New macros.
80305         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
80306          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
80307         Use them.
80308         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
80309         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
80310         (mode_compile):
80311         No need to use uintmax_t; unsigned long is long enough.
80312         Don't bother to get suffix since we don't use it.
80313
80314 2000-12-26  Jim Meyering  <meyering@lucent.com>
80315
80316         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
80317         better with autoheader.
80318
80319 2000-12-24  Jim Meyering  <meyering@lucent.com>
80320
80321         * lib/hash.c (is_prime): Return explicit boolean values.
80322         (hash_get_first): Return NULL to appease Irix5.6's 89.
80323         Reported by Nelson Beebe.
80324
80325 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
80326
80327         * lib/localcharset.c (locale_charset): Add support for Win32.
80328
80329 2000-12-18  Paul Eggert  <eggert@twinsun.com>
80330
80331         * lib/physmem.h, lib/physmem.c: New files.
80332
80333         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
80334         (noinst_HEADERS): Add physmem.h.
80335
80336         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
80337         't' for compatibility with Solaris 8 sort.
80338
80339 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
80340
80341         * lib/config.charset: Add support for BeOS.
80342
80343 2000-12-17  Jim Meyering  <meyering@lucent.com>
80344
80345         * m4/dos.m4 (jm_AC_DOS): New file and macro.
80346         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
80347
80348 2000-12-16  Jim Meyering  <meyering@lucent.com>
80349
80350         This bug had a serious impact on chown: `chown N:M FILE' (for integer
80351         N and M) would have treated it like `chown N:N FILE'.
80352
80353         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
80354
80355 2000-12-16  Jim Meyering  <meyering@lucent.com>
80356
80357         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
80358         SHELLS_FILE to a file name that's useful on djgpp systems.
80359         Include stdlib.h.
80360         (ADDITIONAL_DEFAULT_SHELLS): Define.
80361         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
80362         Based mostly on a patch from Prashant TR.
80363
80364 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
80365
80366         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
80367         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
80368         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
80369
80370 2000-12-08  Andreas Schwab  <schwab@suse.de>
80371
80372         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
80373         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
80374
80375 2000-12-07  Jim Meyering  <meyering@lucent.com>
80376
80377         * lib/stripslash.c (ISSLASH): Define.
80378         (strip_trailing_slashes): Use ISSLASH rather than comparing against
80379         `/'.
80380         From Prashant TR.
80381
80382         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
80383         (dir_name_r): Declare this function as static.
80384         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
80385         manifest itself on a name containing a mix of slashes and
80386         backslashes.
80387         Make this function work with names starting with a DOS-style
80388         drive letter and colon prefix.
80389         (dir_name): Append `.' if necessary.
80390         Based mostly on patches from Prashant TR and Eli Zaretskii.
80391
80392         * lib/dirname.h (dir_name_r): Remove prototype.
80393
80394 2000-12-06  Paul Eggert  <eggert@twinsun.com>
80395
80396         * m4/off_t-format.m4: Remove this file.
80397         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
80398
80399 2000-12-06  Jim Meyering  <meyering@lucent.com>
80400
80401         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
80402         replacement strtoull, we may well need the replacement strtoul, too.
80403         Check for declarations of strtoul and strtoull.
80404         Check for strtol.  Mainly as a cue to cause automake to include
80405         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
80406         Check for limits.h -- strtol.c needs it.
80407
80408 2000-12-05  Jim Meyering  <meyering@lucent.com>
80409
80410         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
80411
80412 2000-12-04  Jim Meyering  <meyering@lucent.com>
80413
80414         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
80415         Also include memory.h, stdlib.h, unistd.h if appropriate.
80416         Reported by Andreas Jaeger (conflicting declaration of malloc).
80417
80418 2000-12-02  Jim Meyering  <meyering@lucent.com>
80419
80420         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
80421         * m4/jm-macros.m4 (jm_MACROS): require it.
80422
80423 2000-12-02  Jim Meyering  <meyering@lucent.com>
80424
80425         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
80426
80427 2000-12-01  Paul Eggert  <eggert@twinsun.com>
80428
80429         * lib/memrchr.c: Include <config.h> before any system include file.
80430
80431 2000-11-30  Jim Meyering  <meyering@lucent.com>
80432
80433         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
80434
80435 2000-11-30  Jim Meyering  <meyering@lucent.com>
80436
80437         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
80438
80439 2000-11-29  Paul Eggert  <eggert@twinsun.com>
80440
80441         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
80442
80443 2000-11-26  Jim Meyering  <meyering@lucent.com>
80444
80445         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
80446
80447 2000-11-22  Paul Eggert  <eggert@twinsun.com>
80448
80449         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
80450         size of (size_t) -1; it's not portable.
80451
80452 2000-11-17  Jim Meyering  <meyering@lucent.com>
80453
80454         * lib/strstr.c: Update from GNU libc.
80455
80456 2000-11-17  Akim Demaille  <akim@epita.fr>
80457
80458         * lib/obstack.h: Formatting changes.
80459         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
80460         prevent type checking.
80461         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
80462         cast the value to (void *): assigning a `foo *' to a `void *'
80463         variable is valid.
80464         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
80465
80466 2000-11-16  Jim Meyering  <meyering@lucent.com>
80467
80468         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
80469
80470 2000-11-11  Jim Meyering  <meyering@lucent.com>
80471
80472         * lib/error.c: Add a couple #includes, merging from GNU libc version.
80473
80474 2000-11-10  Jim Meyering  <meyering@lucent.com>
80475
80476         * lib/obstack.h: Update from GNU libc.
80477         * lib/obstack.c: Likewise.
80478
80479 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
80480
80481         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
80482
80483 2000-11-06  Paul Eggert  <eggert@twinsun.com>
80484
80485         * lib/getusershell.c (setusershell): Use rewind rather than
80486         fseek/fseeko, to avoid configuration hassles with fseeko.
80487         Don't bother opening SHELLS_FILE if shellstream is NULL;
80488         it's not necessary.
80489
80490 2000-11-05  Jim Meyering  <meyering@lucent.com>
80491
80492         * lib/makepath.h (make_dir): Declare.
80493         * lib/makepath.c (make_dir): Remove `static' attribute.
80494         Tweak a comment.
80495
80496 2000-11-04  Jim Meyering  <meyering@lucent.com>
80497
80498         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
80499
80500 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
80501
80502         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
80503         last one in a bucket, advance to the next bucket.
80504
80505 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
80506
80507         * lib/fnmatch.c: Do not comment out all the code if we are using
80508         the GNU C library, because in some cases we are replacing buggy
80509         code in the GNU C library itself.
80510
80511 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
80512
80513         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
80514         (regex_compile): Catch bogus \(\1\).
80515
80516 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80517
80518         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
80519         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
80520         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
80521
80522 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80523
80524         * lib/error.h, getline.h, modechange.h:
80525         Remove "2000" from Copyright line, as the file hasn't been
80526         changed this year other than in the copyright notice.
80527
80528         * lib/xalloc.h: Add "2000" to Copyright line, as this file
80529         was changed this year.
80530
80531 2000-10-29  Jim Meyering  <meyering@lucent.com>
80532
80533         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
80534         renaming.
80535         * m4/ls-mntd-fs.m4: Likewise
80536
80537 2000-10-29  Jim Meyering  <meyering@lucent.com>
80538
80539         * lib/xstat.in: Fix grammar in comment.
80540
80541 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
80542
80543         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
80544         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
80545         doesn't define __restrict_arr.
80546
80547 2000-10-28  Jim Meyering  <meyering@lucent.com>
80548
80549         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
80550         (jm_PREREQ_MEMCHR): New function.
80551
80552 2000-10-28  Jim Meyering  <meyering@lucent.com>
80553
80554         * lib/memchr.c: Update from libc.
80555         Adjust for portability:
80556         [HAVE_STDLIB_H]: Include stdlib.h.
80557         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
80558         Undef __memchr, too.
80559         [!weak_alias]: Define __memchr to memchr.
80560
80561         * lib/regex.c: Update from libc.
80562         * lib/regex.h: Likewise.
80563         * lib/getopt1.c: Likewise.
80564         * lib/memcmp.c: Likewise.
80565
80566         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
80567         Avoid using fseek, when possible -- it's broken by design.
80568         Patch by Ulrich Drepper.
80569
80570 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
80571
80572         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
80573         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
80574         Giving in to popular pressure to shut up the compiler with casts.
80575
80576 2000-10-26  Jim Meyering  <meyering@lucent.com>
80577
80578         * lib/strftime.c: Update from libc.
80579
80580 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
80581
80582         * regex.c: More `unsigned char' -> `re_char' changes.
80583         Also change several `int' into `re_wchar_t'.
80584         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
80585         (PUSH_FAILURE_POINTER): Don't cast any more.
80586         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
80587         We want GCC to complain, since this piece of code makes
80588         re_match non-reentrant, which *should* be fixed.
80589         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
80590         (EXTEND_BUFFER): Use RETALLOC.
80591         (SET_LIST_BIT): Don't cast.
80592         (re_wchar_t): New type.
80593         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
80594         that those two functions will always properly return.
80595         (IMMEDIATE_QUIT_CHECK): Cast to void.
80596         (analyse_first): Use recursion rather than an explicit stack.
80597         (re_compile_fastmap): Can't fail anymore.
80598         (re_search_2): Don't check re_compile_fastmap for failure.
80599         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
80600         Now also sets the new value (passed in a new argument).
80601         (re_match_2_internal): Use it.
80602         Also, use a new var `reg' of type size_t when looping through regs
80603         rather than reuse the inappropriate `mcnt'.
80604
80605 2000-10-25  Jim Meyering  <meyering@lucent.com>
80606
80607         * lib/obstack.c: Update from libc.
80608
80609 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
80610
80611         * regex.c (regex_compile): Change the way of handling a range from
80612         a char less than 256 to a char not less than 256.
80613
80614 2000-10-24  Andrew Innes  <andrewi@gnu.org>
80615
80616         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
80617         NT-Emacs only.
80618         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
80619         so that re_search functions only quit when callers expect them to.
80620
80621 2000-10-23  Jim Meyering  <meyering@lucent.com>
80622
80623         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
80624         wrong.  That set_locale call must not have any side effects.
80625         From Paul Eggert.
80626
80627 2000-10-22  Jim Meyering  <meyering@lucent.com>
80628
80629         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
80630         [CYCLIC]: Remove now-unused definition.
80631
80632         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
80633         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
80634         Suggestion from Ulrich Drepper.
80635
80636 2000-10-21  Jim Meyering  <meyering@lucent.com>
80637
80638         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
80639         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
80640         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
80641
80642 2000-10-21  Jim Meyering  <meyering@lucent.com>
80643
80644         * lib/dirname.c (memrchr): Declare if necessary.
80645         (dir_name): Remove the restriction that there be no
80646         trailing slashes.  Now, this code skips past them, effectively
80647         ignoring them.
80648         [TEST_DIRNAME] (main): New unit tests.
80649
80650         * lib/memrchr.c: New file from GNU libc.
80651         Undef __memrchr, too.
80652         [!weak_alias]: Define __memrchr to memrchr.
80653         Guard weak_alias use with `#ifdef weak_alias'.
80654
80655 2000-10-21  Jim Meyering  <meyering@lucent.com>
80656
80657         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
80658         (dir_name): Use dir_name_r.
80659         * lib/dirname.h (dir_name_r): Declare it.
80660
80661 2000-10-17  Jim Meyering  <meyering@lucent.com>
80662
80663         * lib/quote.h (PARAMS): Define and use.
80664         Reported by Akim Demaille.
80665
80666         * lib/getopt.c: Update from libc.
80667
80668 2000-10-16  Jim Meyering  <meyering@lucent.com>
80669
80670         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
80671         setlocale.
80672         From Jan Fedak.
80673
80674 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
80675
80676         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
80677
80678 2000-09-25  Jim Meyering  <meyering@lucent.com>
80679
80680         * lib/md5.h (rol): Define (from GnuPG).
80681
80682         * lib/sha.c: Give credit (GnuPG) where due.
80683         (M): Use rol rather than open-coding it.
80684         Add a FIXME comment.
80685
80686 2000-09-21  Jim Meyering  <meyering@lucent.com>
80687
80688         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
80689         Reported by Michael Stone.
80690
80691 2000-09-20  Jim Meyering  <meyering@lucent.com>
80692
80693         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
80694         (noinst_HEADERS): Add sha.h.
80695         Based on code from Scott G. Miller and from GnuPG.
80696
80697 2000-09-18  Jim Meyering  <meyering@lucent.com>
80698
80699         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
80700         LIBS. Otherwise, everyone ends up linking with -lelf for some
80701         configurations.
80702         Reported by Mike Stone.
80703
80704 2000-09-15  Jim Meyering  <meyering@lucent.com>
80705
80706         * lib/regex.c: Update from libc.
80707
80708 2000-09-10  Jim Meyering  <meyering@lucent.com>
80709
80710         * lib/getopt.c (_getopt_internal): Update from glibc.
80711
80712 2000-09-09  Jim Meyering  <meyering@lucent.com>
80713
80714         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
80715         think it should be used as a general replacement for isascii.
80716         * lib/fnmatch.c: Likewise.
80717         * lib/mbswidth.c: Likewise
80718         * lib/regex.c: Likewise.
80719
80720         Don't use atoi.
80721         * lib/userspec.c: Include sys/param.h and limits.h.
80722         Include xstrtol.h.
80723         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80724         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
80725         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
80726         UID, GID.  Check range.
80727
80728 2000-09-06  Jim Meyering  <meyering@lucent.com>
80729
80730         * lib/getopt.c (_getopt_internal): Update from glibc.
80731
80732 2000-08-30  Jim Meyering  <meyering@lucent.com>
80733
80734         * lib/strftime.c: Merge in changes from GNU libc.
80735
80736 2000-08-26  Jim Meyering  <meyering@lucent.com>
80737
80738         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
80739         * m4/fpending.m4: New file.
80740
80741 2000-08-26  Jim Meyering  <meyering@lucent.com>
80742
80743         * lib/closeout.c: Include "__fpending.h".
80744         (close_stdout_status): Return right away if there's nothing to flush.
80745
80746         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
80747         * lib/__fpending.c: New file.
80748         * lib/__fpending.h: New file.
80749
80750 2000-08-20  Jim Meyering  <meyering@lucent.com>
80751
80752         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
80753         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
80754         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
80755
80756 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
80757
80758         Improve fileutils installation on systems where running
80759         programs (like install) can't be unlinked.
80760         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
80761         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
80762
80763 2000-08-07  Paul Eggert  <eggert@twinsun.com>
80764
80765         Standardize on "memory exhausted" instead of "Memory exhausted"
80766         or "virtual memory exhausted".
80767         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
80768         "virtual memory exhausted".
80769         * lib/same.c (same_name): Invoke xalloc_die instead of printing
80770         our own message.
80771         * lib/userspec.c (parse_user_spec): Likewise.
80772         * lib/bumpalloc.h: comment fix
80773         * lib/same.c, userspec.c: Include xalloc.h.
80774
80775         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
80776         not char *const and pointing to a constant array.
80777         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
80778         (xrealloc): Comment fix.
80779
80780         * lib/userspec.c (parse_user_spec):
80781         Don't translate a message until just before returning,
80782         to avoid unnecessary translation.
80783
80784 2000-08-07  Jim Meyering  <meyering@lucent.com>
80785
80786         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
80787         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
80788         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
80789         getgroups.c, gethostname.c, getopt.h, group-member.c,
80790         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
80791         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
80792         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
80793         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
80794         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
80795         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
80796         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
80797         yesno.c: Back out Copyright date changes for each file with no change
80798         this year.  This eases coordination with other programs using the same
80799         source code modules.  From Paul Eggert.
80800
80801 2000-08-06  Paul Eggert  <eggert@twinsun.com>
80802
80803         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
80804         not char, for compatibility with glibc 2.1.3 strftime.c.
80805
80806 2000-08-03  Greg McGary  <greg@mcgary.org>
80807
80808         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
80809         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
80810         (EXTEND_BUFFER): Use them.
80811
80812 2000-08-01  Jim Meyering  <meyering@lucent.com>
80813
80814         * lib/dirname.c (ISSLASH): Define.
80815         (BACKSLASH_IS_PATH_SEPARATOR): Define.
80816         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
80817         both `\' and `/' may be use as path separators.
80818         Based on a patch from Prashant TR.
80819
80820 2000-07-31  Paul Eggert  <eggert@twinsun.com>
80821
80822         * lib/quotearg.c (quotearg_n_options): Don't make the initial
80823         slot vector a constant, since it might get modified.
80824
80825 2000-07-31  Jim Meyering  <meyering@lucent.com>
80826
80827         * lib/xmalloc.c: Use `virtual memory exhausted', not
80828         `Memory exhausted'.
80829         * lib/obstack.c (print_and_abort): Likewise.
80830
80831 2000-07-30  Paul Eggert  <eggert@twinsun.com>
80832
80833         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
80834         buffer, so that the caller can always quote one small
80835         component of a "memory exhausted" message in slot 0.
80836         From a suggestion by Jim Meyering.
80837
80838 2000-07-30  Jim Meyering  <meyering@lucent.com>
80839
80840         * lib/makepath.c (make_path): Quote the other instance, too.
80841
80842         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
80843         (STATIC_BUF_SIZE): Define.
80844         (quotearg_n_options): Use only statically allocated storage when
80845         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
80846         than STATIC_BUF_SIZE.
80847
80848 2000-07-29  Jim Meyering  <meyering@lucent.com>
80849
80850         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
80851         * lib/dirname.c (dir_name): Likewise.
80852
80853         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
80854         `/'.
80855
80856         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
80857         (dir_name): Assert that there are no trailing slashes.
80858
80859 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
80860
80861         * lib/mbswidth.h (mbswidth): Add a flags argument.
80862         (mbswidth): New declaration.
80863         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
80864         * lib/mbswidth.c (mbswidth): Add a flags argument.
80865         (mbsnwidth): New function.
80866
80867 2000-07-24  Jim Meyering  <meyering@lucent.com>
80868
80869         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
80870
80871 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80872
80873         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
80874
80875 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80876
80877         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
80878         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
80879         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
80880         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
80881         invoke multibyte primitives.
80882
80883 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80884
80885         * lib/quotearg.c:
80886         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
80887         so that mbstate_t is always defined.
80888
80889         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
80890         be 1 in at least one GCC installation, and this configuration
80891         error is likely to be common.  Ignoring MB_LEN_MAX hurts
80892         performance on hosts that have mbrtowc but have only unibyte
80893         locales, but I assume these hosts are rare.
80894
80895 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80896
80897         * lib/mbswidth.c (_XOPEN_SOURCE):
80898         Don't define; this causes problems on Solaris 7.
80899         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
80900
80901 2000-07-23  Jim Meyering  <meyering@lucent.com>
80902
80903         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
80904         too: getgrgid, getpwuid, getuid.
80905
80906 2000-07-23  Jim Meyering  <meyering@lucent.com>
80907
80908         * lib/basename.c (base_name): Add an assertion.
80909
80910 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
80911
80912         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
80913         shadow its mbsinit function.
80914
80915 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
80916
80917         * lib/mbswidth.h: New file.
80918         * lib/mbswidth.c: New file.
80919         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
80920         (noinst_HEADERS): Add mbswidth.h.
80921
80922 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
80923
80924         * lib/config.charset: Add support for FreeBSD. Improve support for
80925         HP-UX and IRIX 6.
80926
80927 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
80928
80929         * m4/mbswidth.m4: New file.
80930         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
80931
80932 2000-07-15  Jim Meyering  <meyering@lucent.com>
80933
80934         * lib/makepath.c: Include quote.h.
80935         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
80936         corresponding argument in a `quote (...)' call.
80937         Give better diagnostics.
80938
80939         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
80940         (noinst_HEADERS): Add quote.h.
80941
80942         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
80943         from tar's src/misc.c.
80944         * lib/quote.h: New file.  Prototypes for same.
80945
80946 2000-07-14  Paul Eggert  <eggert@twinsun.com>
80947
80948         From a suggestion by Bruno Haible.
80949         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
80950         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
80951         to decide whether to define the BeOS workaround macro;
80952         this adjusts to the change to AC_MBSTATE_T.
80953
80954 2000-07-14  Jim Meyering  <meyering@lucent.com>
80955
80956         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
80957         jm_AC_TYPE_UINTMAX_T.
80958
80959 2000-07-13  Paul Eggert  <eggert@twinsun.com>
80960
80961         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
80962
80963         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
80964         quotearg_buffer_restyled): Add support for
80965         clocale_quoting_style.  Undo previous change to
80966         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
80967         and "{RIGHT QUOTATION MARK}" msgids.
80968
80969 2000-07-10  Paul Eggert  <eggert@twinsun.com>
80970
80971         From a suggestion by Bruno Haible.
80972         * m4/mbstate_t.m4 (AC_MBSTATE_T):
80973         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
80974         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
80975         and mbstate_t, to a single-part test that simply defines mbstate_t.
80976         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
80977         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
80978
80979 2000-07-10  Jim Meyering  <meyering@lucent.com>
80980
80981         * m4/strerror_r.m4: Mirror the correction made in autoconf.
80982
80983         * m4/gnu-source.m4: Output to confdefs.h directly.
80984         Suggestion from Akim Demaille.
80985
80986 2000-07-09  Paul Eggert  <eggert@twinsun.com>
80987
80988         The old behavior of quoting `like this' doesn't look good with
80989         newer, ISO-style fonts.  See:
80990         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
80991
80992         Instead, quote "like this" by default.  Let the translator
80993         tailor the locale-specific quoting behavior by providing
80994         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
80995
80996         * lib/quotearg.c (N_): New macro.
80997         (gettext_default): New function.
80998         (quotearg_buffer_restyled): Use
80999         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
81000         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
81001
81002 2000-07-09  Jim Meyering  <meyering@lucent.com>
81003
81004         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
81005         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
81006
81007         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
81008         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
81009
81010 2000-07-09  Jim Meyering  <meyering@lucent.com>
81011
81012         * lib/Most files: Update copyright dates to include 2000.
81013
81014 2000-07-08  Jim Meyering  <meyering@lucent.com>
81015
81016         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
81017         if not defined.
81018         (xgethostname): Remove now-unnecessary #ifdef.
81019         Move declaration of `err' into loop where it's used.
81020
81021 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81022         and Bruno Haible  <haible@clisp.cons.org>
81023
81024         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
81025         only if the test for an object-type mbstate_t fails.  This
81026         prevents us from mistakenly reporting that mbstate_t is a
81027         system object type after we "#define mbstate_t int" to work
81028         around its lack.
81029
81030 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81031         and Bruno Haible  <haible@clisp.cons.org>
81032
81033         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
81034
81035 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81036
81037         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
81038         to strerror_r.
81039         Include <ctype.h> for use of isalpha.
81040
81041 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81042
81043         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
81044         by allocating a larger buffer. Test the gethostname return value for
81045         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
81046         returns an error and ENAMETOOLONG isn't defined.
81047
81048 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81049
81050         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
81051         dimension.
81052
81053 2000-07-04  Jim Meyering  <meyering@lucent.com>
81054
81055         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
81056         of the deprecated AC_CHECKING.
81057
81058 2000-07-04  Jim Meyering  <meyering@lucent.com>
81059
81060         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
81061         Reported by Bruno Haible.
81062
81063 2000-07-04  Jim Meyering  <meyering@lucent.com>
81064
81065         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
81066         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
81067         lacks mbrtowc.
81068
81069 2000-07-03  Paul Eggert  <eggert@twinsun.com>
81070
81071         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
81072         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
81073
81074 2000-07-03  Paul Eggert  <eggert@twinsun.com>
81075         and Bruno Haible  <haible@clisp.cons.org>
81076
81077         * lib/quotearg.c (mbrtowc):
81078         Assign to *pwc, and return 1 only if result is nonzero.
81079         (iswprint): Use ISPRINT when substituting our own mbrtowc.
81080
81081 2000-07-03  Jim Meyering  <meyering@lucent.com>
81082
81083         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
81084
81085 2000-07-03  Jim Meyering  <meyering@lucent.com>
81086
81087         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
81088         This is necessary to get a definition of e.g., UTMP_FILE on
81089         HP-UX 10.20.
81090         From Bob Proulx.
81091
81092 2000-07-02  Jim Meyering  <meyering@lucent.com>
81093
81094         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
81095
81096         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
81097         AC_LIBOBJ(function_name).
81098         * m4/chown.m4: Likewise.
81099         * m4/fnmatch.m4: Likewise.
81100         * m4/ftruncate.m4: Likewise.
81101         * m4/getgroups.m4: Likewise.
81102         * m4/getline.m4: Likewise.
81103         * m4/group-member.m4: Likewise.
81104         * m4/jm-macros.m4: Likewise.
81105         * m4/lstat.m4: Likewise.
81106         * m4/malloc.m4: Likewise.
81107         * m4/memcmp.m4: Likewise.
81108         * m4/nanosleep.m4: Likewise.
81109         * m4/putenv.m4: Likewise.
81110         * m4/realloc.m4: Likewise.
81111         * m4/regex.m4: Likewise.
81112         * m4/stat.m4: Likewise.
81113         * m4/strftime.m4: Likewise.
81114
81115 2000-07-02  Jim Meyering  <meyering@lucent.com>
81116
81117         * lib/quotearg.c (mbstate_t): Don't define here.
81118
81119 2000-07-02  Jim Meyering  <meyering@lucent.com>
81120
81121         * lib/nanosleep.c (SIGCONT): Define if not already defined.
81122
81123 2000-07-01  Jim Meyering  <meyering@lucent.com>
81124
81125         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
81126
81127 2000-07-01  Jim Meyering  <meyering@lucent.com>
81128
81129         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
81130         problem.
81131
81132 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
81133
81134         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
81135         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
81136
81137 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
81138
81139         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
81140         per change in ../m4/ls-mntd-fs.m4.
81141         (read_filesystem_list): Ignore symbolic links.
81142
81143 2000-06-29  Jim Meyering  <meyering@lucent.com>
81144
81145         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
81146         for declaration of strcmp.
81147
81148         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
81149
81150         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
81151         Avoid warning by casting result to `char *' to remove `const'.
81152
81153 2000-06-28  Jim Meyering  <meyering@lucent.com>
81154
81155         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
81156         included by quotearg.c, for which we perform this test.  From
81157         Bruno Haible.
81158
81159 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
81160
81161         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
81162         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
81163         <utmpx.h> exists, put readutmp.o into LIBOBJS.
81164
81165 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
81166
81167         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
81168
81169 2000-06-26  Paul Eggert  <eggert@twinsun.com>
81170
81171         savedir now sets errno on failure and invokes xmalloc to get memory.
81172         Fix a couple of other minor bugs while we're at it.
81173
81174         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
81175         (NAMLEN): Remove macro.
81176         (malloc, realloc): Remove decls.
81177         (stpcpy): Likewise.
81178         ("xalloc.h"): Include.
81179         (NAME_SIZE_DEFAULT): New macro.
81180         (savedir): Use xmalloc / xrealloc to allocate memory.
81181         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
81182         Skip "" directory entries.
81183         Use strlen to calculate directory entry length, since the old method
81184         is rarely used these days and isn't worth supporting.
81185         Don't use a pointer after freeing it.
81186         Check for integer overflow when calculating allocation size.
81187         Use memcpy to copy entries, instead of stpcpy.
81188         Set errno properly when returning NULL.
81189         Check for readdir error.
81190
81191 2000-06-26  Jim Meyering  <meyering@lucent.com>
81192
81193         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
81194
81195 2000-06-25  Jim Meyering  <meyering@lucent.com>
81196
81197         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
81198         Linux header bug when _XOPEN_SOURCE is defined to 500.
81199
81200 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81201
81202         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
81203         deficiency.
81204
81205 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81206
81207         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
81208         Include xalloc.h.
81209         Don't include <stdlib.h>.  Don't declare malloc, realloc.
81210
81211 2000-06-24  Jim Meyering  <meyering@lucent.com>
81212
81213         * m4/strerror_r.m4: Revive this file -- to try out an experimental
81214         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
81215         for which strerror does return char*, but which lacks a conveniently
81216         accessible declaration of the function.  If the compile-test says
81217         strerror_r doesn't work, then resort to a `run'-test that works on
81218         BeOS and segfaults on DEC Unix.
81219
81220 2000-06-24  Jim Meyering  <meyering@lucent.com>
81221
81222         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
81223
81224 2000-06-23  Paul Eggert  <eggert@twinsun.com>
81225
81226         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
81227         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
81228
81229 2000-06-23  Paul Eggert  <eggert@twinsun.com>
81230
81231         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
81232         (mbrtowc, mbstate_t): Define substitutes if
81233         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
81234         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
81235         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
81236
81237 2000-06-23  Jim Meyering  <meyering@lucent.com>
81238
81239         * m4/afs.m4: Add missing AC_MSG_RESULT.
81240         Reported by Bruno Haible.
81241
81242         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
81243         Suggestion from Bruno Haible.
81244
81245 2000-06-23  Jim Meyering  <meyering@lucent.com>
81246
81247         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
81248
81249 2000-06-21  Jim Meyering  <meyering@lucent.com>
81250
81251         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
81252
81253 2000-06-21  Jim Meyering  <meyering@lucent.com>
81254
81255         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
81256         (noinst_HEADERS): Add getstr.h.
81257
81258         * lib/getline.c (getstr): Move into a separate file.
81259         * lib/getstr.c (getstr): New file, extracted from getline.c, with
81260         the following changes: new parameter, delim2; both delim[12]
81261         parameters have type `int', not `char'.  The latter would lose
81262         with 8-bit delimiters.
81263         * lib/getstr.h: New file.
81264
81265 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81266
81267         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
81268         than 1024, return a memory chunk of least possible size, instead
81269         of size PATH_MAX + 2. In the loop, increment the size proportionally.
81270         Use free/xmalloc instead of xrealloc to avoid copying for very long
81271         paths.
81272
81273 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81274
81275         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
81276         the empty string.
81277
81278 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81279
81280         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
81281         address, not strdup.  Include <stdlib.h> and don't declare free().
81282
81283 2000-06-19  Jim Meyering  <meyering@lucent.com>
81284
81285         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
81286
81287 2000-06-18  Jim Meyering  <meyering@lucent.com>
81288
81289         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
81290
81291         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
81292         `checking whether...' message to be consistent with that of the
81293         lstat test.
81294
81295 2000-06-18  Jim Meyering  <meyering@lucent.com>
81296
81297         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
81298         Besides, these days every porting target provides a mkdir function.
81299
81300         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
81301         needed. (this snippet comes from src/system.h).
81302
81303 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
81304
81305         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
81306
81307 2000-06-15  Paul Eggert  <eggert@twinsun.com>
81308
81309         * lib/human.c (adjust_value): New function.
81310         (human_readable_inexact): Apply rounding style even when
81311         printing approximate values.
81312
81313 2000-06-14  Paul Eggert  <eggert@twinsun.com>
81314
81315         * lib/human.c (human_readable_inexact): Allow an input block
81316         size that is not a multiple of the output block size, and vice versa.
81317         Reported by Piergiorgio Sartor.
81318
81319 2000-06-14  Paul Eggert  <eggert@twinsun.com>
81320
81321         * lib/getdate.y (get_date): Apply relative times after time
81322         zone indicator, not before.  Reported by Todd A. Jacobs.
81323
81324 2000-06-13  Jim Meyering  <meyering@lucent.com>
81325
81326         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
81327
81328         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
81329
81330 2000-06-12  Paul Eggert  <eggert@twinsun.com>
81331
81332         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
81333
81334 2000-06-12  Jim Meyering  <meyering@lucent.com>
81335
81336         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
81337         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
81338         optional argument.
81339         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
81340         the optional argument, `lib'.
81341
81342 2000-06-08  Jim Meyering  <meyering@lucent.com>
81343
81344         * m4/largefile.m4: Remove file (now that it's part of autoconf).
81345
81346 2000-06-04  Paul Eggert  <eggert@twinsun.com>
81347
81348         Rewrite largefile configuration so that we don't need to run
81349         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
81350         AC_CANONICAL_HOST in configure.in -- jmm]
81351
81352         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
81353         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
81354         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
81355         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
81356         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
81357         All uses changed.
81358         Instead of inspecting the output of getconf, try to compile the
81359         test program without and with the macro definition.
81360         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
81361         for getconf.  Instead, check for the needed flags by compiling
81362         test programs.
81363
81364 2000-06-04  Paul Eggert  <eggert@twinsun.com>
81365
81366         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
81367
81368 2000-06-04  Jim Meyering  <meyering@lucent.com>
81369
81370         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
81371         SunOS 4.1.4 for which gid_t is an unsigned type.
81372
81373 2000-06-03  Jim Meyering  <meyering@lucent.com>
81374
81375         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
81376         now that autoconf requires that.
81377
81378         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
81379         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
81380         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
81381
81382 2000-06-03  Jim Meyering  <meyering@lucent.com>
81383
81384         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
81385
81386 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
81387
81388         * m4/glibc21.m4: New file.
81389         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
81390
81391 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
81392
81393         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
81394         newer, don't install charset.alias.
81395         * lib/config.charset: Change the Linux/glibc rules so they become empty
81396         on glibc-2.1 or newer.
81397
81398 2000-06-02  Jim Meyering  <meyering@lucent.com>
81399
81400         * lib/mountlist.c: Back out last change.  Instead, do this...
81401         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
81402         me_dummy member using the same `ignore'-testing code.
81403         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
81404         fs_type strings.
81405         From Mark D. Roth.
81406
81407 2000-05-29  Jim Meyering  <meyering@lucent.com>
81408
81409         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
81410         mounts with the `ignore' attribute.  Based on a patch from
81411         Mark D. Roth.
81412
81413 2000-05-28  Jim Meyering  <meyering@lucent.com>
81414
81415         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
81416         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81417         * m4/stat.m4: Likewise.
81418         * m4/lstat.m4: Likewise.
81419         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
81420
81421         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
81422         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
81423
81424 2000-05-26  Jim Meyering  <meyering@lucent.com>
81425
81426         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
81427
81428 2000-05-24  Jim Meyering  <meyering@lucent.com>
81429
81430         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
81431         autoconf requires that.
81432         * m4/lib-check.m4: Likewise.
81433         * m4/jm-macros.m4: Likewise.
81434         * m4/strftime.m4: Likewise.
81435
81436         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
81437         AC_CHECK_DECLS, now that autoconf requires that.
81438
81439 2000-05-22  Jim Meyering  <meyering@lucent.com>
81440
81441         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81442         * m4/lstat.m4: Likewise.
81443
81444 2000-05-22  Jim Meyering  <meyering@lucent.com>
81445
81446         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
81447
81448 2000-05-20  Jim Meyering  <meyering@lucent.com>
81449
81450         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
81451         (jm_PREREQ): Use it.
81452
81453 2000-05-18  Jim Meyering  <meyering@lucent.com>
81454
81455         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
81456         back, too, since it may have been modified by allocate_entry.
81457         (hash_delete): Rewrite to use neither the assignment operator
81458         nor the comma operator in an if-expression.
81459
81460 2000-05-15  Paul Eggert  <eggert@twinsun.com>
81461
81462         * lib/closeout.c:
81463         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
81464         Remove; no longer needed.
81465         "quotearg.h": Add include.
81466         (file_name): Do not bother to explicitly initialize to NULL; it's less
81467         efficient on some hosts.
81468         (close_stdout_status): Remove test as to whether stdout was already
81469         closed; it breaks for the case "echo x | sort >&-".
81470         Quote file name colons.
81471         Do not assume that _("write error") lacks format strings.
81472
81473 2000-05-15  Jim Meyering  <meyering@lucent.com>
81474
81475         * lib/version-etc.c (version_etc_copyright): Update the copyright
81476         string used in all --version output.
81477
81478 2000-05-14  Jim Meyering  <meyering@lucent.com>
81479
81480         * lib/closeout.c (close_stdout_set_file_name): New function.
81481         (close_stdout_status): Use new file-scoped global.
81482         Return right away if fstat says the stdout file descriptor is invalid.
81483         * lib/closeout.h (close_stdout_set_file_name): Declare.
81484
81485 2000-05-10  Jim Meyering  <meyering@lucent.com>
81486
81487         * lib/closeout.c [default_exit_status]: New file-scoped variable.
81488         (close_stdout_set_status): New function.
81489         * lib/closeout.h (close_stdout_set_status): Declare.
81490
81491 2000-05-09  Jim Meyering  <meyering@lucent.com>
81492
81493         * m4/gettext.m4: Rename this...
81494         * m4/libintl.m4: ...to this.
81495
81496 2000-05-08  Jim Meyering  <meyering@lucent.com>
81497
81498         * lib/long-options.c: Don't include closeout.h.
81499         (parse_long_options): Don't call close_stdout for --version.
81500
81501 2000-05-06  Paul Eggert  <eggert@twinsun.com>
81502
81503         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
81504         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
81505         2.1.3 bug.  This avoids a clash when files like regex.c define
81506         _GNU_SOURCE.
81507
81508 2000-05-06  Jim Meyering  <meyering@lucent.com>
81509
81510         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
81511         (AC_REPLACE_FUNCS): Add strnlen.
81512
81513         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
81514         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
81515
81516         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
81517         AC_SEARCH_LIBS call for nanosleep.
81518         (LIB_NANOSLEEP): Set and AC_SUBST.
81519
81520 2000-05-06  Jim Meyering  <meyering@lucent.com>
81521
81522         * lib/strnlen.c: Undefine __strnlen and strnlen.
81523         [!weak_alias]: Define __strnlen to strnlen.
81524
81525         * lib/atexit.c: New file, from libiberty.
81526
81527 2000-05-06  Jim Meyering  <meyering@lucent.com>
81528
81529         * lib/closeout.c (close_stdout_status): Also check for errors on the
81530         stderr stream.
81531
81532 2000-05-05  Jim Meyering  <meyering@lucent.com>
81533
81534         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
81535         AC_SEARCH_LIBS call for clock_gettime.
81536         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
81537
81538         * m4/search-libs.m4: Update from autoconf.
81539
81540         su doesn't work on Solaris 2.6.
81541         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
81542         <shadow.h>.  Reported by Dragos Harabor.
81543
81544 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
81545
81546         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
81547         memcpy instead of xmalloc, xrealloc, path_concat.
81548         (locale_charset): Treat empty environment variables as absent.
81549         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
81550
81551 2000-05-04  Jim Meyering  <meyering@lucent.com>
81552
81553         * lib/getopt.c: Update from glibc.
81554         * lib/obstack.c: Likewise.
81555         * lib/obstack.h: Likewise.
81556         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
81557         file
81558
81559         * lib/regex.h: Likewise.
81560         * lib/strndup.c: Likewise.
81561         * lib/strnlen.c: New file, from glibc.
81562
81563 2000-05-03  Jim Meyering  <meyering@lucent.com>
81564
81565         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
81566
81567 2000-05-02  Paul Eggert  <eggert@twinsun.com>
81568
81569         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
81570         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
81571         compile-time test, rather than inspecting host and OS, to
81572         decide whether to define _LARGEFILE_SOURCE.
81573
81574 2000-05-01  Jim Meyering  <meyering@lucent.com>
81575
81576         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
81577
81578         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
81579         Based on a patch from Bruno Haible.
81580
81581 2000-05-01  Jim Meyering  <meyering@lucent.com>
81582
81583         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
81584
81585 2000-04-29  Jim Meyering  <meyering@lucent.com>
81586
81587         * lib/path-concat.c: Declare strdup only if it's not defined.
81588         * lib/canon-host.c: Likewise.
81589
81590 2000-04-28  Jim Meyering  <meyering@lucent.com>
81591
81592         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
81593         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
81594         is included first, then limits.h is included by locale.h by libintl.h.
81595         From John David Anglin.
81596
81597 2000-04-25  Jim Meyering  <meyering@lucent.com>
81598
81599         * lib/makepath.c (S_IRWXUGO): Define.
81600         (make_path): Always perform explicit chmod if MODE specifies any
81601         of the `special' permission bits.  Prompted by a bug report against
81602         install from Mate Wierdl and Joost van Baal.
81603
81604 2000-04-18  Jim Meyering  <meyering@lucent.com>
81605
81606         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
81607         (jm_PREREQ): Use it.
81608
81609 2000-04-18  Jim Meyering  <meyering@lucent.com>
81610
81611         * lib/README: New file.
81612
81613         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
81614         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
81615
81616 2000-04-17  Jim Meyering  <meyering@lucent.com>
81617
81618         Get it right :-)
81619         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
81620         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
81621         Suggestion from Akim Demaille.
81622
81623 2000-04-17  Jim Meyering  <meyering@lucent.com>
81624
81625         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
81626         the definition of it to rpl_strftime also defined-away the system's
81627         declaration.
81628
81629 2000-04-15  Jim Meyering  <meyering@lucent.com>
81630
81631         Use `C' to denote so-called `contiguous' files, the same way
81632         that tar does.
81633         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
81634         (ftypelet): Use S_ISCTG.
81635         From Michael Deutschmann.
81636
81637 2000-04-14  Jim Meyering  <meyering@lucent.com>
81638
81639         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
81640         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
81641         clobbered.
81642
81643 2000-04-14  Jim Meyering  <meyering@lucent.com>
81644
81645         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
81646
81647 2000-04-13  Jim Meyering  <meyering@lucent.com>
81648
81649         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
81650         AH_VERBATIM to insert required #ifndef into config.h.in.
81651         Suggestion from Akim Demaille.
81652
81653 2000-04-12  Jim Meyering  <meyering@lucent.com>
81654
81655         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
81656         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
81657         Christian Krackowizer.
81658
81659         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
81660         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
81661         (AC_SYS_LARGEFILE): Require.
81662         (AM_C_PROTOTYPES): Require.
81663
81664 2000-04-08  Jim Meyering  <meyering@lucent.com>
81665
81666         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
81667         names don't conflict.  Reported by Eli Zaretskii.
81668
81669 2000-04-07  Jim Meyering  <meyering@lucent.com>
81670
81671         * lib/putenv.c: Move inclusion of errno.h so it follows that of
81672         sys/types.h, to work around system header problems on AIX 3.2.5.
81673         From Bruno Haible.
81674
81675 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
81676
81677         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
81678         bug.  Deal with the different error behavior of Irix iconv.
81679
81680 2000-04-05  Paul Eggert  <eggert@twinsun.com>
81681
81682         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
81683         IRIX if the installer said otherwise.
81684
81685 2000-04-05  Jim Meyering  <meyering@lucent.com>
81686
81687         Portability tweaks required for ultrix4.3.
81688         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
81689         (jm_CHECK_DECLS): Add getutent to the list of functions.
81690         (_jm_DECL_HEADERS): Add utmpx.h.
81691         From John David Anglin.
81692
81693         * m4/strftime.m4: Back out the 2000-04-02 change.
81694         Instead of that change, simply undefine putenv in the test program.
81695
81696 2000-04-05  Jim Meyering  <meyering@lucent.com>
81697
81698         Portability tweaks required for ultrix4.3.
81699         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
81700         getutent.
81701         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
81702         * lib/canon-host.c: Declare strdup.
81703         * lib/path-concat.c: Likewise.
81704         From John David Anglin.
81705
81706 2000-04-04  Jim Meyering  <meyering@lucent.com>
81707
81708         Be more DOS 8.3-friendly.
81709         * lib/ref-add.sin: Renamed from ref-add.sed.in.
81710         * lib/ref-del.sin: Renamed from ref-del.sed.in.
81711         * lib/Makefile.am: Reflect renaming.
81712         Reported by Eli Zaretskii.
81713
81714         Use a temporary file name that won't clash with `charset.alias'
81715         in the DOS 8.3 name space.
81716         * lib/Makefile.am (charset_tmp): Define.
81717         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
81718         (uninstall-local): Likewise.
81719         Reported by Eli Zaretskii.
81720
81721 2000-04-03  Jim Meyering  <meyering@lucent.com>
81722
81723         * m4/gettext.m4: Fix typo in comment.
81724
81725         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
81726         textutils/configure.in).  Suggestion from Paul Eggert.
81727         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
81728
81729 2000-04-02  Paul Eggert  <eggert@twinsun.com>
81730
81731         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
81732         variable in the shell rather than using putenv, which isn't
81733         portable.  This avoids the configure-time inter-test dependency
81734         on the potentially-renamed putenv function.
81735
81736 2000-03-30  Paul Eggert  <eggert@twinsun.com>
81737
81738         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
81739         before checking struct stat.st_blksize, so that
81740         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
81741
81742 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81743
81744         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
81745         since strftime.c uses HAVE_STRFTIME to decide whether to use
81746         the underlying strftime.
81747
81748 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81749
81750         * lib/time/strftime.c (my_strftime): Make sure we call the system
81751         strftime, not ourselves, when invoking the underlying strftime.
81752
81753 2000-03-24  Jim Meyering  <meyering@lucent.com>
81754
81755         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
81756         (charset_alias): Define.
81757         (install-exec-local): Factor out common code.
81758         (uninstall-local): Split lines longer than 80.
81759         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
81760         (SUFFIXES): Define.
81761         (.sed.in.sed): New rule.  Don't redirect directly to $@.
81762         (CLEANFILES): Add ref-add.sed and ref-del.sed.
81763
81764 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
81765
81766         * lib/config.charset: Output a line containing "Packages using this
81767         file".
81768         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
81769         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
81770         ref-del.sed): New rules.
81771
81772 2000-03-17  Jim Meyering  <meyering@lucent.com>
81773
81774         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
81775         Otherwise, include <strings.h>
81776
81777 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
81778
81779         * lib/unicodeio.c (utf8_wctomb): New function.
81780         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
81781         format instead of in UCS-4 with platform dependent endianness.
81782
81783 2000-03-10  Jim Meyering  <meyering@lucent.com>
81784
81785         * m4/lib-check.m4: Look for getspnam in -lgen, too.
81786         From Marco Franzen.
81787
81788 2000-03-07  Paul Eggert  <eggert@twinsun.com>
81789
81790         * lib/savedir.c (savedir): Work even if directory size is
81791         negative; this can happen with some screwy NFS configurations.
81792
81793 2000-03-06  Jim Meyering  <meyering@lucent.com>
81794
81795         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
81796         if it's NULL (because we ran out of memory).  From Bruno Haible.
81797
81798 2000-03-05  Jim Meyering  <meyering@lucent.com>
81799
81800         * lib/localcharset.c ("path-concat.h"): Include.
81801         (get_charset_aliases): Use path_concat instead of ANSI string
81802         concatenation.
81803
81804         * lib/unicodeio.h (PARAMS): Define.
81805         Use it to guard prototype.
81806
81807 2000-03-04  Jim Meyering  <meyering@lucent.com>
81808
81809         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
81810         for lib/localcharset.c.
81811
81812 2000-03-04  Jim Meyering  <meyering@lucent.com>
81813
81814         * lib/Makefile.am (install-exec-local): Create $(libdir) before
81815         installing into it.
81816         (uninstall-local): Uncomment this rule so `make distcheck' works
81817         once again.
81818
81819         * lib/unicodeio.c (<errno.h>): Include it.
81820         (errno): Declare if not defined.
81821
81822         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
81823
81824         * lib/config.charset: New version, incorporating remarks from a linux
81825         i18n mailing list.  From Bruno Haible.
81826
81827 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
81828
81829         * m4/codeset.m4: New file.
81830         * m4/iconv.m4: New file.
81831         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
81832
81833 2000-03-03  Jim Meyering  <meyering@lucent.com>
81834
81835         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
81836
81837 2000-03-02  Jim Meyering  <meyering@lucent.com>
81838
81839         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
81840         the messages come out on separate lines.
81841
81842         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
81843         rather than jm_CHECK_DECLARATIONS.
81844         * m4/decl.m4: Remove now-unused file.
81845
81846         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
81847         geteuid.
81848
81849 2000-03-02  Jim Meyering  <meyering@lucent.com>
81850
81851         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
81852
81853 2000-03-01  Jim Meyering  <meyering@lucent.com>
81854
81855         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
81856         * lib/unicodeio.c: Likewise.
81857
81858 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
81859
81860         * lib/config.charset: New file.
81861         * lib/localcharset.c: New file.
81862         * lib/unicodeio.h, lib/unicodeio.c: New files.
81863         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
81864         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
81865         (noinst_HEADERS): Add unicodeio.h.
81866         (all-local, install-exec-local, charset.alias): New targets.
81867
81868 2000-02-28  Paul Eggert  <eggert@twinsun.com>
81869
81870         * lib/quotearg.c (ALERT_CHAR): New macro.
81871         (quotearg_buffer_restyled): Use it.
81872
81873 2000-02-27  Jim Meyering  <meyering@lucent.com>
81874
81875         * m4/check-decl.m4: Add getenv to the list.
81876
81877 2000-02-27  Jim Meyering  <meyering@lucent.com>
81878
81879         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
81880         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
81881
81882         * lib/backupfile.c: Guard inclusion of stdlib.h with
81883         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
81884         Declare malloc if needed.
81885
81886         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
81887         `#ifndef HAVE_DECL..'
81888         now that autoconf always defines the HAVE_DECL_ symbols.
81889         * lib/human.c: Likewise.
81890         * lib/same.c: Likewise.
81891         * lib/strtoumax.c: Likewise.
81892
81893         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
81894         declaration check was not run.
81895         * lib/hash.c: Likewise.
81896         * lib/human.c: Likewise.
81897         * lib/same.c: Likewise.
81898         * lib/strtoumax.c: Likewise.
81899
81900         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
81901         `.', then first look up the entire `.'-containing string as a login
81902         name.
81903
81904 2000-02-23  Jim Meyering  <meyering@lucent.com>
81905
81906         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
81907         in place of my hack.
81908
81909 2000-02-18  Paul Eggert  <eggert@twinsun.com>
81910
81911         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
81912         (textint): New typedef.
81913         (parser_control): Member year changed from int to textint.
81914         All uses changed.
81915         (YYSTYPE): Removed; replaced by %union with int and textint members.
81916         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
81917         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
81918         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
81919         (tSNUMBER, tUNUMBER): Now of type <textintval>.
81920         (date, number, to_year): Use width of number in digits, not its value,
81921         to determine whether it's a 2-digit year, or a 2-digit time.
81922         (yylex): Store number of digits of numeric tokens.
81923         Reported by John Kendall.
81924
81925         (parser_control): Changed from struct parser_control to typedef (for
81926         consistency).  All uses changed.
81927
81928         (tID): Removed; not used.
81929         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
81930
81931 2000-02-14  Paul Eggert  <eggert@twinsun.com>
81932
81933         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
81934         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
81935
81936 2000-02-12  Jim Meyering  <meyering@lucent.com>
81937
81938         * lib/userspec.c (ISDIGIT): Define it.
81939         (isdigit): Remove definition.
81940         (is_number): Use ISDIGIT, not isdigit.
81941         <libintl.h>: Include.
81942         (_ and N_): Define.
81943         (parse_user_spec): Mark translatable strings.
81944
81945 2000-02-10  Jim Meyering  <meyering@lucent.com>
81946
81947         With these changes, nanosleep.[ch] are finally enough like the other
81948         lib/* replacement files to compile on a few more losing systems.
81949
81950         * lib/nanosleep.h: Don't include config.h.
81951         Remove prototype from declaration of nanosleep.
81952         (PARAMS): Remove now-unneeded definition.
81953         * lib/nanosleep.c: #undef nanosleep.
81954         (rpl_nanosleep): Rename from nanosleep.
81955
81956 2000-02-10  Jim Meyering  <meyering@lucent.com>
81957
81958         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
81959         gnu_nanosleep to rpl_nanosleep.
81960
81961 2000-02-09  Jim Meyering  <meyering@lucent.com>
81962
81963         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
81964         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
81965
81966 2000-02-08  Akim Demaille  <akim@epita.fr>
81967
81968         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
81969         `[' and `]' and remove uses of `changequote'.
81970         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
81971         (AC_SYS_LARGEFILE): Likewise.
81972         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
81973         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
81974         of changequote.
81975         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
81976         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
81977         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
81978         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
81979
81980 2000-02-05  Jim Meyering  <meyering@lucent.com>
81981
81982         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
81983         Remove explicit use of AC_HEADER_TIME.  It is required by
81984         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
81985         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
81986         in autoconf whereby the expansion of the latter ended up preceding
81987         the expansion of its prerequisite, AC_HEADER_TIME.
81988         Reported by Volker Borchert.
81989
81990 2000-02-03  Jim Meyering  <meyering@lucent.com>
81991
81992         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
81993
81994 2000-02-03  Jim Meyering  <meyering@lucent.com>
81995
81996         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
81997         rather than with `#if HAVE_UTMPNAME'.
81998
81999 2000-02-02  Jim Meyering  <meyering@lucent.com>
82000
82001         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
82002         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
82003         Reported by Eli Zaretskii.
82004
82005 2000-02-01  Jim Meyering  <meyering@lucent.com>
82006
82007         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
82008
82009 2000-01-31  Jim Meyering  <meyering@lucent.com>
82010
82011         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
82012         functions.  Add the time.h and sys/time.h headers along with the
82013         AC_REQUIRE'ment of AC_HEADER_TIME.
82014
82015 2000-01-31  Jim Meyering  <meyering@lucent.com>
82016
82017         * lib/nanosleep.h (nanosleep): Guard declaration with
82018         `#if ! HAVE_DECL_NANOSLEEP'.
82019         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
82020         the declaration in that vendor's sys/timers.h.
82021         Reported by Christian Krackowizer.
82022
82023         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
82024         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
82025         (ISPRINT): Likewise.
82026         Reported by Tom Tromey.
82027
82028 2000-01-30  Jim Meyering  <meyering@lucent.com>
82029
82030         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
82031
82032         * m4/prereq.m4 (utmp_includes): Define.
82033         Check for ut_user and ut_name members in both struct utmpx
82034         and struct utmp.
82035
82036 2000-01-30  Jim Meyering  <meyering@lucent.com>
82037
82038         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
82039         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
82040         header files where only utmpx.ut_user is declared.
82041
82042         * lib/readutmp.h (UT_USER): Define.
82043
82044 2000-01-29  Jim Meyering  <meyering@lucent.com>
82045
82046         * m4/lib-check.m4: New file containing library-related checks from
82047         fileutils and sh-utils (textutils had none).
82048
82049 2000-01-28  Jim Meyering  <meyering@lucent.com>
82050
82051         * m4/perl.m4: Change format of warning message to look more like that
82052         from the missing script.  Suggestion from François Pinard.
82053
82054 2000-01-25  Jim Meyering  <meyering@lucent.com>
82055
82056         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
82057         well as time.h in the compile check.
82058         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
82059         Fix typo in cross-compiling case: s/yes/no/.
82060
82061 2000-01-23  Jim Meyering  <meyering@lucent.com>
82062
82063         * m4/jm-macros.m4: Move df-related tests here from
82064         fileutils/configure.in
82065
82066         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
82067         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
82068
82069         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
82070         s/space/ac_fsusage_space/.
82071         (jm_FILE_SYSTEM_USAGE): Take two parameters.
82072
82073         * m4/ftruncate.m4: New file (derived from part of
82074         fileutils/configure.in).
82075         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
82076         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
82077
82078         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
82079         AC_SUBST these here, rather than just in sh-util/configure.in, so
82080         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
82081         all the same.
82082         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
82083         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
82084         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
82085         (AC_SUBST(POW_LIBM)): Likewise.
82086         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
82087
82088 2000-01-23  Jim Meyering  <meyering@lucent.com>
82089
82090         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
82091         obstack.c.
82092
82093 2000-01-22  Jim Meyering  <meyering@lucent.com>
82094
82095         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
82096
82097         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
82098
82099         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
82100         configure.in
82101         (AC_CHECK_HEADERS): Likewise for sh-utils.
82102         (AC_CHECK_HEADERS): Likewise for textutils.
82103         Merge the three lists of headers.
82104
82105         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
82106         from fileutils' configure.in.
82107
82108         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
82109         code. Moved tests into their own function (_jm_DECL_HEADERS) in
82110         check-decl.m4.
82111
82112         * m4/check-decl.m4: Use #if rather than #ifdef.
82113         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
82114         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
82115         (_jm_DECL_HEADERS): Define new function.
82116         (jm_CHECK_DECLARATIONS): Require it.
82117
82118 2000-01-22  Jim Meyering  <meyering@lucent.com>
82119
82120         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
82121         [! HAVE_DECL_STRTOULL]: Declare strtoull.
82122         Required for some AIX systems.  Reported by Christian Krackowizer.
82123         [TESTING] (main): New function.
82124
82125         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
82126         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
82127         letters.
82128
82129         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
82130         iswprint.
82131
82132         * lib/strverscmp.c (ISDIGIT): Define.
82133         (strverscmp): Use ISDIGIT, not isdigit.
82134
82135 2000-01-19  Jim Meyering  <meyering@lucent.com>
82136
82137         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
82138         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
82139         defines `struct timespec' in <sys/time.h>
82140
82141         * m4/c-bs-a.m4: Remove uses of changequote altogether.
82142         Thanks to Akim for explaining.
82143
82144 2000-01-17  Paul Eggert  <eggert@twinsun.com>
82145
82146         * lib/nanosleep.c (nanosleep):
82147         Don't use SA_INTERRUPT to decide whether to call sigaction, as
82148         POSIX.1 doesn't require SA_INTERRUPT and some systems
82149         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
82150         it's been part of POSIX.1 since day 1 (in 1988).
82151
82152 2000-01-17  Jim Meyering  <meyering@lucent.com>
82153
82154         * lib/interlock: Remove unused file.  Reported by François Pinard.
82155
82156 2000-01-16  Paul Eggert  <eggert@twinsun.com>
82157
82158         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
82159         alert, backslash, formfeed, and vertical tab unnecessarily in
82160         shell quoting style.
82161
82162 2000-01-16  Jim Meyering  <meyering@lucent.com>
82163
82164         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
82165         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
82166         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
82167         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
82168
82169 2000-01-16  Jim Meyering  <meyering@lucent.com>
82170
82171         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
82172         because the latter didn't work.
82173
82174 2000-01-15  Jim Meyering  <meyering@lucent.com>
82175
82176         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
82177         (AC_REPLACE_FUNCS): Add memcpy and memset.
82178         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
82179         Add strpbrk.
82180         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
82181
82182 2000-01-12  Jim Meyering  <meyering@lucent.com>
82183
82184         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
82185         (jm_PREREQ): Use it.
82186         (jm_PREREQ_READUTMP): New macro.
82187         (jm_PREREQ): Use it.
82188
82189 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82190
82191         Quote multibyte characters correctly.
82192         * m4/c-bs-a.m4: New file.
82193         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
82194         (jm_PREREQ): Use it.
82195
82196 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82197
82198         * m4/uintmax_t.m4: Port to autoconf 2.13.
82199
82200 2000-01-08  Jim Meyering  <meyering@ascend.com>
82201
82202         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
82203         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
82204
82205 2000-01-04  Jim Meyering  <meyering@ascend.com>
82206
82207         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
82208         jm_STRUCT_DIRENT_D_TYPE.
82209         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
82210         jm_STRUCT_DIRENT_D_INO.
82211         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
82212         jm_STRUCT_UTIMBUF.
82213         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
82214         renamings.
82215         * m4/utime.m4: Likewise.
82216
82217         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
82218         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
82219
82220 2000-01-03  Paul Eggert  <eggert@twinsun.com>
82221
82222         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
82223         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
82224
82225 2000-01-02  Jim Meyering  <meyering@ascend.com>
82226
82227         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
82228         remember if this is necessary.
82229
82230 1999-12-26  Jim Meyering  <meyering@ascend.com>
82231
82232         * m4/jm-macros.m4: Use it here.
82233         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
82234
82235 1999-12-23  Jim Meyering  <meyering@ascend.com>
82236
82237         * m4/jm-macros.m4: Check for clock_gettime (moved from
82238         fileutils/configure.in)
82239         Check for gettimeofday.
82240
82241 1999-12-20  Jim Meyering  <meyering@ascend.com>
82242
82243         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
82244         autoconf-2.14a-1999-12-20.
82245
82246 1999-12-19  Jim Meyering  <meyering@ascend.com>
82247
82248         * m4/lstat-slash.m4: New file.
82249         * m4/jm-macros.m4: Use the new macro:
82250         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82251
82252 1999-12-07  Jim Meyering  <meyering@ascend.com>
82253
82254         * m4/perl.m4: Require that File::Compare be available, too.
82255         Too many systems seem to lack it.
82256
82257         * m4/strftime.m4: Add checks for most of the cpp macros tested in
82258         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
82259
82260 1999-11-18  Paul Eggert  <eggert@twinsun.com>
82261
82262         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
82263         problem with the QNX 4.25 shell, which doesn't propagate exit
82264         status of failed commands inside shell assignments.
82265
82266 1999-11-17  Jim Meyering  <meyering@ascend.com>
82267
82268         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
82269
82270 1999-11-07  Jim Meyering  <meyering@ascend.com>
82271
82272         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
82273
82274 1999-11-06  Jim Meyering  <meyering@ascend.com>
82275
82276         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
82277         * m4/jm-macros.m4 (jm_MACROS): Use it here.
82278
82279 1999-11-05  Jim Meyering  <meyering@ascend.com>
82280
82281         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
82282         configure.in of textutils, fileutils, and sh-utils into this one
82283         (shared between those packages) file.
82284         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
82285         AC_STRUCT_ST_BLKSIZE.
82286
82287 1999-11-03  Jim Meyering  <meyering@ascend.com>
82288
82289         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
82290         of AC_CHECK_TYPE checks includes unistd.h.
82291         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
82292         Suggestion from Akim Demaille.
82293
82294 1999-10-30  Jim Meyering  <meyering@ascend.com>
82295
82296         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
82297         m4-quoted string.
82298         * m4/ls-mntd-fs.m4: Likewise.
82299         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
82300         * m4/jm-winsz1.m4: Likewise.
82301
82302         * m4/const.m4: Remove file, since the fix made it into the experimental
82303         version of autoconf.
82304         * m4/mktime.m4: Likewise.
82305
82306         * m4/check-type.m4: Remove file, now that the latest version of
82307         AC_CHECK_TYPE takes a third arg to specify additional #includes.
82308
82309         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
82310         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
82311         AC_CHECK_TYPE.
82312
82313 1999-10-04  Jim Meyering  <meyering@ascend.com>
82314
82315         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
82316
82317 1999-09-22  Paul Eggert  <eggert@twinsun.com>
82318
82319         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
82320         2.95.1 bug with HP-UX 10.20.
82321
82322 1999-09-17  Jim Meyering  <meyering@ascend.com>
82323
82324         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
82325         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
82326         due to missing strdup (against sh-utils-2.0).
82327
82328 1999-08-29  Jim Meyering  <meyering@ascend.com>
82329
82330         * m4/jm-macros.m4: Require jm_BISON.
82331         * m4/bison.m4: New file.
82332
82333 1999-08-17  Paul Eggert  <eggert@twinsun.com>
82334
82335         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
82336         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
82337
82338 1999-08-05  Jim Meyering  <meyering@ascend.com>
82339
82340         * m4/getline.m4: Rename test file from conftestdata to conftest.data
82341         to avoid conflicts with `conftest' on 8+3 filesystems.
82342         Suggestion from Eli Zaretskii.
82343
82344 1999-08-04  Jim Meyering  <meyering@ascend.com>
82345
82346         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
82347         fileutils and sh-utils (textutils's getline test was inadequate).
82348         (AM_FUNC_GETLINE): Run this test.
82349         (AC_CHECK_FUNCS): Check for getdelim.
82350         Reported by Bob Proulx.
82351
82352 1999-08-02  Jim Meyering  <meyering@ascend.com>
82353
82354         * m4/jm-macros.m4: Add a comment.
82355
82356 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82357
82358         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
82359         <inttypes.h> defines strtoumax as a macro (and not as a
82360         function).
82361
82362 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82363
82364         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
82365         that we can shift, multiply and divide unsigned long long
82366         values; Ultrix cc can't do it.
82367
82368 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82369
82370         * m4/mktime.m4: New file, which is a preview of what should appear
82371         in the next public autoconf release.
82372
82373 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82374
82375         * m4/lfs.m4: Remove this file.
82376         * m4/largefile.m4: New file.  It contains the old contents of
82377         lfs.m4, except that all names with prefix AC_LFS have been
82378         changed to use the prefix AC_SYS_LARGEFILE instead, to be
82379         compatible with future autoconf versions.  Also, some minor m4
82380         quoting problems have been fixed.
82381
82382 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82383
82384         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
82385         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
82386         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
82387         and simplify the shell code.
82388
82389 1999-08-01  Jim Meyering  <meyering@ascend.com>
82390
82391         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
82392         m4.
82393
82394 1999-07-20  Jim Meyering  <meyering@ascend.com>
82395
82396         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
82397
82398 1999-07-15  Jim Meyering  <meyering@ascend.com>
82399
82400         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
82401
82402 1999-05-22  Jim Meyering  <meyering@ascend.com>
82403
82404         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
82405
82406 1999-05-20  Jim Meyering  <meyering@ascend.com>
82407
82408         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
82409         Add a colon after each `then' in case $4 is empty.
82410
82411 1999-05-16  Jim Meyering  <meyering@ascend.com>
82412
82413         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
82414
82415 1999-05-10  Jim Meyering  <meyering@ascend.com>
82416
82417         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
82418
82419         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
82420         AC_FUNC_MKTIME.
82421
82422 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
82423
82424         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
82425
82426 1999-05-04  Paul Eggert  <eggert@twinsun.com>
82427
82428         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
82429         not CPPFLAGS, so that linking works correctly in IRIX.
82430
82431 1999-04-30  Paul Eggert  <eggert@twinsun.com>
82432
82433         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
82434
82435 1999-04-20  Paul Eggert  <eggert@twinsun.com>
82436
82437         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
82438         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
82439         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
82440         jm_AC_TYPE_UNSIGNED_LONG_LONG.
82441         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
82442
82443         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
82444
82445 1999-04-20  Jim Meyering  <meyering@ascend.com>
82446
82447         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
82448         AC_REPLACE xstroull if necessary.  From Paul Eggert.
82449         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
82450
82451 1999-04-18  Jim Meyering  <meyering@ascend.com>
82452
82453         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
82454         * m4/jm-macros.m4: Use it.
82455
82456 1999-04-06  Jim Meyering  <meyering@ascend.com>
82457
82458         * m4/strftime.m4: Remove test for %f.
82459
82460 1999-03-29  Jim Meyering  <meyering@ascend.com>
82461
82462         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
82463         superset of the AC_TYPE_* checks in the textutils, fileutils,
82464         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
82465         AC_TYPE_PID_T.
82466
82467 1999-03-28  Jim Meyering  <meyering@ascend.com>
82468
82469         * m4/jm-macros.m4: Define GNU_PACKAGE here.
82470         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
82471         replaced e.g., in the *.sh files of the sh-utils.
82472
82473 1999-03-20  Jim Meyering  <meyering@ascend.com>
82474
82475         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
82476         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
82477         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
82478
82479 1999-03-19  Jim Meyering  <meyering@ascend.com>
82480
82481         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
82482
82483 1999-03-12  Jim Meyering  <meyering@ascend.com>
82484
82485         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
82486
82487 1999-03-07  Jim Meyering  <meyering@ascend.com>
82488
82489         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
82490         declared.
82491
82492 1999-02-17  Jim Meyering  <meyering@ascend.com>
82493
82494         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
82495         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
82496
82497 1999-02-07  Jim Meyering  <meyering@ascend.com>
82498
82499         * m4/group-member.m4: New file -- extracted from sh-utils'
82500         configure.in.
82501
82502         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
82503         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
82504
82505 1999-02-06  Jim Meyering  <meyering@ascend.com>
82506
82507         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
82508         * m4/fnmatch.m4: Likewise.
82509         * m4/getgroups.m4: Likewise.
82510         * m4/lstat.m4: Likewise.
82511         * m4/malloc.m4: Likewise.
82512         * m4/putenv.m4: Likewise.
82513         * m4/realloc.m4: Likewise.
82514         * m4/regex.m4: Likewise.
82515         * m4/stat.m4: Likewise.
82516         * m4/strftime.m4: Likewise.
82517         Suggestion from Alain Magloire.
82518
82519         * m4/chown.m4: Use `.$ac_objext', not `.o'.
82520         * m4/fnmatch.m4: Likewise.
82521         * m4/getgroups.m4: Likewise.
82522         * m4/getline.m4: Likewise.
82523         * m4/lstat.m4: Likewise.
82524         * m4/malloc.m4: Likewise.
82525         * m4/memcmp.m4: Likewise.
82526         * m4/putenv.m4: Likewise.
82527         * m4/realloc.m4: Likewise.
82528         * m4/regex.m4: Likewise.
82529         * m4/stat.m4: Likewise.
82530         * m4/strftime.m4: Likewise.
82531         Suggestion from Alain Magloire.
82532
82533         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
82534         an argument.
82535
82536         * m4/regex.m4: Add a run-time Test for proper operation of
82537         re_compile_pattern.
82538
82539 1999-01-31  Jim Meyering  <meyering@ascend.com>
82540
82541         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
82542
82543 1999-01-30  Jim Meyering  <meyering@ascend.com>
82544
82545         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
82546
82547         * m4/jm-mktime.m4: Make this a wrapper around the official
82548         AM_FUNC_MKTIME rather than my private copy, now that the official one
82549         is up to date.
82550         * m4/mktime.m4: Remove file.
82551
82552         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
82553         * m4/uptime.m4: Likewise.
82554         * m4/uintmax_t.m4: Likewise.
82555
82556 1999-01-28  Jim Meyering  <meyering@ascend.com>
82557
82558         * m4/jm-macros.m4: Use jm_AFS.
82559         * m4/afs.m4: New file (from fileutils' configure.in).
82560
82561         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
82562         * m4/chown.m4: Likewise.
82563         * m4/d-ino.m4: Likewise.
82564         * m4/d-type.m4: Likewise.
82565         * m4/fnmatch.m4: Likewise.
82566         * m4/getgroups.m4: Likewise.
82567         * m4/gettext.m4: Likewise.
82568         * m4/jm-mktime.m4: Likewise.
82569         * m4/jm-winsz2.m4: Likewise.
82570         * m4/lcmessage.m4: Likewise.
82571         * m4/ls-mntd-fs.m4: Likewise.
82572         * m4/malloc.m4: Likewise.
82573         * m4/memcmp.m4: Likewise.
82574         * m4/putenv.m4: Likewise.
82575         * m4/realloc.m4: Likewise.
82576         * m4/st_mtim.m4: Likewise.
82577         * m4/strftime.m4: Likewise.
82578
82579 1999-01-16  Jim Meyering  <meyering@ascend.com>
82580
82581         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
82582         (ARGMATCH_DIE_DECL): Define.
82583
82584 1999-01-12  Jim Meyering  <meyering@ascend.com>
82585
82586         * m4/Makefile.am.in: Rewrite to avoid using fmt.
82587         Reported by Lars Hecking.
82588
82589 1999-01-10  Jim Meyering  <meyering@ascend.com>
82590
82591         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
82592         gross kludge.
82593         * m4/inttypes_h.m4: Likewise.
82594         * m4/lstat.m4: Likewise.
82595         * m4/malloc.m4: Likewise.
82596         * m4/readdir.m4: Likewise.
82597         * m4/realloc.m4: Likewise.
82598         * m4/st_dm_mode.m4: Likewise.
82599         * m4/stat.m4: Likewise.
82600         * m4/utimbuf.m4: Likewise.
82601         * m4/utimes.m4: Likewise.
82602
82603         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
82604         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
82605         comments in config.h.in are meaningful.
82606
82607         * m4/jm-macros.m4: Require autoconf-2.13 here.
82608
82609         * m4/regex.m4: By default, don't use the included regex.c on systems
82610         with glibc 2.  Suggestion from Uli Drepper.
82611
82612 1999-01-02  Jim Meyering  <meyering@ascend.com>
82613
82614         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
82615
82616 1998-12-18  Jim Meyering  <meyering@ascend.com>
82617
82618         * m4/Makefile.am.in (Makefile.am): Simplify rule.
82619         Based on a suggestion from Lars Hecking.
82620
82621 1998-11-16  Paul Eggert  <eggert@twinsun.com>
82622
82623         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
82624
82625 1998-11-16  Jim Meyering  <meyering@ascend.com>
82626
82627         * m4/lfs.m4: Double-quote the `uname...` expression.
82628
82629 1998-11-14  Jim Meyering  <meyering@ascend.com>
82630
82631         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
82632         * m4/stat.m4: Likewise.
82633
82634 1998-11-03  Jim Meyering  <meyering@ascend.com>
82635
82636         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
82637         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
82638
82639 1998-10-18  Jim Meyering  <meyering@ascend.com>
82640
82641         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
82642
82643 1998-10-17  Jim Meyering  <meyering@ascend.com>
82644
82645         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
82646         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
82647         calls for those previously hard-coded headers.  Instead, take a new
82648         parameter.
82649         (jm_CHECK_DECLARATIONS): Reflect interface change.
82650         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
82651         (jm_CHECK_DECL_LOCALTIME_R): New macro.
82652
82653         * m4/mktime.m4: Test for spring-forward gap before long-running test.
82654
82655 1998-10-14  Jim Meyering  <meyering@ascend.com>
82656
82657         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
82658         instead of "TZ=America/Vancouver".  From Paul Eggert.
82659
82660 1998-10-11  Jim Meyering  <meyering@ascend.com>
82661
82662         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
82663         This adds a test for a recently added compatibility fix for mktime.c.
82664         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
82665
82666 1998-09-27  Jim Meyering  <meyering@ascend.com>
82667
82668         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
82669
82670         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
82671         ../configure.in, including a change from Gordon Matzigkeit to allow
82672         cross-compiling for the Hurd.
82673
82674         * m4/glibc.m4: New file/macro to test for the GNU C Library
82675         versions 1 and 2.  From Gordon Matzigkeit.
82676         Indent.
82677
82678 1998-09-21  Jim Meyering  <meyering@ascend.com>
82679
82680         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
82681
82682 1998-08-18  Paul Eggert  <eggert@twinsun.com>
82683
82684         Port nanosecond-resolution times to UnixWare 2.1.2 and
82685         pedantic Solaris 2.6.
82686
82687         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
82688         AC_STRUCT_ST_MTIM.
82689         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
82690         Generate name of ns member, instead of just 1 or undef.
82691         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
82692
82693 1998-08-15  Jim Meyering  <meyering@ascend.com>
82694
82695         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
82696         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
82697         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
82698         instead of jm_TYPE_SSIZE_T.
82699
82700 1998-08-12  Jim Meyering  <meyering@ascend.com>
82701
82702         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
82703
82704 1998-08-02  Jim Meyering  <meyering@ascend.com>
82705
82706         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
82707         in acconfig.h manually.
82708
82709 1998-07-31  Paul Eggert  <eggert@twinsun.com>
82710
82711         * m4/st_mtim.m4: New file.
82712
82713 1998-07-28  Jim Meyering  <meyering@ascend.com>
82714
82715         * m4/utimes.m4: Undef stat.
82716
82717 1998-07-25  Jim Meyering  <meyering@ascend.com>
82718
82719         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
82720         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
82721
82722 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
82723
82724         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
82725         uid and gid actually remain unchanged.
82726
82727 1998-07-07  Jim Meyering  <meyering@ascend.com>
82728
82729         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
82730
82731 1998-07-04  Jim Meyering  <meyering@ascend.com>
82732
82733         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
82734         to prove that this macro can be used in packages without regex.c.
82735
82736 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
82737
82738         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
82739         is to be used.
82740
82741 1998-07-03  Jim Meyering  <meyering@ascend.com>
82742
82743         * m4/gettext.m4: Add -lintl if it's found to be necessary.
82744
82745         * m4/gettext.m4: New file -- from gettext-0.10.35.
82746         * m4/lcmessage.m4: Likewise.
82747         * m4/progtest.m4: Likewise.
82748
82749         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
82750         * m4/jm-macros.m4: Require the new macro.
82751
82752 1998-06-29  Jim Meyering  <meyering@ascend.com>
82753
82754         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
82755         for the definition of NGROUPS (used in a system header included
82756         by sys/mount.h).
82757
82758 1998-06-28  Jim Meyering  <meyering@ascend.com>
82759
82760         * m4/ls-mntd-fs.m4: New file.
82761         * m4/fstypename.m4: New file.
82762
82763         * m4/jm-macros.m4: Require the new macro.
82764         * m4/jm-glibc-io.m4: New file.
82765
82766 1998-05-19  Jim Meyering  <meyering@ascend.com>
82767
82768         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
82769         * m4/lchown.m4: New file.
82770
82771         * m4/Makefile.am.in: New file.
82772         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
82773
82774 1998-05-14  Jim Meyering  <meyering@ascend.com>
82775
82776         * m4/Makefile.am (EXTRA_DIST): Add them.
82777         * m4/jm-macros.m4: New file.
82778         * m4/utimbuf.m4: New file.
82779
82780 1998-05-12  Jim Meyering  <meyering@ascend.com>
82781
82782         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
82783
82784 1998-05-11  Jim Meyering  <meyering@ascend.com>
82785
82786         * m4/isc-posix.m4: New file.
82787
82788 1998-05-10  Jim Meyering  <meyering@ascend.com>
82789
82790         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
82791
82792 1998-05-09  Jim Meyering  <meyering@ascend.com>
82793
82794         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
82795         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
82796         with automake.
82797
82798         * m4/ssize_t.m4: New file.
82799         * m4/mktime.m4: Remove file -- the new automake has this now.
82800
82801 1998-04-26  Jim Meyering  <meyering@ascend.com>
82802
82803         * m4/assert.m4: New file.
82804         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
82805
82806 1998-04-05  Jim Meyering  <meyering@ascend.com>
82807
82808         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
82809         (jm_PREREQ): Use it here.
82810
82811 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
82812
82813         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
82814         in acconfig.h.
82815
82816 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
82817
82818         * m4/prereq.m4: New file.
82819         * m4/error.m4: New file.
82820         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
82821
82822 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
82823
82824         * m4/getline.m4: Don't set am_cv_func_working_getline before the
82825         cache-check for the same variable -- that defeated the purpose of
82826         the test; the test program was never run.  This was a problem only
82827         on systems with losing getline functions -- HP-UX 10.20 is one.
82828         Reported by Bjorn Helgaas.
82829
82830 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
82831
82832         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
82833
82834 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
82835
82836         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
82837
82838         * m4/const.m4: New file.  Use an initializer in this declaration
82839         typedef int charset[2]; const charset x;
82840         Reported by Bob Glickstein.
82841
82842 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
82843
82844         * m4/chown.m4: Fix reversed types on -1 args to chown.
82845         From Kaveh Ghazi.
82846
82847 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
82848
82849         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
82850         Add lseek and memchr.
82851
82852         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
82853         T.E.Dickey <dickey@clark.net> said that some older preprocessors
82854         have a 20-character limit on names.
82855
82856 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
82857
82858         * m4/inttypes_h.m4: New file.
82859         * m4/uintmax_t.m4: New file.
82860         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
82861
82862
82863         -----
82864
82865         Local Variables:
82866         coding: utf-8
82867         End:
82868
82869         Copyright (C) 1997-2011 Free Software Foundation, Inc.
82870
82871         Copying and distribution of this file, with or without
82872         modification, are permitted provided the copyright notice
82873         and this notice are preserved.