9e110ed6aa98febfff149a04f1e81f260eed98ab
[gnulib.git] / ChangeLog
1 2011-05-23  Bruno Haible  <bruno@clisp.org>
2
3         same: Move AC_LIBOBJ invocations to module description.
4         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
5         * modules/same (Makefile.am): Augment lib_SOURCES.
6
7 2011-05-23  Bruno Haible  <bruno@clisp.org>
8
9         safe-write: Move AC_LIBOBJ invocations to module description.
10         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
12         instead of gl_SAFE_WRITE.
13         (Makefile.am): Augment lib_SOURCES.
14
15 2011-05-23  Bruno Haible  <bruno@clisp.org>
16
17         safe-read: Move AC_LIBOBJ invocations to module description.
18         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
19         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
20         of gl_SAFE_READ.
21         (Makefile.am): Augment lib_SOURCES.
22
23 2011-05-23  Bruno Haible  <bruno@clisp.org>
24
25         safe-alloc: Move AC_LIBOBJ invocations to module description.
26         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
27         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
28
29 2011-05-23  Bruno Haible  <bruno@clisp.org>
30
31         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
32         * m4/rijndael.m4: Remove file.
33         * modules/crypto/rijndael (Files): Remove it.
34         (configure.ac): Remove gl_RIJNDAEL call.
35         (Makefile.am): Augment lib_SOURCES.
36
37 2011-05-23  Bruno Haible  <bruno@clisp.org>
38
39         readtokens: Move AC_LIBOBJ invocations to module description.
40         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
41         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
42
43 2011-05-23  Bruno Haible  <bruno@clisp.org>
44
45         read-file: Move AC_LIBOBJ invocations to module description.
46         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
47         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
48         of gl_FUNC_READ_FILE.
49         (Makefile.am): Augment lib_SOURCES.
50
51 2011-05-23  Bruno Haible  <bruno@clisp.org>
52
53         quotearg: Move AC_LIBOBJ invocations to module description.
54         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
55         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
56
57 2011-05-23  Bruno Haible  <bruno@clisp.org>
58
59         quote: Move AC_LIBOBJ invocations to module description.
60         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
61         * modules/quote (Makefile.am): Augment lib_SOURCES.
62
63 2011-05-23  Bruno Haible  <bruno@clisp.org>
64
65         posixver: Move AC_LIBOBJ invocations to module description.
66         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
67         * modules/posixver (Makefile.am): Augment lib_SOURCES.
68
69 2011-05-23  Bruno Haible  <bruno@clisp.org>
70
71         posixtm: Move AC_LIBOBJ invocations to module description.
72         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
73         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
74
75 2011-05-23  Bruno Haible  <bruno@clisp.org>
76
77         physmem: Move AC_LIBOBJ invocations to module description.
78         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
79         * modules/physmem (Makefile.am): Augment lib_SOURCES.
80
81 2011-05-23  Bruno Haible  <bruno@clisp.org>
82
83         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
84         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
85         invocation.
86         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
87
88 2011-05-23  Bruno Haible  <bruno@clisp.org>
89
90         mpsort: Move AC_LIBOBJ invocations to module description.
91         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
92         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
93
94 2011-05-23  Bruno Haible  <bruno@clisp.org>
95
96         modechange: Move AC_LIBOBJ invocations to module description.
97         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
98         * modules/modechange (Makefile.am): Augment lib_SOURCES.
99
100 2011-05-23  Bruno Haible  <bruno@clisp.org>
101
102         mkdir-p: Move AC_LIBOBJ invocations to module description.
103         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
104         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
105
106 2011-05-23  Bruno Haible  <bruno@clisp.org>
107
108         mkancesdirs: Move AC_LIBOBJ invocations to module description.
109         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
110         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
111
112 2011-05-23  Bruno Haible  <bruno@clisp.org>
113
114         mgetgroups: Move AC_LIBOBJ invocations to module description.
115         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
116         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
117
118 2011-05-23  Bruno Haible  <bruno@clisp.org>
119
120         memxor: Move AC_LIBOBJ invocations to module description.
121         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
122         * modules/memxor (Makefile.am): Augment lib_SOURCES.
123
124 2011-05-23  Bruno Haible  <bruno@clisp.org>
125
126         memcoll: Move AC_LIBOBJ invocations to module description.
127         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
128         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
129
130 2011-05-23  Bruno Haible  <bruno@clisp.org>
131
132         memcasecmp: Move AC_LIBOBJ invocations to module description.
133         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
134         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
135
136 2011-05-23  Bruno Haible  <bruno@clisp.org>
137
138         crypto/md5: Move AC_LIBOBJ invocations to module description.
139         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
140         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
141
142 2011-05-23  Bruno Haible  <bruno@clisp.org>
143
144         crypto/md4: Move AC_LIBOBJ invocations to module description.
145         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
146         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
147
148 2011-05-23  Bruno Haible  <bruno@clisp.org>
149
150         crypto/md2: Move AC_LIBOBJ invocations to module description.
151         * m4/md2.m4: Remove file.
152         * modules/crypto/md2 (Files): Remove it.
153         (configure.ac): Remove gl_MD2 call.
154         (Makefile.am): Augment lib_SOURCES.
155
156 2011-05-23  Bruno Haible  <bruno@clisp.org>
157
158         long-options: Move AC_LIBOBJ invocations to module description.
159         * m4/long-options.m4: Remove file.
160         * modules/long-options (Files): Remove it.
161         (configure.ac): Remove gl_LONG_OPTIONS call.
162         (Makefile.am): Augment lib_SOURCES.
163
164 2011-05-23  Bruno Haible  <bruno@clisp.org>
165
166         i-ring: Move AC_LIBOBJ invocations to module description.
167         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
168         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
169
170 2011-05-23  Bruno Haible  <bruno@clisp.org>
171
172         idcache: Move AC_LIBOBJ invocations to module description.
173         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
174         * modules/idcache (Makefile.am): Augment lib_SOURCES.
175
176 2011-05-23  Bruno Haible  <bruno@clisp.org>
177
178         human: Move AC_LIBOBJ invocations to module description.
179         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
180         * modules/human (Makefile.am): Augment lib_SOURCES.
181
182 2011-05-23  Bruno Haible  <bruno@clisp.org>
183
184         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
185         * m4/hmac-sha1.m4: Remove file.
186         * modules/crypto/hmac-sha1 (Files): Remove it.
187         (configure.ac): Remove gl_HMAC_SHA1 call.
188         (Makefile.am): Augment lib_SOURCES.
189
190 2011-05-23  Bruno Haible  <bruno@clisp.org>
191
192         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
193         * m4/hmac-md5.m4: Remove file.
194         * modules/crypto/hmac-md5 (Files): Remove it.
195         (configure.ac): Remove gl_HMAC_MD5 call.
196         (Makefile.am): Augment lib_SOURCES.
197
198 2011-05-23  Bruno Haible  <bruno@clisp.org>
199
200         hash: Move AC_LIBOBJ invocations to module description.
201         * m4/hash.m4: Remove file.
202         * modules/hash (Files): Remove it.
203         (configure.ac): Remove gl_HASH call.
204         (Makefile.am): Augment lib_SOURCES.
205
206 2011-05-23  Bruno Haible  <bruno@clisp.org>
207
208         hard-locale: Move AC_LIBOBJ invocations to module description.
209         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
210         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
211
212 2011-05-23  Bruno Haible  <bruno@clisp.org>
213
214         getugroups: Move AC_LIBOBJ invocations to module description.
215         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
216         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
217
218 2011-05-23  Bruno Haible  <bruno@clisp.org>
219
220         gettime: Move AC_LIBOBJ invocations to module description.
221         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
222         * modules/gettime (Makefile.am): Augment lib_SOURCES.
223
224 2011-05-23  Bruno Haible  <bruno@clisp.org>
225
226         getndelim2: Move AC_LIBOBJ invocations to module description.
227         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
228         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
229
230 2011-05-23  Bruno Haible  <bruno@clisp.org>
231
232         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
233         * m4/gc-pbkdf2-sha1.m4: Remove file.
234         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
235         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
236         (Makefile.am): Augment lib_SOURCES.
237
238 2011-05-23  Bruno Haible  <bruno@clisp.org>
239
240         fts: Move AC_LIBOBJ invocations to module description.
241         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
242         * modules/fts (configure.ac): ... to here.
243
244 2011-05-23  Bruno Haible  <bruno@clisp.org>
245
246         file-type: Move AC_LIBOBJ invocations to module description.
247         * m4/file-type.m4: Remove file.
248         * modules/file-type (Files): Remove it.
249         (configure.ac): Remove gl_FILE_TYPE call.
250         (Makefile.am): Augment lib_SOURCES.
251
252 2011-05-23  Bruno Haible  <bruno@clisp.org>
253
254         filenamecat*: Respect rules for use of AC_LIBOBJ.
255         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
256         Remove AC_LIBOBJ invocation.
257         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
258         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
259
260 2011-05-23  Bruno Haible  <bruno@clisp.org>
261
262         filemode: Move AC_LIBOBJ invocations to module description.
263         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
264         * modules/filemode (Makefile.am): Augment lib_SOURCES.
265
266 2011-05-23  Bruno Haible  <bruno@clisp.org>
267
268         openat-safer: Move AC_LIBOBJ invocations to module description.
269         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
270         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
271
272 2011-05-23  Bruno Haible  <bruno@clisp.org>
273
274         fcntl-safer: Move AC_LIBOBJ invocations to module description.
275         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
276         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
277
278 2011-05-23  Bruno Haible  <bruno@clisp.org>
279
280         exclude: Move AC_LIBOBJ invocations to module description.
281         * m4/exclude.m4: Remove file.
282         * modules/exclude (Files): Remove it.
283         (configure.ac): Remove gl_EXCLUDE call.
284         (Makefile.am): Augment lib_SOURCES.
285
286 2011-05-23  Bruno Haible  <bruno@clisp.org>
287
288         dirname*: Respect rules for use of AC_LIBOBJ.
289         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
290         invocations.
291         * modules/dirname (Makefile.am): Augment lib_SOURCES.
292         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
293
294 2011-05-23  Bruno Haible  <bruno@clisp.org>
295
296         dirent-safer: Move AC_LIBOBJ invocations to module description.
297         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
298         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
299
300 2011-05-23  Bruno Haible  <bruno@clisp.org>
301
302         crypto/des: Move AC_LIBOBJ invocations to module description.
303         * m4/des.m4: Remove file.
304         * modules/crypto/des (Files): Remove it.
305         (configure.ac): Remove gl_DES call.
306         (Makefile.am): Augment lib_SOURCES.
307
308 2011-05-23  Bruno Haible  <bruno@clisp.org>
309
310         cycle-check: Move AC_LIBOBJ invocations to module description.
311         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
312         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
313
314 2011-05-23  Bruno Haible  <bruno@clisp.org>
315
316         c-strtold: Move AC_LIBOBJ invocations to module description.
317         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
318         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
319
320 2011-05-23  Bruno Haible  <bruno@clisp.org>
321
322         c-strtod: Move AC_LIBOBJ invocations to module description.
323         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
324         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
325
326 2011-05-23  Bruno Haible  <bruno@clisp.org>
327
328         crc: Move AC_LIBOBJ invocations to module description.
329         * m4/crc.m4: Remove file.
330         * modules/crc (Files): Remove it.
331         (configure.ac): Remove gl_CRC call.
332         (Makefile.am): Augment lib_SOURCES.
333
334 2011-05-23  Bruno Haible  <bruno@clisp.org>
335
336         close-stream: Move AC_LIBOBJ invocations to module description.
337         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
338         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
339
340 2011-05-23  Bruno Haible  <bruno@clisp.org>
341
342         closeout: Move AC_LIBOBJ invocations to module description.
343         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
344         * modules/closeout (Makefile.am): Augment lib_SOURCES.
345
346 2011-05-23  Bruno Haible  <bruno@clisp.org>
347
348         closein: Move AC_LIBOBJ invocations to module description.
349         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
350         * modules/closein (Makefile.am): Augment lib_SOURCES.
351
352 2011-05-23  Bruno Haible  <bruno@clisp.org>
353
354         cloexec: Move AC_LIBOBJ invocations to module description.
355         * m4/cloexec.m4: Remove file.
356         * modules/cloexec (Files): Remove it.
357         (configure.ac): Remove gl_CLOEXEC call.
358         (Makefile.am): Augment lib_SOURCES.
359
360 2011-05-23  Bruno Haible  <bruno@clisp.org>
361
362         check-version: Move AC_LIBOBJ invocations to module description.
363         * m4/check-version.m4: Remove file.
364         * modules/check-version (Files): Remove it.
365         (configure.ac): Remove gl_CHECK_VERSION call.
366         (Makefile.am): Augment lib_SOURCES.
367
368 2011-05-23  Bruno Haible  <bruno@clisp.org>
369
370         chdir-safer: Move AC_LIBOBJ invocations to module description.
371         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
372         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
373
374 2011-05-23  Bruno Haible  <bruno@clisp.org>
375
376         canonicalize: Move AC_LIBOBJ invocations to module description.
377         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
378         AC_LIBOBJ invocation.
379         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
380
381 2011-05-23  Bruno Haible  <bruno@clisp.org>
382
383         canon-host: Move AC_LIBOBJ invocations to module description.
384         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
385         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
386         instead of gl_CANON_HOST.
387         (Makefile.am): Augment lib_SOURCES.
388
389 2011-05-23  Bruno Haible  <bruno@clisp.org>
390
391         backupfile: Move AC_LIBOBJ invocations to module description.
392         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
393         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
394
395 2011-05-23  Bruno Haible  <bruno@clisp.org>
396
397         argmatch: Move AC_LIBOBJ invocations to module description.
398         * m4/argmatch.m4: Remove file.
399         * modules/argmatch (Files): Remove it.
400         (configure.ac): Remove gl_ARGMATCH call.
401         (Makefile.am): Augment lib_SOURCES.
402
403 2011-05-23  Bruno Haible  <bruno@clisp.org>
404
405         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
406         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
407         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
408
409 2011-05-23  Bruno Haible  <bruno@clisp.org>
410
411         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
412         * m4/arcfour.m4: Remove file.
413         * modules/crypto/arcfour (Files): Remove it.
414         (configure.ac): Remove gl_ARCFOUR call.
415         (Makefile.am): Augment lib_SOURCES.
416
417 2011-05-22  Bruno Haible  <bruno@clisp.org>
418
419         write: Move AC_LIBOBJ invocations to module description.
420         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
421         * modules/write (configure.ac): ... to here.
422
423 2011-05-22  Bruno Haible  <bruno@clisp.org>
424
425         wmemset: Move AC_LIBOBJ invocations to module description.
426         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
427         here...
428         * modules/wmemset (configure.ac): ... to here.
429
430 2011-05-22  Bruno Haible  <bruno@clisp.org>
431
432         wmemmove: Move AC_LIBOBJ invocations to module description.
433         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
434         here...
435         * modules/wmemmove (configure.ac): ... to here.
436
437 2011-05-22  Bruno Haible  <bruno@clisp.org>
438
439         wmemcpy: Move AC_LIBOBJ invocations to module description.
440         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
441         here...
442         * modules/wmemcpy (configure.ac): ... to here.
443
444 2011-05-22  Bruno Haible  <bruno@clisp.org>
445
446         wmemcmp: Move AC_LIBOBJ invocations to module description.
447         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
448         here...
449         * modules/wmemcmp (configure.ac): ... to here.
450
451 2011-05-22  Bruno Haible  <bruno@clisp.org>
452
453         wmemchr: Move AC_LIBOBJ invocations to module description.
454         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
455         here...
456         * modules/wmemchr (configure.ac): ... to here.
457
458 2011-05-22  Bruno Haible  <bruno@clisp.org>
459
460         wcswidth: Move AC_LIBOBJ invocations to module description.
461         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
462         here...
463         * modules/wcswidth (configure.ac): ... to here.
464
465 2011-05-22  Bruno Haible  <bruno@clisp.org>
466
467         wcwidth: Respect rules for use of AC_LIBOBJ.
468         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
469         invocation from here...
470         * modules/wcwidth (configure.ac): ... to here.
471         (Depends-on): Update conditions.
472
473 2011-05-22  Bruno Haible  <bruno@clisp.org>
474
475         wctype: Move AC_LIBOBJ invocations to module description.
476         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
477         invocation from here...
478         * modules/wctype (configure.ac): ... to here.
479         (Depends-on): Update conditions.
480
481 2011-05-22  Bruno Haible  <bruno@clisp.org>
482
483         wctrans: Move AC_LIBOBJ invocations to module description.
484         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
485         invocation from here...
486         * modules/wctrans (configure.ac): ... to here.
487
488 2011-05-22  Bruno Haible  <bruno@clisp.org>
489
490         wctomb: Move AC_LIBOBJ invocations to module description.
491         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
492         invocations from here...
493         * modules/wctomb (configure.ac): ... to here.
494
495 2011-05-22  Bruno Haible  <bruno@clisp.org>
496
497         wctob: Move AC_LIBOBJ invocations to module description.
498         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
499         gl_PREREQ_WCTOB invocations from here...
500         * modules/wctob (configure.ac): ... to here.
501         (Depends-on): Update conditions.
502
503 2011-05-22  Bruno Haible  <bruno@clisp.org>
504
505         wcsxfrm: Move AC_LIBOBJ invocations to module description.
506         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
507         here...
508         * modules/wcsxfrm (configure.ac): ... to here.
509
510 2011-05-22  Bruno Haible  <bruno@clisp.org>
511
512         wcstok: Move AC_LIBOBJ invocations to module description.
513         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
514         * modules/wcstok (configure.ac): ... to here.
515
516 2011-05-22  Bruno Haible  <bruno@clisp.org>
517
518         wcsstr: Move AC_LIBOBJ invocations to module description.
519         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
520         * modules/wcsstr (configure.ac): ... to here.
521
522 2011-05-22  Bruno Haible  <bruno@clisp.org>
523
524         wcsspn: Move AC_LIBOBJ invocations to module description.
525         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
526         * modules/wcsspn (configure.ac): ... to here.
527
528 2011-05-22  Bruno Haible  <bruno@clisp.org>
529
530         wcsrtombs: Move AC_LIBOBJ invocations to module description.
531         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
532         gl_PREREQ_WCSRTOMBS invocations from here...
533         * modules/wcsrtombs (configure.ac): ... to here.
534
535 2011-05-22  Bruno Haible  <bruno@clisp.org>
536
537         wcsrchr: Move AC_LIBOBJ invocations to module description.
538         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
539         here...
540         * modules/wcsrchr (configure.ac): ... to here.
541
542 2011-05-22  Bruno Haible  <bruno@clisp.org>
543
544         wcspbrk: Move AC_LIBOBJ invocations to module description.
545         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
546         here...
547         * modules/wcspbrk (configure.ac): ... to here.
548
549 2011-05-22  Bruno Haible  <bruno@clisp.org>
550
551         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
552         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
553         gl_PREREQ_WCSNRTOMBS invocations from here...
554         * modules/wcsnrtombs (configure.ac): ... to here.
555
556 2011-05-22  Bruno Haible  <bruno@clisp.org>
557
558         wcsnlen: Move AC_LIBOBJ invocations to module description.
559         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
560         here...
561         * modules/wcsnlen (configure.ac): ... to here.
562
563 2011-05-22  Bruno Haible  <bruno@clisp.org>
564
565         wcsncpy: Move AC_LIBOBJ invocations to module description.
566         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
567         here...
568         * modules/wcsncpy (configure.ac): ... to here.
569
570 2011-05-22  Bruno Haible  <bruno@clisp.org>
571
572         wcsncmp: Move AC_LIBOBJ invocations to module description.
573         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
574         here...
575         * modules/wcsncmp (configure.ac): ... to here.
576
577 2011-05-22  Bruno Haible  <bruno@clisp.org>
578
579         wcsncat: Move AC_LIBOBJ invocations to module description.
580         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
581         here...
582         * modules/wcsncat (configure.ac): ... to here.
583
584 2011-05-22  Bruno Haible  <bruno@clisp.org>
585
586         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
587         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
588         from here...
589         * modules/wcsncasecmp (configure.ac): ... to here.
590
591 2011-05-22  Bruno Haible  <bruno@clisp.org>
592
593         wcslen: Move AC_LIBOBJ invocations to module description.
594         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
595         * modules/wcslen (configure.ac): ... to here.
596
597 2011-05-22  Bruno Haible  <bruno@clisp.org>
598
599         wcsdup: Move AC_LIBOBJ invocations to module description.
600         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
601         * modules/wcsdup (configure.ac): ... to here.
602
603 2011-05-22  Bruno Haible  <bruno@clisp.org>
604
605         wcscspn: Move AC_LIBOBJ invocations to module description.
606         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
607         here...
608         * modules/wcscspn (configure.ac): ... to here.
609
610 2011-05-22  Bruno Haible  <bruno@clisp.org>
611
612         wcscpy: Move AC_LIBOBJ invocations to module description.
613         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
614         * modules/wcscpy (configure.ac): ... to here.
615
616 2011-05-22  Bruno Haible  <bruno@clisp.org>
617
618         wcscoll: Move AC_LIBOBJ invocations to module description.
619         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
620         here...
621         * modules/wcscoll (configure.ac): ... to here.
622
623 2011-05-22  Bruno Haible  <bruno@clisp.org>
624
625         wcscmp: Move AC_LIBOBJ invocations to module description.
626         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
627         * modules/wcscmp (configure.ac): ... to here.
628
629 2011-05-22  Bruno Haible  <bruno@clisp.org>
630
631         wcschr: Move AC_LIBOBJ invocations to module description.
632         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
633         * modules/wcschr (configure.ac): ... to here.
634
635 2011-05-22  Bruno Haible  <bruno@clisp.org>
636
637         wcscat: Move AC_LIBOBJ invocations to module description.
638         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
639         * modules/wcscat (configure.ac): ... to here.
640
641 2011-05-22  Bruno Haible  <bruno@clisp.org>
642
643         wcscasecmp: Move AC_LIBOBJ invocations to module description.
644         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
645         here...
646         * modules/wcscasecmp (configure.ac): ... to here.
647
648 2011-05-22  Bruno Haible  <bruno@clisp.org>
649
650         wcrtomb: Move AC_LIBOBJ invocations to module description.
651         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
652         invocations from here...
653         * modules/wcrtomb (configure.ac): ... to here.
654
655 2011-05-22  Bruno Haible  <bruno@clisp.org>
656
657         wcpncpy: Move AC_LIBOBJ invocations to module description.
658         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
659         here...
660         * modules/wcpncpy (configure.ac): ... to here.
661
662 2011-05-22  Bruno Haible  <bruno@clisp.org>
663
664         wcpcpy: Move AC_LIBOBJ invocations to module description.
665         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
666         * modules/wcpcpy (configure.ac): ... to here.
667
668 2011-05-22  Bruno Haible  <bruno@clisp.org>
669
670         waitpid: Move AC_LIBOBJ invocations to module description.
671         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
672         invocation from here...
673         * modules/waitpid (configure.ac): ... to here.
674
675 2011-05-22  Bruno Haible  <bruno@clisp.org>
676
677         utimensat: Move AC_LIBOBJ invocations to module description.
678         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
679         here...
680         * modules/utimensat (configure.ac): ... to here.
681
682 2011-05-22  Bruno Haible  <bruno@clisp.org>
683
684         usleep: Move AC_LIBOBJ invocations to module description.
685         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
686         here...
687         * modules/usleep (configure.ac): ... to here.
688
689 2011-05-22  Bruno Haible  <bruno@clisp.org>
690
691         unlockpt: Move AC_LIBOBJ invocations to module description.
692         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
693         gl_PREREQ_UNLOCKPT invocations from here...
694         * modules/unlockpt (configure.ac): ... to here.
695
696 2011-05-22  Bruno Haible  <bruno@clisp.org>
697
698         unlink: Respect rules for use of AC_LIBOBJ.
699         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
700         * modules/unlink (configure.ac): ... to here.
701
702 2011-05-22  Bruno Haible  <bruno@clisp.org>
703
704         uname: Move AC_LIBOBJ invocations to module description.
705         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
706         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
707         here...
708         * modules/uname (configure.ac): ... to here.
709
710 2011-05-22  Bruno Haible  <bruno@clisp.org>
711
712         ttyname_r: Move AC_LIBOBJ invocations to module description.
713         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
714         gl_PREREQ_TTYNAME_R invocations from here...
715         * modules/ttyname_r (configure.ac): ... to here.
716
717 2011-05-22  Bruno Haible  <bruno@clisp.org>
718
719         tsearch: Move AC_LIBOBJ invocations to module description.
720         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
721         invocations from here...
722         * modules/tsearch (configure.ac): ... to here.
723
724 2011-05-22  Bruno Haible  <bruno@clisp.org>
725
726         towctrans: Move AC_LIBOBJ invocations to module description.
727         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
728         AC_LIBOBJ invocation from here...
729         * modules/towctrans (configure.ac): ... to here.
730
731 2011-05-22  Bruno Haible  <bruno@clisp.org>
732
733         tmpfile: Move AC_LIBOBJ invocations to module description.
734         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
735         invocations from here...
736         * modules/tmpfile (configure.ac): ... to here.
737
738 2011-05-22  Bruno Haible  <bruno@clisp.org>
739
740         times: Move AC_LIBOBJ invocations to module description.
741         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
742         * modules/times (configure.ac): ... to here.
743
744 2011-05-22  Bruno Haible  <bruno@clisp.org>
745
746         time_r: Move AC_LIBOBJ invocations to module description.
747         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
748         invocations from here...
749         * modules/time_r (configure.ac): ... to here.
750
751 2011-05-22  Bruno Haible  <bruno@clisp.org>
752
753         timegm: Move AC_LIBOBJ invocations to module description.
754         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
755         invocations from here...
756         * modules/timegm (configure.ac): ... to here.
757
758 2011-05-22  Bruno Haible  <bruno@clisp.org>
759
760         tcgetsid: Move AC_LIBOBJ invocations to module description.
761         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
762         and gl_PREREQ_TCGETSID invocations from here...
763         * modules/tcgetsid (configure.ac): ... to here.
764         (Depends-on): Update conditions.
765
766 2011-05-22  Bruno Haible  <bruno@clisp.org>
767
768         symlinkat: Move AC_LIBOBJ invocations to module description.
769         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
770         here...
771         * modules/symlinkat (configure.ac): ... to here.
772
773 2011-05-22  Bruno Haible  <bruno@clisp.org>
774
775         symlink: Move AC_LIBOBJ invocations to module description.
776         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
777         here...
778         * modules/symlink (configure.ac): ... to here.
779
780 2011-05-22  Bruno Haible  <bruno@clisp.org>
781
782         strverscmp: Move AC_LIBOBJ invocations to module description.
783         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
784         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
785         from here...
786         * modules/strverscmp (configure.ac): ... to here.
787
788 2011-05-22  Bruno Haible  <bruno@clisp.org>
789
790         strtok_r: Move AC_LIBOBJ invocations to module description.
791         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
792         and gl_PREREQ_STRTOK_R invocations from here...
793         * modules/strtok_r (configure.ac): ... to here.
794         (Depends-on): Update conditions.
795
796 2011-05-22  Bruno Haible  <bruno@clisp.org>
797
798         strtoumax: Move AC_LIBOBJ invocations to module description.
799         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
800         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
801         from here...
802         * modules/strtoumax (configure.ac): ... to here.
803
804 2011-05-22  Bruno Haible  <bruno@clisp.org>
805
806         strtoimax: Move AC_LIBOBJ invocations to module description.
807         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
808         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
809         from here...
810         * modules/strtoimax (configure.ac): ... to here.
811
812 2011-05-22  Bruno Haible  <bruno@clisp.org>
813
814         strtoull: Move AC_LIBOBJ invocations to module description.
815         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
816         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
817         from here...
818         * modules/strtoull (configure.ac): ... to here.
819
820 2011-05-22  Bruno Haible  <bruno@clisp.org>
821
822         strtoll: Move AC_LIBOBJ invocations to module description.
823         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
824         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
825         here...
826         * modules/strtoll (configure.ac): ... to here.
827
828 2011-05-22  Bruno Haible  <bruno@clisp.org>
829
830         strtoul: Move AC_LIBOBJ invocations to module description.
831         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
832         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
833         * modules/strtoul (configure.ac): ... to here.
834
835 2011-05-22  Bruno Haible  <bruno@clisp.org>
836
837         strtol: Move AC_LIBOBJ invocations to module description.
838         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
839         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
840         * modules/strtol (configure.ac): ... to here.
841
842 2011-05-22  Bruno Haible  <bruno@clisp.org>
843
844         strtod: Move AC_LIBOBJ invocations to module description.
845         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
846         invocations from here...
847         * modules/strtod (configure.ac): ... to here.
848
849 2011-05-22  Bruno Haible  <bruno@clisp.org>
850
851         strstr*: Move AC_LIBOBJ invocations to module description.
852         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
853         invocations from here...
854         * modules/strstr-simple (configure.ac): ... to here.
855         * modules/strstr (configure.ac): ... and here.
856
857 2011-05-22  Bruno Haible  <bruno@clisp.org>
858
859         strsignal: Move AC_LIBOBJ invocations to module description.
860         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
861         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
862         * modules/strsignal (configure.ac): ... to here.
863         (Depends-on): Update conditions.
864
865 2011-05-22  Bruno Haible  <bruno@clisp.org>
866
867         strsep: Move AC_LIBOBJ invocations to module description.
868         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
869         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
870         here...
871         * modules/strsep (configure.ac): ... to here.
872
873 2011-05-22  Bruno Haible  <bruno@clisp.org>
874
875         strptime: Move AC_LIBOBJ invocations to module description.
876         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
877         gl_PREREQ_STRPTIME invocations from here...
878         * modules/strptime (configure.ac): ... to here.
879
880 2011-05-22  Bruno Haible  <bruno@clisp.org>
881
882         strpbrk: Move AC_LIBOBJ invocations to module description.
883         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
884         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
885         here...
886         * modules/strpbrk (configure.ac): ... to here.
887
888 2011-05-22  Bruno Haible  <bruno@clisp.org>
889
890         strnlen: Move AC_LIBOBJ invocations to module description.
891         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
892         invocations from here...
893         * modules/strnlen (configure.ac): ... to here.
894
895 2011-05-22  Bruno Haible  <bruno@clisp.org>
896
897         strndup: Move AC_LIBOBJ invocations to module description.
898         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
899         invocations from here...
900         * modules/strndup (configure.ac): ... to here.
901         (Depends-on): Update conditions.
902
903 2011-05-22  Bruno Haible  <bruno@clisp.org>
904
905         strncat: Move AC_LIBOBJ invocations to module description.
906         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
907         invocations from here...
908         * modules/strncat (configure.ac): ... to here.
909
910 2011-05-22  Bruno Haible  <bruno@clisp.org>
911
912         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
913         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
914         invocations from here...
915         * modules/strdup (configure.ac): ... to here.
916         * modules/strdup-posix (configure.ac): ... and here.
917
918 2011-05-22  Bruno Haible  <bruno@clisp.org>
919
920         strcspn: Move AC_LIBOBJ invocations to module description.
921         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
922         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
923         here...
924         * modules/strcspn (configure.ac): ... to here.
925
926 2011-05-22  Bruno Haible  <bruno@clisp.org>
927
928         strchrnul: Move AC_LIBOBJ invocations to module description.
929         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
930         gl_PREREQ_STRCHRNUL invocations from here...
931         * modules/strchrnul (configure.ac): ... to here.
932
933 2011-05-22  Bruno Haible  <bruno@clisp.org>
934
935         strcasestr*: Move AC_LIBOBJ invocations to module description.
936         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
937         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
938         * modules/strcasestr-simple (configure.ac): ... to here.
939         * modules/strcasestr (configure.ac): ... and here.
940
941 2011-05-22  Bruno Haible  <bruno@clisp.org>
942
943         strcase: Move AC_LIBOBJ invocations to module description.
944         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
945         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
946         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
947         gl_PREREQ_STRNCASECMP invocations from here...
948         * modules/strcase (configure.ac): ... to here.
949
950 2011-05-22  Bruno Haible  <bruno@clisp.org>
951
952         stpncpy: Move AC_LIBOBJ invocations to module description.
953         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
954         here...
955         * modules/stpncpy (configure.ac): ... to here.
956
957 2011-05-22  Bruno Haible  <bruno@clisp.org>
958
959         stpcpy: Move AC_LIBOBJ invocations to module description.
960         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
961         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
962         here...
963         * modules/stpcpy (configure.ac): ... to here.
964
965 2011-05-21  Bruno Haible  <bruno@clisp.org>
966
967         stat: Move AC_LIBOBJ invocations to module description.
968         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
969         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
970         here...
971         * modules/stat (configure.ac): ... to here.
972
973 2011-05-21  Bruno Haible  <bruno@clisp.org>
974
975         sleep: Move AC_LIBOBJ invocations to module description.
976         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
977         * modules/sleep (configure.ac): ... to here.
978
979 2011-05-21  Bruno Haible  <bruno@clisp.org>
980
981         signbit: Move AC_LIBOBJ invocations to module description.
982         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
983         * modules/signbit (configure.ac): ... to here.
984
985 2011-05-21  Bruno Haible  <bruno@clisp.org>
986
987         sigprocmask: Move AC_LIBOBJ invocations to module description.
988         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
989         gl_PREREQ_SIGPROMASK invocations from here...
990         * modules/sigprocmask (configure.ac): ... to here.
991
992 2011-05-21  Bruno Haible  <bruno@clisp.org>
993
994         sigaction: Move AC_LIBOBJ invocations to module description.
995         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
996         gl_PREREQ_SIGACTION invocations from here...
997         * modules/sigaction (configure.ac): ... to here.
998
999 2011-05-21  Bruno Haible  <bruno@clisp.org>
1000
1001         sig2str: Move AC_LIBOBJ invocations to module description.
1002         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
1003         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
1004         here...
1005         * modules/sig2str (configure.ac): ... to here.
1006
1007 2011-05-21  Bruno Haible  <bruno@clisp.org>
1008
1009         setlocale: Move AC_LIBOBJ invocations to module description.
1010         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
1011         gl_PREREQ_SETLOCALE invocations from here...
1012         * modules/setlocale (configure.ac): ... to here.
1013
1014 2011-05-21  Bruno Haible  <bruno@clisp.org>
1015
1016         unsetenv: Move AC_LIBOBJ invocations to module description.
1017         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
1018         and gl_PREREQ_UNSETENV invocations from here...
1019         * modules/unsetenv (configure.ac): ... to here.
1020         (Depends-on): Update.
1021
1022 2011-05-21  Bruno Haible  <bruno@clisp.org>
1023
1024         setenv: Move AC_LIBOBJ invocations to module description.
1025         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
1026         here...
1027         * modules/setenv (configure.ac): ... to here.
1028
1029 2011-05-21  Bruno Haible  <bruno@clisp.org>
1030
1031         selinux-h: Move AC_LIBOBJ invocations to module description.
1032         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
1033         AC_LIBOBJ invocation from here...
1034         * modules/selinux-h (configure.ac): ... to here.
1035
1036 2011-05-21  Bruno Haible  <bruno@clisp.org>
1037
1038         select: Respect rules for use of AC_LIBOBJ.
1039         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
1040         here...
1041         * modules/select (configure.ac): ... to here.
1042
1043 2011-05-21  Bruno Haible  <bruno@clisp.org>
1044
1045         scandir: Move AC_LIBOBJ invocations to module description.
1046         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
1047         invocations from here...
1048         * modules/scandir (configure.ac): ... to here.
1049
1050 2011-05-21  Bruno Haible  <bruno@clisp.org>
1051
1052         rpmatch: Move AC_LIBOBJ invocations to module description.
1053         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
1054         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
1055         here...
1056         * modules/rpmatch (configure.ac): ... to here.
1057
1058 2011-05-21  Bruno Haible  <bruno@clisp.org>
1059
1060         rmdir: Respect rules for use of AC_LIBOBJ.
1061         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
1062         * modules/rmdir (configure.ac): ... to here.
1063
1064 2011-05-21  Bruno Haible  <bruno@clisp.org>
1065
1066         renameat: Move AC_LIBOBJ invocations to module description.
1067         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
1068         here...
1069         * modules/renameat (configure.ac): ... to here.
1070
1071 2011-05-21  Bruno Haible  <bruno@clisp.org>
1072
1073         rename: Respect rules for use of AC_LIBOBJ.
1074         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
1075         here...
1076         * modules/rename (configure.ac): ... to here.
1077
1078 2011-05-21  Bruno Haible  <bruno@clisp.org>
1079
1080         remove: Move AC_LIBOBJ invocations to module description.
1081         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
1082         here...
1083         * modules/remove (configure.ac): ... to here.
1084
1085 2011-05-21  Bruno Haible  <bruno@clisp.org>
1086
1087         relocatable-lib: Move AC_LIBOBJ invocations to module description.
1088         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
1089         macro.
1090         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
1091         * modules/relocatable-lib (configure.ac): ... to here.
1092         * modules/relocatable-prog-wrapper (configure.ac): Invoke
1093         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
1094
1095 2011-05-21  Bruno Haible  <bruno@clisp.org>
1096
1097         relocatable-prog: Move AC_LIBOBJ invocations to module description.
1098         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
1099         here...
1100         * modules/relocatable-prog (configure.ac): ... to here.
1101
1102 2011-05-21  Bruno Haible  <bruno@clisp.org>
1103
1104         regex: Move AC_LIBOBJ invocations to module description.
1105         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
1106         invocations from here...
1107         * modules/regex (configure.ac): ... to here.
1108
1109 2011-05-21  Bruno Haible  <bruno@clisp.org>
1110
1111         realloc-*: Move AC_LIBOBJ invocations to module description.
1112         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
1113         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
1114         AC_LIBOBJ invocations from here...
1115         * modules/realloc-gnu (configure.ac): ... to here.
1116         * modules/realloc-posix (configure.ac): ... and here.
1117
1118 2011-05-21  Bruno Haible  <bruno@clisp.org>
1119
1120         readutmp: Move AC_LIBOBJ invocations to module description.
1121         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
1122         * modules/readutmp (configure.ac): ... to here.
1123
1124 2011-05-21  Bruno Haible  <bruno@clisp.org>
1125
1126         readlinkat: Move AC_LIBOBJ invocations to module description.
1127         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
1128         here...
1129         * modules/readlinkat (configure.ac): ... to here.
1130
1131 2011-05-21  Bruno Haible  <bruno@clisp.org>
1132
1133         readlink: Move AC_LIBOBJ invocations to module description.
1134         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
1135         gl_PREREQ_READLINK invocations from here...
1136         * modules/readlink (configure.ac): ... to here.
1137
1138 2011-05-21  Bruno Haible  <bruno@clisp.org>
1139
1140         readline: Move AC_LIBOBJ invocations to module description.
1141         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
1142         gl_PREREQ_READLINE invocations from here...
1143         * modules/readline (configure.ac): ... to here.
1144
1145 2011-05-21  Bruno Haible  <bruno@clisp.org>
1146
1147         read: Move AC_LIBOBJ invocations to module description.
1148         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
1149         * modules/read (configure.ac): ... to here.
1150
1151 2011-05-21  Bruno Haible  <bruno@clisp.org>
1152
1153         rawmemchr: Move AC_LIBOBJ invocations to module description.
1154         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
1155         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
1156         from here...
1157         * modules/rawmemchr (configure.ac): ... to here.
1158
1159 2011-05-21  Bruno Haible  <bruno@clisp.org>
1160
1161         random_r: Move AC_LIBOBJ invocations to module description.
1162         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
1163         gl_PREREQ_RANDOM_R invocations from here...
1164         * modules/random_r (configure.ac): ... to here.
1165
1166 2011-05-21  Bruno Haible  <bruno@clisp.org>
1167
1168         pwrite: Move AC_LIBOBJ invocations to module description.
1169         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
1170         * modules/pwrite (configure.ac): ... to here.
1171
1172 2011-05-21  Bruno Haible  <bruno@clisp.org>
1173
1174         putenv: Move AC_LIBOBJ invocations to module description.
1175         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
1176         * modules/putenv (configure.ac): ... to here.
1177
1178 2011-05-21  Bruno Haible  <bruno@clisp.org>
1179
1180         login_tty: Move AC_LIBOBJ invocations to module description.
1181         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
1182         * modules/login_tty (configure.ac): ... to here.
1183
1184 2011-05-21  Bruno Haible  <bruno@clisp.org>
1185
1186         openpty: Move AC_LIBOBJ invocations to module description.
1187         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
1188         * modules/openpty (configure.ac): ... to here.
1189
1190 2011-05-21  Bruno Haible  <bruno@clisp.org>
1191
1192         forkpty: Move AC_LIBOBJ invocations to module description.
1193         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
1194         * modules/forkpty (configure.ac): ... to here.
1195
1196 2011-05-21  Bruno Haible  <bruno@clisp.org>
1197
1198         ptsname: Move AC_LIBOBJ invocations to module description.
1199         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
1200         invocations from here...
1201         * modules/ptsname (configure.ac): ... to here.
1202
1203 2011-05-21  Bruno Haible  <bruno@clisp.org>
1204
1205         pread: Move AC_LIBOBJ invocations to module description.
1206         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
1207         * modules/pread (configure.ac): ... to here.
1208
1209 2011-05-21  Bruno Haible  <bruno@clisp.org>
1210
1211         posix_spawn*: Move AC_LIBOBJ invocations to module description.
1212         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
1213         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
1214         * modules/posix_spawn (configure.ac): ... to here.
1215         * modules/posix_spawnp (configure.ac): ... and here.
1216
1217 2011-05-21  Bruno Haible  <bruno@clisp.org>
1218
1219         popen: Move AC_LIBOBJ invocations to module description.
1220         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
1221         invocations from here...
1222         * modules/popen (configure.ac): ... to here.
1223
1224 2011-05-21  Bruno Haible  <bruno@clisp.org>
1225
1226         poll: Move AC_LIBOBJ invocations to module description.
1227         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
1228         invocations from here...
1229         * modules/poll (configure.ac): ... to here.
1230
1231 2011-05-21  Bruno Haible  <bruno@clisp.org>
1232
1233         pipe-posix: Move AC_LIBOBJ invocations to module description.
1234         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
1235         * modules/pipe-posix (configure.ac): ... to here.
1236
1237 2011-05-21  Bruno Haible  <bruno@clisp.org>
1238
1239         openat: Respect rules for use of AC_LIBOBJ.
1240         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
1241         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
1242         * modules/openat (configure.ac): ... to here.
1243
1244 2011-05-21  Bruno Haible  <bruno@clisp.org>
1245
1246         obstack-printf*: Move AC_LIBOBJ invocations to module description.
1247         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
1248         invocation from here...
1249         * modules/obstack-printf (configure.ac): ... to here.
1250         * modules/obstack-printf-posix (configure.ac): ... and here.
1251
1252 2011-05-21  Bruno Haible  <bruno@clisp.org>
1253
1254         nl_langinfo: Move AC_LIBOBJ invocations to module description.
1255         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
1256         from here...
1257         * modules/nl_langinfo (configure.ac): ... to here.
1258
1259 2011-05-21  Bruno Haible  <bruno@clisp.org>
1260
1261         nanosleep: Move AC_LIBOBJ invocations to module description.
1262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
1263         gl_PREREQ_NANOSLEEP invocations from here...
1264         * modules/nanosleep (configure.ac): ... to here.
1265
1266 2011-05-21  Bruno Haible  <bruno@clisp.org>
1267
1268         mountlist: Move AC_LIBOBJ invocations to module description.
1269         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
1270         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
1271         * modules/mountlist (configure.ac): ... to here.
1272
1273 2011-05-21  Bruno Haible  <bruno@clisp.org>
1274
1275         mktime: Respect rules for use of AC_LIBOBJ.
1276         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
1277         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
1278         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
1279         (gl_FUNC_MKTIME_INTERNAL): ... and here...
1280         * modules/mktime (configure.ac): ... to here.
1281         * modules/mktime-internal (configure.ac): ... and here.
1282         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
1283
1284 2011-05-21  Bruno Haible  <bruno@clisp.org>
1285
1286         mkstemps: Move AC_LIBOBJ invocations to module description.
1287         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
1288         here...
1289         * modules/mkstemps (configure.ac): ... to here.
1290
1291 2011-05-21  Bruno Haible  <bruno@clisp.org>
1292
1293         mkstemp: Move AC_LIBOBJ invocations to module description.
1294         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
1295         gl_PREREQ_MKSTEMP invocations from here...
1296         * modules/mkstemp (configure.ac): ... to here.
1297
1298 2011-05-21  Bruno Haible  <bruno@clisp.org>
1299
1300         mkostemps: Move AC_LIBOBJ invocations to module description.
1301         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
1302         here...
1303         * modules/mkostemps (configure.ac): ... to here.
1304
1305 2011-05-21  Bruno Haible  <bruno@clisp.org>
1306
1307         mkostemp: Move AC_LIBOBJ invocations to module description.
1308         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
1309         gl_PREREQ_MKOSTEMP invocations from here...
1310         * modules/mkostemp (configure.ac): ... to here.
1311
1312 2011-05-21  Bruno Haible  <bruno@clisp.org>
1313
1314         mknod: Move AC_LIBOBJ invocations to module description.
1315         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
1316         * modules/mknod (configure.ac): ... to here.
1317
1318 2011-05-21  Bruno Haible  <bruno@clisp.org>
1319
1320         mkfifoat: Move AC_LIBOBJ invocations to module description.
1321         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
1322         here...
1323         * modules/mkfifoat (configure.ac): ... to here.
1324
1325 2011-05-21  Bruno Haible  <bruno@clisp.org>
1326
1327         mkfifo: Respect rules for use of AC_LIBOBJ.
1328         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
1329         here...
1330         * modules/mkfifo (configure.ac): ... to here.
1331
1332 2011-05-21  Bruno Haible  <bruno@clisp.org>
1333
1334         mkdtemp: Move AC_LIBOBJ invocations to module description.
1335         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
1336         invocations from here...
1337         * modules/mkdtemp (configure.ac): ... to here.
1338
1339 2011-05-21  Bruno Haible  <bruno@clisp.org>
1340
1341         mkdir: Move AC_LIBOBJ invocations to module description.
1342         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
1343         * modules/mkdir (configure.ac): ... to here.
1344
1345 2011-05-21  Bruno Haible  <bruno@clisp.org>
1346
1347         memset: Move AC_LIBOBJ invocations to module description.
1348         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
1349         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
1350         here...
1351         * modules/memset (configure.ac): ... to here.
1352
1353 2011-05-21  Bruno Haible  <bruno@clisp.org>
1354
1355         memrchr: Move AC_LIBOBJ invocations to module description.
1356         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
1357         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
1358         here...
1359         * modules/memrchr (configure.ac): ... to here.
1360
1361 2011-05-21  Bruno Haible  <bruno@clisp.org>
1362
1363         mempcpy: Move AC_LIBOBJ invocations to module description.
1364         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
1365         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
1366         here...
1367         * modules/mempcpy (configure.ac): ... to here.
1368
1369 2011-05-21  Bruno Haible  <bruno@clisp.org>
1370
1371         memmove: Move AC_LIBOBJ invocations to module description.
1372         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
1373         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
1374         here...
1375         * modules/memmove (configure.ac): ... to here.
1376
1377 2011-05-21  Bruno Haible  <bruno@clisp.org>
1378
1379         memmem*: Move AC_LIBOBJ invocations to module description.
1380         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
1381         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
1382         here...
1383         (gl_FUNC_MEMMEM): ... and here...
1384         * modules/memmem-simple (configure.ac): ... to here.
1385         * modules/memmem (configure.ac): ... and here.
1386
1387 2011-05-21  Bruno Haible  <bruno@clisp.org>
1388
1389         memcpy: Move AC_LIBOBJ invocations to module description.
1390         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
1391         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
1392         here...
1393         * modules/memcpy (configure.ac): ... to here.
1394
1395 2011-05-21  Bruno Haible  <bruno@clisp.org>
1396
1397         memcmp: Simplify autoconf macro.
1398         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
1399         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
1400         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
1401
1402 2011-05-21  Bruno Haible  <bruno@clisp.org>
1403
1404         memcmp: Move AC_LIBOBJ invocations to module description.
1405         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
1406         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
1407         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
1408         * modules/memcmp (configure.ac): ... to here.
1409         (Depends-on): Update conditions.
1410
1411 2011-05-21  Bruno Haible  <bruno@clisp.org>
1412
1413         memchr: Respect rules for use of AC_LIBOBJ.
1414         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
1415         invocations from here...
1416         * modules/memchr (configure.ac): ... to here.
1417
1418 2011-05-21  Bruno Haible  <bruno@clisp.org>
1419
1420         mbtowc: Move AC_LIBOBJ invocations to module description.
1421         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
1422         invocations from here...
1423         * modules/mbtowc (configure.ac): ... to here.
1424
1425 2011-05-21  Bruno Haible  <bruno@clisp.org>
1426
1427         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
1428         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
1429         gl_PREREQ_MBSRTOWCS invocations from here...
1430         * modules/mbsrtowcs (configure.ac): ... to here.
1431
1432 2011-05-21  Bruno Haible  <bruno@clisp.org>
1433
1434         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
1435         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
1436         gl_PREREQ_MBSNRTOWCS invocations from here...
1437         * modules/mbsnrtowcs (configure.ac): ... to here.
1438
1439 2011-05-21  Bruno Haible  <bruno@clisp.org>
1440
1441         mbsinit: Move AC_LIBOBJ invocations to module description.
1442         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
1443         invocations from here...
1444         * modules/mbsinit (configure.ac): ... to here.
1445
1446 2011-05-21  Bruno Haible  <bruno@clisp.org>
1447
1448         mbrlen: Move AC_LIBOBJ invocations to module description.
1449         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
1450         invocations from here...
1451         * modules/mbrlen (configure.ac): ... to here.
1452
1453 2011-05-21  Bruno Haible  <bruno@clisp.org>
1454
1455         mbrtowc: Respect rules for use of AC_LIBOBJ.
1456         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
1457         invocations from here...
1458         * modules/mbrtowc (configure.ac): ... to here.
1459
1460 2011-05-21  Bruno Haible  <bruno@clisp.org>
1461
1462         malloc-*: Move AC_LIBOBJ invocations to module description.
1463         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
1464         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
1465         AC_LIBOBJ invocations from here...
1466         * modules/malloc-gnu (configure.ac): ... to here.
1467         * modules/malloc-posix (configure.ac): ... and here.
1468
1469 2011-05-21  Bruno Haible  <bruno@clisp.org>
1470
1471         lstat, openat: Respect rules for use of AC_LIBOBJ.
1472         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
1473         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
1474         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
1475         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
1476         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
1477         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
1478         here.
1479         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1480
1481 2011-05-21  Bruno Haible  <bruno@clisp.org>
1482
1483         lseek: Move AC_LIBOBJ invocations to module description.
1484         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
1485         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
1486         * modules/lseek (configure.ac): ... to here.
1487
1488 2011-05-21  Bruno Haible  <bruno@clisp.org>
1489
1490         linkat: Move AC_LIBOBJ invocations to module description.
1491         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
1492         here...
1493         * modules/linkat (configure.ac): ... to here.
1494
1495 2011-05-21  Bruno Haible  <bruno@clisp.org>
1496
1497         link: Respect rules for use of AC_LIBOBJ.
1498         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
1499         * modules/link (configure.ac): ... to here.
1500
1501 2011-05-21  Bruno Haible  <bruno@clisp.org>
1502
1503         lchown: Move AC_LIBOBJ invocations to module description.
1504         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
1505         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
1506         * modules/lchown (configure.ac): ... to here.
1507
1508 2011-05-21  Bruno Haible  <bruno@clisp.org>
1509
1510         iswctype: Move AC_LIBOBJ invocations to module description.
1511         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
1512         here...
1513         * modules/iswctype (configure.ac): ... to here.
1514
1515 2011-05-21  Bruno Haible  <bruno@clisp.org>
1516
1517         iswblank: Move AC_LIBOBJ invocations to module description.
1518         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
1519         here...
1520         * modules/iswblank (configure.ac): ... to here.
1521
1522 2011-05-21  Bruno Haible  <bruno@clisp.org>
1523
1524         atanl: Move AC_LIBOBJ invocations to module description.
1525         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
1526         * modules/atanl (configure.ac): ... to here.
1527
1528 2011-05-21  Bruno Haible  <bruno@clisp.org>
1529
1530         acosl: Move AC_LIBOBJ invocations to module description.
1531         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
1532         * modules/acosl (configure.ac): ... to here.
1533
1534 2011-05-21  Bruno Haible  <bruno@clisp.org>
1535
1536         asinl: Respect rules for use of AC_LIBOBJ.
1537         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
1538         * modules/asinl (configure.ac): ... to here.
1539
1540 2011-05-21  Bruno Haible  <bruno@clisp.org>
1541
1542         tanl: Move AC_LIBOBJ invocations to module description.
1543         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
1544         * modules/tanl (configure.ac): ... to here.
1545
1546 2011-05-21  Bruno Haible  <bruno@clisp.org>
1547
1548         cosl: Move AC_LIBOBJ invocations to module description.
1549         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
1550         * modules/cosl (configure.ac): ... to here.
1551
1552 2011-05-21  Bruno Haible  <bruno@clisp.org>
1553
1554         sinl: Move AC_LIBOBJ invocations to module description.
1555         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
1556         * modules/sinl (configure.ac): ... to here.
1557
1558 2011-05-21  Bruno Haible  <bruno@clisp.org>
1559
1560         logl: Move AC_LIBOBJ invocations to module description.
1561         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
1562         * modules/logl (configure.ac): ... to here.
1563
1564 2011-05-21  Bruno Haible  <bruno@clisp.org>
1565
1566         expl: Move AC_LIBOBJ invocations to module description.
1567         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
1568         * modules/expl (configure.ac): ... to here.
1569
1570 2011-05-21  Bruno Haible  <bruno@clisp.org>
1571
1572         roundl: Move AC_LIBOBJ invocations to module description.
1573         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
1574         * modules/roundl (configure.ac): ... to here.
1575
1576 2011-05-21  Bruno Haible  <bruno@clisp.org>
1577
1578         round: Move AC_LIBOBJ invocations to module description.
1579         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
1580         * modules/round (configure.ac): ... to here.
1581
1582 2011-05-21  Bruno Haible  <bruno@clisp.org>
1583
1584         roundf: Move AC_LIBOBJ invocations to module description.
1585         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
1586         * modules/roundf (configure.ac): ... to here.
1587
1588 2011-05-21  Bruno Haible  <bruno@clisp.org>
1589
1590         truncl: Move AC_LIBOBJ invocations to module description.
1591         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
1592         * modules/truncl (configure.ac): ... to here.
1593
1594 2011-05-21  Bruno Haible  <bruno@clisp.org>
1595
1596         trunc: Move AC_LIBOBJ invocations to module description.
1597         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
1598         * modules/trunc (configure.ac): ... to here.
1599
1600 2011-05-21  Bruno Haible  <bruno@clisp.org>
1601
1602         truncf: Move AC_LIBOBJ invocations to module description.
1603         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
1604         * modules/truncf (configure.ac): ... to here.
1605
1606 2011-05-21  Bruno Haible  <bruno@clisp.org>
1607
1608         ceill: Move AC_LIBOBJ invocations to module description.
1609         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
1610         * modules/ceill (configure.ac): ... to here.
1611
1612 2011-05-21  Bruno Haible  <bruno@clisp.org>
1613
1614         ceil: Move AC_LIBOBJ invocations to module description.
1615         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
1616         * modules/ceil (configure.ac): ... to here.
1617
1618 2011-05-21  Bruno Haible  <bruno@clisp.org>
1619
1620         ceilf: Move AC_LIBOBJ invocations to module description.
1621         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
1622         * modules/ceilf (configure.ac): ... to here.
1623
1624 2011-05-21  Bruno Haible  <bruno@clisp.org>
1625
1626         floorl: Respect rules for use of AC_LIBOBJ.
1627         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
1628         * modules/floorl (configure.ac): ... to here.
1629
1630 2011-05-21  Bruno Haible  <bruno@clisp.org>
1631
1632         floor: Respect rules for use of AC_LIBOBJ.
1633         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
1634         * modules/floor (configure.ac): ... to here.
1635
1636 2011-05-21  Bruno Haible  <bruno@clisp.org>
1637
1638         floorf: Move AC_LIBOBJ invocations to module description.
1639         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
1640         * modules/floorf (configure.ac): ... to here.
1641
1642 2011-05-20  Bruno Haible  <bruno@clisp.org>
1643
1644         sqrtl: Respect rules for use of AC_LIBOBJ.
1645         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
1646         * modules/sqrtl (configure.ac): ... to here.
1647
1648 2011-05-20  Bruno Haible  <bruno@clisp.org>
1649
1650         ldexpl: Respect rules for use of AC_LIBOBJ.
1651         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
1652         * modules/ldexpl (configure.ac): ... to here.
1653
1654 2011-05-20  Bruno Haible  <bruno@clisp.org>
1655
1656         frexpl*: Respect rules for use of AC_LIBOBJ.
1657         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
1658         invocation from here...
1659         * modules/frexpl (configure.ac): ... to here.
1660         * modules/frexpl-nolibm (configure.ac): ... and here.
1661
1662 2011-05-20  Bruno Haible  <bruno@clisp.org>
1663
1664         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
1665         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
1666         invocation from here...
1667         * modules/frexp (configure.ac): ... to here.
1668         * modules/frexp-nolibm (configure.ac): ... and here.
1669
1670 2011-05-20  Bruno Haible  <bruno@clisp.org>
1671
1672         isnan: Respect rules for use of AC_LIBOBJ.
1673         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
1674         invocations here.
1675         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
1676         REPLACE_ISNAN.
1677         * modules/isnand (configure.ac): Likewise.
1678         * modules/isnanl (configure.ac): Likewise.
1679
1680 2011-05-20  Bruno Haible  <bruno@clisp.org>
1681
1682         isnanl*: Respect rules for use of AC_LIBOBJ.
1683         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
1684         invocation from here...
1685         * modules/isnanl (configure.ac): ... to here.
1686         * modules/isnanl-nolibm (configure.ac): ... and here.
1687
1688 2011-05-20  Bruno Haible  <bruno@clisp.org>
1689
1690         isnand*: Move AC_LIBOBJ invocations to module description.
1691         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
1692         invocation from here...
1693         * modules/isnand (configure.ac): ... to here.
1694         * modules/isnand-nolibm (configure.ac): ... and here.
1695
1696 2011-05-20  Bruno Haible  <bruno@clisp.org>
1697
1698         isnanf*: Move AC_LIBOBJ invocations to module description.
1699         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
1700         invocation from here...
1701         * modules/isnanf (configure.ac): ... to here.
1702         * modules/isnanf-nolibm (configure.ac): ... and here.
1703
1704 2011-05-20  Bruno Haible  <bruno@clisp.org>
1705
1706         isnan*: Separate the AC_LIBOBJ invocations.
1707         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
1708         AC_LIBOBJ invocation.
1709         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
1710         here.
1711         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
1712         AC_LIBOBJ invocation.
1713         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
1714         here.
1715         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
1716         AC_LIBOBJ invocation.
1717         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
1718         here.
1719         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
1720
1721 2011-05-08  Bruno Haible  <bruno@clisp.org>
1722
1723         isinf: Move AC_LIBOBJ invocations to module description.
1724         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
1725         * modules/isinf (configure.ac): ... to here.
1726
1727 2011-05-08  Bruno Haible  <bruno@clisp.org>
1728
1729         isfinite: Move AC_LIBOBJ invocations to module description.
1730         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
1731         * modules/isfinite (configure.ac): ... to here.
1732
1733 2011-05-08  Bruno Haible  <bruno@clisp.org>
1734
1735         isblank: Move AC_LIBOBJ invocations to module description.
1736         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
1737         here...
1738         * modules/isblank (configure.ac): ... to here.
1739
1740 2011-05-08  Bruno Haible  <bruno@clisp.org>
1741
1742         isapipe: Move AC_LIBOBJ invocations to module description.
1743         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
1744         gl_PREREQ_ISAPIPE invocations from here...
1745         * modules/isapipe (configure.ac): ... to here.
1746         (Depends-on): Update condition.
1747
1748 2011-05-08  Bruno Haible  <bruno@clisp.org>
1749
1750         ioctl: Move AC_LIBOBJ invocations to module description.
1751         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
1752         invocations from here...
1753         * modules/ioctl (configure.ac): ... to here.
1754         (Depends-on): Update condition.
1755
1756 2011-05-08  Bruno Haible  <bruno@clisp.org>
1757
1758         imaxdiv: Move AC_LIBOBJ invocations to module description.
1759         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
1760         invocations from here...
1761         * modules/imaxdiv (configure.ac): ... to here.
1762
1763 2011-05-08  Bruno Haible  <bruno@clisp.org>
1764
1765         imaxabs: Move AC_LIBOBJ invocations to module description.
1766         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
1767         invocations from here...
1768         * modules/imaxabs (configure.ac): ... to here.
1769
1770 2011-05-08  Bruno Haible  <bruno@clisp.org>
1771
1772         getaddrinfo: Move AC_LIBOBJ invocations to module description.
1773         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
1774         AC_LIBOBJ invocations from here...
1775         * modules/getaddrinfo (configure.ac): ... to here.
1776         (Depends-on): Add conditions.
1777
1778 2011-05-08  Bruno Haible  <bruno@clisp.org>
1779
1780         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1781         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
1782         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1783         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
1784         (gl_PREREQ_INET_PTON): ... from here.
1785         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
1786         gl_PREREQ_INET_PTON here.
1787         (Depends-on): Update condition.
1788
1789 2011-05-08  Bruno Haible  <bruno@clisp.org>
1790
1791         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1792         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
1793         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1794         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
1795         (gl_PREREQ_INET_NTOP): ... from here.
1796         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
1797         gl_PREREQ_INET_NTOP here.
1798         (Depends-on): Update condition.
1799
1800 2011-05-08  Bruno Haible  <bruno@clisp.org>
1801
1802         iconv_open: Move AC_LIBOBJ invocations to module description.
1803         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
1804         AC_LIBOBJ invocations from here...
1805         * modules/iconv_open (configure.ac): ... to here.
1806
1807 2011-05-08  Bruno Haible  <bruno@clisp.org>
1808
1809         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
1810         If module 'iconv_open' is among the main modules and module
1811         'iconv_open-utf' is among the tests dependencies, then
1812         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
1813         return the special iconv_t values. Therefore iconv() and iconv_close()
1814         must support these special iconv_t values, already in lib, not only in
1815         tests.
1816         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
1817         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
1818         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
1819         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
1820         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
1821         (Depends-on): Add the dependencies of iconv_open-utf.
1822         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
1823         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
1824         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
1825
1826 2011-05-08  Bruno Haible  <bruno@clisp.org>
1827
1828         group-member: Move AC_LIBOBJ invocations to module description.
1829         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
1830         gl_PREREQ_GROUP_MEMBER invocations from here...
1831         * modules/group-member (configure.ac): ... to here.
1832
1833 2011-05-08  Bruno Haible  <bruno@clisp.org>
1834
1835         grantpt: Move AC_LIBOBJ invocations to module description.
1836         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
1837         invocations from here...
1838         * modules/grantpt (configure.ac): ... to here.
1839
1840 2011-05-08  Bruno Haible  <bruno@clisp.org>
1841
1842         glob: Move AC_LIBOBJ invocations to module description.
1843         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
1844         from here...
1845         * modules/glob (configure.ac): ... to here.
1846
1847 2011-05-08  Bruno Haible  <bruno@clisp.org>
1848
1849         getusershell: Move AC_LIBOBJ invocations to module description.
1850         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
1851         Move AC_LIBOBJ invocation from here...
1852         * modules/getusershell (configure.ac): ... to here.
1853         (Depends-on): Update condition.
1854
1855 2011-05-08  Bruno Haible  <bruno@clisp.org>
1856
1857         gettimeofday: Move AC_LIBOBJ invocations to module description.
1858         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
1859         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
1860         gl_PREREQ_GETTIMEOFDAY invocations from here...
1861         * modules/gettimeofday (configure.ac): ... to here.
1862
1863 2011-05-08  Bruno Haible  <bruno@clisp.org>
1864
1865         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
1866         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
1867         just gl_FUNC_TZSET.
1868         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
1869         (gl_FUNC_TZSET_CLOBBER): Remove actions.
1870         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
1871         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
1872
1873 2011-05-08  Bruno Haible  <bruno@clisp.org>
1874
1875         getsubopt: Move AC_LIBOBJ invocations to module description.
1876         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
1877         gl_PREREQ_GETSUBOPT invocations from here...
1878         * modules/getsubopt (configure.ac): ... to here.
1879
1880 2011-05-08  Bruno Haible  <bruno@clisp.org>
1881
1882         getpass-gnu: Move AC_LIBOBJ invocations to module description.
1883         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
1884         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
1885         * modules/getpass-gnu (configure.ac): ... to here.
1886
1887 2011-05-08  Bruno Haible  <bruno@clisp.org>
1888
1889         getpass: Move AC_LIBOBJ invocations to module description.
1890         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
1891         gl_PREREQ_GETPASS invocations from here...
1892         * modules/getpass (configure.ac): ... to here.
1893
1894 2011-05-08  Bruno Haible  <bruno@clisp.org>
1895
1896         getpagesize: Move AC_LIBOBJ invocations to module description.
1897         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
1898         from here...
1899         * modules/getpagesize (configure.ac): ... to here.
1900
1901 2011-05-08  Bruno Haible  <bruno@clisp.org>
1902
1903         getopt: Move AC_LIBOBJ invocations to module description.
1904         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
1905         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
1906         invocations from here...
1907         * modules/getopt-gnu (configure.ac): ... to here.
1908         * modules/getopt-posix (configure.ac): ... and here.
1909         (Depends-on): Update condition.
1910
1911 2011-05-08  Bruno Haible  <bruno@clisp.org>
1912
1913         getopt, argp: Respect rules for use of AC_LIBOBJ.
1914         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
1915         (gl_REPLACE_GETOPT_ALWAYS): New macro.
1916         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
1917         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
1918
1919 2011-05-08  Bruno Haible  <bruno@clisp.org>
1920
1921         getlogin_r: Move AC_LIBOBJ invocations to module description.
1922         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
1923         gl_PREREQ_GETLOGIN_R invocations from here...
1924         * modules/getlogin_r (configure.ac): ... to here.
1925
1926 2011-05-08  Bruno Haible  <bruno@clisp.org>
1927
1928         getlogin: Move AC_LIBOBJ invocations to module description.
1929         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
1930         here...
1931         * modules/getlogin (configure.ac): ... to here.
1932
1933 2011-05-08  Bruno Haible  <bruno@clisp.org>
1934
1935         getloadavg: Move AC_LIBOBJ invocations to module description.
1936         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
1937         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
1938         * modules/getloadavg (configure.ac): ... to here.
1939
1940 2011-05-08  Bruno Haible  <bruno@clisp.org>
1941
1942         gethrxtime: Move AC_LIBOBJ invocations to module description.
1943         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
1944         LIB_GETHRXTIME from here...
1945         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
1946         invocations from here...
1947         * modules/gethrxtime (configure.ac): ... to here.
1948
1949 2011-05-08  Bruno Haible  <bruno@clisp.org>
1950
1951         gethostname: Move AC_LIBOBJ invocations to module description.
1952         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
1953         gl_PREREQ_GETHOSTNAME invocations from here...
1954         * modules/gethostname (configure.ac): ... to here.
1955
1956 2011-05-08  Bruno Haible  <bruno@clisp.org>
1957
1958         getgroups: Move AC_LIBOBJ invocations to module description.
1959         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
1960         here...
1961         * modules/getgroups (configure.ac): ... to here.
1962
1963 2011-05-08  Bruno Haible  <bruno@clisp.org>
1964
1965         getdtablesize: Move AC_LIBOBJ invocations to module description.
1966         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
1967         invocation from here...
1968         * modules/getdtablesize (configure.ac): ... to here.
1969
1970 2011-05-08  Bruno Haible  <bruno@clisp.org>
1971
1972         getdomainname: Move AC_LIBOBJ invocations to module description.
1973         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
1974         gl_PREREQ_GETDOMAINNAME invocations from here...
1975         * modules/getdomainname (configure.ac): ... to here.
1976
1977 2011-05-08  Bruno Haible  <bruno@clisp.org>
1978
1979         getline: Move AC_LIBOBJ invocations to module description.
1980         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
1981         invocations from here...
1982         * modules/getline (configure.ac): ... to here.
1983
1984 2011-05-08  Bruno Haible  <bruno@clisp.org>
1985
1986         getline: Simplify.
1987         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
1988         It's already handled through the module dependency.
1989
1990 2011-05-08  Bruno Haible  <bruno@clisp.org>
1991
1992         getdelim: Move AC_LIBOBJ invocations to module description.
1993         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
1994         and gl_PREREQ_GETDELIM invocations from here...
1995         * modules/getdelim (configure.ac): ... to here.
1996         (Depends-on): Fix condition.
1997
1998 2011-05-08  Bruno Haible  <bruno@clisp.org>
1999
2000         getcwd: Move AC_LIBOBJ invocations to module description.
2001         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
2002         invocations from here...
2003         * modules/getcwd (configure.ac): ... to here.
2004
2005 2011-05-08  Bruno Haible  <bruno@clisp.org>
2006
2007         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
2008         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
2009         here...
2010         * modules/getcwd-lgpl (configure.ac): ... to here.
2011
2012 2011-05-07  Bruno Haible  <bruno@clisp.org>
2013
2014         crypto/gc: Move AC_LIBOBJ invocations to module description.
2015         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
2016         * modules/crypto/gc (configure.ac): ... to here.
2017
2018 2011-05-07  Bruno Haible  <bruno@clisp.org>
2019
2020         fwriting: Move AC_LIBOBJ invocations to module description.
2021         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
2022         here...
2023         * modules/fwriting (configure.ac): ... to here.
2024
2025 2011-05-07  Bruno Haible  <bruno@clisp.org>
2026
2027         fwritable: Move AC_LIBOBJ invocations to module description.
2028         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
2029         here...
2030         * modules/fwritable (configure.ac): ... to here.
2031
2032 2011-05-07  Bruno Haible  <bruno@clisp.org>
2033
2034         futimens: Move AC_LIBOBJ invocations to module description.
2035         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
2036         here...
2037         * modules/futimens (configure.ac): ... to here.
2038
2039 2011-05-07  Bruno Haible  <bruno@clisp.org>
2040
2041         ftruncate: Move AC_LIBOBJ invocations to module description.
2042         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
2043         gl_PREREQ_FTRUNCATE invocations from here...
2044         * modules/ftruncate (configure.ac): ... to here.
2045
2046 2011-05-07  Bruno Haible  <bruno@clisp.org>
2047
2048         fsync: Move AC_LIBOBJ invocations to module description.
2049         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
2050         invocations from here...
2051         * modules/fsync (configure.ac): ... to here.
2052
2053 2011-05-07  Bruno Haible  <bruno@clisp.org>
2054
2055         fsusage: Move AC_LIBOBJ invocations to module description.
2056         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
2057         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
2058         * modules/fsusage (configure.ac): ... to here.
2059
2060 2011-05-07  Bruno Haible  <bruno@clisp.org>
2061
2062         freopen: Move AC_LIBOBJ invocations to module description.
2063         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
2064         invocations from here...
2065         * modules/freopen (configure.ac): ... to here.
2066
2067 2011-05-07  Bruno Haible  <bruno@clisp.org>
2068
2069         free: Move AC_LIBOBJ invocations to module description.
2070         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
2071         invocations from here...
2072         * modules/free (configure.ac): ... to here.
2073
2074 2011-05-07  Bruno Haible  <bruno@clisp.org>
2075
2076         freadable: Move AC_LIBOBJ invocations to module description.
2077         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
2078         here...
2079         * modules/freadable (configure.ac): ... to here.
2080
2081 2011-05-07  Bruno Haible  <bruno@clisp.org>
2082
2083         fpurge: Move AC_LIBOBJ invocations to module description.
2084         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
2085         invocations from here...
2086         * modules/fpurge (configure.ac): ... to here.
2087
2088 2011-05-07  Bruno Haible  <bruno@clisp.org>
2089
2090         fpending: Move AC_LIBOBJ invocations to module description.
2091         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
2092         gl_FUNC_FPENDING.
2093         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
2094         invocations from here...
2095         * modules/fpending (configure.ac): ... to here.
2096
2097 2011-05-07  Bruno Haible  <bruno@clisp.org>
2098
2099         fopen: Move AC_LIBOBJ invocations to module description.
2100         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
2101         invocations from here...
2102         * modules/fopen (configure.ac): ... to here.
2103
2104 2011-05-07  Bruno Haible  <bruno@clisp.org>
2105
2106         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
2107         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
2108         gl_FUNC_FNMATCH_POSIX.
2109         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
2110         invocations from here...
2111         * modules/fnmatch (configure.ac): ... to here.
2112         * modules/fnmatch-gnu (configure.ac): ... and here.
2113
2114 2011-05-07  Bruno Haible  <bruno@clisp.org>
2115
2116         flock: Move AC_LIBOBJ invocations to module description.
2117         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
2118         invocations from here...
2119         * modules/flock (configure.ac): ... to here.
2120
2121 2011-05-07  Bruno Haible  <bruno@clisp.org>
2122
2123         fileblocks: Move AC_LIBOBJ invocations to module description.
2124         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
2125         gl_PREREQ_FILEBLOCKS invocations from here...
2126         * modules/fileblocks (configure.ac): ... to here.
2127
2128 2011-05-06  Bruno Haible  <bruno@clisp.org>
2129
2130         fflush: Move AC_LIBOBJ invocations to module description.
2131         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
2132         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
2133         invocations from here...
2134         * modules/fflush (configure.ac): ... to here.
2135
2136 2011-05-06  Bruno Haible  <bruno@clisp.org>
2137
2138         fdopendir: Move AC_LIBOBJ invocations to module description.
2139         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
2140         here...
2141         * modules/fdopendir (configure.ac): ... to here.
2142         (Depends-on): Improve conditions.
2143
2144 2011-05-06  Bruno Haible  <bruno@clisp.org>
2145
2146         _Exit: Move AC_LIBOBJ invocations to module description.
2147         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
2148         invocations from here...
2149         * modules/_Exit (configure.ac): ... to here.
2150
2151 2011-05-21  Bruno Haible  <bruno@clisp.org>
2152
2153         euidaccess: Respect rules for use of AC_LIBOBJ.
2154         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
2155         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
2156         from here...
2157         * modules/euidaccess (configure.ac): ... to here.
2158
2159 2011-05-06  Bruno Haible  <bruno@clisp.org>
2160
2161         error: Move AC_LIBOBJ invocations to module description.
2162         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
2163         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
2164         invocations from here...
2165         * modules/error (configure.ac): ... to here.
2166
2167 2011-05-06  Bruno Haible  <bruno@clisp.org>
2168
2169         duplocale: Move AC_LIBOBJ invocations to module description.
2170         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
2171         gl_PREREQ_DUPLOCALE invocations from here...
2172         * modules/duplocale (configure.ac): ... to here.
2173
2174 2011-05-05  Bruno Haible  <bruno@clisp.org>
2175
2176         dirfd: Move AC_LIBOBJ invocations to module description.
2177         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
2178         gl_FUNC_DIRFD.
2179         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
2180         here...
2181         * modules/dirfd (configure.ac): ... to here.
2182         (Depends-on): Fix condition.
2183
2184 2011-05-05  Bruno Haible  <bruno@clisp.org>
2185
2186         chown: Respect rules for use of AC_LIBOBJ.
2187         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
2188         * modules/chown (configure.ac): ... to here.
2189
2190 2011-05-05  Bruno Haible  <bruno@clisp.org>
2191
2192         chdir-long: Move AC_LIBOBJ invocations to module description.
2193         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
2194         gl_PREREQ_CHDIR_LONG invocations from here...
2195         * modules/chdir-long (configure.ac): ... to here.
2196
2197 2011-05-05  Bruno Haible  <bruno@clisp.org>
2198
2199         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
2200         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
2201         from here...
2202         * modules/canonicalize-lgpl (configure.ac): ... to here.
2203
2204 2011-05-05  Bruno Haible  <bruno@clisp.org>
2205
2206         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
2207         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
2208         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
2209         REPLACE_CALLOC.
2210         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
2211         * modules/calloc-gnu (configure.ac): Likewise.
2212
2213 2011-05-05  Bruno Haible  <bruno@clisp.org>
2214
2215         btowc: Move AC_LIBOBJ invocations to module description.
2216         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
2217         invocations from here...
2218         * modules/btowc (configure.ac): ... to here.
2219
2220 2011-05-21  Bruno Haible  <bruno@clisp.org>
2221
2222         atexit: Move AC_LIBOBJ invocations to module description.
2223         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
2224         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
2225         here...
2226         * modules/atexit (configure.ac): ... to here.
2227
2228 2011-05-05  Bruno Haible  <bruno@clisp.org>
2229
2230         atoll: Move AC_LIBOBJ invocations to module description.
2231         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
2232         invocations from here...
2233         * modules/atoll (configure.ac): ... to here.
2234
2235 2011-05-05  Bruno Haible  <bruno@clisp.org>
2236
2237         argz: Move AC_LIBOBJ invocations to module description.
2238         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
2239         * modules/argz (configure.ac): ... to here.
2240
2241 2011-05-05  Bruno Haible  <bruno@clisp.org>
2242
2243         alphasort: Move AC_LIBOBJ invocations to module description.
2244         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
2245         gl_PREREQ_ALPHASORT invocations from here...
2246         * modules/alphasort (configure.ac): ... to here.
2247
2248 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2249
2250         verify: new macro verify_expr; verify_true deprecated
2251         * NEWS: Mention this.
2252         * doc/verify.texi (Compile-time Assertions): Document this.
2253         * lib/verify.h (verify_true): Deprecate.
2254         (verify_expr): New macro.
2255         * tests/test-verify.c (function): Test verify_expr.
2256
2257 2011-06-14  Jim Meyering  <meyering@redhat.com>
2258
2259         init.sh: give more portable redirection-related advice in a comment
2260         * tests/init.sh (stderr_fileno_): Update the advice in comments.
2261         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
2262         for lots of discussion.  Stefano Lattarini suggested the solution
2263         of putting "9>&2" after the command.  Reported by Bruno Haible.
2264
2265 2011-06-13  Bruno Haible  <bruno@clisp.org>
2266
2267         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
2268         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
2269         'none'.
2270
2271 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2272
2273         ftoastr: use strtof only if HAVE_STRTOF
2274         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
2275         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
2276         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
2277         * modules/ftoastr (configure.ac): Check for strtof.
2278
2279 2011-06-13  Bruno Haible  <bruno@clisp.org>
2280
2281         gnulib-tool: Addendum to 2011-06-08 commit.
2282         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
2283         and --witness-c-macro have been given, augment AM_CPPFLAGS.
2284
2285 2011-06-13  Bruno Haible  <bruno@clisp.org>
2286
2287         fseeko: Provide a non-inline replacement of fseek().
2288         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
2289         * modules/fseeko (Depends-on): Add fseek.
2290         * modules/fseek (License): Change to LGPLv2+.
2291
2292 2011-06-13  Bruno Haible  <bruno@clisp.org>
2293
2294         ftello: Provide a non-inline replacement of ftell().
2295         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
2296         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
2297         not have ftello() (such as on mingw).
2298         * modules/ftello (Depends-on): Add ftell.
2299         * modules/ftell (License): Change to LGPLv2+.
2300
2301 2011-05-07  Bruno Haible  <bruno@clisp.org>
2302
2303         ftell: Move AC_LIBOBJ invocations to module description.
2304         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
2305         * modules/ftell (configure.ac): ... to here.
2306
2307 2011-05-07  Bruno Haible  <bruno@clisp.org>
2308
2309         ftello: Respect rules for use of AC_LIBOBJ.
2310         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
2311         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
2312         here...
2313         * modules/ftello (configure.ac): ... to here.
2314
2315 2011-05-07  Bruno Haible  <bruno@clisp.org>
2316
2317         fseeko: Simplify.
2318         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
2319         (gl_FUNC_FSEEKO): Inline it here.
2320
2321 2011-05-07  Bruno Haible  <bruno@clisp.org>
2322
2323         fseek: Move AC_LIBOBJ invocations to module description.
2324         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
2325         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
2326         * modules/fseek (configure.ac): ... to here.
2327
2328 2011-05-07  Bruno Haible  <bruno@clisp.org>
2329
2330         fseek: Respect rules for use of AC_LIBOBJ.
2331         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
2332         here...
2333         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
2334
2335 2011-05-07  Bruno Haible  <bruno@clisp.org>
2336
2337         fseeko: Respect rules for use of AC_LIBOBJ.
2338         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
2339         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
2340         here...
2341         * modules/fseeko (configure.ac): ... to here.
2342
2343 2011-06-13  Bruno Haible  <bruno@clisp.org>
2344
2345         gnulib-tool: Allow comments in the 'Depends-on' section.
2346         * doc/gnulib.texi (Module description): Mention comment syntax in the
2347         Depends-on section.
2348         * gnulib-tool (func_get_dependencies): Filter out comment lines.
2349
2350 2011-06-13  Bruno Haible  <bruno@clisp.org>
2351
2352         file-set.h: guard __attibute__ use, now that it's not always defined
2353         * lib/file-set.h (record_file): Use __attribute__ only with compiler
2354         versions that support it.  This fixes a coreutils build failure with
2355         the vendor cc on HP-UX 11.31.
2356
2357 2011-06-12  Bruno Haible  <bruno@clisp.org>
2358
2359         acl: Add support for HP-UX >= 11.11 JFS ACLs.
2360         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
2361         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
2362         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
2363         (acl, aclsort): New declarations.
2364         (aclv_nontrivial): New declaration.
2365         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
2366         (file_has_acl): Read also the second kind of HP-UX ACLs.
2367         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
2368         kind of HP-UX ACLs if the first kind fails.
2369         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
2370         second kind of HP-UX ACLs.
2371         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
2372         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
2373         agree.
2374         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2375         hpuxjfs.
2376         Handle hpuxjfs.
2377         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2378         hpuxjfs.
2379         Handle hpuxjfs.
2380         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2381         (func_test_same_acls): Use both lsacl and getacl.
2382         Handle hpuxjfs.
2383         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2384         (func_test_same_acls): Use both lsacl and getacl.
2385         Handle hpuxjfs.
2386
2387 2011-06-12  Bruno Haible  <bruno@clisp.org>
2388
2389         acl: Complete the 2010-08-10 fix.
2390         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
2391         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
2392         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
2393         explicitly.
2394         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
2395         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
2396
2397 2011-06-12  Bruno Haible  <bruno@clisp.org>
2398
2399         spawn-pipe tests: Comments.
2400         * tests/test-spawn-pipe-child.c (main): Update comment.
2401         Reported by James Youngman <jay@gnu.org>.
2402
2403 2011-06-11  James Youngman  <jay@gnu.org>
2404
2405         New module 'stat-size'.
2406         * modules/stat-size: New module.  Provides macros for accessing
2407         file size information in instances of struct stat.  Depends on the
2408         fileblocks module because it calls st_blocks.
2409         * lib/stat-size.h: New file, adapted from coreutils' system.h.
2410         * doc/gnulib.texi: Include stat-size.texi.
2411         * doc/stat-size.texi: Documentation for this module.
2412         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
2413         * m4/fileblocks.m4: Mention that stat-size depends on the call to
2414         AC_STRUCT_ST_BLOCKS.
2415
2416 2011-06-09  Bruno Haible  <bruno@clisp.org>
2417
2418         thread: Support pthreads-win32.
2419         * lib/glthread/thread.h (gl_thread_self): Define differently on
2420         pthreads-win32.
2421         (gl_null_thread): New declaration.
2422         (gl_thread_self_pointer): New macro.
2423         * lib/glthread/thread.c (gl_null_thread): New constant.
2424         * tests/test-lock.c: Use gl_thread_self_pointer instead of
2425         gl_thread_self.
2426         * tests/test-tls.c: Likewise.
2427         Suggested by Paul Eggert. Reported by Eric Blake.
2428
2429 2011-06-09  Bruno Haible  <bruno@clisp.org>
2430
2431         thread: Fix confusion between NULL and 0.
2432         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
2433         Reported by Paul Eggert.
2434
2435 2011-06-09  Bruno Haible  <bruno@clisp.org>
2436
2437         spawn-pipe tests: Avoid test failure on HP-UX 11.
2438         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
2439         is closed.
2440
2441 2011-06-09  Bruno Haible  <bruno@clisp.org>
2442
2443         acl tests: Fix compilation error on HP-UX 11.
2444         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
2445
2446 2011-06-09  Bruno Haible  <bruno@clisp.org>
2447
2448         rmdir: Avoid test failure on HP-UX 10.20.
2449         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
2450         EEXIST.
2451
2452 2011-06-08  Eric Blake  <eblake@redhat.com>
2453
2454         perror: fix test on mingw
2455         * modules/perror-tests (Depends-on): Add dup2.
2456
2457         strerror_r-posix: fix on MacOS
2458         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
2459         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
2460         logic bug.
2461         * lib/strerror_r.c (strerror_r): Fix the bug.
2462         * lib/strerror.c (strerror): Likewise.
2463         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2464         problem.
2465         * doc/posix-functions/strerror.texi (strerror): Likewise.
2466         * doc/posix-functions/perror.texi (perror): Likewise.
2467         * tests/test-strerror.c (main): Enhance test.
2468         * tests/test-strerror_r.c (main): Likewise.
2469
2470 2011-06-08  Bruno Haible  <bruno@clisp.org>
2471
2472         gnulib-tool: Better isolation between different gnulib-tool invocations.
2473         * gnulib-tool: New option --witness-c-macro.
2474         (witness_c_macro): New variable.
2475         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
2476         AM_CPPFLAGS define it as a C macro.
2477         (func_emit_tests_Makefile_am): Likewise.
2478         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
2479         read it from there.
2480         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
2481         m4_define, not AC_DEFUN.
2482         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
2483         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
2484         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
2485         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
2486         s|...|...|, to substitute the values of the GNULIB_* module indicator
2487         variables.
2488         * modules/dirent (Makefile.am): Likewise.
2489         * modules/fcntl-h (Makefile.am): Likewise.
2490         * modules/iconv-h (Makefile.am): Likewise.
2491         * modules/langinfo (Makefile.am): Likewise.
2492         * modules/locale (Makefile.am): Likewise.
2493         * modules/math (Makefile.am): Likewise.
2494         * modules/netdb (Makefile.am): Likewise.
2495         * modules/poll-h (Makefile.am): Likewise.
2496         * modules/pty (Makefile.am): Likewise.
2497         * modules/search (Makefile.am): Likewise.
2498         * modules/signal (Makefile.am): Likewise.
2499         * modules/spawn (Makefile.am): Likewise.
2500         * modules/stdio (Makefile.am): Likewise.
2501         * modules/stdlib (Makefile.am): Likewise.
2502         * modules/string (Makefile.am): Likewise.
2503         * modules/sys_ioctl (Makefile.am): Likewise.
2504         * modules/sys_select (Makefile.am): Likewise.
2505         * modules/sys_socket (Makefile.am): Likewise.
2506         * modules/sys_stat (Makefile.am): Likewise.
2507         * modules/sys_times (Makefile.am): Likewise.
2508         * modules/sys_utsname (Makefile.am): Likewise.
2509         * modules/sys_wait (Makefile.am): Likewise.
2510         * modules/termios (Makefile.am): Likewise.
2511         * modules/time (Makefile.am): Likewise.
2512         * modules/unistd (Makefile.am): Likewise.
2513         * modules/wchar (Makefile.am): Likewise.
2514
2515 2011-06-08  Eric Blake  <eblake@redhat.com>
2516
2517         strerror: simplify replacement
2518         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
2519         * modules/strerror (configure.ac): No prereqs needed here...
2520         * modules/strerror-override (configure.ac): ...but this needs it.
2521         (Files): Add file for needed prereq macro.
2522
2523 2011-06-08  Bruno Haible  <bruno@clisp.org>
2524
2525         strerror_r-posix: Tweaks.
2526         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
2527         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
2528         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
2529         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
2530         (gl_FUNC_STRERROR_R): ... to here.
2531         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
2532
2533 2011-06-07  Eric Blake  <eblake@redhat.com>
2534
2535         perror: document fixed bugs
2536         * doc/posix-functions/perror.texi (perror): Document recent
2537         patches.
2538
2539 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
2540
2541         stat-time: get_stat_birthtime failure is better-defined
2542         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
2543         return a timestamp whose tv_sec and tv_nsec values are both -1.
2544         Previously, the spec said only that the tv_nsec value was negative.
2545         This upward-compatible change simplifies GNU tar a bit.
2546
2547 2011-06-07  Eric Blake  <eblake@redhat.com>
2548
2549         strerror_r-posix: work around cygwin 1.7.9
2550         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
2551         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
2552         bug without replacing strerror_r.
2553         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
2554         strerror_r is buggy, but without requiring strerror_r compilation.
2555         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
2556
2557         test-perror: relax test to ignore cygwin bug
2558         * tests/test-perror2.c (main): Relax test on requiring detection
2559         of stream errors, and use unbuffered stream.
2560         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
2561         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
2562         * doc/posix-functions/fputc.texi (fputc): Likewise.
2563         * doc/posix-functions/fputs.texi (fputs): Likewise.
2564         * doc/posix-functions/fputws.texi (fputws): Likewise.
2565         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
2566         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
2567         * doc/posix-functions/getopt.texi (getopt): Likewise.
2568         * doc/posix-functions/perror.texi (perror): Likewise.
2569         * doc/posix-functions/printf.texi (printf): Likewise.
2570         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
2571         * doc/posix-functions/psignal.texi (psignal): Likewise.
2572         * doc/posix-functions/putc.texi (putc): Likewise.
2573         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
2574         Likewise.
2575         * doc/posix-functions/putchar.texi (putchar): Likewise.
2576         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
2577         Likewise.
2578         * doc/posix-functions/puts.texi (puts): Likewise.
2579         * doc/posix-functions/putwc.texi (putwc): Likewise.
2580         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
2581         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
2582         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
2583         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
2584         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
2585         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
2586         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
2587         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
2588
2589 2011-05-22  Bruno Haible  <bruno@clisp.org>
2590
2591         strerror: Move AC_LIBOBJ invocations to module description.
2592         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
2593         gl_PREREQ_STRERROR invocations from here...
2594         * modules/strerror (configure.ac): ... to here.
2595
2596 2011-05-21  Bruno Haible  <bruno@clisp.org>
2597
2598         perror: Use common idiom.
2599         * modules/perror (configure.ac): Reorder statements.
2600
2601 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2602
2603         tests: fix usage message in 'mktempd_'
2604         * tests/init.sh (mktempd_): In the usage message, use literal
2605         'mktempd_', not '$ME' (which is even undefined), as the name of
2606         the subroutine.
2607
2608 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2609
2610         tests init: new function 'fatal_', for hard errors
2611         Before this patch, the only way offered by tests/init.sh to
2612         properly signal a hard error was the `framework_failure_'
2613         function.  But the error message issued by that function,
2614         as its name would suggest, refers to a set-up failure in the
2615         testsuite, while hard errors can obviously also be due to
2616         other reasons.  The best way to fix this inconsistency is to
2617         introduce a new function with a more general error message.
2618         * tests/init.sh (fatal_): New function.
2619
2620 2011-06-06  Eric Blake  <eblake@redhat.com>
2621
2622         canonicalize-lgpl: use common idiom
2623         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
2624         over newer POSIX -Rf.
2625         Reported by Bruno Haible.
2626
2627         canonicalize-lgpl: work around AIX realpath bug
2628         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
2629         * doc/posix-functions/realpath.texi (realpath): Document it.
2630         Reported by Bruno Haible.
2631
2632         strerror: work around FreeBSD bug
2633         * lib/strerror.c (strerror): Special case 0.
2634         Reported by Bruno Haible.
2635
2636         strerror-override: avoid bloating errno module
2637         * modules/errno (Files, configure.ac): Move replacement strings...
2638         * modules/strerror-override: ...to new module.
2639         * modules/strerror (Depends-on): Add strerror-override.
2640         * modules/strerror_r-posix (Depends-on): Likewise.
2641         * MODULES.html.sh: Document new module.
2642         Reported by Bruno Haible.
2643
2644 2011-06-06  Bruno Haible  <bruno@clisp.org>
2645
2646         spawn-pipe tests: Rename program.
2647         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
2648         * tests/test-spawn-pipe-child.c: Update comment.
2649         * tests/test-spawn-pipe.sh: Update.
2650         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
2651
2652         spawn-pipe tests: Link the child program only against libc.
2653         * tests/test-spawn-pipe-child.c: New file, extracted from
2654         tests/test-spawn-pipe.c.
2655         (main): Expect only one argument.
2656         (is_open): New function, copied from tests/test-pipe.c.
2657         * tests/test-spawn-pipe.c: Don't include <errno.h>.
2658         (child_main): Remove function.
2659         (test_pipe): Pass only one argument to the child program.
2660         (main): Remove child process code. Expect the child program's name as
2661         first argument.
2662         * tests/test-spawn-pipe.sh: Pass the child program's name as first
2663         argument.
2664         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
2665         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
2666         test-spawn-pipe-child against no libraries.
2667
2668 2011-06-06  Bruno Haible  <bruno@clisp.org>
2669
2670         careadlinkat: Avoid mismatch between ssize_t and int.
2671         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
2672         * lib/careadlinkat.c (careadlinkatcwd): Define always.
2673
2674 2011-06-06  Jim Meyering  <meyering@redhat.com>
2675
2676         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
2677         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
2678         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
2679
2680 2011-06-05  Bruno Haible  <bruno@clisp.org>
2681
2682         ansi-c++-opt: Interoperability with libtool.
2683         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
2684         set the variable to "no", not to ":".
2685         * NEWS: Mention the change.
2686
2687 2011-06-05  Bruno Haible  <bruno@clisp.org>
2688
2689         acl: Fix test failure on AIX 7.
2690         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
2691         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
2692
2693 2011-06-05  Bruno Haible  <bruno@clisp.org>
2694
2695         pipe-filter-ii: Fix test failure on AIX and IRIX.
2696         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
2697         with EAGAIN, retry with a smaller buffer size.
2698
2699 2011-06-05  Bruno Haible  <bruno@clisp.org>
2700
2701         localename: Fix link dependencies.
2702         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
2703         * modules/localename-tests (Makefile.am): Link test-localename with
2704         $(LIBTHREAD).
2705
2706 2011-06-05  Bruno Haible  <bruno@clisp.org>
2707
2708         error: Avoid gcc warning.
2709         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
2710
2711 2011-06-05  Bruno Haible  <bruno@clisp.org>
2712
2713         unsetenv: Avoid gcc warning.
2714         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
2715
2716 2011-06-05  Bruno Haible  <bruno@clisp.org>
2717
2718         setenv: Avoid gcc warning.
2719         * lib/setenv.c (setenv): Provide declaration if system lacks it.
2720
2721 2011-06-05  Bruno Haible  <bruno@clisp.org>
2722
2723         sys_select: Ensure memset is declared also on AIX 7.
2724         * lib/sys_select.in.h: Include <string.h> also on AIX.
2725         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
2726         self-contained also on AIX 7.1.
2727
2728 2011-06-04  Jim Meyering  <meyering@redhat.com>
2729
2730         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
2731         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
2732         function name, "error".
2733         (_gl_translatable_diag_func_re): New configurable variable.
2734
2735 2011-06-04  Bruno Haible  <bruno@clisp.org>
2736
2737         getopt: Avoid gcc warning.
2738         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
2739
2740 2011-06-04  Bruno Haible  <bruno@clisp.org>
2741
2742         strerror_r: Fix comments.
2743         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
2744         commit.
2745
2746 2011-06-04  Bruno Haible  <bruno@clisp.org>
2747
2748         perror: Fix compilation error.
2749         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
2750         Undefine fprintf, not sprintf.
2751         * modules/perror (Depends-on): Remove intprops, verify.
2752
2753 2011-06-04  Bruno Haible  <bruno@clisp.org>
2754
2755         setlocale: Enable replacement on Cygwin 1.5.
2756         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
2757         Cygwin 1.5.x.
2758         * doc/posix-functions/setlocale.texi: Mention that the problem with the
2759         LC_CTYPE category also exists on Cygwin 1.5.x.
2760
2761 2011-06-04  Bruno Haible  <bruno@clisp.org>
2762
2763         strerror-override: Don't disable symbol renamings.
2764         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
2765         * lib/strerror-override.c: Include config.h.
2766         (strerror_override): Don't undefine.
2767
2768 2011-06-03  Bruno Haible  <bruno@clisp.org>
2769
2770         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
2771         * lib/localename.h: Update copyright header.
2772         * lib/localename.c: Likewise.
2773         * lib/relocatable.h: Likewise.
2774         * lib/relocatable.c: Likewise.
2775
2776 2011-06-02  Bruno Haible  <bruno@clisp.org>
2777
2778         doc: Fix a module name.
2779         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
2780
2781 2011-06-02  Bruno Haible  <bruno@clisp.org>
2782
2783         pipe2: Remove dependency on 'nonblocking' module.
2784         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
2785         O_NONBLOCK is defined by gnulib.
2786         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
2787         is zero.
2788         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
2789         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
2790         defined by gnulib.
2791         (get_nonblocking_flag): New function.
2792         (main): Test O_NONBLOCK flag only if it is nonzero.
2793         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
2794
2795 2011-06-03  Jim Meyering  <meyering@redhat.com>
2796
2797         maint: three new prohibit-header-without-use rules
2798         Prohibit use of cloexec.h, posixver.h, same.h without use.
2799         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
2800         (sc_prohibit_posixver_without_use): Likewise.
2801         (sc_prohibit_same_without_use): Likewise.
2802
2803 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2804
2805         allocator: 'die' routine is now given requested size
2806         * lib/allocator.h (struct allocator.die): New size arg.
2807         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
2808         If the actual problem is an ssize_t limitation, not a size_t or
2809         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
2810
2811 2011-06-01  Eric Blake  <eblake@redhat.com>
2812
2813         strerror: drop strerror_r dependency
2814         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
2815         * lib/strerror-override.c (strerror_override): ...to new file.
2816         * lib/strerror-override.h: Add prototype.
2817         * lib/strerror-impl.h: Delete.
2818         * lib/strerror.c (strerror): New implementation.
2819         * modules/errno (Files): Add new files.
2820         (configure.ac): Compile new file as appropriate.
2821         * modules/strerror (Files): Drop unused file.
2822         (Depends-on): Drop strerror_r-posix.
2823         * MODULES.html.sh: Document strerror_r-posix.
2824         Requested by Sam Steingold.
2825
2826         perror: call strerror_r directly
2827         * modules/perror (Files): Drop strerror-impl.h.
2828         * lib/perror.c (perror): Use our own stack buffer, rather than
2829         calling a wrapper that uses static storage.
2830         * doc/posix-functions/perror.texi (perror): Document a limitation
2831         of our replacement.
2832
2833         strerror_r: fix includes for FreeBSD
2834         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
2835         since we use abort on some platforms.
2836         Reported by Matthias Bolte.
2837
2838 2011-05-31  Bruno Haible  <bruno@clisp.org>
2839
2840         Fix link errors in tests: openat-die uses gettext-h.
2841         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
2842         against $(LIBINTL).
2843         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
2844         against $(LIBINTL).
2845         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
2846         $(LIBINTL).
2847         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
2848         against $(LIBINTL).
2849         * modules/linkat-tests (Makefile.am): Link test-linkat against
2850         $(LIBINTL).
2851         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
2852         $(LIBINTL).
2853         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
2854         against $(LIBINTL).
2855         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
2856         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
2857         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
2858         $(LIBINTL).
2859         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
2860         $(LIBINTL).
2861         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
2862         $(LIBINTL).
2863         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2864
2865 2011-05-31  Bruno Haible  <bruno@clisp.org>
2866
2867         Fix link errors in tests: wait-process uses gettext-h.
2868         * modules/nonblocking-pipe-tests (Makefile.am): Set
2869         test_nonblocking_pipe_main_LDADD.
2870         * modules/nonblocking-socket-tests (Makefile.am): Link
2871         test-nonblocking-socket-main against $(LIBINTL).
2872         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2873
2874 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2875
2876         assert-h: work around 'verify' incompatibility
2877         * lib/verify.h: Use @...@ directives, not ifdef.
2878         * modules/assert-h (assert.h): Implement the directives.
2879         (assert.h): Substitute the symbol-prefix more consistently.
2880
2881 2011-05-29  Jim Meyering  <meyering@redhat.com>
2882
2883         trim: remove three superfluous assignments
2884         * lib/trim.c (trim2): Remove three superfluous assignments
2885         and correct brace positioning.
2886
2887 2011-05-29  Bruno Haible  <bruno@clisp.org>
2888
2889         wctype-h: Avoid namespace pollution on Solaris 2.6.
2890         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
2891         identifiers.
2892         * doc/posix-headers/wctype.texi: Mention the problem.
2893         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2894
2895 2011-05-28  Jim Meyering  <meyering@redhat.com>
2896
2897         parse-datetime.y: accommodate -Wstrict-overflow
2898         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
2899         placate -Wstrict-overflow.
2900
2901         trim: avoid a warning from -O2 -Wstrict-overflow
2902         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
2903
2904 2011-05-29  Bruno Haible  <bruno@clisp.org>
2905
2906         gnulib-tool: Fix bug in yesterday's commit.
2907         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
2908         twice.
2909
2910 2011-05-29  Bruno Haible  <bruno@clisp.org>
2911
2912         Allow multiple gnulib generated include files to be combined.
2913         * gnulib-tool (func_compute_include_guard_prefix): New function.
2914         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
2915         ${gl_include_guard_prefix} references.
2916         (func_import, func_create_testdir): Invoke
2917         func_compute_include_guard_prefix.
2918         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
2919         * lib/ctype.in.h: Likewise.
2920         * lib/dirent.in.h: Likewise.
2921         * lib/errno.in.h: Likewise.
2922         * lib/fcntl.in.h: Likewise.
2923         * lib/float.in.h: Likewise.
2924         * lib/getopt.in.h: Likewise.
2925         * lib/iconv.in.h: Likewise.
2926         * lib/langinfo.in.h: Likewise.
2927         * lib/locale.in.h: Likewise.
2928         * lib/math.in.h: Likewise.
2929         * lib/netdb.in.h: Likewise.
2930         * lib/netinet_in.in.h: Likewise.
2931         * lib/poll.in.h: Likewise.
2932         * lib/pthread.in.h: Likewise.
2933         * lib/pty.in.h: Likewise.
2934         * lib/sched.in.h: Likewise.
2935         * lib/se-selinux.in.h: Likewise.
2936         * lib/search.in.h: Likewise.
2937         * lib/signal.in.h: Likewise.
2938         * lib/spawn.in.h: Likewise.
2939         * lib/stdarg.in.h: Likewise.
2940         * lib/stddef.in.h: Likewise.
2941         * lib/stdint.in.h: Likewise.
2942         * lib/stdio.in.h: Likewise.
2943         * lib/stdlib.in.h: Likewise.
2944         * lib/string.in.h: Likewise.
2945         * lib/strings.in.h: Likewise.
2946         * lib/sys_file.in.h: Likewise.
2947         * lib/sys_ioctl.in.h: Likewise.
2948         * lib/sys_select.in.h: Likewise.
2949         * lib/sys_socket.in.h: Likewise.
2950         * lib/sys_stat.in.h: Likewise.
2951         * lib/sys_time.in.h: Likewise.
2952         * lib/sys_times.in.h: Likewise.
2953         * lib/sys_uio.in.h: Likewise.
2954         * lib/sys_utsname.in.h: Likewise.
2955         * lib/sys_wait.in.h: Likewise.
2956         * lib/sysexits.in.h: Likewise.
2957         * lib/termios.in.h: Likewise.
2958         * lib/time.in.h: Likewise.
2959         * lib/unistd.in.h: Likewise.
2960         * lib/wchar.in.h: Likewise.
2961         * lib/wctype.in.h: Likewise.
2962         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
2963         * modules/ctype (Makefile.am): Likewise.
2964         * modules/dirent (Makefile.am): Likewise.
2965         * modules/errno (Makefile.am): Likewise.
2966         * modules/fcntl-h (Makefile.am): Likewise.
2967         * modules/float (Makefile.am): Likewise.
2968         * modules/getopt-posix (Makefile.am): Likewise.
2969         * modules/iconv-h (Makefile.am): Likewise.
2970         * modules/langinfo (Makefile.am): Likewise.
2971         * modules/locale (Makefile.am): Likewise.
2972         * modules/math (Makefile.am): Likewise.
2973         * modules/netdb (Makefile.am): Likewise.
2974         * modules/netinet_in (Makefile.am): Likewise.
2975         * modules/poll-h (Makefile.am): Likewise.
2976         * modules/pthread (Makefile.am): Likewise.
2977         * modules/pty (Makefile.am): Likewise.
2978         * modules/sched (Makefile.am): Likewise.
2979         * modules/search (Makefile.am): Likewise.
2980         * modules/selinux-h (Makefile.am): Likewise.
2981         * modules/signal (Makefile.am): Likewise.
2982         * modules/spawn (Makefile.am): Likewise.
2983         * modules/stdarg (Makefile.am): Likewise.
2984         * modules/stddef (Makefile.am): Likewise.
2985         * modules/stdint (Makefile.am): Likewise.
2986         * modules/stdio (Makefile.am): Likewise.
2987         * modules/stdlib (Makefile.am): Likewise.
2988         * modules/string (Makefile.am): Likewise.
2989         * modules/strings (Makefile.am): Likewise.
2990         * modules/sys_file (Makefile.am): Likewise.
2991         * modules/sys_ioctl (Makefile.am): Likewise.
2992         * modules/sys_select (Makefile.am): Likewise.
2993         * modules/sys_socket (Makefile.am): Likewise.
2994         * modules/sys_stat (Makefile.am): Likewise.
2995         * modules/sys_time (Makefile.am): Likewise.
2996         * modules/sys_times (Makefile.am): Likewise.
2997         * modules/sys_uio (Makefile.am): Likewise.
2998         * modules/sys_utsname (Makefile.am): Likewise.
2999         * modules/sys_wait (Makefile.am): Likewise.
3000         * modules/sysexits (Makefile.am): Likewise.
3001         * modules/termios (Makefile.am): Likewise.
3002         * modules/time (Makefile.am): Likewise.
3003         * modules/unistd (Makefile.am): Likewise.
3004         * modules/wchar (Makefile.am): Likewise.
3005         * modules/wctype-h (Makefile.am): Likewise.
3006         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
3007
3008 2011-05-29  Bruno Haible  <bruno@clisp.org>
3009
3010         assert-h: Allow multiple gnulib generated replacements to coexist.
3011         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
3012
3013 2011-05-29  Bruno Haible  <bruno@clisp.org>
3014
3015         argp: Allow coexistence with strerror_r-posix module.
3016         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
3017         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
3018         by gnulib's <string.h> replacement), assume it has the POSIX signature,
3019         not the glibc signature.
3020
3021 2011-05-28  Bruno Haible  <bruno@clisp.org>
3022
3023         gnulib-tool: Alternative structure of testdirs, similar to --import.
3024         * gnulib-tool: New option --single-configure.
3025         (func_usage): Document it.
3026         (single_configure): New variable.
3027         (func_modules_transitive_closure_separately,
3028         func_modules_transitive_closure_separately,
3029         func_determine_use_libtests, func_modules_add_dummy_separately,
3030         func_modules_to_filelist_separately): New functions, extracted from
3031         func_import.
3032         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
3033         (func_import): Use the new functions.
3034         (func_create_testdir): Set final_modules. Handle $single_configure =
3035         true case.
3036
3037 2011-05-28  Bruno Haible  <bruno@clisp.org>
3038
3039         getloadavg: Remove an unreliable safety check.
3040         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
3041         getloadavg.c is in place.
3042         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
3043         Reported by Sam Steingold <sds@gnu.org>.
3044
3045 2011-05-28  Bruno Haible  <bruno@clisp.org>
3046
3047         doc: Cleanup yet another file produced by texinfo.tex.
3048         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
3049
3050 2011-05-28  Bruno Haible  <bruno@clisp.org>
3051
3052         Finish the conditional dependencies mechanism.
3053         * gnulib-tool: New option --no-conditional-dependencies.
3054         (func_usage): Document it. Don't mark --conditional-dependencies as
3055         experimental.
3056         (cond_dependencies): The possible values can now be true, false, empty.
3057         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
3058         (func_import): Store setting in gnulib-cache.m4 and read it from there.
3059         * doc/gnulib-tool.texi (Conditional dependencies): New section.
3060
3061 2011-05-28  Bruno Haible  <bruno@clisp.org>
3062
3063         doc: Use a recent texinfo.tex.
3064         * doc/Makefile (tex_opts): New variable.
3065         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
3066
3067 2011-05-28  Jim Meyering  <meyering@redhat.com>
3068
3069         intprops.h: adjust comment to match code change
3070         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
3071         only once, it *may* have side effects.  Also fix an unrelated typo.
3072         (_GL_INT_SIGNED): Likewise.
3073
3074 2011-05-26  Simon Josefsson  <simon@josefsson.org>
3075
3076         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
3077
3078 2011-05-26  Bruno Haible  <bruno@clisp.org>
3079
3080         mbsrchr: Avoid collision with system function on Interix.
3081         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
3082         Reported by Markus Duft <mduft@gentoo.org>.
3083
3084 2011-05-15  James Youngman  <jay@gnu.org>
3085
3086         getopt: for ambiguous options, enumerate the possibilities.
3087         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
3088         the ambiguous options when an ambiguous prefix is given. This was
3089         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
3090         glibc change was
3091         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
3092
3093 2011-05-25  Eric Blake  <eblake@redhat.com>
3094
3095         getcwd: work around mingw bug
3096         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
3097         * doc/posix-functions/getcwd.texi (getcwd): Document it.
3098         Reported by Matthias Bolte.
3099
3100 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
3101
3102         test-intprops: disable -Wtype-limits diagnostics
3103         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
3104         diagnostics.  Otherwise, the integer overflow macros generate many
3105         diagnostics.  Reported by Jim Meyering in
3106         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
3107
3108         intprops: shorten, to pacify gcc -Woverlength-strings
3109         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
3110         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
3111         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
3112         likely to run afoul of C compiler limits for string constant lengths.
3113         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
3114
3115 2011-05-24  Eric Blake  <eblake@redhat.com>
3116
3117         docs: document recently fixed glibc printf bug
3118         * doc/posix-functions/fprintf.texi (fprintf): Document it.
3119         * doc/posix-functions/printf.texi (printf): Likewise.
3120         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
3121         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
3122
3123         closein-tests: convert to init.sh
3124         * modules/closein-tests (Files): Add init.sh
3125         * tests/test-closein.sh Use it.
3126
3127         yesno-tests: convert to init.sh
3128         * modules/yesno-tests (Files): Add init.sh.
3129         * tests/test-yesno.sh: Use it.
3130
3131         atexit-tests: ensure reliable exit status
3132         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
3133         Reported by Bruno Haible.
3134
3135 2011-05-24  Bruno Haible  <bruno@clisp.org>
3136
3137         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
3138         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
3139         gl_PREREQ_STRERROR_R invocations from here...
3140         * modules/strerror_r-posix (configure.ac): ... to here.
3141
3142 2011-05-24  Eric Blake  <eblake@redhat.com>
3143
3144         strerror_r: fix missing header
3145         * lib/strerror_r.c: Avoid compiler warning about snprintf.
3146
3147         strerror_r: fix AIX test failures
3148         * lib/strerror_r.c (strerror_r): Convert silent truncation to
3149         ERANGE failure.
3150
3151         strerror_r: fix Solaris test failures
3152         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
3153         failures.
3154         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
3155
3156         strerror_r: enforce POSIX recommendations
3157         * lib/strerror_r.c (safe_copy): New helper method.
3158         (strerror_r): Guarantee a non-empty string.
3159         * tests/test-strerror_r.c (main): Enhance tests to incorporate
3160         recent POSIX rulings and to match our strerror guarantees.
3161         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
3162
3163 2011-05-24  Jim Meyering  <meyering@redhat.com>
3164
3165         test-perror2.c: avoid warning about unused variable
3166         * tests/test-perror2.c (main): Remove declaration of unused "fp".
3167
3168 2011-05-24  Eric Blake  <eblake@redhat.com>
3169
3170         perror: avoid spurious test failure on HP-UX
3171         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
3172
3173         tests: fix logic bug in init.sh
3174         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
3175         shell.
3176
3177 2011-05-24  Jim Meyering  <meyering@redhat.com>
3178
3179         utimensat: do not reference an out-of-scope buffer
3180         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
3181         declared in an inner scope, yet "times" would be dereferenced outside
3182         the scope in which "ts" was valid.
3183         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
3184         of ts[2] "out/up", so that the use of aliased "times" (via
3185         "times = ts;") does not end up referencing an out-of-scope "ts"
3186
3187         opendir-safer.c: don't clobber errno; don't close negative FD
3188         * lib/opendir-safer.c (opendir_safer):
3189         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
3190         file descriptor, and more importantly, don't clobber the
3191         offending errno value with EINVAL.  Before, upon failure
3192         of dup_safer, we would pass the negative file descriptor to
3193         fdopendir, which would clobber errno.
3194
3195 2011-05-23  Bruno Haible  <bruno@clisp.org>
3196
3197         idcache: Fix module description.
3198         * modules/idcache (Include): Set to "idcache.h".
3199
3200 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3201
3202         gnulib-tool: fix portability problem with MacOS sed
3203         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
3204         before the "}".  Problem reported by Leo in
3205         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
3206         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
3207         sed_extract_condition1, sed_extract_condition2.
3208
3209 2011-05-23  Bruno Haible  <bruno@clisp.org>
3210
3211         hash: Simplify autoconf macro.
3212         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
3213
3214 2011-05-23  Bruno Haible  <bruno@clisp.org>
3215
3216         getugroups: Fix module description.
3217         * modules/getugroups (Include): Set to "getugroups.h".
3218
3219 2011-05-23  Bruno Haible  <bruno@clisp.org>
3220
3221         linkat: Simplify autoconf macro.
3222         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
3223
3224 2011-05-23  Bruno Haible  <bruno@clisp.org>
3225             Eric Blake  <eblake@redhat.com>
3226
3227         linkat, renameat: Update dependencies.
3228         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
3229         * modules/linkat (Depends-on): Likewise. Remove also readlink,
3230         symlinkat.
3231
3232 2011-05-23  Jim Meyering  <meyering@redhat.com>
3233
3234         maint.mk: more tight_scope improvements
3235         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
3236         (_gl_TS_headers): Define only in if-0'd block.
3237         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
3238         sometimes we must *not* use it.  Adjust uses accordingly.
3239         (sc_tight_scope): Use much simpler grep-based test to determine
3240         whether we skip this rule.
3241
3242         maint.mk: generalize/improve the tight-scope rule
3243         * top/maint.mk: Emit a warning when the test is skipped.
3244         (_gl_TS_dir): Add $(srcdir)/ prefix.
3245         (_gl_TS_function_match): Simplify, rather than trying
3246         to enumerate common types.  Otherwise, it would fail to match an
3247         "extern unsigned char const *" declaration in idutils.
3248         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
3249         a way to support use of that type of macro.
3250         (_gl_TS_var_match): Simplify regexp.
3251         (_gl_TS_obj_files): New configurable variable.
3252         (_gl_TS_headers): Likewise.
3253
3254 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
3255
3256         verify: fix bug when gnulib <assert.h> is also included
3257         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
3258         is defined, not if _GL_STATIC_ASSERT_H is not defined.
3259         Perhaps there's a better way, but this fixes the immediate problem.
3260         Problem reported by Bruno Haible in
3261         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
3262
3263 2011-05-22  Bruno Haible  <bruno@clisp.org>
3264
3265         xgetcwd: Simplify autoconf macro.
3266         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
3267
3268 2011-05-22  Bruno Haible  <bruno@clisp.org>
3269
3270         New module 'mktime-internal'.
3271         * modules/mktime-internal: New file.
3272         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
3273         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
3274         mktime_internal as a C macro if libc has __mktime_internal.
3275         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
3276         conditions.
3277         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
3278
3279 2011-05-22  Bruno Haible  <bruno@clisp.org>
3280
3281         timegm: Correct mktime replacement statements.
3282         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
3283         defining mktime as a C macro. This completes a 2009-07-28 commit.
3284
3285 2011-05-22  Bruno Haible  <bruno@clisp.org>
3286
3287         timegm: Simplify autoconf macro.
3288         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
3289
3290 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3291
3292         clock-time: change to LGPLv2+.
3293         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
3294         BSD-like but we have no mark for that; this is good enough for now.
3295
3296 2011-05-21  Bruno Haible  <bruno@clisp.org>
3297
3298         strerror_r: Fix comments.
3299         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
3300
3301 2011-05-21  Bruno Haible  <bruno@clisp.org>
3302
3303         relocatable-prog-wrapper: Fix possible link error.
3304         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
3305         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
3306         (gl_FUNC_SETENV): ... to here.
3307         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
3308         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
3309
3310 2011-05-21  Bruno Haible  <bruno@clisp.org>
3311
3312         relocatable-prog-wrapper: Assume strerror() exists.
3313         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
3314         m4/strerror.m4.
3315         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
3316         * lib/relocwrapper.c: Remove mention of strerror module.
3317         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
3318         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
3319         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
3320         C macro.
3321
3322 2011-05-21  Bruno Haible  <bruno@clisp.org>
3323
3324         select: Simplify replacement idiom.
3325         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
3326         Win32 platforms.
3327         * lib/sys_select.in.h (select): Simplify accordingly.
3328         * modules/select (Depends-on): Likewise.
3329
3330 2011-05-21  Bruno Haible  <bruno@clisp.org>
3331
3332         mkdir-p: Simplify autoconf macro.
3333         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
3334         gl_FUNC_LCHOWN.
3335
3336 2011-05-21  Eric Blake  <eblake@redhat.com>
3337
3338         strerror_r: avoid clobbering strerror on cygwin
3339         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
3340         fall back instead to sys_errlist.
3341         * modules/strerror (configure.ac): Add witness.
3342         * tests/test-strerror_r.c (main): Enhance test.
3343         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3344         * tests/test-perror2.c (main): Free memory before exit.
3345
3346 2011-05-21  Bruno Haible  <bruno@clisp.org>
3347
3348         mkdtemp: Use gnulib naming conventions.
3349         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
3350         * modules/mkdtemp (configure.ac): Update.
3351
3352 2011-05-20  Eric Blake  <eblake@redhat.com>
3353
3354         strerror_r: avoid corrupting errno on Solaris
3355         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
3356         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3357
3358         strerror_r: avoid compiler warning
3359         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
3360
3361         strerror_r: simplify AIX code
3362         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
3363
3364         test-perror: avoid spurious failure on FreeBSD
3365         * modules/perror-tests (Depends-on): Add strerror, now that
3366         strerror_r no longer pulls it in.
3367
3368 2011-05-20  Bruno Haible  <bruno@clisp.org>
3369
3370         strerror_r-posix: Remove unused dependencies.
3371         * modules/strerror_r-posix (Depends-on): Remove strerror.
3372         Reported by Eric Blake.
3373
3374 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3375
3376         intprops: remove assumption about A|B representation
3377         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
3378         is a valid integer if both A and B are.  Although this is true for
3379         all known practical hosts, the C standard doesn't guarantee it,
3380         and the code need not assume it.  Also, this change may work around
3381         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
3382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
3383
3384 2011-05-20  Eric Blake  <eblake@redhat.com>
3385
3386         perror: work around FreeBSD bug
3387         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
3388         is broken.  Move AC_LIBOBJ...
3389         * modules/perror (configure.ac): Here.
3390         * doc/posix-functions/perror.texi (perror): Document this.
3391         * tests/test-perror2.c (main): Enhance test.
3392
3393         test-perror: check for strerror interactions
3394         * tests/macros.h (STREQ): Add macro.
3395         * modules/perror-tests (Files): Add second test.
3396         * tests/test-perror2.c (main): New file.
3397         * doc/posix-functions/perror.texi (perror): Document glibc bug.
3398
3399         test-perror: rewrite to use init script
3400         * modules/perror-tests (Files): Add init.sh.
3401         * tests/test-perror.sh: Use temporary directory.
3402
3403 2011-05-20  Jim Meyering  <meyering@redhat.com>
3404
3405         maint: replace misused "a" with "an"
3406         * doc/intprops.texi: "a integer"
3407         * doc/regex.texi: "a explanation"
3408         * lib/alignof.h: "a object"
3409         * lib/argmatch.h: "a explanation"
3410         * lib/argp-help.c: "a option" and "a OPTION_DOC"
3411         * lib/stdint.in.h: "a integer"
3412         * lib/userspec.c: "a owner"
3413         * doc/gnulib.texi: Fix "a idea", and reword.
3414
3415 2011-05-19  Jim Meyering  <meyering@redhat.com>
3416
3417         maint: correct misuse of "a" and "an"
3418         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
3419         * lib/argp-help.c: "an docum...": s/an/a/
3420         * lib/argp-parse.c: "An vector": s/An/A/
3421         * lib/execute.c: "an native": s/an/a/
3422         * lib/spawn-pipe.c: Likewise.
3423         * lib/gc.h: "an Gc_rc": s/an/a/
3424         * lib/unigbrk.in.h: "an grapheme": s/an/a/
3425         * lib/fts.c: "an stat.st_dev": s/an/a/
3426
3427 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3428
3429         intprops-tests: work around HP-UX 11.23 cc bug with constants
3430         * tests/test-intprops.c (VERIFY): New macro.
3431         (main): Use it, instead of verify, to work around the compiler bug; see
3432         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3433
3434         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
3435         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
3436         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
3437         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
3438         (_GL_REMAINDER_OVERFLOW): Use it.
3439
3440         intprops-tests: revert unsigned part of previous change
3441         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
3442         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
3443         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
3444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
3445
3446 2011-05-19  Bruno Haible  <bruno@clisp.org>
3447
3448         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
3449         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
3450         strerror_r() returned without filling the buffer.
3451         Reported by Eric Blake.
3452
3453 2011-05-19  Eric Blake  <eblake@redhat.com>
3454
3455         strerror_r: guarantee unchanged errno
3456         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
3457         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
3458         failure.
3459         * tests/test-strerror_r.c (main): Enhance test.
3460
3461 2011-05-19  Bruno Haible  <bruno@clisp.org>
3462
3463         strerror_r: Reorder #if blocks.
3464         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
3465         for consistency with the previous commit.
3466
3467 2011-05-19  Bruno Haible  <bruno@clisp.org>
3468
3469         perror: Avoid clobbering the strerror buffer when possible.
3470         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
3471         * lib/strerror.c: Include it.
3472         * modules/strerror (Files): Add lib/strerror-impl.h.
3473         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
3474         (my_strerror): New function, defined through lib/strerror-impl.h.
3475         (perror): Use it instead of strerror.
3476         * modules/perror (Files): Add lib/strerror-impl.h.
3477         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
3478
3479 2011-05-19  Eric Blake  <eblake@redhat.com>
3480
3481         strerror_r: fix on newer cygwin
3482         * lib/strerror_r.c (strerror_r): Cygwin now has
3483         __xpg_strerror_r, use it.
3484
3485 2011-05-19  Bruno Haible  <bruno@clisp.org>
3486
3487         strerror_r: Avoid clobbering the strerror buffer when possible.
3488         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
3489         (sys_nerr, sys_errlist): New declarations.
3490         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
3491         HP-UX, native Win32, IRIX, and 32-bit Solaris.
3492         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
3493
3494 2011-05-19  Bruno Haible  <bruno@clisp.org>
3495
3496         strerror_r: Fix test failure on mingw.
3497         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
3498         EXTEND_STRERROR_R.
3499         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
3500         macros from errno.in.h instead.
3501
3502 2011-05-19  Eric Blake  <eblake@redhat.com>
3503
3504         strerror: relax test for Solaris
3505         * tests/test-strerror.c (main): Permit Solaris behavior.
3506         * tests/test-strerror_r.c (main): Likewise.
3507
3508         strerror: enforce POSIX ruling on strerror(0)
3509         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
3510         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
3511         * lib/strerror_r.c (rpl_strerror_r): Work around it.
3512         * doc/posix-functions/strerror.texi (strerror): Document it.
3513         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
3514         * tests/test-strerror.c (main): Strengthen test.
3515         * tests/test-strerror_r.c (main): Likewise.
3516
3517 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3518
3519         intprop-tests: port to older and more-pedantic compilers
3520         * modules/intprops-tests (Files): Add tests/macros.h.
3521         * tests/test-intprops.c: Include macros.h.
3522         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
3523         it's no longer documented to expand to an integer constant expression.
3524         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
3525         argument is floating point, as it's no longer documented to expand
3526         to an integer constant expression in that case.
3527         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
3528         compiler bugs reported by Bruno Haible.  See
3529         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3530         (U0, U1): New constants, to work around the same bugs.  Also,
3531         in tests, use e.g., "(unsigned int) 39" rather than "39u".
3532
3533         intprops: work around C compiler bugs
3534         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
3535         bug in Sun C 5.11 2010/08/13 and other compilers; see
3536         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3537
3538         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
3539         * doc/intprops.texi (Integer Type Determination): Fix
3540         documentation for TYPE_IS_INTEGER: it returns an constant
3541         expression, not an integer constant expression.  Fix doc for
3542         TYPE_SIGNED: it returns an integer constant expression only if its
3543         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
3544         hardly worth documented that way....)
3545
3546 2011-05-18  Bruno Haible  <bruno@clisp.org>
3547
3548         strerror_r: Avoid clobbering the strerror buffer when possible.
3549         * lib/strerror_r.c (strerror_r): Merge the three implementations.
3550         Handle gnulib defined errno values here. When strerror() returns NULL
3551         or an empty string, return EINVAL.
3552         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
3553         gnulib defined errno values here.
3554         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
3555
3556 2011-05-18  Eric Blake  <eblake@redhat.com>
3557
3558         fnmatch: avoid compiler warning
3559         * lib/fnmatch_loop.c (FCT): Use correct type.
3560         Reported by Matthias Bolte.
3561
3562 2011-05-13  Jim Meyering  <meyering@redhat.com>
3563
3564         maint.mk: three new prohibit_<HDR>_without_use rules
3565         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
3566         (sc_prohibit_stdio-safer_without_use): Likewise.
3567         (sc_prohibit_xfreopen_without_use): Likewise.
3568
3569 2011-05-17  Jim Meyering  <meyering@redhat.com>
3570
3571         announce-gen: fail if the NEWS delta is empty
3572         If there's nothing noteworthy in NEWS, then either you forgot
3573         or you shouldn't be releasing.
3574         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
3575
3576 2011-05-17  Pádraig Brady <P@draigBrady.com>
3577
3578         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
3579         reserved symbols starting with double underscore from the check.
3580
3581 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3582
3583         intprops: add doc
3584         * doc/intprops.texi: New file, documenting intprops.
3585         * doc/gnulib.texi (Particular Modules): Include it.
3586
3587         verify: add doc to gnulib manual and fix example
3588         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
3589         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
3590         (Compile-time Assertions): Fix example so it can't overflow.
3591
3592 2011-05-17  Jim Meyering  <meyering@redhat.com>
3593
3594         warnings.m4: don't usurp save_CPPFLAGS variable name
3595         * m4/warnings.m4: Prefix local temporary variable name with gl_.
3596
3597         doc: fix typo
3598         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
3599
3600 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3601             Bruno Haible  <bruno@clisp.org>
3602
3603         doc: Tweak recent change.
3604         * README (Portability guidelines): Tweak new text.
3605         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
3606         Interix 6.1.
3607
3608 2011-05-16  Eric Blake  <eblake@redhat.com>
3609
3610         inttypes: avoid autoconf warning
3611         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
3612         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3613
3614 2011-05-16  Sam Steingold <sds@gnu.org>
3615         and Eric Blake  <eblake@redhat.com>
3616
3617         vc-list-files: accept multiple directory operands
3618         * build-aux/vc-list-files: Iterate over all remaining operands.
3619
3620 2011-05-16  Bruno Haible  <bruno@clisp.org>
3621
3622         Fix confusion regarding deprecated modules.
3623         * modules/calloc (Status, Notice): Mark module as deprecated, not
3624         obsolete.
3625         * modules/fnmatch-posix (Status, Notice): Likewise.
3626         * modules/getdate (Status, Notice): Likewise.
3627         * modules/getopt (Status, Notice): Likewise.
3628         * modules/malloc (Status, Notice): Likewise.
3629         * modules/pipe (Status, Notice): Likewise.
3630         * modules/realloc (Status, Notice): Likewise.
3631         * modules/rename-dest-slash (Status, Notice): Likewise.
3632         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
3633         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
3634         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
3635         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
3636         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
3637
3638 2011-05-16  Bruno Haible  <bruno@clisp.org>
3639
3640         doc: List the target platforms.
3641         * doc/gnulib-intro.texi (Target Platforms): New section.
3642         * doc/gnulib.texi (Introduction): Update menu.
3643         * README (Portability guidelines): Refer to the new section. Update
3644         statement about oldest supported environment. Remove rationale why
3645         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
3646         unportable C89 function.
3647         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
3648         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
3649
3650 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3651
3652         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
3653
3654 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
3655
3656         intprops-tests: new module
3657         * modules/intprops-tests, tests/test-intprops.c: New files.
3658
3659         intprops: add safe, portable integer overflow checking
3660         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
3661         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
3662         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
3663         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
3664         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
3665         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
3666         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
3667         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
3668         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
3669         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
3670         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
3671
3672 2011-05-12  James Youngman  <jay@gnu.org>
3673
3674         Add a test for glibc's Bugzilla bug #12378.
3675         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
3676         doesn't allow the literal matching of a lone "[" (which is
3677         required by POSIX).
3678         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
3679
3680 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
3681
3682         Sync glibc change fixing Bugzilla bug #12378.
3683         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
3684         beginning and fall back to matching as normal character if the
3685         string ends before the matching ']' is found.  This is what POSIX
3686         requires.
3687
3688 2011-05-13  Eric Blake  <eblake@redhat.com>
3689
3690         getcwd-lgpl: relax test for FreeBSD
3691         * doc/posix-functions/getcwd.texi (getcwd): Document portability
3692         issue.
3693         * tests/test-getcwd-lgpl.c (main): Relax test.
3694         Reported by Matthias Bolte.
3695
3696 2011-05-11  Eric Blake  <eblake@redhat.com>
3697
3698         test-fflush: silence compiler warning
3699         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
3700
3701 2011-05-11  Bruno Haible  <bruno@clisp.org>
3702
3703         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
3704         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
3705         * modules/canonicalize (Depends-on): Add 'nocrash'.
3706         * modules/canonicalize-lgpl (Depends-on): Likewise.
3707         * doc/posix-functions/realpath.texi: Update platforms list.
3708         Reported by Ryan Schmidt <ryandesign@macports.org>.
3709
3710 2011-05-11  Bruno Haible  <bruno@clisp.org>
3711
3712         group-member: Declare function in <unistd.h>.
3713         * lib/unistd.in.h (group_member): New declaration.
3714         * lib/group-member.h: Remove file.
3715         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
3716         * tests/test-unistd-c++.cc: Check signature of group_member.
3717         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
3718         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
3719         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
3720         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
3721         HAVE_GROUP_MEMBER.
3722         * modules/group-member (Files): Remove lib/group-member.h.
3723         (Depends-on): Add unistd. Specify conditions.
3724         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
3725         (Include): Change to <unistd.h>.
3726         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
3727         HAVE_GROUP_MEMBER.
3728         * NEWS: Mention the change.
3729         * lib/euidaccess.c: Don't include group-member.h.
3730
3731 2011-05-11  Bruno Haible  <bruno@clisp.org>
3732
3733         group-member: Document module.
3734         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
3735         module.
3736
3737 2011-05-11  Bruno Haible  <bruno@clisp.org>
3738
3739         fclose: Fix mistake earlier today.
3740         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
3741
3742 2011-05-11  Eric Blake  <eblake@redhat.com>
3743
3744         fclose: preserve fflush errors
3745         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
3746         Reported by Jim Meyering.
3747
3748         bootstrap: support a prereq of 'rpcgen -' on RHEL5
3749         * build-aux/bootstrap (check_versions): When no specific version
3750         is required, merely check that the app produces an exit status
3751         that indicates its existence.
3752
3753         maint.mk: drop redundant check
3754         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
3755         the same but better.
3756
3757 2011-05-11  Bruno Haible  <bruno@clisp.org>
3758
3759         fclose: Fix possible link error.
3760         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
3761         unregister_shadow_fd. Improve comments.
3762         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
3763         Eric Blake.
3764
3765 2011-05-11  Jim Meyering  <meyering@redhat.com>
3766
3767         maint.mk: improve "can not" detection and generalize rule name
3768         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
3769         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
3770         Use the same technique as in sc_prohibit_doubled_word, so that
3771         we recognize "can not" also when the words are separated by a newline.
3772         Suggested by Eric Blake.
3773         (perl_filename_lineno_text_): Define.  Factored out of...
3774         (prohibit_doubled_word_): ...here.  Use the new definition.
3775         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
3776         (prohibit_undesirable_word_seq_RE_): New overridable variable.
3777         (ignore_undesirable_word_sequence_RE_): New overridable variable.
3778
3779 2011-05-10  Eric Blake  <eblake@redhat.com>
3780
3781         fclose: avoid double close race when possible
3782         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
3783         all but WINDOWS_SOCKETS.
3784
3785 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
3786
3787         openat: correct new comment
3788         * lib/openat-proc.c (openat_proc_name): Correct the comment.
3789
3790 2011-05-10  Jim Meyering  <meyering@redhat.com>
3791
3792         openat: add comments
3793         * lib/openat-proc.c (openat_proc_name): Add comments,
3794         mostly from Eric Blake.
3795
3796 2011-05-09  Eric Blake  <eblake@redhat.com>
3797
3798         openat: reduce syscalls in first probe of /proc
3799         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
3800         be a directory.  Simplify the probe for .. bugs.
3801         * modules/openat (Depends-on): Drop same-inode.
3802         Reported by Bastien ROUCARIES.
3803
3804 2011-05-09  Jim Meyering  <meyering@redhat.com>
3805
3806         maint.mk: change semantics/name of tight_scope variables
3807         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
3808         Rename variables to align with semantics that make them more useful.
3809
3810         maint.mk: tweak new rule's name not to impinge
3811         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
3812         (sc_tight_scope): Use new rule name rather than $@-0.
3813
3814         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
3815         * top/maint.mk (sc_tight_scope): New rule.
3816         (sc_tight_scope-0): New rule, ifdef'd out.
3817         (_gl_TS_dir): Default.
3818         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
3819         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
3820
3821 2011-05-09  Simon Josefsson  <simon@josefsson.org>
3822
3823         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
3824         Haible <bruno@clisp.org>.
3825
3826 2011-05-08  Bruno Haible  <bruno@clisp.org>
3827
3828         Comments.
3829         * m4/isnanf.m4: Add comment.
3830         * m4/isnanl.m4: Likewise.
3831
3832 2011-05-08  Bruno Haible  <bruno@clisp.org>
3833
3834         glob: Remove obsolete macro.
3835         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
3836
3837 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
3838
3839         intprops: Sun C 5.11 supports __typeof__
3840         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
3841         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
3842         which is new.
3843         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
3844
3845         intprops: switch to usual gnulib indenting and naming
3846         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
3847         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
3848
3849         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
3850
3851 2011-05-08  Jim Meyering  <meyering@redhat.com>
3852
3853         maint.mk: suppress "Entering/Leaving directory" diag in announcement
3854         * top/maint.mk (release-prep): Use make's --no-print-directory
3855         option when generating the announcement.  This eliminates the
3856         pesky "make[2]: Entering/Leaving directory" diagnostics in the
3857         generated announcement template.
3858
3859 2011-05-08  Bruno Haible  <bruno@clisp.org>
3860
3861         tzset: Fix gettimeofday wrapper on Solaris 2.6.
3862         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
3863         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
3864
3865 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3866
3867         ignore-value, verify: Omit include files from lib_SOURCES.
3868         * modules/ignore-value, modules/verify (Makefile.am):
3869         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
3870         that leads Automake to duplicate use of am__objects_... variables
3871         in Makefile.in.  See
3872         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
3873
3874 2011-05-07  Bruno Haible  <bruno@clisp.org>
3875
3876         fclose: Simplify autoconf macro.
3877         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
3878         defined.
3879
3880 2011-05-07  Bruno Haible  <bruno@clisp.org>
3881
3882         canonicalize-lgpl: Fix autoconf macro ordering bug.
3883         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
3884         gl_STDLIB_H_DEFAULTS.
3885
3886 2011-05-06  Eric Blake  <eblake@redhat.com>
3887
3888         maintainer-makefile: make sc_po_check easier to tune
3889         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
3890         to probe for strings, such as an alternate location for gnulib.
3891
3892         fclose: guarantee behavior on seekable stdin
3893         * modules/fclose (Depends-on): Add fflush.
3894         * doc/posix-functions/fclose.texi (fclose): Document this.
3895         * tests/test-fclose.c (main): Make test for this unconditional.
3896
3897 2011-05-06  Bruno Haible  <bruno@clisp.org>
3898
3899         fflush, fpurge: Relicense under LGPLv2+.
3900         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
3901         * modules/fpurge (License): Likewise.
3902         With permission from Eric Blake and Jim Meyering.
3903         Suggested by Eric Blake.
3904
3905 2011-05-06  Karl Berry  <karl@gnu.org>
3906
3907         * MODULES.html.sh (func_all_modules): remove exit.
3908
3909 2011-05-06  Jim Meyering  <meyering@redhat.com>
3910
3911         maint.mk: use info-gnu@ as the default only for a stable release
3912         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
3913         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
3914         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
3915         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
3916
3917 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3918
3919         assert-h: new module, which supports C1X-style static_assert
3920         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
3921         * lib/verify.h: Revamp so that this can be copied into assert.h,
3922         while retaining the ability to use it standalone as before.
3923         Rename private identifiers so as not to encroach on the
3924         standard C namespace, since this is now used by assert.h.
3925         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
3926         the old verify_true.
3927         (_GL_VERIFY_TRUE): New macro, with much of the contents of
3928         the old verify_true.  Use _GL_VERIFY_TYPE.
3929         (_GL_VERIFY): New macro, with much of the contents of the old verify.
3930         (static_assert): New macro, if _GL_STATIC_ASSERT_H
3931         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
3932         defined when this file is copied into the replacement assert.h.
3933         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
3934         and _Static_assert is not built in.
3935         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
3936         defined, and use the new macros mentioned above.
3937         * doc/posix-headers/assert.texi: Document this.
3938
3939 2011-05-05  Bruno Haible  <bruno@clisp.org>
3940
3941         fclose, fflush: Respect rules for use of AC_LIBOBJ.
3942         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
3943         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
3944         gl_REPLACE_FCLOSE here.
3945         * modules/fflush (Depends-on): Remove fclose.
3946         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
3947         combination with module 'fclose'.
3948
3949 2011-05-05  Bruno Haible  <bruno@clisp.org>
3950
3951         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
3952         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
3953         gl_FUNC_FFLUSH.
3954         (gl_FUNC_FFLUSH): Use it.
3955         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
3956         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
3957         gl_REPLACE_FSEEKO here.
3958
3959 2011-05-05  Bruno Haible  <bruno@clisp.org>
3960
3961         tzset: Relicense under LGPL.
3962         * modules/tzset (License): Change to LGPL.
3963         No agreement needed; it's a no-op.
3964
3965         strtoimax, strtoumax: Relicense under LGPL.
3966         * modules/strtoimax (License): Change to LGPL.
3967         * modules/strtoumax (License): Likewise.
3968         With permission from Jim Meyering, Paul Eggert:
3969         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
3970         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
3971
3972         getgroups: Relicense under LGPL.
3973         * modules/getgroups (License): Change to LGPL.
3974         With permission from Jim Meyering, Paul Eggert, Eric Blake:
3975         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3976         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3977         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3978
3979         nanosleep: Relicense under LGPL.
3980         * modules/nanosleep (License): Change to LGPL.
3981         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
3982         Haible:
3983         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3984         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3985         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3987
3988         futimens: Relicense under LGPL.
3989         * modules/futimens (License): Change to LGPL.
3990         With permission from Eric Blake:
3991         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3992
3993         fflush: Relicense under LGPL.
3994         * modules/fflush (License): Change to LGPL.
3995         With permission from Eric Blake, Bruno Haible, Jim Meyering:
3996         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3997         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3998         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
3999
4000         tmpfile: Relicense under LGPL.
4001         * modules/tmpfile (License): Change to LGPL.
4002         With permission from Ben Pfaff:
4003         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
4004
4005         isfinite: Relicense under LGPL.
4006         * modules/isfinite (License): Change to LGPL.
4007         With permission from Ben Pfaff, Bruno Haible:
4008         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
4009         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
4010
4011         acosl..tanl: Relicense under LGPL.
4012         * modules/acosl (License): Change to LGPL.
4013         * modules/asinl (License): Likewise.
4014         * modules/atanl (License): Likewise.
4015         * modules/cosl (License): Likewise.
4016         * modules/expl (License): Likewise.
4017         * modules/logl (License): Likewise.
4018         * modules/sinl (License): Likewise.
4019         * modules/sqrtl (License): Likewise.
4020         * modules/tanl (License): Likewise.
4021         Source code originally from glibc and Paolo Bonzini. Agreements:
4022         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
4023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
4024
4025 2011-05-05  Bruno Haible  <bruno@clisp.org>
4026
4027         signal: Define sighandler_t.
4028         * lib/signal.in.h (sighandler_t): New type.
4029         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
4030         whether sighandler_t is defined.
4031         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
4032         * modules/signal (Depends-on): Add extensions.
4033         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
4034         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
4035         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
4036
4037 2011-05-05  Eric Blake  <eblake@redhat.com>
4038
4039         maint: remove useless REPLACE_*_H macros
4040         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
4041         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
4042         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
4043         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
4044         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
4045         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
4046         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
4047         * m4/btowc.m4: Update callers.
4048         * m4/dirfd.m4: Likewise.
4049         * m4/duplocale.m4: Likewise.
4050         * m4/fchdir.m4: Likewise.
4051         * m4/fdopendir.m4: Likewise.
4052         * m4/inet_ntop.m4: Likewise.
4053         * m4/inet_pton.m4: Likewise.
4054         * m4/ioctl.m4: Likewise.
4055         * m4/mbrlen.m4: Likewise.
4056         * m4/mbrtowc.m4: Likewise.
4057         * m4/mbsinit.m4: Likewise.
4058         * m4/mbsnrtowcs.m4: Likewise.
4059         * m4/mbsrtowcs.m4: Likewise.
4060         * m4/poll.m4: Likewise.
4061         * m4/setlocale.m4: Likewise.
4062         * m4/wcrtomb.m4: Likewise.
4063         * m4/wcsnrtombs.m4: Likewise.
4064         * m4/wcsrtombs.m4: Likewise.
4065         * m4/wctob.m4: Likewise.
4066         * m4/wcwidth.m4: Likewise.
4067         * modules/posix_spawn: Likewise.
4068         * modules/posix_spawn_file_actions_addclose: Likewise.
4069         * modules/posix_spawn_file_actions_adddup2: Likewise.
4070         * modules/posix_spawn_file_actions_addopen: Likewise.
4071         * modules/posix_spawn_file_actions_destroy: Likewise.
4072         * modules/posix_spawn_file_actions_init: Likewise.
4073         * modules/posix_spawnattr_destroy: Likewise.
4074         * modules/posix_spawnattr_getflags: Likewise.
4075         * modules/posix_spawnattr_getpgroup: Likewise.
4076         * modules/posix_spawnattr_getschedparam: Likewise.
4077         * modules/posix_spawnattr_getschedpolicy: Likewise.
4078         * modules/posix_spawnattr_getsigdefault: Likewise.
4079         * modules/posix_spawnattr_getsigmask: Likewise.
4080         * modules/posix_spawnattr_init: Likewise.
4081         * modules/posix_spawnattr_setflags: Likewise.
4082         * modules/posix_spawnattr_setpgroup: Likewise.
4083         * modules/posix_spawnattr_setschedparam: Likewise.
4084         * modules/posix_spawnattr_setschedpolicy: Likewise.
4085         * modules/posix_spawnattr_setsigdefault: Likewise.
4086         * modules/posix_spawnattr_setsigmask: Likewise.
4087         * modules/posix_spawnp: Likewise.
4088
4089 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
4090
4091         Add option to do-release-commit-and-tag to specify branch.
4092         * build-aux/do-release-commit-and-tag: Add --branch.
4093
4094 2011-05-03  Bruno Haible  <bruno@clisp.org>
4095
4096         Avoid unnecessary compilation units, through conditional dependencies.
4097         * modules/accept (Depends-on): Add conditions to the dependencies.
4098         * modules/acosl (Depends-on): Likewise.
4099         * modules/argz (Depends-on): Likewise.
4100         * modules/asinl (Depends-on): Likewise.
4101         * modules/atanl (Depends-on): Likewise.
4102         * modules/atoll (Depends-on): Likewise.
4103         * modules/bind (Depends-on): Likewise.
4104         * modules/btowc (Depends-on): Likewise.
4105         * modules/canonicalize-lgpl (Depends-on): Likewise.
4106         * modules/ceil (Depends-on): Likewise.
4107         * modules/ceilf (Depends-on): Likewise.
4108         * modules/ceill (Depends-on): Likewise.
4109         * modules/chdir-long (Depends-on): Likewise.
4110         * modules/chown (Depends-on): Likewise.
4111         * modules/close (Depends-on): Likewise.
4112         * modules/connect (Depends-on): Likewise.
4113         * modules/cosl (Depends-on): Likewise.
4114         * modules/dirfd (Depends-on): Likewise.
4115         * modules/dprintf (Depends-on): Likewise.
4116         * modules/dprintf-posix (Depends-on): Likewise.
4117         * modules/error (Depends-on): Likewise.
4118         * modules/euidaccess (Depends-on): Likewise.
4119         * modules/expl (Depends-on): Likewise.
4120         * modules/faccessat (Depends-on): Likewise.
4121         * modules/fchdir (Depends-on): Likewise.
4122         * modules/fclose (Depends-on): Likewise.
4123         * modules/fcntl (Depends-on): Likewise.
4124         * modules/fdopendir (Depends-on): Likewise.
4125         * modules/fflush (Depends-on): Likewise.
4126         * modules/floor (Depends-on): Likewise.
4127         * modules/floorf (Depends-on): Likewise.
4128         * modules/floorl (Depends-on): Likewise.
4129         * modules/fnmatch (Depends-on): Likewise.
4130         * modules/fopen (Depends-on): Likewise.
4131         * modules/fprintf-posix (Depends-on): Likewise.
4132         * modules/frexp (Depends-on): Likewise.
4133         * modules/frexp-nolibm (Depends-on): Likewise.
4134         * modules/frexpl (Depends-on): Likewise.
4135         * modules/frexpl-nolibm (Depends-on): Likewise.
4136         * modules/fseek (Depends-on): Likewise.
4137         * modules/fsusage (Depends-on): Likewise.
4138         * modules/ftell (Depends-on): Likewise.
4139         * modules/ftello (Depends-on): Likewise.
4140         * modules/futimens (Depends-on): Likewise.
4141         * modules/getcwd (Depends-on): Likewise.
4142         * modules/getcwd-lgpl (Depends-on): Likewise.
4143         * modules/getdelim (Depends-on): Likewise.
4144         * modules/getdomainname (Depends-on): Likewise.
4145         * modules/getgroups (Depends-on): Likewise.
4146         * modules/gethostname (Depends-on): Likewise.
4147         * modules/getline (Depends-on): Likewise.
4148         * modules/getlogin_r (Depends-on): Likewise.
4149         * modules/getopt-posix (Depends-on): Likewise.
4150         * modules/getpeername (Depends-on): Likewise.
4151         * modules/getsockname (Depends-on): Likewise.
4152         * modules/getsockopt (Depends-on): Likewise.
4153         * modules/getsubopt (Depends-on): Likewise.
4154         * modules/getusershell (Depends-on): Likewise.
4155         * modules/glob (Depends-on): Likewise.
4156         * modules/grantpt (Depends-on): Likewise.
4157         * modules/iconv_open (Depends-on): Likewise.
4158         * modules/iconv_open-utf (Depends-on): Likewise.
4159         * modules/inet_ntop (Depends-on): Likewise.
4160         * modules/inet_pton (Depends-on): Likewise.
4161         * modules/ioctl (Depends-on): Likewise.
4162         * modules/isapipe (Depends-on): Likewise.
4163         * modules/isfinite (Depends-on): Likewise.
4164         * modules/isinf (Depends-on): Likewise.
4165         * modules/lchown (Depends-on): Likewise.
4166         * modules/ldexpl (Depends-on): Likewise.
4167         * modules/link (Depends-on): Likewise.
4168         * modules/linkat (Depends-on): Likewise.
4169         * modules/listen (Depends-on): Likewise.
4170         * modules/logl (Depends-on): Likewise.
4171         * modules/lstat (Depends-on): Likewise.
4172         * modules/mbrlen (Depends-on): Likewise.
4173         * modules/mbrtowc (Depends-on): Likewise.
4174         * modules/mbsinit (Depends-on): Likewise.
4175         * modules/mbsnrtowcs (Depends-on): Likewise.
4176         * modules/mbsrtowcs (Depends-on): Likewise.
4177         * modules/mbtowc (Depends-on): Likewise.
4178         * modules/memcmp (Depends-on): Likewise.
4179         * modules/mkdir (Depends-on): Likewise.
4180         * modules/mkdtemp (Depends-on): Likewise.
4181         * modules/mkfifo (Depends-on): Likewise.
4182         * modules/mkfifoat (Depends-on): Likewise.
4183         * modules/mknod (Depends-on): Likewise.
4184         * modules/mkostemp (Depends-on): Likewise.
4185         * modules/mkostemps (Depends-on): Likewise.
4186         * modules/mkstemp (Depends-on): Likewise.
4187         * modules/mkstemps (Depends-on): Likewise.
4188         * modules/mktime (Depends-on): Likewise.
4189         * modules/nanosleep (Depends-on): Likewise.
4190         * modules/open (Depends-on): Likewise.
4191         * modules/openat (Depends-on): Likewise.
4192         * modules/perror (Depends-on): Likewise.
4193         * modules/poll (Depends-on): Likewise.
4194         * modules/popen (Depends-on): Likewise.
4195         * modules/posix_spawn (Depends-on): Likewise.
4196         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
4197         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
4198         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
4199         * modules/posix_spawnp (Depends-on): Likewise.
4200         * modules/pread (Depends-on): Likewise.
4201         * modules/printf-posix (Depends-on): Likewise.
4202         * modules/ptsname (Depends-on): Likewise.
4203         * modules/putenv (Depends-on): Likewise.
4204         * modules/pwrite (Depends-on): Likewise.
4205         * modules/readline (Depends-on): Likewise.
4206         * modules/readlink (Depends-on): Likewise.
4207         * modules/readlinkat (Depends-on): Likewise.
4208         * modules/recv (Depends-on): Likewise.
4209         * modules/recvfrom (Depends-on): Likewise.
4210         * modules/regex (Depends-on): Likewise.
4211         * modules/remove (Depends-on): Likewise.
4212         * modules/rename (Depends-on): Likewise.
4213         * modules/renameat (Depends-on): Likewise.
4214         * modules/rmdir (Depends-on): Likewise.
4215         * modules/round (Depends-on): Likewise.
4216         * modules/roundf (Depends-on): Likewise.
4217         * modules/roundl (Depends-on): Likewise.
4218         * modules/rpmatch (Depends-on): Likewise.
4219         * modules/select (Depends-on): Likewise.
4220         * modules/send (Depends-on): Likewise.
4221         * modules/sendto (Depends-on): Likewise.
4222         * modules/setenv (Depends-on): Likewise.
4223         * modules/setlocale (Depends-on): Likewise.
4224         * modules/setsockopt (Depends-on): Likewise.
4225         * modules/shutdown (Depends-on): Likewise.
4226         * modules/sigaction (Depends-on): Likewise.
4227         * modules/signbit (Depends-on): Likewise.
4228         * modules/sigprocmask (Depends-on): Likewise.
4229         * modules/sinl (Depends-on): Likewise.
4230         * modules/sleep (Depends-on): Likewise.
4231         * modules/snprintf (Depends-on): Likewise.
4232         * modules/snprintf-posix (Depends-on): Likewise.
4233         * modules/socket (Depends-on): Likewise.
4234         * modules/sprintf-posix (Depends-on): Likewise.
4235         * modules/sqrtl (Depends-on): Likewise.
4236         * modules/stat (Depends-on): Likewise.
4237         * modules/strchrnul (Depends-on): Likewise.
4238         * modules/strdup-posix (Depends-on): Likewise.
4239         * modules/strerror (Depends-on): Likewise.
4240         * modules/strerror_r-posix (Depends-on): Likewise.
4241         * modules/strndup (Depends-on): Likewise.
4242         * modules/strnlen (Depends-on): Likewise.
4243         * modules/strptime (Depends-on): Likewise.
4244         * modules/strsep (Depends-on): Likewise.
4245         * modules/strsignal (Depends-on): Likewise.
4246         * modules/strstr-simple (Depends-on): Likewise.
4247         * modules/strtod (Depends-on): Likewise.
4248         * modules/strtoimax (Depends-on): Likewise.
4249         * modules/strtok_r (Depends-on): Likewise.
4250         * modules/strtoumax (Depends-on): Likewise.
4251         * modules/symlink (Depends-on): Likewise.
4252         * modules/symlinkat (Depends-on): Likewise.
4253         * modules/tanl (Depends-on): Likewise.
4254         * modules/tcgetsid (Depends-on): Likewise.
4255         * modules/tmpfile (Depends-on): Likewise.
4256         * modules/trunc (Depends-on): Likewise.
4257         * modules/truncf (Depends-on): Likewise.
4258         * modules/truncl (Depends-on): Likewise.
4259         * modules/uname (Depends-on): Likewise.
4260         * modules/unlink (Depends-on): Likewise.
4261         * modules/unlockpt (Depends-on): Likewise.
4262         * modules/unsetenv (Depends-on): Likewise.
4263         * modules/usleep (Depends-on): Likewise.
4264         * modules/utimensat (Depends-on): Likewise.
4265         * modules/vasprintf (Depends-on): Likewise.
4266         * modules/vdprintf (Depends-on): Likewise.
4267         * modules/vdprintf-posix (Depends-on): Likewise.
4268         * modules/vfprintf-posix (Depends-on): Likewise.
4269         * modules/vprintf-posix (Depends-on): Likewise.
4270         * modules/vsnprintf (Depends-on): Likewise.
4271         * modules/vsnprintf-posix (Depends-on): Likewise.
4272         * modules/vsprintf-posix (Depends-on): Likewise.
4273         * modules/wcrtomb (Depends-on): Likewise.
4274         * modules/wcscasecmp (Depends-on): Likewise.
4275         * modules/wcscspn (Depends-on): Likewise.
4276         * modules/wcsdup (Depends-on): Likewise.
4277         * modules/wcsncasecmp (Depends-on): Likewise.
4278         * modules/wcsnrtombs (Depends-on): Likewise.
4279         * modules/wcspbrk (Depends-on): Likewise.
4280         * modules/wcsrtombs (Depends-on): Likewise.
4281         * modules/wcsspn (Depends-on): Likewise.
4282         * modules/wcsstr (Depends-on): Likewise.
4283         * modules/wcstok (Depends-on): Likewise.
4284         * modules/wcswidth (Depends-on): Likewise.
4285         * modules/wctob (Depends-on): Likewise.
4286         * modules/wctomb (Depends-on): Likewise.
4287         * modules/wctype (Depends-on): Likewise.
4288         * modules/wcwidth (Depends-on): Likewise.
4289         * modules/write (Depends-on): Likewise.
4290
4291 2011-05-03  Bruno Haible  <bruno@clisp.org>
4292
4293         Support for conditional dependencies.
4294         * doc/gnulib.texi (Module description): Document the syntax of
4295         conditional dependencies.
4296         * gnulib-tool: New option --conditional-dependencies.
4297         (func_usage): Document it.
4298         (cond_dependencies): New variable.
4299         (func_get_automake_snippet_conditional,
4300         func_get_automake_snippet_unconditional): New functions, extracted from
4301         func_get_automake_snippet.
4302         (func_get_automake_snippet): Use them.
4303         (sed_first_32_chars): New variable.
4304         (func_module_shellfunc_name): New function.
4305         (func_module_shellvar_name): New function.
4306         (func_module_conditional_name): New function.
4307         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
4308         func_cond_module_condition): New functions.
4309         (func_modules_transitive_closure): Add support for conditional
4310         dependencies.
4311         (func_emit_lib_Makefile_am): For a conditional module, enclose the
4312         conditional automake snippet in an automake conditional.
4313         (func_emit_autoconf_snippets): Emit shell functions that contain the
4314         code for conditional modules.
4315         (func_import, func_create_testdir): Update specification.
4316
4317 2011-05-03  Eric Blake  <eblake@redhat.com>
4318
4319         test-getaddrinfo: report error information
4320         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
4321
4322 2011-05-03  Jim Meyering  <meyering@redhat.com>
4323
4324         bootstrap: avoid build failure when $GZIP is set
4325         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
4326         program name.  If defined at all, it is supposed to list gzip options.
4327         Reported by Alan Curry in http://debbugs.gnu.org/8609
4328
4329 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
4330
4331         readme-release: new module with release instructions
4332         * modules/readme-release: New module.
4333         * top/README-release: New file, from coreutils, grep, diffutils.
4334         * MODULES.html.sh (Support for maintaining and releasing): Add it.
4335
4336 2011-05-02  Eric Blake  <eblake@redhat.com>
4337
4338         fflush: also replace fclose when fixing fflush
4339         * modules/fflush (Depends-on): Add fclose.
4340         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
4341         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
4342         memstreams with no backing fd.
4343         * doc/posix-functions/fclose.texi (fclose): Document the use of
4344         fflush module to fix the bug.
4345         * tests/test-fclose.c (main): Relax test when fclose is used in
4346         isolation.
4347
4348         fclose: add some tests
4349         * modules/fclose-tests: New test module.
4350         * tests/test-fclose.c: New file.
4351         * doc/posix-functions/fclose.texi (fclose): Document the bug.
4352
4353         fclose: reduced dependencies
4354         * modules/fclose (Depends-on): Switch from fflush/fseeko to
4355         simpler lseek.
4356         * lib/fclose.c (rpl_fclose): Likewise.
4357         Reported by Simon Josefsson.
4358
4359         exit: drop remaining clients
4360         * modules/argmatch (Depends-on): Replace exit with stdlib.
4361         * modules/copy-file (Depends-on): Likewise.
4362         * modules/execute (Depends-on): Likewise.
4363         * modules/exitfail (Depends-on): Likewise.
4364         * modules/obstack (Depends-on): Likewise.
4365         * modules/pagealign_alloc (Depends-on): Likewise.
4366         * modules/pipe-filter-gi (Depends-on): Likewise.
4367         * modules/pipe-filter-ii (Depends-on): Likewise.
4368         * modules/savewd (Depends-on): Likewise.
4369         * modules/spawn-pipe (Depends-on): Likewise.
4370         * modules/wait-process (Depends-on): Likewise.
4371         * modules/xsetenv (Depends-on): Likewise.
4372         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
4373         * modules/git-merge-changelog (Depends-on): Likewise.
4374         * modules/long-options (Depends-on): Likewise.
4375         * modules/pt_chown (Depends-on): Likewise.
4376         * modules/sysexits (Depends-on): Likewise.
4377
4378         freading: relax license from LGPLv3+ to LGPLv2+
4379         * modules/freading (License): Relax LGPL version.
4380
4381 2011-05-02  Bruno Haible  <bruno@clisp.org>
4382
4383         fchdir: Remove unused dependencies.
4384         * modules/fchdir (Depends-on): Remove include_next.
4385
4386 2011-05-02  Bruno Haible  <bruno@clisp.org>
4387
4388         gnulib-tool: Refactor.
4389         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
4390         from func_emit_autoconf_snippets.
4391         (func_emit_autoconf_snippets): Use it.
4392
4393 2011-05-02  Simon Josefsson  <simon@josefsson.org>
4394
4395         * NEWS: Document removal of 'exit'.
4396         * modules/exit: Remove file.
4397
4398 2011-05-01  Bruno Haible  <bruno@clisp.org>
4399
4400         Update DEPENDENCIES.
4401         * DEPENDENCIES (gettext): Recommend the newest release.
4402         Reported by Simon Josefsson.
4403
4404 2011-05-01  Bruno Haible  <bruno@clisp.org>
4405
4406         gnulib-tool: Reduce code duplication.
4407         * gnulib-tool (func_emit_autoconf_snippets): New function.
4408         (func_import, func_create_testdir): Use it.
4409
4410 2011-04-30  Eric Blake  <eblake@redhat.com>
4411
4412         fclose: don't fail on non-seekable input stream
4413         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
4414         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
4415         since fflush is allowed to fail in that case.
4416
4417 2011-04-30  Bruno Haible  <bruno@clisp.org>
4418
4419         dup3: cleanup
4420         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
4421
4422 2011-04-30  Bruno Haible  <bruno@clisp.org>
4423
4424         netdb: Make it work in C++ mode.
4425         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
4426         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
4427         module.
4428         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
4429         gl_MODULE_INDICATOR_FOR_TESTS.
4430         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
4431         * modules/netdb-c++-tests: New file.
4432         * tests/test-netdb-c++.cc: New file.
4433
4434 2011-04-30  Bruno Haible  <bruno@clisp.org>
4435
4436         New modules 'vfscanf', 'vscanf'.
4437         * modules/vfscanf: New file.
4438         * modules/vscanf: New file.
4439         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
4440         here.
4441         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
4442         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
4443
4444 2011-04-30  Bruno Haible  <bruno@clisp.org>
4445
4446         passfd: Add comments.
4447         * lib/passfd.c: Add comments about platforms.
4448
4449 2011-04-30  Bruno Haible  <bruno@clisp.org>
4450
4451         sys_uio: Make <sys/uio.h> self-contained.
4452         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
4453         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
4454
4455 2011-04-30  Bruno Haible  <bruno@clisp.org>
4456
4457         sys_socket: Ensure 'struct iovec' definition.
4458         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
4459         <sys/socket.h>.
4460         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
4461
4462 2011-04-30  Bruno Haible  <bruno@clisp.org>
4463
4464         sys_uio: Protect definition of 'struct iovec'.
4465         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
4466         it as a C struct.
4467
4468 2011-04-30  Bruno Haible  <bruno@clisp.org>
4469
4470         manywarnings: fix indentation
4471         * m4/manywarnings.m4: Indent by 2 spaces consistently.
4472
4473 2011-04-30  Pádraig Brady <P@draigBrady.com>
4474
4475         manywarnings: add -Wno-missing-field-initializers if needed.
4476         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
4477         option if it's needed to allow initialization with { 0, }
4478
4479 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
4480
4481         announce-gen: cosmetic improvement
4482         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
4483
4484 2011-04-29  Jim Meyering  <meyering@redhat.com>
4485
4486         vc-list-files: indent with spaces, not TABs
4487         * build-aux/vc-list-files: Convert leading TABs to spaces,
4488         to match the style of most other files in gnulib.
4489
4490         announce-gen: indent with spaces, not TABs
4491         * build-aux/announce-gen: Convert all TABs to spaces, to match
4492         the style of most other files in gnulib.
4493
4494 2011-04-29  Eric Blake  <eblake@redhat.com>
4495
4496         quotearg: avoid uninitialized variable use
4497         * lib/quotearg.c (quoting_options_from_style): Initialize
4498         remaining fields, and ensure that custom styles are only used via
4499         quoting_options rather than quoting_style.
4500
4501 2011-04-29  Jim Meyering  <meyering@redhat.com>
4502
4503         maint.mk: remove unused VC-tag variable
4504         * top/maint.mk (VC-tag): Remove unused variable.
4505
4506 2011-04-29  Bruno Haible  <bruno@clisp.org>
4507
4508         netdb: fix gai_strerror replacements
4509         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
4510         * modules/netdb: Substitute it.
4511
4512 2011-04-29  Jim Meyering  <meyering@redhat.com>
4513
4514         test-getcwd.c: avoid new set-but-not-used warning
4515         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
4516         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
4517         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
4518         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
4519
4520         test-hash.c: avoid a new shadowing warning
4521         * tests/test-hash.c (main): Don't shadow "dup".
4522
4523 2011-04-28  Eric Blake  <eblake@redhat.com>
4524
4525         getaddrinfo: fix gai_strerror signature
4526         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
4527         and work around mingw with UNICODE defined.
4528         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
4529         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
4530         * modules/netdb (Makefile.am): Substitute it.
4531         * lib/netdb.in.h (gai_strerror): Declare replacement.
4532         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
4533         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
4534         the fix.
4535
4536         getsockopt: avoid compiler warning
4537         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
4538         Reported by Matthias Bolte.
4539
4540         tests: drop unused link dependency
4541         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
4542         * modules/dirent-safer-tests (Makefile.am): Likewise.
4543         * modules/fdopendir-tests (Makefile.am): Likewise.
4544         * modules/mkfifoat-tests (Makefile.am): Likewise.
4545         * modules/openat-safer-tests (Makefile.am): Likewise.
4546         * modules/openat-tests (Makefile.am): Likewise.
4547         * modules/readlinkat-tests (Makefile.am): Likewise.
4548         * modules/symlinkat-tests (Makefile.am): Likewise.
4549         * modules/linkat-tests (Makefile.am): Likewise.
4550         (Depends-on): Switch to filenamecat-lgpl.
4551         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
4552         LIBINTL.
4553         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
4554         * tests/test-linkat.c (main): Don't require xalloc.
4555
4556         hash, mgetgroups: drop xalloc dependency
4557         * lib/hash.c (includes): Adjust includes.
4558         * lib/mgetgroups.c (includes): Likewise.
4559         (xgetgroups): Move...
4560         * lib/xgetgroups.c: ...to new file.
4561         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
4562         * modules/xgetgroups: New file, split from...
4563         * modules/mgetgroups: ...here.
4564         (Depends-on): Add xalloc-oversized.
4565         * modules/hash (Depends-on): Likewise.
4566         * modules/hash-tests (Depends-on): Drop xalloc.
4567         (test_hash_LDADD): Drop unused library.
4568         * tests/test-hash.c (main): Break xalloc dependency.
4569         (includes): Drop unused include.
4570
4571         xalloc-oversized: new module
4572         * modules/xalloc-oversized: New module.
4573         * modules/xalloc (Depends-on): Add it.
4574         * lib/xalloc.h (xalloc_oversized): Move...
4575         * lib/xalloc-oversized.h: ...into new file.
4576
4577         utimecmp: drop dependency on xmalloc
4578         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
4579         due to memory pressure.
4580         * modules/utimecmp (Depends-on): Drop xalloc.
4581
4582 2011-04-27  Eric Blake  <eblake@redhat.com>
4583
4584         getcwd: fix mingw bugs
4585         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
4586         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
4587         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
4588
4589 2011-04-27  Bruno Haible  <bruno@clisp.org>
4590
4591         mkstemps: Ensure declaration on MacOS X 10.5.
4592         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
4593         * doc/glibc-functions/mkstemps.texi: Document header file problem on
4594         MacOS X.
4595
4596 2011-04-27  Bruno Haible  <bruno@clisp.org>
4597
4598         mkstemp: More documentation.
4599         * doc/posix-functions/mkstemp.texi: Document header file problem on
4600         MacOS X.
4601
4602 2011-04-27  Bruno Haible  <bruno@clisp.org>
4603
4604         mkstemp: Tweak configure message when cross-compiling.
4605         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
4606         result as a guess.
4607
4608 2011-04-27  Bruno Haible  <bruno@clisp.org>
4609
4610         clean-temp: Clarify what it does.
4611         * lib/clean-temp.h: Add more comments.
4612         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
4613         module.
4614         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
4615         * doc/glibc-functions/mkstemps.texi: Likewise.
4616         * doc/glibc-functions/mkostemps.texi: Likewise.
4617
4618 2011-04-27  Eric Blake  <eblake@redhat.com>
4619
4620         fchdir: avoid extra chdir and fix test
4621         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
4622         getcwd-lgpl.
4623         * lib/fchdir.c (get_name): Any absolute name will do; it does not
4624         have to be canonical.
4625         (canonicalize_file_name): Drop unused macro.
4626         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
4627
4628         filenamecat-lgpl: fix licence
4629         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
4630         when it was first created.
4631
4632         linkat, renameat: add missing dependency
4633         * modules/linkat (Depends-on): Require getcwd-lgpl.
4634         * modules/renameat (Depends-on): Likewise.
4635
4636         tests: reduce dependencies
4637         * tests/test-linkat.c (main): Use lighter-weight getcwd.
4638         * tests/test-renameat.c (main): Likewise.
4639         * modules/linkat-tests (Depends-on): Relax dependency.
4640         * modules/renameat-tests (Depends-on): Likewise.
4641         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
4642         dependency explicit.
4643
4644         save-cwd: reduce default dependency
4645         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
4646         * lib/save-cwd.c: Update comments.
4647         * NEWS: Document the semantic change.
4648
4649         getcwd: enhance tests
4650         * tests/test-getcwd-lgpl.c: New file, taken from...
4651         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
4652         repeat long path stress tests from m4 probe.
4653         * modules/getcwd-lgpl-tests: New module.
4654         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
4655         * m4/getcwd-abort-bug.m4: Update comment.
4656         * m4/getcwd-path-max.m4: Likewise.
4657
4658         getcwd-lgpl: new module
4659         * modules/getcwd-lgpl: New module.
4660         * lib/getcwd-lgpl.c: New file.
4661         * doc/posix-functions/getcwd.texi (getcwd): Document it.
4662         * MODULES.html.sh (lacking POSIX:2008): Likewise.
4663         * modules/getcwd (configure.ac): Set C witness.
4664         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
4665
4666         getcwd: tweak comments
4667         * m4/getcwd-abort-bug.m4: Fix comments.
4668         * m4/getcwd-path-max.m4: Likewise.
4669         * m4/getcwd.m4: Likewise.
4670
4671 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
4672         and Eric Blake  <eblake@redhat.com>
4673
4674         mkstemp: replace if system version uses wrong permissions
4675         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
4676         read/write mode bits set in file created by mkstemp.
4677         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
4678
4679 2011-04-27  Eric Blake  <eblake@redhat.com>
4680
4681         passfd: avoid compiler warning
4682         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
4683         Reported by Laine Stump.
4684
4685 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
4686
4687         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
4688         required by the NetBSD (and perhaps other 4.4BSD derived) join.
4689
4690 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
4691         and Eric Blake  <eblake@redhat.com>
4692
4693         mkstemp: mention clean-temp module
4694         * lib/mkstemp.c: Add comment.
4695         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
4696
4697 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
4698
4699         inttypes: also provide default values for 32-bit tests
4700         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
4701         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
4702
4703 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4704
4705         strtoumax: remove dependency on strtoimax
4706         This is like the strtoull change of yesterday.
4707         * modules/strtoumax (Files): Add lib/strtoimax.c.
4708         (Depends-on): Remove strtoimax and add verify.
4709
4710         inttypes-incomplete: new module
4711         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
4712         all but the PRI* and SCN* parts of gl_INTTYPES_H.
4713         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
4714         of gl_INTTYPES_H.
4715         (gl_INTTYPES_H): Rewrite in terms of these new macros.
4716         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
4717         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
4718         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
4719         * modules/strtoumax, modules/xstrtol (Depends-on):
4720         Depend on inttypes-incomplete, not inttypes.
4721         * modules/inttypes-incomplete: New module, containing the contents
4722         of the old modules/inttypes module, except that the Files: section
4723         omits m4/inttypes-pri.m4, and the configure.ac section invokes
4724         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
4725         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
4726         (Depends-on): Depend only on inttypes-incomplete.
4727         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
4728
4729         inttypes: omit now-redundant strtoimax and strtoumax work
4730         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
4731         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
4732
4733         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
4734         This supports apps that need pointers to strtoimax and strtoumax,
4735         and ports to HP-UX 11.00 64.bit, which has macros that expand to
4736         nonexistent functions.  See
4737         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
4738         et seq.
4739         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
4740         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
4741         a macro.
4742         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
4743
4744 2011-04-25  Simon Josefsson  <simon@josefsson.org>
4745
4746         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
4747
4748 2011-04-25  Bruno Haible  <bruno@clisp.org>
4749
4750         strtol, strtoul: Mark modules as obsolete.
4751         * modules/strtol (Status, Notice): New sections.
4752         * modules/strtoul (Status, Notice): New sections.
4753
4754 2011-04-25  Bruno Haible  <bruno@clisp.org>
4755
4756         strtod: Remove check for strtod, unless supporting old platforms.
4757         * modules/strtod-obsolete: New file.
4758         * m4/strtod-obsolete.m4: New file.
4759         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
4760         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
4761         * modules/strtod (Depends-on): Add strtod-obsolete.
4762         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
4763
4764 2011-04-25  Bruno Haible  <bruno@clisp.org>
4765
4766         strcase: Make module obsolete.
4767         * modules/strcase (Status, Notice): New sections.
4768
4769 2011-04-25  Bruno Haible  <bruno@clisp.org>
4770
4771         dup2: Remove check for dup2, unless supporting old obsolete platforms.
4772         * modules/dup2-obsolete: New file.
4773         * m4/dup2-obsolete.m4: New file.
4774         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
4775         gl_FUNC_DUP2_OBSOLETE is not also defined.
4776         * modules/dup2 (Depends-on): Add dup2-obsolete.
4777         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
4778
4779 2011-04-25  Bruno Haible  <bruno@clisp.org>
4780
4781         strnlen: Avoid memchr related link error on old obsolete platforms.
4782         * modules/memchr-obsolete: New file.
4783         * m4/memchr-obsolete.m4: New file.
4784         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
4785         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
4786         * modules/memchr (Depends-on): Add memchr-obsolete.
4787         * modules/strnlen (Depends-on): Likewise.
4788         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
4789
4790 2011-04-25  Jim Meyering  <meyering@redhat.com>
4791
4792         maint.mk: makefile_at_at_check extend and clean up
4793         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
4794         in addition to */Makefile.am.
4795         Exempt legitimate uses of @VAR@ notation, e.g.,
4796         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
4797         Remove obsolete coreutils-specific comment.
4798         Prompted by discussion here:
4799         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
4800
4801 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4802
4803         strtoul: remove dependency on strtol
4804         This is so that 'configure' need not check for strtol merely because
4805         the application needs strtoul.
4806         * modules/strtoul (Files): Add lib/strtol.c.
4807         (Depends-on): Remove strtol.
4808
4809         strtoull: remove dependency on strtoul
4810         This is like the strtoll change.
4811         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
4812         (Depends-on): Remove strtoul.
4813
4814         strtoll: remove dependency on strtol
4815         This is so that 'configure' need not check for strtol merely because
4816         the application needs strtoll.
4817         * modules/strtoll (Files): Add lib/strtol.c.
4818         (Depends-on): Remove strtol.
4819
4820 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4821
4822         inttypes: Move some configure check to module 'imaxdiv'.
4823         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
4824         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
4825         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
4826
4827 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4828
4829         inttypes: Move some configure check to module 'imaxabs'.
4830         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
4831         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
4832         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
4833
4834 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4835
4836         inttypes: Remove configure tests that are not needed since 2009-12-31.
4837         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
4838         gl_cv_header_working_inttypes_h.
4839
4840 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4841
4842         * modules/strnlen (Depends-on): Remove memchr.
4843         The strnlen implementation doesn't need the memchr module's fixes; see
4844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
4845
4846         strtol: remove dependency on wchar
4847         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
4848         * modules/strtol (Depends-on): Remove wchar.
4849
4850 2011-04-21  Eric Blake  <eblake@redhat.com>
4851
4852         passfd: fix test regression on Linux
4853         * modules/passfd-tests (configure.ac): Correct socketpair check.
4854
4855         passfd: speed up configure and drop unused code
4856         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
4857         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
4858         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
4859         Instead of probing at configure for unix_scm_rights_bsd44_way,
4860         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
4861         check to a struct member probe.
4862         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
4863         (sendfd, recvfd): Update preprocessor checks.
4864         * modules/passfd (Files): Reflect rename, and drop unused file.
4865         (Depends-on): Drop unused dependency.
4866
4867         passfd: allow compilation on mingw
4868         * modules/sys_socket (Depends-on): Add sys_uio.
4869         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
4870         iovec and a minimal struct msghdr.
4871         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
4872         * tests/test-sys_socket.c (main): Enhance test.
4873         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
4874         guaranteed to provide what we need.
4875         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
4876         * modules/passfd-tests (Depends-on): Add sys_wait.
4877         * tests/test-passfd.c (main): Skip test on mingw, for now.
4878         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
4879         partial 'struct msghdr' implementation.
4880
4881         sys_uio: new module
4882         * modules/sys_uio: New module.
4883         * modules/sys_uio-tests: Likewise.
4884         * lib/sys_uio.in.h: New file.
4885         * m4/sys_uio_h.m4: Likewise.
4886         * tests/test-sys_uio.c: Likewise.
4887         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
4888         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
4889
4890 2011-04-20  Jim Meyering  <meyering@redhat.com>
4891
4892         useless-if-before-free: avoid false-positive
4893         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
4894         disjunct so that it too requires a terminating ";".  Without that,
4895         this script would identify as useless one statement from gcc that
4896         was not:
4897           if (aligned_ptr)
4898             free (((void **) aligned_ptr) [-1]);
4899
4900 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
4901
4902         doc: update users.txt.
4903         * users.txt: Add barcode.
4904
4905 2011-04-19  Bruno Haible  <bruno@clisp.org>
4906
4907         ioctl: Remove link dependency on native Windows.
4908         * lib/fd-hook.h: Renamed from lib/close-hook.h.
4909         (gl_close_fn, gl_ioctl_fn): New types.
4910         (struct fd_hook): Renamed from struct close_hook. Change type of
4911         private_close_fn field. Add private_ioctl_fn field.
4912         (close_hook_fn): Add parameter for primary close method.
4913         (execute_close_hooks, execute_all_close_hooks): Likewise.
4914         (ioctl_hook_fn): New type.
4915         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
4916         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4917         argument.
4918         (unregister_fd_hook): Renamed from unregister_close_hook.
4919         * lib/fd-hook.c: Renamed from lib/close-hook.c.
4920         Don't include <unistd.h>.
4921         (close): Remove undef.
4922         (anchor): Update.
4923         (execute_close_hooks): Add argument for primary close method.
4924         (execute_all_close_hooks): Likewise.
4925         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
4926         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4927         argument. Allow each argument to be NULL.
4928         (unregister_fd_hook): Renamed from unregister_close_hook.
4929         * lib/close.c (rpl_close): Pass 'close' function pointer to
4930         execute_all_close_hooks.
4931         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
4932         (primary_ioctl): New function.
4933         (ioctl): Don't call ioctlsocket here. Instead, call
4934         execute_all_ioctl_hooks.
4935         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
4936         close method.
4937         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
4938         (fd_sockets_hook): Renamed from close_sockets_hook.
4939         (gl_sockets_startup, gl_sockets_cleanup): Update.
4940         * modules/fd-hook: Renamed from modules/close-hook. Update.
4941         * modules/close (Depends-on): Add fd-hook, remove close-hook.
4942         * modules/sockets (Depends-on): Likewise.
4943         * modules/ioctl (Depends-on): Add fd-hook.
4944         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
4945         GNULIB_SOCKET.
4946
4947 2011-04-19  Bruno Haible  <bruno@clisp.org>
4948
4949         Move the support of O_NONBLOCK in open() to the 'open' module.
4950         * modules/nonblocking (Depends-on): Remove 'open'.
4951         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
4952         gl_cv_have_open_O_NONBLOCK.
4953         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
4954         O_NONBLOCK support.
4955         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
4956
4957 2011-04-17  Bruno Haible  <bruno@clisp.org>
4958
4959         pipe2: Simplify code.
4960         * lib/pipe2.c (pipe2): Reduce code duplication.
4961
4962 2011-04-17  Bruno Haible  <bruno@clisp.org>
4963
4964         nonblocking: Add comment.
4965         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
4966
4967 2011-04-17  Bruno Haible  <bruno@clisp.org>
4968
4969         nonblocking: Add tests for sockets.
4970         * tests/test-nonblocking-socket.sh: New file.
4971         * tests/test-nonblocking-socket-main.c: New file.
4972         * tests/test-nonblocking-socket-child.c: New file.
4973         * tests/test-nonblocking-socket.h: New file.
4974         * tests/socket-server.h: New file.
4975         * tests/socket-client.h: New file.
4976         * modules/nonblocking-socket-tests: New file.
4977         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
4978
4979 2011-04-17  Bruno Haible  <bruno@clisp.org>
4980
4981         nonblocking: Add tests for pipes.
4982         * tests/test-nonblocking-pipe.sh: New file.
4983         * tests/test-nonblocking-pipe-main.c: New file.
4984         * tests/test-nonblocking-pipe-child.c: New file.
4985         * tests/test-nonblocking-pipe.h: New file.
4986         * tests/test-nonblocking-writer.h: New file.
4987         * tests/test-nonblocking-reader.h: New file.
4988         * tests/test-nonblocking-misc.h: New file.
4989         * modules/nonblocking-pipe-tests: New file.
4990         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
4991
4992 2011-04-16  Bruno Haible  <bruno@clisp.org>
4993
4994         gettext: Clarify the needed programmer actions.
4995         * modules/gettext (Notice): New field.
4996         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
4997
4998 2011-04-16  Bruno Haible  <bruno@clisp.org>
4999
5000         strchrnul: Tweak last commit.
5001         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
5002         bug.
5003         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
5004         as in _GL_FUNCDECL_SYS.
5005         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
5006         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
5007
5008 2011-04-15  Eric Blake  <eblake@redhat.com>
5009
5010         strchrnul: work around cygwin bug
5011         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
5012         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
5013         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
5014         * modules/string (Makefile.am): Substitute it.
5015         * lib/string.in.h (strchrnul): Use it.
5016
5017 2011-04-15  Bruno Haible  <bruno@clisp.org>
5018
5019         Don't require lib/stdio-write.c when only module 'stdio' is used.
5020         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
5021         invocation.
5022         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
5023
5024 2011-04-14  Bruno Haible  <bruno@clisp.org>
5025
5026         Support non-blocking pipe I/O in read() on native Windows.
5027         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
5028         (read): New declaration.
5029         * lib/read.c: New file.
5030         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
5031         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
5032         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
5033         vscanf): New declarations.
5034         * lib/stdio-read.c: New file.
5035         * m4/read.m4: New file.
5036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
5037         REPLACE_READ.
5038         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
5039         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5040         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
5041         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
5042         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
5043         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5044         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
5045         * modules/read: New file.
5046         * modules/nonblocking (Files): Add lib/stdio-read.c.
5047         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
5048         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
5049         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5050         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
5051         * modules/pread (Depends-on): Add read.
5052         * modules/safe-read (Depends-on): Likewise.
5053         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
5054         gets, scanf, vfscanf, vscanf): Verify signatures.
5055         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
5056         problem with non-blocking pipes.
5057         * doc/posix-functions/fgetc.texi: Likewise.
5058         * doc/posix-functions/fgets.texi: Likewise.
5059         * doc/posix-functions/fread.texi: Likewise.
5060         * doc/posix-functions/fscanf.texi: Likewise.
5061         * doc/posix-functions/getc.texi: Likewise.
5062         * doc/posix-functions/getchar.texi: Likewise.
5063         * doc/posix-functions/gets.texi: Likewise.
5064         * doc/posix-functions/scanf.texi: Likewise.
5065         * doc/posix-functions/vfscanf.texi: Likewise.
5066         * doc/posix-functions/vscanf.texi: Likewise.
5067
5068 2011-04-14  Bruno Haible  <bruno@clisp.org>
5069
5070         Support non-blocking pipe I/O in write() on native Windows.
5071         * lib/write.c (rpl_write): Split a write request that failed merely
5072         because the byte count was larger than the pipe buffer's size.
5073         * doc/posix-functions/write.texi: Mention the problem with large byte
5074         counts.
5075
5076 2011-04-14  Bruno Haible  <bruno@clisp.org>
5077
5078         wchar: Ensure that wchar_t gets defined on uClibc.
5079         * lib/wchar.in.h: On uClibc, include <stddef.h>.
5080         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
5081
5082 2011-04-13  Bruno Haible  <bruno@clisp.org>
5083
5084         safe-write, full-read: Avoid unnecessary compilation units.
5085         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
5086         (Depends-on): Remove safe-read. Add ssize_t.
5087         * modules/full-read (Files): Add lib/full-write.c.
5088         (Depends-on): Add full-write.
5089
5090 2011-04-13  Bruno Haible  <bruno@clisp.org>
5091
5092         Support non-blocking pipe I/O and SIGPIPE in pwrite().
5093         * modules/pwrite (Depends-on): Add 'write'.
5094
5095 2011-04-13  Bruno Haible  <bruno@clisp.org>
5096
5097         Support non-blocking pipe I/O in write() on native Windows.
5098         * lib/unistd.in.h (write): Enable replacement also if
5099         GNULIB_UNISTD_H_NONBLOCKING is 1.
5100         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
5101         (rpl_write): When failing to write on a non-blocking pipe, change
5102         errno from ENOSPC to EAGAIN.
5103         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
5104         putchar, puts, vfprintf, vprintf): Enable replacement also if
5105         GNULIB_STDIO_H_NONBLOCKING is 1.
5106         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
5107         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
5108         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
5109         CALL_WITH_SIGPIPE_EMULATION.
5110         (CALL_WITH_SIGPIPE_EMULATION): Use them.
5111         * m4/nonblocking.m4: New file.
5112         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
5113         for non-blocking I/O support.
5114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5115         GNULIB_UNISTD_H_NONBLOCKING.
5116         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
5117         required for non-blocking I/O support.
5118         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
5119         * modules/nonblocking (Files): Add m4/nonblocking.m4,
5120         lib/stdio-write.c, m4/asm-underscore.m4.
5121         (Depends-on): Add stdio, unistd.
5122         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
5123         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
5124         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
5125         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
5126         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
5127         problem with non-blocking pipes.
5128         * doc/posix-functions/fputc.texi: Likewise.
5129         * doc/posix-functions/fputs.texi: Likewise.
5130         * doc/posix-functions/fwrite.texi: Likewise.
5131         * doc/posix-functions/printf.texi: Likewise.
5132         * doc/posix-functions/putc.texi: Likewise.
5133         * doc/posix-functions/putchar.texi: Likewise.
5134         * doc/posix-functions/puts.texi: Likewise.
5135         * doc/posix-functions/vfprintf.texi: Likewise.
5136         * doc/posix-functions/vprintf.texi: Likewise.
5137         * doc/posix-functions/write.texi: Likewise.
5138
5139 2011-04-10  Jim Meyering  <meyering@redhat.com>
5140
5141         maint.mk: prohibit doubled words
5142         Detect them also when they're separated by a newline.
5143         There are 3 ways to customize it:
5144           - disable the test on a per file basis, as usual with rules using
5145             $(VC_LIST_EXCEPT)
5146           - replace the default doubled-word-selecting regexp (affects all files)
5147           - ignore a particular file-vs-doubled-word match
5148         I nearly used that last one to ignore the "is is" match in
5149         coreutils' NEWS file, since the text was "ls -is is ..."
5150         To do that, I would have added this line to cfg.mk:
5151           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
5152         but it would have ignored any "is is" match in NEWS.
5153         Low probability, but still...
5154         Instead, I changed the text, slightly:
5155           -  ls -is is now consistent with ls -lis in ignoring values returned
5156           +  "ls -is" is now consistent with ls -lis in ignoring values returned
5157         * top/maint.mk (prohibit_double_word_RE_): Provide default.
5158         (prohibit_doubled_word_): Define.
5159         (sc_prohibit_doubled_word): New rule.
5160         (sc_prohibit_the_the): Remove.  Subsumed by the above.
5161
5162 2011-04-10  Jim Meyering  <meyering@redhat.com>
5163
5164         maint: fix doubled-word typo in comment
5165         * m4/gethostname.m4: s/is is/it is/
5166         * m4/getdomainname.m4: Likewise.
5167
5168 2011-04-10  Jim Meyering  <meyering@redhat.com>
5169
5170         maint: remove doubled word: s/it it/it/
5171         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
5172
5173 2011-04-10  Jim Meyering  <meyering@redhat.com>
5174
5175         maint.mk: remove useless semicolon and backslash
5176         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
5177         semicolon and backslash.
5178
5179 2011-04-10  Bruno Haible  <bruno@clisp.org>
5180
5181         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
5182         * modules/stdint-tests (Depends-on): Add wchar.
5183
5184 2011-04-10  Jim Meyering  <meyering@redhat.com>
5185
5186         maint: remove doubled words in comments, e.g., s/a a/a/
5187         * lib/strptime.c (day_of_the_week): s/the the/the/
5188         * tests/test-chown.h (test_chown): s/a a/a/
5189
5190         test-chown.h: correct a cast
5191         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
5192         when the destination is a stat.st_gid.
5193
5194 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
5195
5196         getaddrinfo: Fix test for sa_len member.
5197         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
5198         include <sys/types.h> before <sys/socket.h>.
5199
5200 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5201
5202         maint: change "can not" to "cannot"
5203         * doc/posix-functions/iconv.texi (iconv): This one crossed line
5204         boundaries.
5205
5206 2011-04-09  Jim Meyering  <meyering@redhat.com>
5207
5208         maint: change "a a" to "a"
5209         * tests/test-lchown.h (test_lchown): s/a a/a/
5210
5211         maint.mk: prohibit \<the the\>
5212         * top/maint.mk (sc_prohibit_the_the): New rule.
5213
5214         maint: fix "the the" in comment
5215         * lib/count-one-bits.h: s/the the/the/
5216
5217         maint: change "can not" to "cannot"
5218         But do not change the occurrences in maintain.texi or in
5219         build-aux/po/Makefile.in.in, which I presume comes from gettext.
5220         * doc/gnulib-tool.texi: s/can not/cannot/
5221         * doc/posix-functions/accept.texi (accept): Likewise.
5222         * doc/posix-functions/socket.texi (socket): Likewise.
5223         * lib/mbrtowc.c: Likewise.
5224
5225         maint.mk: prohibit use of "can not"
5226         * top/maint.mk (sc_prohibit_can_not): New rule.
5227         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
5228
5229 2011-04-09  Bruno Haible  <bruno@clisp.org>
5230
5231         careadlinkat: Guard against misuse of careadlinkatcwd.
5232         * lib/careadlinkat.c: Include <stdlib.h>.
5233         (careadlinkatcwd): Check that the fd argument is as expected.
5234
5235 2011-04-09  Bruno Haible  <bruno@clisp.org>
5236
5237         careadlinkat: Use common coding style.
5238         * lib/careadlinkat.c: Move gnulib includes after system includes.
5239
5240 2011-04-09  Bruno Haible  <bruno@clisp.org>
5241
5242         careadlinkat: Clarify specification.
5243         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
5244         (careadlinkatcwd): Add comment.
5245         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
5246
5247 2011-04-09  Bruno Haible  <bruno@clisp.org>
5248
5249         areadlinkat: Avoid link error on many platforms.
5250         * modules/areadlinkat (Depends-on): Add areadlink.
5251
5252 2011-04-09  Bruno Haible  <bruno@clisp.org>
5253
5254         allocator, careadlinkat: Fix double-inclusion guard.
5255         * lib/allocator.h: Fix double-inclusion guard.
5256         * lib/careadlinkat.h: Likewise.
5257
5258 2011-04-09  Bruno Haible  <bruno@clisp.org>
5259
5260         relocatable-prog-wrapper: Update after module 'areadlink' changed.
5261         * lib/relocwrapper.c: Update dependencies hierarchy.
5262         * build-aux/install-reloc: Update list of files to be compiled.
5263         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
5264         lib/allocator.[hc].
5265
5266 2011-04-08  Eric Blake  <eblake@redhat.com>
5267
5268         strftime: silence gnulib-tool warning
5269         * modules/strftime-tests (Depends-on): Drop automatic dependency.
5270
5271 2011-04-08  Bruno Haible  <bruno@clisp.org>
5272
5273         verify: Fix syntax error with GCC 4.6 in C++ mode.
5274         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
5275         (HAVE_STATIC_ASSERT): New macro.
5276         (verify_true, verify): Use 'static_assert' if it is supported and
5277         '_Static_assert' is not supported.
5278
5279 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5280
5281         allocator: New module.
5282         * modules/allocator, lib/allocator.c: New files.
5283         * lib/allocator.h (stdlib_allocator): New decl.
5284         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
5285         Remove.  Do not include <stdlib.h>.
5286         (careadlinkat): Use stdlib_allocator instead of rolling our own.
5287         * modules/careadlinkat (Files): Remove lib/allocator.h.
5288         (Depends-on): Add allocator.
5289
5290         stdlib: let modules use system malloc, realloc
5291         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
5292         if !_GL_USE_STDLIB_ALLOC.
5293         (malloc, realloc): Limit this change to a smaller scope.
5294
5295         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
5296         (malloc, realloc): Don't #undef; no longer needed.
5297         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5298         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5299         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
5300         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5301         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5302         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5303         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5304         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
5305
5306         careadlinkat: rename members to avoid problem
5307         * lib/allocator.h (struct allocator): Rename members from
5308         malloc/realloc to allocate/reallocate, to avoid problems if malloc
5309         and realloc are #define'd.  Reported by Eric Blake in
5310         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
5311         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
5312
5313 2011-04-08  Eric Blake  <eblake@redhat.com>
5314
5315         nonblocking: reduce dependency
5316         * tests/test-nonblocking.c: Only test sockets when in use.
5317         * modules/nonblocking-tests (Depends-on): Drop socket.
5318         (Makefile.am): Link even if sockets are not present.
5319         * modules/pipe2-tests (Makefile.am): Likewise.
5320         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
5321
5322         pipe2: fix O_NONBLOCK support on mingw
5323         * modules/pipe2 (Depends-on): Add nonblocking.
5324         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
5325         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
5326         * tests/test-nonblocking.c (main): Likewise.
5327         * modules/pipe2-tests (Makefile.am): Avoid link failure.
5328
5329         fcntl-h: fix O_ACCMODE on cygwin
5330         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
5331         * lib/fcntl.in.h (O_ACCMODE): Fix it.
5332
5333         pipe-filter: drop O_NONBLOCK workarounds
5334         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
5335         * modules/pipe-filter-ii (Depends-on): Likewise.
5336         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
5337
5338         nonblocking: provide O_NONBLOCK for mingw
5339         * modules/nonblocking (Depends-on): Add open.
5340         (configure.ac): Set new witness macro.
5341         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
5342         * modules/fcntl-h (Makefile.am): Substitute it.
5343         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
5344         nonblocking module is in use.
5345         * lib/nonblocking.c: Adjust portability test.
5346         * lib/open.c (open): Don't let native open see gnulib flag.
5347         * tests/test-fcntl-h.c (main): Enhance test.
5348         * tests/test-open.h (test_open): Likewise.
5349         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
5350
5351         careadlinkat: fix compilation error on mingw
5352         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
5353         within struct allocator.
5354
5355 2011-04-06  Eric Blake  <eblake@redhat.com>
5356
5357         binary-io: relicense under LGPLv2+
5358         * modules/binary-io (License): Relax to LGPLv2+.
5359         Requested for libvirt, and required by pipe2.
5360
5361 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
5362
5363         verify: use _Static_assert if available
5364         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
5365         (verify_true, verify): Use it if available.  This generates better
5366         diagnostics with GCC 4.6.0 and later.
5367
5368 2011-04-05  Bruno Haible  <bruno@clisp.org>
5369
5370         Remove leftover generated .h files after config.status changed.
5371
5372         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
5373         GL_GENERATE_ALLOCA_H.
5374         * modules/alloca-opt (Makefile.am): Remove alloca.h if
5375         GL_GENERATE_ALLOCA_H evaluates to false.
5376
5377         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
5378         GL_GENERATE_ARGZ_H.
5379         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
5380         evaluates to false.
5381
5382         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
5383         GL_GENERATE_BYTESWAP_H.
5384         * modules/byteswap (Makefile.am): Remove byteswap.h if
5385         GL_GENERATE_BYTESWAP_H evaluates to false.
5386
5387         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
5388         GL_GENERATE_ERRNO_H.
5389         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
5390         evaluates to false.
5391
5392         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
5393         GL_GENERATE_FLOAT_H.
5394         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
5395         evaluates to false.
5396
5397         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
5398         GL_GENERATE_FNMATCH_H.
5399         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
5400         GL_GENERATE_FNMATCH_H evaluates to false.
5401
5402         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
5403         GL_GENERATE_GLOB_H.
5404         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
5405         evaluates to false.
5406
5407         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
5408         automake conditional GL_GENERATE_ICONV_H.
5409         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
5410         evaluates to false.
5411
5412         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
5413         GL_GENERATE_NETINET_IN_H.
5414         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
5415         GL_GENERATE_NETINET_IN_H evaluates to false.
5416
5417         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
5418         conditional GL_GENERATE_PTHREAD_H.
5419         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
5420         * modules/pthread (Makefile.am): Remove pthread.h if
5421         GL_GENERATE_PTHREAD_H evaluates to false.
5422
5423         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
5424         GL_GENERATE_SCHED_H.
5425         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
5426         evaluates to false.
5427
5428         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
5429         conditional GL_GENERATE_SELINUX_CONTEXT_H.
5430         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
5431         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
5432
5433         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
5434         GL_GENERATE_STDARG_H.
5435         * modules/stdarg (Makefile.am): Remove stdarg.h if
5436         GL_GENERATE_STDARG_H evaluates to false.
5437
5438         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
5439         GL_GENERATE_STDBOOL_H.
5440         * modules/stdbool (Makefile.am): Remove stdbool.h if
5441         GL_GENERATE_STDBOOL_H evaluates to false.
5442
5443         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
5444         conditional GL_GENERATE_STDDEF_H.
5445         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
5446         * modules/stddef (Makefile.am): Remove stddef.h if
5447         GL_GENERATE_STDDEF_H evaluates to false.
5448
5449         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
5450         GL_GENERATE_STDINT_H.
5451         * modules/stdint (Makefile.am): Remove stdint.h if
5452         GL_GENERATE_STDINT_H evaluates to false.
5453
5454         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
5455         GL_GENERATE_SYSEXITS_H.
5456         * modules/sysexits (Makefile.am): Remove sysexits.h if
5457         GL_GENERATE_SYSEXITS_H evaluates to false.
5458
5459         Reported by Karl Berry and Ralf Wildenhues.
5460
5461 2011-04-05  Bruno Haible  <bruno@clisp.org>
5462
5463         Ensure to rebuild generated .h files when config.status has changed.
5464         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
5465         config.status.
5466         * modules/ctype (Makefile.am): Likewise.
5467         * modules/dirent (Makefile.am): Likewise.
5468         * modules/errno (Makefile.am): Likewise.
5469         * modules/fcntl-h (Makefile.am): Likewise.
5470         * modules/float (Makefile.am): Likewise.
5471         * modules/getopt-posix (Makefile.am): Likewise.
5472         * modules/glob (Makefile.am): Likewise.
5473         * modules/iconv-h (Makefile.am): Likewise.
5474         * modules/inttypes (Makefile.am): Likewise.
5475         * modules/langinfo (Makefile.am): Likewise.
5476         * modules/locale (Makefile.am): Likewise.
5477         * modules/math (Makefile.am): Likewise.
5478         * modules/netdb (Makefile.am): Likewise.
5479         * modules/netinet_in (Makefile.am): Likewise.
5480         * modules/poll-h (Makefile.am): Likewise.
5481         * modules/pthread (Makefile.am): Likewise.
5482         * modules/pty (Makefile.am): Likewise.
5483         * modules/sched (Makefile.am): Likewise.
5484         * modules/search (Makefile.am): Likewise.
5485         * modules/selinux-h (Makefile.am): Likewise.
5486         * modules/signal (Makefile.am): Likewise.
5487         * modules/spawn (Makefile.am): Likewise.
5488         * modules/stdarg (Makefile.am): Likewise.
5489         * modules/stdbool (Makefile.am): Likewise.
5490         * modules/stddef (Makefile.am): Likewise.
5491         * modules/stdint (Makefile.am): Likewise.
5492         * modules/stdio (Makefile.am): Likewise.
5493         * modules/stdlib (Makefile.am): Likewise.
5494         * modules/string (Makefile.am): Likewise.
5495         * modules/strings (Makefile.am): Likewise.
5496         * modules/sys_file (Makefile.am): Likewise.
5497         * modules/sys_ioctl (Makefile.am): Likewise.
5498         * modules/sys_select (Makefile.am): Likewise.
5499         * modules/sys_socket (Makefile.am): Likewise.
5500         * modules/sys_stat (Makefile.am): Likewise.
5501         * modules/sys_time (Makefile.am): Likewise.
5502         * modules/sys_times (Makefile.am): Likewise.
5503         * modules/sys_utsname (Makefile.am): Likewise.
5504         * modules/sys_wait (Makefile.am): Likewise.
5505         * modules/sysexits (Makefile.am): Likewise.
5506         * modules/termios (Makefile.am): Likewise.
5507         * modules/time (Makefile.am): Likewise.
5508         * modules/unistd (Makefile.am): Likewise.
5509         * modules/wchar (Makefile.am): Likewise.
5510         * modules/wctype-h (Makefile.am): Likewise.
5511         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
5512
5513 2011-04-05  Bruno Haible  <bruno@clisp.org>
5514
5515         pipe2: Relicense under LGPLv2+.
5516         * modules/pipe2 (License): Change to LGPLv2+.
5517         Requested by Eric Blake, for libvirt.
5518
5519 2011-04-05  Bruce Korb  <bkorb@gnu.org>
5520
5521         bootstrap: compute gnulib_extra_files after updating build_aux
5522         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
5523         change build_aux or also supply gnulib_extra_files.  Handle correctly.
5524
5525 2011-04-05  Eric Blake  <eblake@redhat.com>
5526
5527         bootstrap: preserve git whitelist item sorting
5528         * build-aux/bootstrap (sort_patterns): New function.
5529         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
5530
5531 2011-04-05  Simon Josefsson  <simon@josefsson.org>
5532
5533         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
5534         sc_space_tab check.
5535
5536 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
5537
5538         areadlink, areadlinkat: rewrite in terms of careadlinkat
5539         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
5540         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
5541         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
5542         (malloc, realloc): Remove #undefs.
5543         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
5544         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
5545         readlink, ssize_t, stdint, unistd.
5546         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
5547         areadlink, stdint.
5548
5549         careadlinkat: new module
5550         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
5551         * modules/careadlinkat: New files, written by me with
5552         a review and feedback from Ben Pfaff in
5553         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
5554
5555 2011-04-01  Bruno Haible  <bruno@clisp.org>
5556
5557         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
5558         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
5559         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
5560         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
5561         Reported by Bruce Korb <bruce.korb@gmail.com>.
5562
5563 2011-04-01  Bruno Haible  <bruno@clisp.org>
5564
5565         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
5566         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
5567         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
5568         * modules/wcpcpy (Depends-on): Add extensions.
5569         * modules/wcpncpy (Depends-on): Likewise.
5570         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
5571         systems.
5572         * doc/posix-functions/wcpncpy.texi: Likewise.
5573         * doc/posix-functions/wcwidth.texi: Likewise.
5574
5575 2011-03-31  Eric Blake  <eblake@redhat.com>
5576
5577         nonblocking: fix mingw test failures
5578         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
5579         non-blocking flag on regular file.
5580         (get_nonblocking_flag): Set errno on invalid fd.
5581         * tests/test-nonblocking.c (main): Avoid test failure on
5582         directories if fchdir is not active.
5583         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
5584
5585 2011-03-31  Bruno Haible  <bruno@clisp.org>
5586
5587         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
5588         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
5589         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
5590         Reported by Simon Josefsson <simon@josefsson.org>.
5591
5592 2011-03-31  Bruno Haible  <bruno@clisp.org>
5593         and Eric Blake  <eblake@redhat.com>
5594
5595         nonblocking: new module
5596         * modules/nonblocking: New module.
5597         * modules/nonblocking-tests: Likewise.
5598         * lib/nonblocking.h: New file.
5599         * lib/nonblocking.c: Likewise.
5600         * tests/test-nonblocking.c: New test.
5601         * lib/ioctl.c (ioctl) [mingw]: Update comment.
5602
5603 2011-03-30  Bruno Haible  <bruno@clisp.org>
5604
5605         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
5606         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
5607         instead of 'printf' format for GCC >= 4.4.
5608         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
5609         (fprintf, printf, vfprintf, vprintf): Declare with
5610         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
5611         the system's vfprintf() function.
5612         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
5613
5614 2011-03-30  Eric Blake  <eblake@redhat.com>
5615
5616         passfd: fix scoping bug
5617         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
5618         before sendmsg/recvmsg.
5619
5620         passfd: standardize coding conventions
5621         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
5622         can be learned at compile time.
5623         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
5624         ifdefs.
5625         (sendfd, recvfd): Follow gnulib code conventions.
5626
5627         passfd: fix incorrect sendmsg arguments
5628         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
5629         incorrect msg_controllen value.
5630         * modules/passfd-tests (Depends-on): Check for alarm.
5631         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
5632         Reported by Bastien ROUCARIES.
5633
5634 2011-03-30  Bruno Haible  <bruno@clisp.org>
5635
5636         c-strcasestr: Relicense under LGPLv2+.
5637         * modules/c-strcasestr (License): Change to LGPLv2+.
5638         Requested by Eric Blake, for libvirt.
5639
5640 2011-03-30  Simon Josefsson  <simon@josefsson.org>
5641
5642         * users.txt: Add libidn2.  Fix libtasn1 link.
5643
5644 2011-03-30  Jim Meyering  <meyering@redhat.com>
5645
5646         tests: readlink* ("",... fails with EINVAL on newer kernels
5647         readlink and readlinkat have typically failed with ENOENT for
5648         the invalid, empty file name,  "".  However, with the advent
5649         of linux-2.6.39, they fail with EINVAL.
5650         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
5651         when operating on the empty file name.
5652         * tests/test-readlink.h (test_readlink): Likewise.
5653
5654 2011-03-29  Bruno Haible  <bruno@clisp.org>
5655
5656         Relicense some modules under LGPLv2+, for libidn2.
5657         * modules/array-mergesort (License): Change to LGPLv2+.
5658         * modules/c-strcaseeq (License): Likewise.
5659         * modules/striconveh (License): Likewise.
5660         * modules/striconveha (License): Likewise.
5661         * modules/uniconv/base (License): Likewise.
5662         * modules/uniconv/u8-conv-from-enc (License): Likewise.
5663         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
5664         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
5665         * modules/unictype/base (License): Likewise.
5666         * modules/unictype/bidiclass-of (License): Likewise.
5667         * modules/unictype/category-M (License): Likewise.
5668         * modules/unictype/category-none (License): Likewise.
5669         * modules/unictype/category-of (License): Likewise.
5670         * modules/unictype/category-test (License): Likewise.
5671         * modules/unictype/category-test-withtable (License): Likewise.
5672         * modules/unictype/combining-class (License): Likewise.
5673         * modules/unictype/joiningtype-of (License): Likewise.
5674         * modules/unictype/scripts (License): Likewise.
5675         * modules/uninorm/base (License): Likewise.
5676         * modules/uninorm/canonical-decomposition (License): Likewise.
5677         * modules/uninorm/composition (License): Likewise.
5678         * modules/uninorm/decompose-internal (License): Likewise.
5679         * modules/uninorm/decomposition-table (License): Likewise.
5680         * modules/uninorm/nfc (License): Likewise.
5681         * modules/uninorm/nfd (License): Likewise.
5682         * modules/uninorm/u32-normalize (License): Likewise.
5683         * modules/unistr/base (License): Likewise.
5684         * modules/unistr/u32-cpy (License): Likewise.
5685         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
5686         * modules/unistr/u32-to-u8 (License): Likewise.
5687         * modules/unistr/u32-uctomb (License): Likewise.
5688         * modules/unistr/u8-check (License): Likewise.
5689         * modules/unistr/u8-mblen (License): Likewise.
5690         * modules/unistr/u8-mbtouc (License): Likewise.
5691         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
5692         * modules/unistr/u8-mbtoucr (License): Likewise.
5693         * modules/unistr/u8-prev (License): Likewise.
5694         * modules/unistr/u8-strlen (License): Likewise.
5695         * modules/unistr/u8-to-u32 (License): Likewise.
5696         * modules/unistr/u8-uctomb (License): Likewise.
5697         * modules/unitypes (License): Likewise.
5698         Requested by Simon Josefsson.
5699
5700 2011-03-29  Simon Josefsson  <simon@josefsson.org>
5701
5702         lib-symbol-visibility: Add a notice.
5703         * modules/lib-symbol-visibility (Notice): New field.
5704
5705 2011-03-29  Bruno Haible  <bruno@clisp.org>
5706
5707         getaddrinfo: Doc fix.
5708         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
5709         section "fixed in Gnulib".
5710
5711 2011-03-28  Simon Josefsson  <simon@josefsson.org>
5712
5713         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
5714         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
5715
5716 2011-03-26  Bruno Haible  <bruno@clisp.org>
5717
5718         unictype/property-byname: Reduce the number of load-time relocations.
5719         * lib/unictype/pr_byname.c: Include <stdlib.h>.
5720         (UC_PROPERTY_INDEX_*): New enumeration values.
5721         (uc_property_byname): Convert an index from the lookup table to an
5722         uc_property_t.
5723         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
5724         values.
5725
5726 2011-03-26  Bruno Haible  <bruno@clisp.org>
5727
5728         unictype/property-byname: Allow omitted word separators and aliases.
5729         * lib/unictype/pr_byname.gperf: Add property names without word
5730         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
5731         for 'space'.
5732
5733 2011-03-26  Bruno Haible  <bruno@clisp.org>
5734
5735         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
5736         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
5737         also hyphens to space.
5738         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
5739         without spaces.
5740         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
5741
5742 2011-03-26  Bruno Haible  <bruno@clisp.org>
5743
5744         unictype/joiningtype-byname: Recognize long names as well.
5745         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
5746         a long name.
5747         * lib/unictype/joiningtype_byname.c: Include <string.h>,
5748         unictype/joiningtype_byname.h.
5749         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
5750         * lib/unictype/joiningtype_byname.gperf: New file.
5751         * modules/unictype/joiningtype-byname (Files): Add
5752         lib/unictype/joiningtype_byname.gperf.
5753         (Depends-on): Add gperf.
5754         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
5755         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
5756         long names.
5757
5758         Tests for module 'unictype/joiningtype-longname'.
5759         * modules/unictype/joiningtype-longname-tests: New file.
5760         * tests/unictype/test-joiningtype_longname.c: New file.
5761
5762         New module 'unictype/joiningtype-longname'.
5763         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
5764         * lib/unictype/joiningtype_longname.c: New file.
5765         * modules/unictype/joiningtype-longname: New file.
5766         * modules/unictype/joiningtype-all (Depends-on): Add
5767         unictype/joiningtype-longname.
5768
5769 2011-03-26  Bruno Haible  <bruno@clisp.org>
5770
5771         unictype/bidiclass-byname: Recognize long names as well.
5772         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
5773         name.
5774         * lib/unictype/bidi_byname.c: Include <string.h>,
5775         unictype/bidi_byname.h.
5776         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
5777         * lib/unictype/bidi_byname.gperf: New file.
5778         * modules/unictype/bidiclass-byname (Files): Add
5779         lib/unictype/bidi_byname.gperf.
5780         (Depends-on): Add gperf.
5781         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
5782         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
5783         long names.
5784
5785         Tests for module 'unictype/bidiclass-longname'.
5786         * modules/unictype/bidiclass-longname-tests: New file.
5787         * tests/unictype/test-bidi_longname.c: New file.
5788
5789         New module 'unictype/bidiclass-longname'.
5790         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
5791         * lib/unictype/bidi_longname.c: New file.
5792         * modules/unictype/bidiclass-longname: New file.
5793         * modules/unictype/bidiclass-all (Depends-on): Add
5794         unictype/bidiclass-longname.
5795
5796 2011-03-26  Bruno Haible  <bruno@clisp.org>
5797
5798         unictype/bidi*: Rename modules.
5799         * modules/unictype/bidiclass-all: Renamed from
5800         modules/unictype/bidicategory-all.
5801         * modules/unictype/bidiclass-name: Renamed from
5802         modules/unictype/bidiclass-name.
5803         (Description): Update.
5804         * modules/unictype/bidiclass-name-tests: Renamed from
5805         modules/unictype/bidicategory-name-tests.
5806         * modules/unictype/bidiclass-byname: Renamed from
5807         modules/unictype/bidicategory-byname.
5808         (Description): Update.
5809         * modules/unictype/bidiclass-byname-tests: Renamed from
5810         modules/unictype/bidicategory-byname-tests.
5811         * modules/unictype/bidiclass-of: Renamed from
5812         modules/unictype/bidicategory-of.
5813         (Description): Update.
5814         * modules/unictype/bidiclass-of-tests: Renamed from
5815         modules/unictype/bidicategory-of-tests.
5816         * modules/unictype/bidiclass-test: Renamed from
5817         modules/unictype/bidicategory-test.
5818         (Description): Update.
5819         * modules/unictype/bidiclass-test-tests: Renamed from
5820         modules/unictype/bidicategory-test-tests.
5821         * modules/unictype/bidicategory-all: New file, a simple redirection.
5822         * modules/unictype/bidicategory-name: Likewise.
5823         * modules/unictype/bidicategory-byname: Likewise.
5824         * modules/unictype/bidicategory-of: Likewise.
5825         * modules/unictype/bidicategory-test: Likewise.
5826         * modules/unictype/property-bidi-* (Dependencies): Update.
5827         * lib/unictype/bidi_*.c: Update comment.
5828
5829 2011-03-26  Bruno Haible  <bruno@clisp.org>
5830
5831         unictype/bidi*: Rename functions, part 2.
5832         * modules/unictype/bidicategory-name (configure.ac): Update required
5833         libunistring version.
5834         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
5835
5836 2011-03-25  Bruno Haible  <bruno@clisp.org>
5837
5838         New module 'unictype/combining-class-all'.
5839         * modules/unictype/combining-class-all: New file.
5840
5841         Tests for module 'unictype/combining-class-byname'.
5842         * modules/unictype/combining-class-byname-tests: New file.
5843         * tests/unictype/test-combiningclass_byname.c: New file.
5844
5845         New module 'unictype/combining-class-byname'.
5846         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
5847         * lib/unictype/combiningclass_byname.c: New file.
5848         * lib/unictype/combiningclass_byname.gperf: New file.
5849         * modules/unictype/combining-class-byname: New file.
5850
5851         Tests for module 'unictype/combining-class-longname'.
5852         * modules/unictype/combining-class-longname-tests: New file.
5853         * tests/unictype/test-combiningclass_longname.c: New file.
5854
5855         New module 'unictype/combining-class-longname'.
5856         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
5857         * lib/unictype/combiningclass_longname.c: New file.
5858         * modules/unictype/combining-class-longname: New file.
5859
5860         Tests for module 'unictype/combining-class-name'.
5861         * modules/unictype/combining-class-name-tests: New file.
5862         * tests/unictype/test-combiningclass_name.c: New file.
5863
5864         New module 'unictype/combining-class-name'.
5865         * lib/unictype.in.h (uc_combining_class_name): New declaration.
5866         * lib/unictype/combiningclass_name.c: New file.
5867         * modules/unictype/combining-class-name: New file.
5868
5869 2011-03-25  Bruno Haible  <bruno@clisp.org>
5870
5871         unictype/combining-class: Rename source files.
5872         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
5873         of unictype/combining.h.
5874         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
5875         Update.
5876         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
5877         * modules/unictype/combining-class (Description): Fix.
5878         (Files, Makefile.am): Update.
5879         * tests/unictype/test-combiningclass.c: Renamed from
5880         tests/unictype/test-combining.c.
5881         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
5882
5883 2011-03-25  Bruno Haible  <bruno@clisp.org>
5884
5885         unictype: Update list of canonical combining classes.
5886         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
5887
5888 2011-03-25  Bruno Haible  <bruno@clisp.org>
5889
5890         unictype/category-byname: Recognize long names as well.
5891         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
5892         a long name.
5893         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
5894         unictype/categ_byname.h.
5895         (UC_CATEGORY_INDEX_*): New enumeration values.
5896         (uc_general_category_byname): Use uc_general_category_lookup and
5897         convert from index to value.
5898         * lib/unictype/categ_byname.gperf: New file.
5899         * modules/unictype/category-byname (Files): Add
5900         lib/unictype/categ_byname.gperf.
5901         (Depends-on): Add gperf.
5902         (Makefile.am): Add rule for generating unictype/categ_byname.h.
5903         * tests/unictype/test-categ_byname.c (main): Test the recognition of
5904         long names.
5905
5906         Tests for module 'unictype/category-longname'.
5907         * modules/unictype/category-longname-tests: New file.
5908         * tests/unictype/test-categ_longname.c: New file.
5909
5910         New module 'unictype/category-longname'.
5911         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
5912         * lib/unictype/categ_longname.c: New file.
5913         * modules/unictype/category-longname: New file.
5914         * modules/unictype/category-all (Depends-on): Add it.
5915
5916 2011-03-25  Bruno Haible  <bruno@clisp.org>
5917
5918         Tests for module 'unictype/category-LC'.
5919         * modules/unictype/category-LC-tests: New file.
5920         * tests/unictype/test-categ_LC.c: New file, automatically generated.
5921
5922         New module 'unictype/category-LC'.
5923         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
5924         (UC_CATEGORY_LC): New declaration.
5925         (UC_CASED_LETTER): New macro.
5926         * lib/gen-uni-tables.c (is_category_LC): New function.
5927         (output_categories): Also handle category LC.
5928         (UC_CATEGORY_MASK_LC): New enumeration value.
5929         (general_category_byname): Also handle category LC.
5930         * lib/unictype/categ_LC.c: New file.
5931         * lib/unictype/categ_LC.h: New file, automatically generated.
5932         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
5933         category LC.
5934         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
5935         * modules/unictype/category-LC: New file.
5936         * modules/unictype/category-byname (Depends-on): Add
5937         unictype/category-LC.
5938         * modules/unictype/category-all (Depends-on): Likewise.
5939
5940 2011-03-25  Eric Blake  <eblake@redhat.com>
5941
5942         xmalloc: revert yesterday's regression
5943         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
5944         realloc's underlying behavior (allowing allocation of zero-size
5945         objects, especially if malloc-gnu is also in use).
5946
5947 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
5948
5949         maint.mk: add missing version to VC-tag
5950         * top/maint.mk: git tag was missing actual tag name; add it.
5951
5952         valgrind: do leak checking, and exit with code 1 on error (not 0)
5953         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
5954         to VALGRIND.
5955
5956 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
5957
5958         posix-modules: say what it does.
5959         * posix-modules: Add a line to the --help output saying what it does.
5960
5961 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
5962
5963         xmalloc: Do not leak if underlying realloc is C99 compatible.
5964         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
5965         This avoids a leak on C99-based systems.  See
5966         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
5967
5968 2011-03-24  Eric Blake  <eblake@redhat.com>
5969
5970         realloc: document portability problem
5971         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
5972         passing 0 size to realloc.
5973
5974 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
5975
5976         doc: update users.txt
5977         * users.txt: Add cvsps, tmpwatch
5978
5979 2011-03-23  Matt Rice  <ratmice@gmail.com>
5980
5981         doc: update users.txt
5982         * users.txt: Add gdb.
5983
5984 2011-03-23  Jim Meyering  <meyering@redhat.com>
5985
5986         doc: update users.txt
5987         Looking through matches up to the following URL (there are still
5988         several more pages), I found several projects that use gnulib:
5989         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
5990         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
5991         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
5992
5993 2011-03-22  Bruno Haible  <bruno@clisp.org>
5994
5995         unictype/bidi*: Rename functions.
5996         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
5997         uc_bidi_class, uc_is_bidi_class): New declarations.
5998         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
5999         uc_bidi_category_byname.
6000         (uc_bidi_category_byname): New function.
6001         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
6002         u_bidi_category_name.
6003         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
6004         (uc_bidi_category_name): New function.
6005         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
6006         uc_bidi_category.
6007         (uc_bidi_category): New function.
6008         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
6009         uc_is_bidi_category. Invoke uc_bidi_class.
6010         (uc_is_bidi_category): New function.
6011         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
6012         instead of uc_bidi_category_byname.
6013         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
6014         instead of uc_bidi_category_name.
6015         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
6016         uc_bidi_category.
6017         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
6018         instead of uc_is_bidi_category.
6019
6020 2011-03-21  Bruno Haible  <bruno@clisp.org>
6021
6022         New module 'unictype/joininggroup-all'.
6023         * modules/unictype/joininggroup-all: New file.
6024
6025         Tests for module 'unictype/joininggroup-of'.
6026         * modules/unictype/joininggroup-of-tests: New file.
6027         * tests/unictype/test-joininggroup_of.c: New file.
6028         * tests/unictype/test-joininggroup_of.h: New file, automatically
6029         generated by gen-uni-tables.
6030
6031         New module 'unictype/joininggroup-of'.
6032         * modules/unictype/joininggroup-of: New file.
6033         * lib/unictype/joininggroup_of.c: New file.
6034         * lib/unictype/joininggroup_of.h: New file, automatically generated by
6035         gen-uni-tables.
6036
6037         Tests for module 'unictype/joininggroup-byname'.
6038         * modules/unictype/joininggroup-byname-tests: New file.
6039         * tests/unictype/test-joininggroup_byname.c: New file.
6040
6041         New module 'unictype/joininggroup-byname'.
6042         * modules/unictype/joininggroup-byname: New file.
6043         * lib/unictype/joininggroup_byname.c: New file.
6044         * lib/unictype/joininggroup_byname.gperf: New file.
6045
6046         Tests for module 'unictype/joininggroup-name'.
6047         * modules/unictype/joininggroup-name-tests: New file.
6048         * tests/unictype/test-joininggroup_name.c: New file.
6049
6050         New module 'unictype/joininggroup-name'.
6051         * modules/unictype/joininggroup-name: New file.
6052         * lib/unictype/joininggroup_name.c: New file.
6053         * lib/unictype/joininggroup_name.h: New file.
6054
6055         New module 'unictype/joiningtype-all'.
6056         * modules/unictype/joiningtype-all: New file.
6057
6058         Tests for module 'unictype/joiningtype-of'.
6059         * modules/unictype/joiningtype-of-tests: New file.
6060         * tests/unictype/test-joiningtype_of.c: New file.
6061         * tests/unictype/test-joiningtype_of.h: New file, automatically
6062         generated by gen-uni-tables.
6063
6064         New module 'unictype/joiningtype-of'.
6065         * modules/unictype/joiningtype-of: New file.
6066         * lib/unictype/joiningtype_of.c: New file.
6067         * lib/unictype/joiningtype_of.h: New file, automatically generated by
6068         gen-uni-tables.
6069
6070         Tests for module 'unictype/joiningtype-byname'.
6071         * modules/unictype/joiningtype-byname-tests: New file.
6072         * tests/unictype/test-joiningtype_byname.c: New file.
6073
6074         New module 'unictype/joiningtype-byname'.
6075         * modules/unictype/joiningtype-byname: New file.
6076         * lib/unictype/joiningtype_byname.c: New file.
6077
6078         Tests for module 'unictype/joiningtype-name'.
6079         * modules/unictype/joiningtype-name-tests: New file.
6080         * tests/unictype/test-joiningtype_name.c: New file.
6081
6082         New module 'unictype/joiningtype-name'.
6083         * modules/unictype/joiningtype-name: New file.
6084         * lib/unictype/joiningtype_name.c: New file.
6085
6086         unictype: Add support for Arabic shaping properties.
6087         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
6088         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
6089         declarations.
6090         (UC_JOINING_GROUP_*): New enumeration values.
6091         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
6092         declarations.
6093         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
6094         (unicode_joining_type): New variable.
6095         (UC_JOINING_GROUP_*): New enumeration values.
6096         (unicode_joining_group): New variable.
6097         (fill_arabicshaping, joining_type_as_c_identifier,
6098         output_joining_type_test, output_joining_type,
6099         joining_group_as_c_identifier, output_joining_group_test,
6100         output_joining_group): New functions.
6101         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
6102         fill_arabicshaping and output_joining_type_test, output_joining_type,
6103         output_joining_group_test, output_joining_group.
6104         Reported by Simon Josefsson.
6105
6106 2011-03-21  Jim Meyering  <meyering@redhat.com>
6107
6108         strftime: fix a bug in yesterday's change
6109         * lib/strftime.c (add): Accommodate width's initial value of -1.
6110         Otherwise, nstrftime would copy uninitialized data into
6111         the result buffer.
6112
6113 2011-03-21  Jim Meyering  <meyering@redhat.com>
6114
6115         tests: add strftime-tests module
6116         * tests/test-strftime.c: New file.
6117         * modules/strftime-tests: New module.
6118
6119 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6120
6121         strftime: don't assume a byte count fits in 'int'
6122         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
6123         found this problem by static analysis, using gcc -Wstrict-overflow
6124         (GCC 4.5.2, x86-64).  This reported an optimization that depended
6125         on an integer overflow having undefined behavior, but it turns out
6126         that the argument is a size, which might not fit in 'int' anyway,
6127
6128 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6129
6130         stdio: don't require ignore_value around fwrite
6131
6132         This patch works around libc bug 11959
6133         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
6134         Without this patch, applications must often write
6135         ignore_value (fwrite (...)) even though the ignore_value is
6136         not helpful here.  It's common to write many objects, using
6137         fwrite/printf/etc., and then use ferror to detect output error.
6138
6139         I considered making this patch optional, but decided against it,
6140         because libc is obviously being inconsistent here: there is no
6141         reason libc should insist that user code must inspect fwrite
6142         return's value without also insisting that it inspect printf's,
6143         putchar's, etc.  If user code wants to have a strict style where
6144         all these functions' values are checked (so that ferror need not
6145         be checked), we could add support for that style in a new gnulib
6146         module, but in the meantime it's better to be consistent and to
6147         support common usage.
6148
6149         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
6150         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
6151         that we are compiling in checking mode, and if not C++, and
6152         if not already wrapping fwrite for some other reason.
6153         (fwrite): #define to rpl_fwrite if the latter is defined.
6154
6155 2011-03-20  Bruno Haible  <bruno@clisp.org>
6156
6157         verror: Fix compilation error introduced on 2011-02-13.
6158         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
6159         instead of __attribute__.
6160         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6161
6162 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6163             Bruno Haible  <bruno@clisp.org>
6164
6165         socklen: do not depend on sys_socket
6166         While trying to modify Emacs to use gnulib's socklen module,
6167         I discovered a circular dependency: socklen depends on sys_socket
6168         and vice versa.  Emacs can use socklen, but it does not need
6169         sys_socket because it has its own substitute for sys/socket.h.
6170         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
6171         gl_TYPE_SOCKLEN_T.
6172         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
6173         gl_PREREQ_SYS_H_SOCKET.
6174         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
6175         gl_PREREQ_SYS_H_SOCKET.
6176         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
6177         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
6178         * modules/socklen (Depends-on): Do not depend on sys_socket.
6179         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
6180
6181 2011-03-20  Jim Meyering  <meyering@redhat.com>
6182
6183         maint.mk: sort file names *after* new transformation
6184         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
6185         prefix would have led to an unwarranted failure in GNU parted.
6186         Sort after that transformation.
6187
6188 2011-03-19  Jim Meyering  <meyering@redhat.com>
6189
6190         maint.mk: fix po-file syntax-check rule
6191         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
6192         Patch by Bruno Haible.
6193
6194 2011-03-19  Bruno Haible  <bruno@clisp.org>
6195
6196         socklen: Update comment.
6197         * m4/socklen.m4: Update comment about platforms.
6198
6199 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6200             Bruno Haible  <bruno@clisp.org>
6201
6202         inet_ntop, inet_pton: Simplify.
6203         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
6204         documented to provide socklen_t and we already depend on sys_socket.
6205         * modules/inet_pton (Depends-on): Likewise.
6206         * lib/arpa_inet.in.h: Adjust comment.
6207
6208 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6209             Bruno Haible  <bruno@clisp.org>
6210
6211         netdb: Simplify.
6212         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
6213         documented to provide socklen_t and we already depend on sys_socket.
6214         * lib/netdb.in.h: Adjust comment.
6215
6216 2011-03-19  Bruno Haible  <bruno@clisp.org>
6217
6218         sys_socket, netdb: Document problem with socklen_t.
6219         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
6220         platforms.
6221         * doc/posix-headers/netdb.texi: Likewise.
6222
6223 2011-03-18  Eric Blake  <eblake@redhat.com>
6224
6225         maint.mk: let po check work in VPATH build
6226         * top/maint.mk (po_file): Allow cfg.mk override.
6227         (sc_po_check): Allow VPATH use.
6228         Reported by Jiri Denemark.
6229
6230 2011-03-16  Jim Meyering  <meyering@redhat.com>
6231
6232         maint.mk: allow fine-grained syntax-check exclusion via Make variables
6233         Before, you would have had to create one .x-sc_ file per rule in order
6234         to exempt offending files.  Now, you may instead use a Make variable --
6235         usually defined in cfg.mk -- whose name identifies the affected rule.
6236         * top/maint.mk (_sc_excl): Define.
6237         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
6238         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
6239
6240 2011-03-13  Bruno Haible  <bruno@clisp.org>
6241
6242         ignore-value tests: Avoid warnings.
6243         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
6244         empty for gcc < 3.4.
6245
6246 2011-03-13  Bruno Haible  <bruno@clisp.org>
6247
6248         passfd: Fix link error on Solaris.
6249         * modules/passfd (Description): Correct.
6250         (Depends-on): Add socketlib.
6251         (Link): New section.
6252         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
6253
6254 2011-03-13  Bruno Haible  <bruno@clisp.org>
6255
6256         passfd: Fix link error on AIX 5.2.
6257         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
6258
6259 2011-03-13  Bruno Haible  <bruno@clisp.org>
6260
6261         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
6262         * lib/sys_socket.in.h: Include <stddef.h>.
6263         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
6264         CMSG_FIRSTHDR. Remove unused variable.
6265
6266 2011-03-13  Bruno Haible  <bruno@clisp.org>
6267
6268         passfd: Fix compilation error on OpenBSD.
6269         * lib/passfd.c: Include <sys/uio.h>.
6270
6271 2011-03-13  Bruno Haible  <bruno@clisp.org>
6272
6273         passfd test: Fix warnings.
6274         * tests/test-passfd.c: Include <sys/wait.h>.
6275         (main): Fix typo.
6276
6277 2011-03-13  Bruno Haible  <bruno@clisp.org>
6278
6279         passfd module, part 4, tweaks.
6280         * tests/test-passfd.c: Reorder includes.
6281         (main): Fix perror and printf calls.
6282
6283 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6284
6285         passfd module, part 4.
6286         * modules/passfd-tests: New file.
6287         * tests/test-passfd.c: New file.
6288
6289 2011-03-13  Jim Meyering  <meyering@redhat.com>
6290
6291         Makefile: rely on GNU make; derive syntax-check rule names
6292         Rather than requiring that each sc_ rule be listed as a dependent
6293         of "check", use features of GNU make to derive the list.
6294         * Makefile (syntax-check-rules): Define.
6295         (check): Depend on the new variable, not the hard-coded list.
6296
6297 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
6298             Bruno Haible  <bruno@clisp.org>
6299
6300         passfd module, part 3.
6301         * lib/passfd.h (recvfd): Add a flags argument.
6302         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
6303         (recvfd): Add a flags argument.
6304         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
6305         exists.
6306         * modules/passfd (Depends-on): Add cloexec.
6307         Suggested by Eric Blake.
6308
6309 2011-03-13  Bruno Haible  <bruno@clisp.org>
6310
6311         passfd module, part 2, tweaks.
6312         * modules/passfd (Files): Reorder.
6313         (Depends-on): Remove errno.
6314         (Include): Remove <sys/socket.h>, <sys/un.h>.
6315         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
6316         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
6317         specification header. Include <sys/socket.h> always. Don't include
6318         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
6319         (sendfd): Clarify that it sets errno when it fails.
6320         (recvfd): Fix specification.
6321
6322 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6323
6324         passfd module, part 2.
6325         * modules/passfd: New file.
6326         * lib/passfd.h: New file.
6327         * lib/passfd.c: New file.
6328
6329 2011-03-12  Bruno Haible  <bruno@clisp.org>
6330
6331         wcswidth, mbswidth: Avoid integer overflow.
6332         * lib/wcswidth.c: Include <limits.h>.
6333         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
6334         * lib/mbswidth.c: Include <limits.h>.
6335         (mbsnwidth): Avoid 'int' overflow.
6336         Reported by Jim Meyering.
6337
6338 2011-03-12  Bruno Haible  <bruno@clisp.org>
6339
6340         futimens, utimensat: Avoid endless recursion on Solaris 10.
6341         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
6342         Solaris.
6343         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
6344         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
6345
6346 2011-03-11  Jim Meyering  <meyering@redhat.com>
6347
6348         maint.mk: relax a regexp to accommodate other formatting styles
6349         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
6350         between "ngettext" and the following "(".
6351
6352 2011-03-11  Pádraig Brady <P@draigBrady.com>
6353
6354         maint.mk: suppress a false positive warning
6355         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
6356         diagnostics are marked with ngettext.
6357
6358 2011-03-10  Eric Blake  <eblake@redhat.com>
6359
6360         wchar: add explicit dependencies, for Tru64
6361         * modules/mbmemcasecoll (Depends-on): Add wchar.
6362         * modules/mbtowc (Depends-on): Likewise.
6363         * modules/vasnprintf (Depends-on): Likewise.
6364         * modules/unistdio/u-printf-args (Depends-on): Likewise.
6365         * modules/wctomb (Depends-on): Likewise.
6366         Reported by Peter O'Gorman.
6367
6368 2011-03-08  Bruno Haible  <bruno@clisp.org>
6369
6370         passfd module, part 1, tweaks.
6371         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
6372         Improve indentation. Improve AC_MSG_CHECKING messages.
6373         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
6374         gl_SOCKET_FAMILIES.
6375
6376 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6377
6378         passfd module, part 1.
6379         * m4/afunix.m4: New file.
6380         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
6381         sockets.
6382
6383 2011-03-08  Bruno Haible  <bruno@clisp.org>
6384
6385         regex-quote: New API.
6386         * lib/regex-quote.h: Include <stdbool.h>.
6387         (struct regex_quote_spec): New type.
6388         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
6389         New declarations.
6390         (regex_quote_length, regex_quote_copy, regex_quote): Take a
6391         'const struct regex_quote_spec *' argument.
6392         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
6393         (pcre_special): New constant.
6394         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
6395         New functions.
6396         (regex_quote_length, regex_quote_copy, regex_quote): Take a
6397         'const struct regex_quote_spec *' argument.
6398         * modules/regex-quote (Depends-on): Add stdbool.
6399         * tests/test-regex-quote.c (check): Update for new API. Add test for
6400         anchored results.
6401         * NEWS: Mention the API change.
6402         Reported by Reuben Thomas and Eric Blake.
6403
6404 2011-03-06  Bruno Haible  <bruno@clisp.org>
6405
6406         regex-quote: Fix creation of POSIX extended regular expressions.
6407         * lib/regex-quote.c (ere_special): Add grouping and alternation
6408         operators.
6409
6410 2011-03-05  Bruno Haible  <bruno@clisp.org>
6411
6412         doc: Improve doc regarding autopoint vs. gnulib.
6413         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
6414         disable autopoint while running autoreconf.
6415         Suggested by Ralf Wildenhues.
6416
6417 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6418
6419         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
6420         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
6421
6422 2011-03-03  Bruce Korb  <bkorb@gnu.org>
6423
6424         parse-duration: remove xalloc.h dependency
6425         * lib/parse-duration.c (parse_period): handle NULL return from
6426         strdup instead of calling xstrdup().
6427         * modules/parse-duration: remove "xalloc" dependency
6428
6429 2011-03-03  Matthew Booth  <mbooth@redhat.com>
6430
6431         bootstrap: honor m4_base when running aclocal
6432         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
6433
6434 2011-03-02  Jim Meyering  <meyering@redhat.com>
6435
6436         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
6437         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
6438         on request from Matt Booth.
6439
6440 2011-03-01  Eric Blake  <eblake@redhat.com>
6441
6442         test-link: work on Hurd
6443         * tests/test-link.h (test_link): Hurd rejects linking directories
6444         with EISDIR instead of the POSIX-mandated EPERM.
6445
6446 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
6447
6448         stdio: simplify by moving files to printf-posix, sigpipe
6449         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
6450         since this symbol is needed only if printf is replaced.
6451         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
6452         Require gl_ASM_SYMBOL_PREFIX.
6453         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
6454         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
6455         (Depends-on): Add 'raise'.
6456         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
6457         * modules/stdio (Files): Remove lib/stdio-write.c,
6458         m4/asm-underscore.m4.
6459         (Depends-on): Remove 'raise'.
6460
6461         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
6462         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
6463         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
6464         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
6465
6466 2011-02-28  Bruno Haible  <bruno@clisp.org>
6467
6468         localcharset: Assume ANSI C behaviour of free().
6469         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
6470         calling free().
6471         Suggested by Simon Josefsson <simon@josefsson.org>.
6472
6473 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
6474             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
6475             Bruno Haible  <bruno@clisp.org>  (tiny change)
6476
6477         On Cygwin, use /proc file system instead of win32 API.
6478         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
6479         Win32 file names.
6480         (DllMain): Simplify by removing Cygwin specific code.
6481         (find_shared_library_fullname): Use Linux specific implementation also
6482         for Cygwin.
6483         (get_shared_library_fullname): Update accordingly.
6484         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
6485         Win32 file names.
6486         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
6487         Cygwin specific code.
6488
6489 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
6490             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
6491
6492         Fix OpenMP flag detection for various Fortran compilers.
6493         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
6494         OpenMP-conditional compilation construct, to force compile
6495         failure with missing OpenMP flag.
6496         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
6497
6498 2011-02-25  Eric Blake  <eblake@redhat.com>
6499
6500         strstr: expand test coverage
6501         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
6502         compilation.
6503         * tests/test-memmem.c (main): Duplicate tests.
6504         * tests/test-strcasestr.c (main): Likewise.
6505         * tests/test-c-strcasestr.c (main): Likewise.
6506
6507 2011-02-25  Jim Meyering  <meyering@redhat.com>
6508
6509         maint.mk: detect missing-NL-at-EOF, too
6510         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
6511         it also detects when a file lacks a newline at EOF.
6512         (require_exactly_one_NL_at_EOF_): Renamed from
6513         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
6514         since people may well have .x-sc_... file names tied to the
6515         existing name.  Suggested by Eric Blake.
6516
6517 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
6518
6519         dirname: move m4/dos.m4 functionality into lib/dosname.h
6520
6521         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
6522         extracts symbols from it, puts them into config.h; but it's much
6523         easier to use the symbols directly.  filename.h already does this,
6524         but it disagrees with dos.m4 in some respects.  This patch
6525         introduces a different include file dosname.h that packages up
6526         dos.m4, and then later we can work on merging filename.h and
6527         dosname.h.  Applications that need only the easy-to-configure
6528         symbols should consider including dosname.h rather than dirname.h.
6529         * NEWS: Mention incompatible changes.
6530         * m4/dos.m4: Remove.
6531         * lib/dosname.h, modules/dosname: New files.
6532         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
6533         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
6534         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
6535         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
6536         Include dosname.h, not dirname.h.
6537         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
6538         Include dosname.h, for definitions of symbols like ISSLASH
6539         that used to be in config.h.
6540         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
6541         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6542         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6543         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6544         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
6545         * modules/rmdir (Files): Likewise.
6546         * modules/stat (Files): Likewise.
6547         * modules/unlink (Files): Likewise.
6548         * modules/dirname-lgpl (Depends-on): Add dosname.
6549         * modules/lstat (Depends-on): Likewise.
6550         * modules/openat (Depends-on): Likewise.
6551         * modules/rmdir (Depends-on): Likewise.
6552         * modules/savewd (Depends-on): Likewise.
6553         * modules/stat (Depends-on): Likewise.
6554         * modules/unlink (Depends-on): Likewise.
6555         * modules/openat (Depends-on): Remove dirname-lgpl.
6556         * modules/savewd (Depends-on): Likewise.
6557         * tests/test-dirname.c: Do not use removed symbols like
6558         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
6559         the remaining symbols, e.g., ISSLASH ('\\').
6560
6561 2011-02-25  Eric Blake  <eblake@redhat.com>
6562
6563         strstr: revert patches that introduced bug and pessimization
6564         * lib/str-two-way.h: Add another reference.
6565         (two_way_short_needle, two_way_long_needle): Revert changes from
6566         2011-02-24; they pessimize search speed.
6567         (critical_factorization): Partially revert changes from
6568         2010-06-22; they violate the requirement that the left half of the
6569         needle be smaller than the period of the needle.
6570
6571 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6572
6573         filenamecat: remove unnecessary dependency on dirname-lgpl
6574         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
6575         is no direct dependency, just an indirect one via filenamecat-lgpl.
6576
6577         remove: remove unnecessary use of m4/dos.m4
6578         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
6579         * modules/remove (FILES): Remove m4/dos.m4.
6580
6581         * lib/openat-proc.c: Don't include dirname.h; not needed.
6582
6583         backupfile: remove unnecessary use of m4/dos.m4
6584         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
6585         of its symbols are used by the backupfile code.  backupfile.c does
6586         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
6587         for the rare case of programs that want all their backup file
6588         names to live within 8+3 limits, and dos.m4 doesn't address that.
6589         * modules/backupfile (Files): Remove m4/dos.m4.
6590
6591 2011-02-24  Jim Meyering  <meyering@redhat.com>
6592
6593         strstr: fix a bug whereby strstr would mistakenly return NULL
6594         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
6595         in period calculation.
6596         (two_way_long_needle): Likewise.
6597         The original problem was reported by Mike Stump in
6598         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
6599         Ralf Wildenhues provided the short needle and haystack.
6600         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
6601         Add a more involved test to trigger the bug in two_way_long_needle.
6602
6603 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
6604
6605         gnulib-tool: remove use of bold display in help screen
6606         * gnulib-tool (func_usage): Do not use bold display anymore in the
6607         help screen.  That was just meant to be a temporary emphasis for a
6608         backward-incompatible change.
6609
6610 2011-02-23  Bruno Haible  <bruno@clisp.org>
6611
6612         Fix misindentation of preprocessor directives.
6613         * lib/argp-namefrob.h: Reindent preprocessor directives.
6614         * lib/getopt_int.h (struct _getopt_data): Likewise.
6615         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
6616         * lib/vasnprintf.c (decode_long_double): Likewise.
6617         * tests/test-argmatch.c: Insert blank lines, for clarity.
6618         * tests/test-exclude.c: Likewise.
6619
6620 2011-02-22  Bruno Haible  <bruno@clisp.org>
6621
6622         ioctl: Fix for MacOS X in 64-bit mode.
6623         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
6624         value.
6625         Suggested by Eric Blake.
6626         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
6627
6628 2011-02-22  Jim Meyering  <meyering@redhat.com>
6629
6630         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
6631         * Makefile (sc_cpp_indent_check): Don't limit the check to files
6632         in lib/.
6633
6634 2011-02-22  Eric Blake  <eblake@redhat.com>
6635
6636         maint: avoid any CDPATH issue
6637         * Makefile (sc_cpp_indent_check): Anchor cd argument.
6638
6639         maint: adjust cpp indentation for my modules, as well
6640         * Makefile (sc_cpp_indent_check): Add my name.
6641         * lib/fbufmode.c: Filter through cppi.
6642         * lib/fpurge.c: Likewise.
6643         * lib/freadable.c: Likewise.
6644         * lib/freading.c: Likewise.
6645         * lib/fwritable.c: Likewise.
6646         * lib/fwriting.c: Likewise.
6647         * lib/sigaction.c: Likewise.
6648
6649 2011-02-22  Jim Meyering  <meyering@redhat.com>
6650
6651         maint: adjust cpp indentation to reflect nesting depth
6652         I.e., in a block of code that begins with an unnested "#if",
6653         put one space between the "#" in column 1 and following token.
6654         For example,
6655         -#include <sys/vfs.h>
6656         +# include <sys/vfs.h>
6657         Do this only in .c files that are part of a module I maintain.
6658         * lib/linkat.c: Filter through cppi.
6659         * lib/nanosleep.c: Likewise.
6660         * lib/openat.c: Likewise.
6661         * lib/openat-die.c: Likewise.
6662         * lib/dup3.c: Likewise.
6663         * lib/fchownat.c: Likewise.
6664         * lib/flock.c: Likewise.
6665         * lib/fsync.c: Likewise.
6666         * lib/fts.c: Likewise.
6667         * lib/getpass.c: Likewise.
6668         * lib/gettimeofday.c: Likewise.
6669         * lib/userspec.c: Likewise.
6670         * Makefile (sc_cpp_indent_check): New rule, to check this.
6671
6672 2011-02-22  Bruno Haible  <bruno@clisp.org>
6673
6674         New module 'wctomb'.
6675         * lib/stdlib.in.h (wctomb): New declaration.
6676         * lib/wctomb.c: New file.
6677         * lib/wctomb-impl.h: New file.
6678         * m4/wctomb.m4: New file.
6679         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
6680         REPLACE_WCTOMB.
6681         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
6682         REPLACE_WCTOMB.
6683         * modules/wctomb: New file.
6684         * tests/test-stdlib-c++.cc: Test signature of wctomb.
6685         * doc/posix-functions/wctomb.texi: Mention the new module.
6686         * modules/wctob (Depends-on): Add wctomb.
6687
6688 2011-02-22  Bruno Haible  <bruno@clisp.org>
6689
6690         New module 'mbtowc'.
6691         * lib/stdlib.in.h (mbtowc): New declaration.
6692         * lib/mbtowc.c: New file.
6693         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
6694         * m4/mbtowc.m4: New file.
6695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
6696         REPLACE_MBTOWC.
6697         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
6698         REPLACE_MBTOWC.
6699         * modules/mbtowc: New file.
6700         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
6701         * doc/posix-functions/mbtowc.texi: Mention the new module.
6702         * modules/btowc (Depends-on): Add mbtowc.
6703
6704 2011-02-22  Bruno Haible  <bruno@clisp.org>
6705
6706         wcrtomb: Add more tests for native Windows platforms.
6707         * tests/test-wcrtomb-w32-1.sh: New file.
6708         * tests/test-wcrtomb-w32-2.sh: New file.
6709         * tests/test-wcrtomb-w32-3.sh: New file.
6710         * tests/test-wcrtomb-w32-4.sh: New file.
6711         * tests/test-wcrtomb-w32-5.sh: New file.
6712         * tests/test-wcrtomb-w32.c: New file.
6713         * modules/wcrtomb-tests (Files): Add them.
6714         (Makefile.am): Arrange to run these tests.
6715         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
6716         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
6717
6718 2011-02-20  Bruno Haible  <bruno@clisp.org>
6719
6720         wcrtomb: Enhance test.
6721         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
6722
6723 2011-02-20  Bruno Haible  <bruno@clisp.org>
6724
6725         mbrtowc: Tiny optimization.
6726         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
6727
6728 2011-02-20  Jim Meyering  <meyering@redhat.com>
6729
6730         test-exclude.c: remove unmatched #endif
6731         * tests/test-exclude.c: Remove stray #endif, left over from
6732         the change of a week ago.
6733
6734 2011-02-19  Jim Meyering  <meyering@redhat.com>
6735
6736         git-version-gen: skip "-dirty" check when appropriate
6737         * build-aux/git-version-gen: Don't run any git commands when the
6738         version string comes from .tarball-version.  Prior to this, we
6739         would run git update-index --refresh even from a just-unpacked
6740         tarball directory, and that could affect a .git/ directory in a
6741         parent of the build directory.  Reported by Mike Frysinger.
6742
6743 2011-02-19  Bruno Haible  <bruno@clisp.org>
6744
6745         unictype/property-byname: Reduce the size of the 'data' segment.
6746         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
6747
6748 2011-02-19  Bruno Haible  <bruno@clisp.org>
6749
6750         unictype/scripts: Reduce the size of the 'data' segment.
6751         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
6752         '%pic'.
6753         * lib/unictype/scripts_byname.gperf: Regenerated.
6754
6755 2011-02-19  Bruno Haible  <bruno@clisp.org>
6756
6757         stdint: Update documentation.
6758         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
6759
6760 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
6761
6762         stdint: omit redundant check for wchar.h
6763         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
6764         always tests whether wchar.h exists, so remove the now-redundant test.
6765
6766 2011-02-18  Bruno Haible  <bruno@clisp.org>
6767
6768         stdint: Cut dependency to module 'wchar'.
6769         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
6770         include the necessary prerequisites.
6771         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
6772         * modules/stdint (Depends-on): Remove wchar.
6773         (Makefile.am): Substitute HAVE_WCHAR_H.
6774         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
6775
6776 2011-02-18  Eric Blake  <eblake@redhat.com>
6777
6778         longlong: skip, rather than fail, on cross-compilation
6779         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
6780         when cross-compiling; regression from 2011-02-16.
6781
6782 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6783
6784         * NEWS: Mention 2011-02-08 change to stdlib.
6785
6786 2011-02-17  Bruno Haible  <bruno@clisp.org>
6787
6788         getloadavg: Add comments about platforms.
6789         * m4/getloadavg.m4: Add comment.
6790         * lib/getloadavg.c: Likewise.
6791
6792 2011-02-17  Bruno Haible  <bruno@clisp.org>
6793
6794         getloadavg: Fix link error on Solaris 2.6.
6795         * modules/getloadavg (Link): New section.
6796         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
6797         linking test-getloadavg.
6798         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
6799         getloadavg.
6800
6801 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6802
6803         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
6804         It was 'int', but this doesn't match the IRIX 6.5 manual.
6805         Suggested by Bruno Haible in
6806         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
6807
6808 2011-02-17  Bruno Haible  <bruno@clisp.org>
6809
6810         havelib: Fix comments.
6811         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
6812         change.
6813
6814 2011-02-17  Bruno Haible  <bruno@clisp.org>
6815
6816         havelib: Update config.rpath.
6817         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
6818
6819 2011-02-17  Bruno Haible  <bruno@clisp.org>
6820
6821         getloadavg test: Add some plausibility checks.
6822         * tests/test-getloadavg.c (check_avg): Print a warning when the value
6823         is improbable.
6824
6825 2011-02-16  Eric Blake  <eblake@redhat.com>
6826
6827         maintainer-makefile: make syntax-check a no-op from tarballs
6828         * top/maint.mk (no-vc-detected): New rule.
6829         (local-checks-available): Use it to avoid hanging if someone tries
6830         'make syntax-check' from a tarball.  Also append to any non-syntax
6831         checks already defined in cfg.mk.
6832
6833 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
6834
6835         longlong: tune, particularly for common case of c99
6836
6837         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
6838         or running anything if c99, or if unsigned long long int does not
6839         work.  In either case, we know the answer without further tests.
6840         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
6841         it at most once, and use its results for both long long int and
6842         unsigned long long int.  This is more likely to be efficient in
6843         the common case where the program wants to check for both long
6844         long int and unsigned long long int.
6845         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
6846         since the answer is already known.
6847
6848 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
6849
6850         getloadavg: set errno
6851         * lib/getloadavg.c: Set errno when returning -1.  If no other
6852         error number looks appropriate, set it to ENOSYS if the getloadavg
6853         looks like it can't possibly ever work, ENOTSUP otherwise.
6854         Suggested by Bruno Haible in
6855         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
6856
6857         getloadavg: trim unused parts and speed up 'configure'
6858         * NEWS: Document this.
6859         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
6860         always compiled if getloadavg is absent.
6861         Move test code to ...
6862         * tests/test-getloadavg.c: New file, containing previous
6863         contents of test from lib/getloadavg.c.  It also contains
6864         suggestions by Bruno Haible in
6865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
6866         * modules/getloadavg-tests: New file.
6867         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
6868         Do tests in the same order as they're needed for getloadavg.c.
6869         Omit setgid-related tests that generate symbols KMEM_GROUP,
6870         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
6871         Do only the tests that are needed to see whether the system has
6872         getloadavg, moving the other tests into ...
6873         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
6874         NLIST_NAME_UNION; nobody should be using it.  Do not define
6875         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
6876         relevant, as the user of this module shouldn't care how getloadavg
6877         is implemented.
6878
6879         getloadavg: omit unused var
6880         * lib/getloadavg.c (getloadavg): Omit unused local variable.
6881
6882 2011-02-15  Jim Meyering  <meyering@redhat.com>
6883
6884         doc: update users.txt
6885         * users.txt: Update iwhd's URL.
6886
6887 2011-02-13  Bruno Haible  <bruno@clisp.org>
6888
6889         Consistent macro naming for macros that use GCC __attribute__.
6890         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
6891         _ATTRIBUTE_NONNULL_.
6892         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
6893         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
6894         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
6895         ATTRIBUTE_DEPRECATED.
6896         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
6897         ATTRIBUTE_NORETURN.
6898         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6899         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6900         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6901         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6902         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
6903         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
6904         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
6905         ATTRIBUTE_SENTINEL.
6906         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
6907         ATTRIBUTE_RETURN_CHECK.
6908         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
6909         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
6910         ATTRIBUTE_NORETURN.
6911         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
6912         Reported by Paul Eggert.
6913
6914 2011-02-13  Bruno Haible  <bruno@clisp.org>
6915
6916         Don't interfere with a program's definition of __attribute__.
6917         * lib/argp.h (__attribute__): Remove definition.
6918         (_GL_ATTRIBUTE_FORMAT): New macro.
6919         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
6920         * lib/argp-fmtstream.h (__attribute__): Remove definition.
6921         (_GL_ATTRIBUTE_FORMAT): New macro.
6922         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
6923         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
6924         GCC 3 or newer.
6925         * lib/error.h (__attribute__): Remove definition.
6926         (_GL_ATTRIBUTE_FORMAT): New macro.
6927         (error, error_at_line): Use it.
6928         * lib/hash.h (__attribute__): Remove definition.
6929         (ATTRIBUTE_WUR): Update definition. Define always.
6930         * lib/openat.h (__attribute__): Remove definition.
6931         (ATTRIBUTE_NORETURN): Update definition. Define always.
6932         * lib/sigpipe-die.h (__attribute__): Remove definition.
6933         (ATTRIBUTE_NORETURN): Update definition. Define always.
6934         * lib/vasnprintf.h (__attribute__): Remove definition.
6935         (_GL_ATTRIBUTE_FORMAT): New macro.
6936         (asnprintf, vasnprintf): Use it.
6937         * lib/xalloc.h (__attribute__): Remove definition.
6938         (ATTRIBUTE_NORETURN): Update definition. Define always.
6939         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
6940         * lib/xmemdup0.h (__attribute__): Remove definition.
6941         (ATTRIBUTE_NORETURN): Update definition. Define always.
6942         * lib/xprintf.h (__attribute__): Remove definition.
6943         (_GL_ATTRIBUTE_FORMAT): New macro.
6944         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
6945         * lib/xstrtol.h (__attribute__): Remove definition.
6946         (ATTRIBUTE_NORETURN): Update definition. Define always.
6947         * lib/xvasprintf.h (__attribute__): Remove definition.
6948         (_GL_ATTRIBUTE_FORMAT): New macro.
6949         (xasprintf, xvasprintf): Use it.
6950         * tests/test-argmatch.c (__attribute__): Remove definition.
6951         (ATTRIBUTE_NORETURN): Update definition. Define always.
6952         * tests/test-exclude.c (__attribute__): Remove definition.
6953         (ATTRIBUTE_NORETURN): Update definition. Define always.
6954         Reported by Paul Eggert.
6955
6956 2011-02-13  Bruno Haible  <bruno@clisp.org>
6957
6958         mbrtowc: Add more tests for native Windows platforms.
6959         * tests/test-mbrtowc-w32-1.sh: New file.
6960         * tests/test-mbrtowc-w32-2.sh: New file.
6961         * tests/test-mbrtowc-w32-3.sh: New file.
6962         * tests/test-mbrtowc-w32-4.sh: New file.
6963         * tests/test-mbrtowc-w32-5.sh: New file.
6964         * tests/test-mbrtowc-w32.c: New file.
6965         * modules/mbrtowc-tests (Files): Add them.
6966         (Makefile.am): Arrange to run these tests.
6967         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
6968         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
6969
6970 2011-02-13  Bruno Haible  <bruno@clisp.org>
6971
6972         mbrtowc: Work around native Windows bug.
6973         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
6974         guess when no suitable locale for testing was found.
6975         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
6976
6977 2011-02-13  Bruno Haible  <bruno@clisp.org>
6978
6979         mbsinit: Work around mingw bug.
6980         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
6981         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
6982         Windows.
6983         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
6984
6985 2011-02-13  Bruno Haible  <bruno@clisp.org>
6986
6987         mbsinit: Don't crash for a NULL argument.
6988         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
6989         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
6990
6991 2011-02-13  Bruno Haible  <bruno@clisp.org>
6992
6993         Don't interfere with a program's definition of __attribute__.
6994         * lib/stdio.in.h (__attribute__): Remove definition.
6995         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
6996         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
6997         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
6998         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
6999         * lib/string.in.h (__attribute__): Remove definition.
7000         Reported by Paul Eggert.
7001
7002 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7003
7004         stdlib: don't get in the way of non-GCC __attribute__
7005         See thread starting at
7006         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
7007         Revert previous stdlib change, installing the following instead:
7008         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
7009         to get in the way of a non-GCC compiler that supports __attribute__.
7010         (_GL_ATTRIBUTE_RETURN): New macro.
7011         (_Exit): Use it instead of __attribute__.
7012
7013 2011-02-12  Bruno Haible  <bruno@clisp.org>
7014
7015         quotearg test: Avoid test failure on mingw.
7016         * tests/test-quotearg.sh: Convert the locale identifier from native
7017         Windows syntax to Unix syntax.
7018
7019 2011-02-12  Bruno Haible  <bruno@clisp.org>
7020
7021         setlocale: Prefer gnulib's override over libintl's override.
7022         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
7023         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
7024         GNULIB_defined_setlocale is set.
7025
7026 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7027
7028         stdlib: support non-GCC __attribute__
7029
7030         Fix a serious and tricky problem encountered when attempting to
7031         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
7032         5.5, but it crashed due to memory corruption on Solaris 10 with
7033         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
7034         bits that are otherwise zero.  This tagging is optional inside
7035         Emacs but is preferred and is used when __attribute__ ((__aligned
7036         (8))) works, as it does with both recent-enough GCC and with Sun C
7037         5.11.  However, Sun C 5.11 is not GCC and does not #define
7038         __GNUC__ and __GNUC_MINOR__.
7039
7040         When I added the getloadavg module to Emacs, it brought in
7041         stdlib.in.h, which contained this fragment:
7042
7043            #ifndef __attribute__
7044            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
7045            #  define __attribute__(Spec)   /* empty */
7046            # endif
7047            #endif
7048
7049         When files that include <stdlib.h> were compiled with Sun C 5.11,
7050         the above code disabled __attribute__ ((__aligned (8))), which
7051         caused variables to not be properly aligned, which eventually led
7052         to the pointer corruption mentioned above.  (This was a bit hard
7053         to diagnose, unfortunately.)
7054
7055         Several "#define __attribute__(X) /* empty */" code snippets need
7056         to be eradicated from Gnulib to work with non-GCC compilers that
7057         support __attribute__.  The Autoconf way to do this is to test for
7058         each kind of attribute that we want support for, and selectively
7059         enable that in source code.
7060
7061         Fix this problem just for stdlib.h, by adding a test for the
7062         __noreturn__ attribute, and change stdlib.in.h to use that test
7063         when needed.  This technique can be easily generalized to the
7064         other *.in.h files and attributes, and a similar technique can be
7065         used for *.h and *.c files.  This patch is enough to solve the
7066         problem for Emacs + getloadavg, and I thought I'd publish it for
7067         feedback before undertaking further, similar fixes in other
7068         modules.
7069
7070         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
7071         because it's not needed for stdlib.h.  It merely substitutes the
7072         value directly into stdlib.h.  We may well need to #define it, or
7073         similar symbols, for other modules, but it's nice to also have an
7074         option to not #define it for applications like Emacs that do not
7075         need it.
7076
7077         * lib/stdlib.in.h (__attribute__): Do not #define.
7078         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
7079         be defined only if the _Exit module is also used.
7080         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
7081         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
7082         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
7083         platforms.
7084         * modules/_Exit (Files): Add m4/attribute.m4.
7085         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
7086         * m4/attribute.m4: New file.
7087
7088 2011-02-12  Bruno Haible  <bruno@clisp.org>
7089
7090         wcsrtombs: Work around bug on native Windows.
7091         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
7092         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
7093         instead of len.
7094         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
7095
7096 2011-02-12  Bruno Haible  <bruno@clisp.org>
7097
7098         mbsrtowcs: Work around bug on native Windows.
7099         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
7100         against mingw bug.
7101         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
7102
7103 2011-02-12  Bruno Haible  <bruno@clisp.org>
7104
7105         Avoid setlocale bugs in tests.
7106         * modules/btowc (Dependencies): Add setlocale.
7107         * modules/c-strcase (Dependencies): Likewise.
7108         * modules/mbmemcasecmp (Dependencies): Likewise.
7109         * modules/mbmemcasecoll (Dependencies): Likewise.
7110         * modules/mbrtowc (Dependencies): Likewise.
7111         * modules/mbscasecmp (Dependencies): Likewise.
7112         * modules/mbscasestr (Dependencies): Likewise.
7113         * modules/mbschr (Dependencies): Likewise.
7114         * modules/mbscspn (Dependencies): Likewise.
7115         * modules/mbsinit (Dependencies): Likewise.
7116         * modules/mbsncasecmp (Dependencies): Likewise.
7117         * modules/mbsnrtowcs (Dependencies): Likewise.
7118         * modules/mbspbrk (Dependencies): Likewise.
7119         * modules/mbspcasecmp (Dependencies): Likewise.
7120         * modules/mbsrchr (Dependencies): Likewise.
7121         * modules/mbsrtowcs (Dependencies): Likewise.
7122         * modules/mbsspn (Dependencies): Likewise.
7123         * modules/mbsstr (Dependencies): Likewise.
7124         * modules/nl_langinfo (Dependencies): Likewise.
7125         * modules/quotearg (Dependencies): Likewise.
7126         * modules/unicase/locale-language (Dependencies): Likewise.
7127         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
7128         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
7129         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
7130         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
7131         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
7132         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
7133         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
7134         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
7135         * modules/vasnprintf-posix (Dependencies): Likewise.
7136         * modules/wcrtomb (Dependencies): Likewise.
7137         * modules/wcsnrtombs (Dependencies): Likewise.
7138         * modules/wcsrtombs (Dependencies): Likewise.
7139
7140 2011-02-12  Bruno Haible  <bruno@clisp.org>
7141
7142         setlocale: Workaround native Windows bug.
7143         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
7144         succeeds but sets LC_CTYPE to "C", report a failure.
7145         * tests/test-setlocale2.sh: New file.
7146         * tests/test-setlocale2.c: New file.
7147         * modules/setlocale-tests (Files): Add the new files.
7148         (Makefile.am): Enable test-setlocale2.sh test.
7149         * doc/posix-functions/setlocale.texi: Mention workaround.
7150
7151 2011-02-11  Bruno Haible  <bruno@clisp.org>
7152
7153         Tests for module 'setlocale'.
7154         * modules/setlocale-tests: New file.
7155         * tests/test-setlocale1.sh: New file.
7156         * tests/test-setlocale1.c: New file.
7157
7158         New module 'setlocale'.
7159         * lib/locale.in.h (setlocale): New declaration.
7160         * lib/setlocale.c: New file, based on
7161         gettext/gettext-runtime/intl/setlocale.c.
7162         * m4/setlocale.m4: New file.
7163         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
7164         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
7165         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
7166         REPLACE_SETLOCALE.
7167         * modules/setlocale: New file.
7168         * tests/test-locale-c++.cc: Test the declaration of setlocale.
7169         * doc/posix-functions/setlocale.texi: Mention the new module.
7170
7171 2011-02-11  Bruno Haible  <bruno@clisp.org>
7172
7173         Prepare for locale dependent tests on mingw.
7174         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
7175         because it has the wrong locale encoding.
7176         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
7177         French_France.1252 instead of "fr".
7178         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
7179         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
7180         because it has the wrong locale encoding.
7181         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
7182         native Windows, try Turkish_Turkey.65001.
7183         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
7184         Chinese_China.54936.
7185
7186         Prepare for locale dependent tests on mingw.
7187         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
7188         differently.
7189         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
7190         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
7191         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
7192         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7193
7194 2011-02-11  Eric Blake  <eblake@redhat.com>
7195
7196         strptime: avoid compiler warnings
7197         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
7198         compiler warnings about dead code.
7199         Reported by Daniel P. Berrange.
7200
7201 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
7202
7203         doc: update users.txt
7204         * users.txt: Add rcs.
7205
7206 2011-02-10  John W. Eaton  <jwe@gnu.org>
7207
7208         doc: update users.txt
7209         * users.txt: Add octave.
7210
7211 2011-02-10  Jim Meyering  <meyering@redhat.com>
7212
7213         doc: update users.txt
7214         * users.txt: Add iwhd.
7215
7216 2011-02-09  Bruno Haible  <bruno@clisp.org>
7217
7218         gnulib-tool: Make copyright notice adjustment more robust.
7219         * gnulib-tool (func_import): In sed_transform_main_lib_file,
7220         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
7221         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
7222         License".
7223         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
7224
7225 2011-02-06  Bruno Haible  <bruno@clisp.org>
7226
7227         New module 'towctrans'.
7228         * modules/towctrans: New file.
7229         * lib/wctype.in.h (towctrans): New declaration.
7230         * lib/towctrans.c: New file.
7231         * lib/towctrans-impl.h: New file.
7232         * m4/towctrans.m4: New file.
7233         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
7234         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
7235         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
7236         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
7237         * doc/posix-functions/towctrans.texi: Mention the new module.
7238
7239 2011-02-06  Bruno Haible  <bruno@clisp.org>
7240
7241         New module 'wctrans'.
7242         * modules/wctrans: New file.
7243         * lib/wctype.in.h (wctrans): New declaration.
7244         * lib/wctrans.c: New file.
7245         * lib/wctrans-impl.h: New file.
7246         * m4/wctrans.m4: New file.
7247         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
7248         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
7249         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
7250         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
7251         * doc/posix-functions/wctrans.texi: Mention the new module.
7252
7253 2011-02-06  Bruno Haible  <bruno@clisp.org>
7254
7255         New module 'iswctype'.
7256         * modules/iswctype: New file.
7257         * lib/wctype.in.h (iswctype): New declaration.
7258         * lib/iswctype.c: New file.
7259         * lib/iswctype-impl.h: New file.
7260         * m4/iswctype.m4: New file.
7261         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
7262         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
7263         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
7264         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
7265         * doc/posix-functions/iswctype.texi: Mention the new module and the
7266         HP-UX 11.00 problem.
7267
7268 2011-02-06  Bruno Haible  <bruno@clisp.org>
7269
7270         New module 'wctype'.
7271         * modules/wctype: Change to represent the wctype() substitute.
7272         * lib/wctype.in.h (wctype): New declaration.
7273         * lib/wctype.c: New file.
7274         * lib/wctype-impl.h: New file.
7275         * m4/wctype.m4: New file.
7276         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
7277         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
7278         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
7279         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
7280         * doc/posix-functions/wctype.texi: Mention the new module and the
7281         HP-UX 11.00 problem.
7282
7283 2011-02-06  Bruno Haible  <bruno@clisp.org>
7284
7285         wctype-h: Ensure wctype_t and wctrans_t are defined.
7286         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
7287         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
7288         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
7289         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
7290         HAVE_WCTRANS_T.
7291         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
7292
7293 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7294
7295         flock: fix license typo
7296
7297         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
7298         omitted.
7299
7300 2011-02-08  Bruno Haible  <bruno@clisp.org>
7301
7302         Split large sed scripts, for HP-UX sed.
7303         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
7304         to avoid HP-UX limit of 99 commands, in the near future.
7305         * modules/stdlib (Makefile.am): Likewise.
7306         * modules/unistd (Makefile.am): Likewise.
7307         * modules/wchar (Makefile.am): Likewise.
7308         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7309         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
7310         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
7311
7312 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7313             Bruno Haible  <bruno@clisp.org>
7314
7315         stdlib: improve random_r modularization
7316         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
7317         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
7318         you also need the random_r module to get this material right.
7319         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
7320         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
7321         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
7322
7323 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7324
7325         stdlib: don't depend on stdint
7326         * lib/stdlib.in.h: Don't include <stdint.h> merely because
7327         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
7328         be independent of whether stdint.h is needed.
7329         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
7330         here, instead of ...
7331         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
7332         struct random_data should be using the random_r module, not just
7333         the stdlib module (which wouldn't make sense: what package needs
7334         just struct random_data without also needing random_r?).
7335         * modules/stdlib (Depends-on): Remove stdint.
7336
7337         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
7338         See the thread rooted at
7339         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
7340         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
7341         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
7342         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
7343         __VMS)); previously it was always included (via fcntl--.h).
7344         (getloadavg): Do not use c_strtod.  Instead, approximate it by
7345         hand; this is good enough for load averages.  Also, do not use
7346         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
7347         flags directly if available and don't bother otherwise.  (Packages
7348         that need the extra reliability should use the modules that define
7349         these flags on older platforms that lack them.)
7350         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
7351         fcntl-safer.
7352
7353 2011-02-08  Jim Meyering  <meyering@redhat.com>
7354
7355         di-set.h, ino-map.h: add multiple-inclusion guard
7356         Technically, the guard is required only for ino-map.h, due to its
7357         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
7358         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
7359         * lib/ino-map.h: Likewise.
7360
7361 2011-02-06  Bruno Haible  <bruno@clisp.org>
7362
7363         iswblank: Ensure declaration on glibc systems.
7364         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
7365         * modules/iswblank (Dependencies): Add 'extensions'.
7366         * doc/posix-functions/iswblank.texi: Document the glibc problem.
7367
7368 2011-02-06  Bruno Haible  <bruno@clisp.org>
7369
7370         New module 'iswblank'.
7371         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
7372         * modules/iswblank: New file.
7373         * modules/wctype-h (Files): Remove lib/iswblank.c.
7374         (Makefile.am): Substitute GNULIB_ISWBLANK.
7375         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
7376         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
7377         (gl_WCTYPE_H_DEFAULTS): New macro.
7378         (gl_WCTYPE_H): Require it. Remove iswblank related code.
7379         * modules/iswblank-tests: New file.
7380         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
7381         * tests/test-wctype-h.c (main): Remove iswblank tests.
7382         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
7383         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
7384         of 'wctype-h'.
7385         * NEWS: Mention the change.
7386         * modules/mbchar (Depends-on): Add iswblank.
7387
7388 2011-02-08  Bruno Haible  <bruno@clisp.org>
7389
7390         di-set tests: Refactor.
7391         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
7392         unnecessary includes.
7393         (ASSERT): Remove macro.
7394         (main): Make C90 compliant by avoiding variable declaration after
7395         statement.
7396         * modules/di-set-tests (Files): Add tests/macros.h.
7397
7398 2011-02-08  Bruno Haible  <bruno@clisp.org>
7399
7400         ino-map tests: Refactor.
7401         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
7402         unnecessary includes.
7403         (ASSERT): Remove macro.
7404         (main): Make C90 compliant by avoiding variable declaration after
7405         statement.
7406         * modules/ino-map-tests (Files): Add tests/macros.h.
7407
7408 2011-02-08  Jim Meyering  <meyering@redhat.com>
7409
7410         di-set: add "const" to a cast
7411         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
7412         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
7413
7414 2011-02-06  Bruno Haible  <bruno@clisp.org>
7415
7416         Rename module 'wctype' to 'wctype-h'.
7417         * modules/wctype-h: Renamed from modules/wctype.
7418         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
7419         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
7420         (Files, Depends-on, Makefile.am): Update.
7421         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
7422         (Files, Makefile.am): Update.
7423         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
7424         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
7425         * doc/posix-headers/wctype.texi: Update.
7426         * doc/posix-functions/iswalnum.texi: Update.
7427         * doc/posix-functions/iswalpha.texi: Update.
7428         * doc/posix-functions/iswblank.texi: Update.
7429         * doc/posix-functions/iswcntrl.texi: Update.
7430         * doc/posix-functions/iswdigit.texi: Update.
7431         * doc/posix-functions/iswgraph.texi: Update.
7432         * doc/posix-functions/iswlower.texi: Update.
7433         * doc/posix-functions/iswprint.texi: Update.
7434         * doc/posix-functions/iswpunct.texi: Update.
7435         * doc/posix-functions/iswspace.texi: Update.
7436         * doc/posix-functions/iswupper.texi: Update.
7437         * doc/posix-functions/iswxdigit.texi: Update.
7438         * doc/posix-functions/towlower.texi: Update.
7439         * doc/posix-functions/towupper.texi: Update.
7440         * NEWS: Mention the change.
7441         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
7442         * modules/mbchar (Dependencies): Likewise.
7443         * modules/mbswidth (Dependencies): Likewise.
7444         * modules/quotearg (Dependencies): Likewise.
7445         * modules/regex (Dependencies): Likewise.
7446         * modules/wcscasecmp (Dependencies): Likewise.
7447         * modules/wcsncasecmp (Dependencies): Likewise.
7448         * modules/wcwidth (Dependencies): Likewise.
7449
7450 2011-02-06  Bruno Haible  <bruno@clisp.org>
7451
7452         New module 'wcswidth'.
7453         * modules/wcswidth: New file.
7454         * lib/wchar.in.h (wcswidth): New declaration.
7455         * lib/wcswidth.c: New file.
7456         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
7457         * m4/wcswidth.m4: New file.
7458         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
7459         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
7460         REPLACE_WCSWIDTH.
7461         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
7462         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
7463         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
7464         * doc/posix-functions/wcswidth.texi: Mention the new module.
7465
7466 2011-02-06  Bruno Haible  <bruno@clisp.org>
7467
7468         New module 'wcstok'.
7469         * modules/wcstok: New file.
7470         * lib/wchar.in.h (wcstok): New declaration.
7471         * lib/wcstok.c: New file.
7472         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
7473         * m4/wcstok.m4: New file.
7474         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
7475         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
7476         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
7477         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
7478         * doc/posix-functions/wcstok.texi: Mention the new module.
7479
7480 2011-02-06  Bruno Haible  <bruno@clisp.org>
7481
7482         New module 'wcsstr'.
7483         * modules/wcsstr: New file.
7484         * lib/wchar.in.h (wcsstr): New declaration.
7485         * lib/wcsstr.c: New file.
7486         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
7487         * m4/wcsstr.m4: New file.
7488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
7489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
7490         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
7491         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
7492         * doc/posix-functions/wcsstr.texi: Mention the new module.
7493
7494 2011-02-06  Bruno Haible  <bruno@clisp.org>
7495
7496         New module 'wcspbrk'.
7497         * modules/wcspbrk: New file.
7498         * lib/wchar.in.h (wcspbrk): New declaration.
7499         * lib/wcspbrk.c: New file.
7500         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
7501         * m4/wcspbrk.m4: New file.
7502         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
7503         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
7504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
7505         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
7506         * doc/posix-functions/wcspbrk.texi: Mention the new module.
7507
7508 2011-02-06  Bruno Haible  <bruno@clisp.org>
7509
7510         New module 'wcsspn'.
7511         * modules/wcsspn: New file.
7512         * lib/wchar.in.h (wcsspn): New declaration.
7513         * lib/wcsspn.c: New file.
7514         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
7515         * m4/wcsspn.m4: New file.
7516         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
7517         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
7518         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
7519         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
7520         * doc/posix-functions/wcsspn.texi: Mention the new module.
7521
7522 2011-02-06  Bruno Haible  <bruno@clisp.org>
7523
7524         New module 'wcscspn'.
7525         * modules/wcscspn: New file.
7526         * lib/wchar.in.h (wcscspn): New declaration.
7527         * lib/wcscspn.c: New file.
7528         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
7529         * m4/wcscspn.m4: New file.
7530         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
7531         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
7532         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
7533         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
7534         * doc/posix-functions/wcscspn.texi: Mention the new module.
7535
7536 2011-02-06  Bruno Haible  <bruno@clisp.org>
7537
7538         New module 'wcsrchr'.
7539         * modules/wcsrchr: New file.
7540         * lib/wchar.in.h (wcsrchr): New declaration.
7541         * lib/wcsrchr.c: New file.
7542         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
7543         * m4/wcsrchr.m4: New file.
7544         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
7545         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
7546         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
7547         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
7548         * doc/posix-functions/wcsrchr.texi: Mention the new module.
7549
7550 2011-02-06  Bruno Haible  <bruno@clisp.org>
7551
7552         New module 'wcschr'.
7553         * modules/wcschr: New file.
7554         * lib/wchar.in.h (wcschr): New declaration.
7555         * lib/wcschr.c: New file.
7556         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
7557         * m4/wcschr.m4: New file.
7558         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
7559         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
7560         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
7561         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
7562         * doc/posix-functions/wcschr.texi: Mention the new module.
7563
7564 2011-02-06  Bruno Haible  <bruno@clisp.org>
7565
7566         New module 'wcsdup'.
7567         * modules/wcsdup: New file.
7568         * lib/wchar.in.h (wcsdup): New declaration.
7569         * lib/wcsdup.c: New file.
7570         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
7571         * m4/wcsdup.m4: New file.
7572         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
7573         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
7574         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
7575         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
7576         * doc/posix-functions/wcsdup.texi: Mention the new module.
7577
7578 2011-02-06  Bruno Haible  <bruno@clisp.org>
7579
7580         New module 'wcsxfrm'.
7581         * modules/wcsxfrm: New file.
7582         * lib/wchar.in.h (wcsxfrm): New declaration.
7583         * lib/wcsxfrm.c: New file.
7584         * lib/wcsxfrm-impl.h: New file.
7585         * m4/wcsxfrm.m4: New file.
7586         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
7587         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
7588         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
7589         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
7590         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
7591
7592 2011-02-06  Bruno Haible  <bruno@clisp.org>
7593
7594         New module 'wcscoll'.
7595         * modules/wcscoll: New file.
7596         * lib/wchar.in.h (wcscoll): New declaration.
7597         * lib/wcscoll.c: New file.
7598         * lib/wcscoll-impl.h: New file.
7599         * m4/wcscoll.m4: New file.
7600         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
7601         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
7602         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
7603         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
7604         * doc/posix-functions/wcscoll.texi: Mention the new module.
7605
7606 2011-02-06  Bruno Haible  <bruno@clisp.org>
7607
7608         New module 'wcsncasecmp'.
7609         * modules/wcsncasecmp: New file.
7610         * lib/wchar.in.h (wcsncasecmp): New declaration.
7611         * lib/wcsncasecmp.c: New file.
7612         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
7613         * m4/wcsncasecmp.m4: New file.
7614         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
7615         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
7616         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
7617         HAVE_WCSNCASECMP.
7618         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
7619         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
7620
7621 2011-02-06  Bruno Haible  <bruno@clisp.org>
7622
7623         New module 'wcscasecmp'.
7624         * modules/wcscasecmp: New file.
7625         * lib/wchar.in.h (wcscasecmp): New declaration.
7626         * lib/wcscasecmp.c: New file.
7627         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
7628         * m4/wcscasecmp.m4: New file.
7629         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
7630         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
7631         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
7632         HAVE_WCSCASECMP.
7633         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
7634         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
7635
7636 2011-02-05  Bruno Haible  <bruno@clisp.org>
7637
7638         New module 'wcsncmp'.
7639         * modules/wcsncmp: New file.
7640         * lib/wchar.in.h (wcsncmp): New declaration.
7641         * lib/wcsncmp.c: New file.
7642         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
7643         * m4/wcsncmp.m4: New file.
7644         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
7645         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
7646         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
7647         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
7648         * doc/posix-functions/wcsncmp.texi: Mention the new module.
7649
7650 2011-02-05  Bruno Haible  <bruno@clisp.org>
7651
7652         New module 'wcscmp'.
7653         * modules/wcscmp: New file.
7654         * lib/wchar.in.h (wcscmp): New declaration.
7655         * lib/wcscmp.c: New file.
7656         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
7657         * m4/wcscmp.m4: New file.
7658         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
7659         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
7660         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
7661         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
7662         * doc/posix-functions/wcscmp.texi: Mention the new module.
7663
7664 2011-02-05  Bruno Haible  <bruno@clisp.org>
7665
7666         New module 'wcsncat'.
7667         * modules/wcsncat: New file.
7668         * lib/wchar.in.h (wcsncat): New declaration.
7669         * lib/wcsncat.c: New file.
7670         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
7671         * m4/wcsncat.m4: New file.
7672         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
7673         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
7674         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
7675         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
7676         * doc/posix-functions/wcsncat.texi: Mention the new module.
7677
7678 2011-02-05  Bruno Haible  <bruno@clisp.org>
7679
7680         New module 'wcscat'.
7681         * modules/wcscat: New file.
7682         * lib/wchar.in.h (wcscat): New declaration.
7683         * lib/wcscat.c: New file.
7684         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
7685         * m4/wcscat.m4: New file.
7686         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
7687         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
7688         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
7689         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
7690         * doc/posix-functions/wcscat.texi: Mention the new module.
7691
7692 2011-02-05  Bruno Haible  <bruno@clisp.org>
7693
7694         New module 'wcpncpy'.
7695         * modules/wcpncpy: New file.
7696         * lib/wchar.in.h (wcpncpy): New declaration.
7697         * lib/wcpncpy.c: New file.
7698         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
7699         * m4/wcpncpy.m4: New file.
7700         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
7701         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
7702         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
7703         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
7704         * doc/posix-functions/wcpncpy.texi: Mention the new module.
7705
7706 2011-02-05  Bruno Haible  <bruno@clisp.org>
7707
7708         New module 'wcsncpy'.
7709         * modules/wcsncpy: New file.
7710         * lib/wchar.in.h (wcsncpy): New declaration.
7711         * lib/wcsncpy.c: New file.
7712         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
7713         * m4/wcsncpy.m4: New file.
7714         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
7715         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
7716         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
7717         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
7718         * doc/posix-functions/wcsncpy.texi: Mention the new module.
7719
7720 2011-02-05  Bruno Haible  <bruno@clisp.org>
7721
7722         New module 'wcpcpy'.
7723         * modules/wcpcpy: New file.
7724         * lib/wchar.in.h (wcpcpy): New declaration.
7725         * lib/wcpcpy.c: New file.
7726         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
7727         * m4/wcpcpy.m4: New file.
7728         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
7729         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
7730         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
7731         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
7732         * doc/posix-functions/wcpcpy.texi: Mention the new module.
7733
7734 2011-02-05  Bruno Haible  <bruno@clisp.org>
7735
7736         New module 'wcscpy'.
7737         * modules/wcscpy: New file.
7738         * lib/wchar.in.h (wcscpy): New declaration.
7739         * lib/wcscpy.c: New file.
7740         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
7741         * m4/wcscpy.m4: New file.
7742         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
7743         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
7744         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
7745         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
7746         * doc/posix-functions/wcscpy.texi: Mention the new module.
7747
7748 2011-02-05  Bruno Haible  <bruno@clisp.org>
7749
7750         New module 'wcsnlen'.
7751         * modules/wcsnlen: New file.
7752         * lib/wchar.in.h (wcsnlen): New declaration.
7753         * lib/wcsnlen.c: New file.
7754         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
7755         * m4/wcsnlen.m4: New file.
7756         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
7757         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
7758         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
7759         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
7760         * doc/posix-functions/wcsnlen.texi: Mention the new module.
7761
7762 2011-02-05  Bruno Haible  <bruno@clisp.org>
7763
7764         New module 'wcslen'.
7765         * modules/wcslen: New file.
7766         * lib/wchar.in.h (wcslen): New declaration.
7767         * lib/wcslen.c: New file.
7768         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
7769         * m4/wcslen.m4: New file.
7770         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
7771         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
7772         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
7773         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
7774         * doc/posix-functions/wcslen.texi: Mention the new module.
7775
7776 2011-02-05  Bruno Haible  <bruno@clisp.org>
7777
7778         New module 'wmemset'.
7779         * modules/wmemset: New file.
7780         * lib/wchar.in.h (wmemset): New declaration.
7781         * lib/wmemset.c: New file.
7782         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
7783         * m4/wmemset.m4: New file.
7784         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
7785         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
7786         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
7787         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
7788         * doc/posix-functions/wmemset.texi: Mention the new module.
7789
7790 2011-02-05  Bruno Haible  <bruno@clisp.org>
7791
7792         New module 'wmemmove'.
7793         * modules/wmemmove: New file.
7794         * lib/wchar.in.h (wmemmove): New declaration.
7795         * lib/wmemmove.c: New file.
7796         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
7797         * m4/wmemmove.m4: New file.
7798         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
7799         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
7800         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
7801         HAVE_WMEMMOVE.
7802         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
7803         * doc/posix-functions/wmemmove.texi: Mention the new module.
7804
7805 2011-02-05  Bruno Haible  <bruno@clisp.org>
7806
7807         New module 'wmemcpy'.
7808         * modules/wmemcpy: New file.
7809         * lib/wchar.in.h (wmemcpy): New declaration.
7810         * lib/wmemcpy.c: New file.
7811         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
7812         * m4/wmemcpy.m4: New file.
7813         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
7814         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
7815         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
7816         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
7817         * doc/posix-functions/wmemcpy.texi: Mention the new module.
7818
7819 2011-02-05  Bruno Haible  <bruno@clisp.org>
7820
7821         New module 'wmemcmp'.
7822         * modules/wmemcmp: New file.
7823         * lib/wchar.in.h (wmemcmp): New declaration.
7824         * lib/wmemcmp.c: New file.
7825         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
7826         * m4/wmemcmp.m4: New file.
7827         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
7828         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
7829         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
7830         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
7831         * doc/posix-functions/wmemcmp.texi: Mention the new module.
7832
7833 2011-02-07  Jim Meyering  <meyering@redhat.com>
7834
7835         di-set, ino-map: new modules, from coreutils
7836         * lib/di-set.c: New file.
7837         * lib/di-set.h: Likewise.
7838         * lib/ino-map.c: Likewise.
7839         * lib/ino-map.h: Likewise.
7840         * modules/di-set: Likewise.
7841         * modules/di-set-tests: Likewise.
7842         * modules/ino-map: Likewise.
7843         * modules/ino-map-tests: Likewise.
7844         * tests/test-di-set.c: Likewise.
7845         * tests/test-ino-map.c: Likewise.
7846
7847 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
7848
7849         getloadavg: merge minor changes from Emacs
7850
7851         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
7852         (getloadavg): Use memset, not bzero.
7853
7854         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
7855         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
7856         clash (bug#86).
7857
7858 2010-11-14  Bruno Haible  <bruno@clisp.org>
7859
7860         Allow multiple gnulib generated replacements to coexist.
7861         * lib/getopt.in.h (struct option): Avoid identical redefinition.
7862         * lib/inttypes.in.h (imaxdiv_t): Likewise.
7863         * lib/langinfo.in.h (nl_item): Likewise.
7864         * lib/math.in.h (_NaN, NAN): Likewise.
7865         * lib/netdb.in.h (struct addrinfo): Likewise.
7866         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
7867         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
7868         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
7869         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
7870         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
7871         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
7872         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
7873         pthread_mutexattr_init, pthread_mutexattr_settype,
7874         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
7875         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
7876         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
7877         pthread_spin_trylock, pthread_spin_unlock): Likewise.
7878         * lib/sched.in.h (struct sched_param): Likewise.
7879         * lib/se-selinux.in.h (security_class_t, security_context_t,
7880         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
7881         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
7882         lsetfilecon, fsetfilecon, security_check_context,
7883         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
7884         Likewise.
7885         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
7886         Likewise.
7887         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
7888         _gl_function_taking_int_returning_void_t, union sigval,
7889         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
7890         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
7891         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7892         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
7893         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
7894         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
7895         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
7896         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
7897         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
7898         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
7899         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
7900         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
7901         socklen_t, rpl_fd_isset): Likewise.
7902         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
7903         * lib/sys_time.in.h (struct timeval): Likewise.
7904         * lib/sys_times.in.h (struct tms): Likewise.
7905         * lib/sys_utsname.in.h (struct utsname):
7906         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
7907         * lib/unistd.in.h (getpagesize): Likewise.
7908         * lib/wchar.in.h (mbstate_t): Likewise.
7909         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7910         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
7911         towlower, towupper): Likewise.
7912         Reported by Sam Steingold <sds@gnu.org>.
7913
7914 2011-02-05  Eric Blake  <eblake@redhat.com>
7915
7916         unsetenv: work around Haiku issues
7917         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
7918         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
7919
7920 2010-12-30  Bruce Korb  <bkorb@gnu.org>
7921
7922         libposix: avoid calling error() within libposix
7923         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
7924         is defined.
7925
7926 2011-02-05  Eric Blake  <eblake@redhat.com>
7927
7928         strerror_r-posix: port to cygwin
7929         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
7930         implementation.
7931         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
7932         * tests/test-strerror_r.c (main): Fix test.
7933         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
7934         issue.
7935
7936 2011-02-05  Bruno Haible  <bruno@clisp.org>
7937
7938         New module 'wmemchr'.
7939         * modules/wmemchr: New file.
7940         * lib/wchar.in.h (wmemchr): New declaration.
7941         * lib/wmemchr.c: New file.
7942         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
7943         * m4/wmemchr.m4: New file.
7944         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
7945         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
7946         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
7947         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
7948         * doc/posix-functions/wmemchr.texi: Mention the new module.
7949
7950 2011-02-04  Eric Blake  <eblake@redhat.com>
7951
7952         fdopendir: detect FreeBSD bug
7953         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
7954         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
7955
7956 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
7957
7958         stdbool: do not define HAVE_STDBOOL_H
7959         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
7960         AC_HEADER_STDBOOL.  All uses changed.  Do not define
7961         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
7962         imported from the latest Autoconf git.  It was motivated by Emacs,
7963         which uses gnulib but does not need HAVE_STDBOOL_H.
7964
7965 2011-02-04  Bruno Haible  <bruno@clisp.org>
7966
7967         wcsnrtombs: Prepare for new module wwcsnrtombs.
7968         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
7969         * lib/wcsnrtombs.c: Include it.
7970         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
7971
7972         wcsrtombs: Prepare for new module wwcsrtombs.
7973         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
7974         * lib/wcsrtombs.c: Include it.
7975         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
7976
7977         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
7978         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
7979         * lib/mbsnrtowcs.c: Include it.
7980         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
7981
7982         mbsrtowcs: Prepare for new module mbsrtowwcs.
7983         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
7984         * lib/mbsrtowcs.c: Include it.
7985         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
7986
7987 2011-02-04  Bruno Haible  <bruno@clisp.org>
7988
7989         vasnprintf: Reduce use of malloc for small format strings.
7990         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
7991         (arguments): Add room for the first 7 arguments.
7992         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
7993         (char_directives, u8_directives, u16_directives, u32_directives): Add
7994         room for the first 7 directives.
7995         * lib/printf-parse.c: Include <string.h>.
7996         (PRINTF_PARSE): Change memory handling code so that it uses the first
7997         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
7998         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
7999         Reported by Pádraig Brady <P@draigbrady.com>.
8000
8001 2011-01-31  Eric Blake  <eblake@redhat.com>
8002
8003         dup2: work around Haiku bug
8004         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
8005         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
8006         * doc/posix-functions/dup2.texi (dup2): Document the bug.
8007         * tests/test-dup2.c (main): Enhance test.
8008
8009 2011-01-31  Simon Josefsson  <simon@josefsson.org>
8010
8011         doc: off_t is not available in eglibc 2.11.2 stdio.h.
8012         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
8013         declared by eglibc 2.11.2.
8014         * lib/stdio.in.h: Likewise.
8015
8016 2011-01-31  Eric Blake  <eblake@redhat.com>
8017
8018         ignore-value: add missing test dependency
8019         * tests/test-ignore-value.c: Revert previous change; stdio.h
8020         provides off_t.
8021         * modules/ignore-value-tests (Depends-on): Add missing dependency.
8022
8023 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8024
8025         mktime: clarify long_int width checking
8026         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
8027         the top level, to make it clearer that the assumption about
8028         long_int width is being checked.  See
8029         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
8030
8031 2011-01-30  Simon Josefsson  <simon@josefsson.org>
8032
8033         ignore-value: Fix self-test.
8034         * tests/test-ignore-value.c: Include sys/types.h for off_t.
8035
8036 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8037
8038         TYPE_MAXIMUM: avoid theoretically undefined behavior
8039         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
8040         negative number, which the C Standard says has undefined behavior.
8041         In practice this is not a problem, but might as well do it by the book.
8042         Reported by Rich Felker and Eric Blake; see
8043         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
8044         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
8045         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8046         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8047         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
8048         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8049         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
8050
8051         mktime: #undef mktime before #defining it
8052         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
8053
8054         mktime: systematically normalize tm_isdst comparisons
8055         * lib/mktime.c (isdst_differ): New function.
8056         (__mktime_internal): Use it systematically for all isdst comparisons.
8057         This completes the fix for libc BZ #6723, and removes the need for
8058         normalizing tm_isdst.  See
8059         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
8060         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
8061
8062         mktime: fix some integer overflow issues and sidestep the rest
8063
8064         This was prompted by a bug report by Benjamin Lindner for MinGW
8065         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
8066         His bug is due to signed integer overflow (0 - INT_MIN), and I
8067         I scanned through mktime.c looking for other integer overflow
8068         problems, fixing all the bugs I found.
8069
8070         Although the C Standard says the resulting code is still not safe
8071         in the presence of integer overflow, in practice it should be good
8072         enough for all real-world two's-complement implementations, except
8073         for debugging environments that deliberately trap on integer
8074         overflow (e.g., gcc -ftrapv).
8075
8076         * lib/mktime.c (WRAPV): New macro.
8077         (SHR): Also check that long_int and time_t shift right in the
8078         usual way, before using the fast-but-unportable method.
8079         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
8080         used.  The code already assumed two's complement, so there's
8081         no need to test for alternatives.  All uses removed.
8082         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
8083         the C standard.  Problem reported by Rich Felker in
8084         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
8085         (twos_complement_arithmetic): Also check long_int and time_t.
8086         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
8087         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
8088         (__mktime_internal): Avoid integer overflow with unary subtraction
8089         in two instances where -1 - X is an adequate replacement for -X,
8090         since the calculations are approximate.
8091
8092 2011-01-29  Eric Blake  <eblake@redhat.com>
8093
8094         mktime: avoid infinite loop
8095         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
8096         type; behavior is still undefined but portable to all known targets.
8097         Reported by Rich Felker.
8098
8099 2011-01-29  Simon Josefsson  <simon@josefsson.org>
8100
8101         rename, unlink, same-inode: Relicense.
8102         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
8103         * modules/unlink (License): Likewise.
8104         * modules/same-inode (License): Likewise.
8105
8106 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8107
8108         mktime: avoid problems on NetBSD 5 / i386
8109         * lib/mktime.c (long_int): New type.  This works around a problem
8110         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
8111         but time_t is 64 bits, and where I expect the existing code is
8112         wrong in some cases.
8113         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
8114         (ydhms_diff): Bring back the compile-time check for wide-enough
8115         year and yday.
8116
8117         mktime: fix misspelling in comment
8118         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
8119         This merges all recent glibc changes of importance.
8120
8121 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8122
8123         move-if-change: cope with concurrent mv of identical file.
8124         * build-aux/move-if-change (CMPPROG): Accept environment
8125         variable as an override for `cmp'.
8126         (usage): Document CMPPROG.
8127         Adjust comparison to drop stdout.  Cope with failure of mv if
8128         the target file exists and is identical to the source, for
8129         parallel builds.
8130         Report from H.J. Lu against binutils in PR binutils/12283.
8131
8132 2011-01-28  Bruce Korb  <bkorb@gnu.org>
8133
8134         * users.txt: Mention sharutils.
8135
8136 2011-01-28  Simon Josefsson  <simon@josefsson.org>
8137
8138         * users.txt: Mention OATH Toolkit.
8139
8140 2011-01-27  Bruno Haible  <bruno@clisp.org>
8141
8142         Prepare for supporting FreeBSD 10.
8143         * build-aux/config.libpath: Remove handling of freebsd1*.
8144
8145 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
8146
8147         Prepare for supporting FreeBSD 10.
8148         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
8149         match FreeBSD 10.0.
8150
8151 2011-01-27  Bruno Haible  <bruno@clisp.org>
8152
8153         vma-iter, get-rusage-as: Add OpenBSD support.
8154         * modules/vma-iter (configure.ac): Test for mquery.
8155         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
8156         * lib/vma-iter.c: Include <sys/mman.h>.
8157         (vma_iterate): Add an implementation based on mquery().
8158         * lib/resource-ext.h (get_rusage_as): Update comments.
8159         * lib/get-rusage-as.c: Likewise.
8160         * lib/get-rusage-data.c: Likewise.
8161
8162 2011-01-26  Karl Berry  <karl@gnu.org>
8163
8164         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
8165         variables to make it easier to override the makeinfo program used.
8166
8167 2011-01-26  Eric Blake  <eblake@redhat.com>
8168
8169         fcntl: work around Haiku F_DUPFD bugs
8170         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
8171         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
8172         cloexec bit on duplication.
8173         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
8174
8175 2011-01-26  Bruno Haible  <bruno@clisp.org>
8176
8177         Enable memory leak tests on AIX.
8178         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
8179         * tests/test-fprintf-posix3.c (main): Likewise.
8180
8181 2011-01-26  Bruno Haible  <bruno@clisp.org>
8182
8183         Tests for module 'get-rusage-data'.
8184         * modules/get-rusage-data-tests: New file.
8185         * tests/test-get-rusage-data.c: New file.
8186
8187         New module 'get-rusage-data'.
8188         * lib/resource-ext.h (get_rusage_data): New declaration.
8189         * lib/get-rusage-data.c: New file.
8190         * modules/get-rusage-data: New file.
8191
8192 2011-01-25  Bruno Haible  <bruno@clisp.org>
8193
8194         get-rusage-as: Allow for easier testing.
8195         * lib/resource-ext.h (get_rusage_as): Add comment.
8196         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
8197         (main): New function for interactive testing.
8198
8199 2011-01-25  Bruno Haible  <bruno@clisp.org>
8200
8201         vma-iter: Treat Haiku like BeOS.
8202         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
8203         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
8204
8205 2011-01-25  Eric Blake  <eblake@redhat.com>
8206
8207         c-stack: fix regression on cygwin when libsigsegv is present
8208         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
8209
8210 2011-01-24  Bruno Haible  <bruno@clisp.org>
8211
8212         vma-iter: Avoid empty intervals.
8213         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
8214         on an empty interval.
8215
8216 2011-01-24  Jim Meyering  <meyering@redhat.com>
8217
8218         u64: remove unnecessary #include
8219         * lib/u64.h: Don't include <stddef.h>.  It was not used.
8220
8221 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8222
8223         Allow the user to avoid the HAVE_RAW_DECL_* macros.
8224         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
8225
8226 2011-01-23  Bruno Haible  <bruno@clisp.org>
8227
8228         New module 'vma-iter'.
8229         * lib/vma-iter.h: New file.
8230         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
8231         * modules/vma-iter: New file.
8232         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
8233         for get_rusage_as_via_iterator.
8234         (vma_iterate_callback): New function.
8235         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
8236         * modules/get-rusage-as (Depends-on): Add vma-iter.
8237
8238 2011-01-23  Bruno Haible  <bruno@clisp.org>
8239
8240         uninorm: Tweak includes.
8241         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
8242         Reported by Jim Meyering.
8243
8244 2011-01-23  Bruno Haible  <bruno@clisp.org>
8245
8246         get-rusage-as: Improve on NetBSD.
8247         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
8248         /proc, like on FreeBSD.
8249
8250 2011-01-23  Jim Meyering  <meyering@redhat.com>
8251
8252         xreadlink.h: remove unnecessary #include
8253         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
8254
8255         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
8256         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
8257
8258 2011-01-23  Bruno Haible  <bruno@clisp.org>
8259
8260         get-rusage-as: Fix bug.
8261         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
8262         original limit when aborting the first loop.
8263
8264 2011-01-23  Bruno Haible  <bruno@clisp.org>
8265
8266         wctype: Ensure valid C syntax.
8267         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
8268         unconditionally, instead of gl_NEXT_HEADERS conditionally.
8269
8270 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8271
8272         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
8273         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
8274         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
8275         as they are needed only for configure's test case.
8276         This removes two unnecessary symbols from config.h.
8277
8278         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
8279         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
8280         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
8281         AC_CHECK_HEADERS_ONCE on a header that we also invoke
8282         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
8283         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
8284         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
8285         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8286         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8287         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8288         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8289         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8290         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8291         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8292         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8293         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8294         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8295         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
8296
8297 2011-01-21  Eric Blake  <eblake@redhat.com>
8298
8299         maintainer-makefile: work with older git for submodule check
8300         * top/maint.mk (public-submodule-commit): Rewrite to avoid
8301         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
8302         Reported by Matthias Bolte.
8303
8304         bootstrap: minor portability fixes
8305         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
8306         (usage): Omit leading capital and trailing . on help phrases, per
8307         GNU Coding Standards.
8308         (check_versions, top level): Prefix messages with script name.
8309
8310 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
8311
8312         bootstrap: support --no-git option
8313         * build-aux/bootstrap: Add --no-git option, to be used when
8314         --gnulib-srcdir points to the exact desired checkout.
8315
8316 2011-01-21  Eric Blake  <eblake@redhat.com>
8317
8318         strerror_r-posix: work with glibc 2.13
8319         * lib/strerror_r.c (strerror_r): Fix return type.
8320
8321 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8322             Bruno Haible  <bruno@clisp.org>
8323
8324         uN_strstr: New unit tests.
8325         * modules/unistr/u8-strstr-tests: New file.
8326         * modules/unistr/u16-strstr-tests: New file.
8327         * modules/unistr/u32-strstr-tests: New file.
8328         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
8329         * tests/unistr/test-u8-strstr.c: New file.
8330         * tests/unistr/test-u16-strstr.c: New file.
8331         * tests/unistr/test-u32-strstr.c: New file.
8332
8333 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8334             Bruno Haible  <bruno@clisp.org>
8335
8336         Make uN_strstr functions O(n) worst-case.
8337         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
8338         16-bit and 32-bit unit cases, use the unibyte algorithm from
8339         lib/mbsstr.c.
8340         * lib/unistr/u8-strstr.c: Include <string.h>.
8341         (UNIT_IS_UINT8_T): New macro.
8342         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
8343         (U_STRLEN, U_STRNLEN): New macros.
8344         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
8345         (U_STRLEN, U_STRNLEN): New macros.
8346         * modules/unistr/u8-strstr (Depends-on): Add strstr.
8347         (configure.ac): Update required libunistring version.
8348         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
8349         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
8350         malloca.
8351         (configure.ac): Update required libunistring version.
8352         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
8353         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
8354         malloca.
8355         (configure.ac): Update required libunistring version.
8356
8357 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8358             Bruno Haible  <bruno@clisp.org>
8359
8360         Prepare for faster uN_strstr functions.
8361         * lib/str-kmp.h: Support definable UNITs.
8362         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
8363         needle_len argument.
8364         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
8365         * lib/mbscasestr.c (mbscasestr): Likewise.
8366
8367 2011-01-21  Pádraig Brady <P@draigBrady.com>
8368
8369         malloca-tests: make faster by unsetting MALLOC_PERTURB_
8370         * tests/test-malloca.c (main): Unset the environment variable
8371         to greatly speed up the test.
8372         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
8373         * modules/malloca-tests: Depend on unsetenv.
8374
8375 2011-01-21  Pádraig Brady <P@draigBrady.com>
8376
8377         ignore-value: remove stdint dependency
8378         * lib/ignore-value.h: Remove <stdint.h>
8379         * modules/ignore-value: Remove stdint dependency.
8380
8381 2011-01-21  Jim Meyering  <meyering@redhat.com>
8382
8383         maint.mk: adjust variable name to be consistent with other gl_ vars
8384         * top/maint.mk (gl_public_submodule_commit): Rename the variable
8385         to be lower case.
8386
8387 2011-01-20  Jim Meyering  <meyering@redhat.com>
8388
8389         maint.mk: make "check" depend on public-submodule-commit by default
8390         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
8391
8392 2011-01-20  Bruno Haible  <bruno@clisp.org>
8393
8394         mbfile, mbiter: Complete change from 2008-12-21.
8395         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
8396         * m4/mbiter.m4 (gl_MBITER): Likewise.
8397
8398 2011-01-20  Jim Meyering  <meyering@redhat.com>
8399
8400         init.sh: insert space between each function name and "()"
8401         * tests/init.sh: Make it a little easier to see that a function's
8402         name is "warn_", and not "warn" when looking at the first part of
8403         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
8404
8405 2011-01-20  Jim Meyering  <meyering@redhat.com>
8406
8407         mountlist: clean up code formatting
8408         * lib/mountlist.c (read_file_system_list): Split a long line,
8409         correct bracing style, use NULL in place of "(struct statfs *)0",
8410         don't parenthesize return value, add spaces around "=" and after
8411         ";-in-for-stmt".
8412
8413 2011-01-14  Markus Duft <mduft@gentoo.org>
8414
8415         mountlist: add support for Interix
8416         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
8417         Apply statvfs to all entries of /dev/fs.
8418         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
8419         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
8420
8421 2011-01-20  Jim Meyering  <meyering@redhat.com>
8422
8423         maint.mk: improve the public-submodule-commit rule
8424         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
8425         to suppress printing of its commands... unless V=1.
8426         Add git submodule's --quiet option to suppress printing of e.g.,
8427         "Entering gnulib" output.
8428         "cd" into $(srcdir) before running git submodule.
8429
8430 2011-01-20  Bruno Haible  <bruno@clisp.org>
8431
8432         include_next: Fix bug introduced on 2011-01-18.
8433         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
8434         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
8435         ac_cv_header_... variable if the second argument is not 'check'.
8436         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
8437         gl_NEXT_HEADERS_INTERNAL.
8438
8439 2011-01-20  Bruno Haible  <bruno@clisp.org>
8440
8441         Allow the user to avoid the GNULIB_TEST_* macros.
8442         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
8443         Suggested by Paul Eggert.
8444
8445 2011-01-14  Jim Meyering  <meyering@redhat.com>
8446
8447         bootstrap: avoid failure when there is no .gitmodules file
8448         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
8449         has been assigned to, even when its value is the empty string.
8450         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
8451         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
8452         Reported by John W. Eaton <jwe@gnu.org>.
8453
8454 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
8455
8456         assume <ctype.h>, ..., <time.h> exist
8457         For years gnulib has been assuming the existence of the headers
8458         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
8459         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
8460         them, since they don't appear to be needed.
8461         * README (Portability guidelines): Document this.
8462         * lib/flock.c: Assume <fcntl.h> exists.
8463         * lib/regex_internal.h: Assume <locale.h> exists.
8464         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
8465         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
8466         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
8467         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
8468         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
8469         * m4/regex.m4 (gl_REGEX): Likewise.
8470         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
8471         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
8472         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
8473         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
8474         * tests/test-argp.c: Likewise.
8475         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
8476
8477         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
8478         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
8479         AA_APPLE_UNIVERSAL_BUILD.  See
8480         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
8481         * NEWS: Document this.
8482
8483 2011-01-19  Eric Blake  <eblake@redhat.com>
8484
8485         c-stack: assume stack overflow if SA_SIGINFO unsupported
8486         * lib/c-stack.c (SIGACTION_WORKS): Rename...
8487         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
8488         sigaction will work.
8489         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
8490         behavior match Linux.
8491         * tests/test-c-stack.c (main): Prefer NULL for pointers.
8492
8493         stdbool-tests: accomodate Haiku
8494         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
8495
8496         binary-io: fix O_TEXT on Haiku
8497         * modules/binary-io (Depends-on): Add fcntl-h.
8498         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
8499         than blindly undefining O_TEXT.
8500         Reported by Scott McCreary.
8501
8502 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
8503
8504         include_next: do not check for standard headers like stddef.h
8505
8506         I found this problem when modifying Emacs to use gnulib.
8507         I noticed that it added HAVE_STDDEF_H to config.h, even though
8508         gnulib always assumes <stddef.h> exists as per README and this
8509         symbol is unnecessary.
8510         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
8511         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
8512         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
8513         faster for headers like stddef.h that are known to exist.
8514         (gl_CHECK_NEXT_HEADERS): Use it.
8515         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
8516         rather than gl_CHECK_NEXT_HEADERS.
8517         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
8518         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
8519
8520 2011-01-18  Eric Blake  <eblake@redhat.com>
8521
8522         ansi-c++-opt: skip C++ dependency style if C++ is unused
8523         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
8524         tests when we know C++ compilation is not desired.
8525         Reported by Scott McCreary.
8526
8527 2011-01-18  Bruno Haible  <bruno@clisp.org>
8528
8529         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
8530         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
8531         (main): Perform test also when getrlimit and setrlimit don't exist or
8532         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
8533         limiting the address space size using setrlimit, compare the address
8534         space size before and after the the test.
8535         * tests/test-dprintf-posix2.c: Likewise.
8536         * tests/test-fprintf-posix3.sh: Update skip messages.
8537         * tests/test-dprintf-posix2.sh: Likewise.
8538         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
8539         * modules/dprintf-posix-tests (Depends-on): Likewise.
8540         Reported by Bruce Korb <bkorb@gnu.org> and
8541         Gary V. Vaughan <gary@gnu.org>.
8542
8543 2011-01-18  Bruno Haible  <bruno@clisp.org>
8544
8545         get-rusage-as: Improvement for Cygwin.
8546         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
8547         areas that are merely reserved.
8548
8549 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
8550
8551         strftime: remove dependencies on multibyte modules
8552
8553         strftime depended on mbrlen, mbsinit, and wchar, but these modules
8554         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
8555         only if __osf__ is defined, and I suspect OSF doesn't need these
8556         other modules.  If my guess is wrong, we'll need to come up with a
8557         variant of strftime that doesn't need the multibyte modules.
8558
8559         I discovered this problem when attempting modify Emacs to use the
8560         strftime module.  With the previous gnulib, this caused Emacs to
8561         need 31 new files, ranging from lib/config.charset to
8562         m4/wint_t.m4.  This was overkill and I expect would be offputting
8563         to the Emacs maintainers.  After this change, only 6 new files are
8564         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
8565         stdbool.m4, and tm_gmtoff.m4.
8566
8567         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
8568         Suggested by Bruno Haible in
8569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
8570         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
8571         and do not check for wchar.h.
8572         * modules/strftime (Files): Remove m4/mbstate_t.m4.
8573         (Depends-on): Remove mbrlen, mbsinit, wchar.
8574
8575 2011-01-18  Bruno Haible  <bruno@clisp.org>
8576
8577         Tests for module 'get-rusage-as'.
8578         * modules/get-rusage-as-tests: New file.
8579         * tests/test-get-rusage-as.c: New file.
8580
8581         New module 'get-rusage-as'.
8582         * modules/get-rusage-as: New file.
8583         * lib/resource-ext.h: New file.
8584         * lib/get-rusage-as.c: New file.
8585
8586 2011-01-17  Eric Blake  <eblake@redhat.com>
8587
8588         sigaction: relax license from LGPLv3+ to LGPLv2+
8589         * modules/sigaction (License): Relax to LGPLv2+.
8590
8591 2011-01-14  Bruno Haible  <bruno@clisp.org>
8592
8593         filemode: Make function declarations usable in C++ mode.
8594         * lib/filemode.h: Enclose function declarations in extern "C" block.
8595         Reported by John W. Eaton <jwe@gnu.org>.
8596
8597 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
8598
8599         save-cwd: no longer include "xgetcwd.h"
8600         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
8601         This avoids a compilation failure in projects that use save-cwd
8602         without also using the xgetcwd module.
8603
8604 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8605
8606         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
8607         This is so that a program like Emacs, which needs only dtoastr,
8608         does not have to bother with distributing and compiling ftoastr
8609         and ldtoastr.
8610         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
8611         * modules/dtoastr, modules/ldtoastr: New files.
8612         * modules/ftoastr: Now works just for 'float'.
8613         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
8614         (Makefile.am): Remove ftoastr.h (not needed and no effect),
8615         dtoastr.c, ldtoastr.c.
8616
8617 2011-01-11  Jim Meyering  <meyering@redhat.com>
8618
8619         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
8620         There is no need to work around the lack of the fchdir function,
8621         since gnulib can now provide a replacement when required.
8622         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
8623         * modules/save-cwd (Depends-on): Add fchdir.
8624
8625 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8626
8627         openat, save-cwd: avoid xmalloc
8628
8629         This removes a direct (but undocumented) dependency of openat on
8630         xalloc, along with an indirect dependency via save-cwd.  It also
8631         removes a dependency of save-cwd on xgetcwd, and thereby
8632         indirectly on xalloc.  This change causes the openat substitute
8633         to fall back on save_cwd when memory is tight, and for save_cwd to
8634         fail instead of dying when memory is tight, but that's good enough.
8635         Problem and initial idea for fix reported by Bastien Roucaries in
8636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
8637
8638         * lib/openat-proc.c: Include stdlib.h (for malloc), not
8639         xalloc.h (for xmalloc).
8640         (openat_proc_name): Use malloc, not xmalloc.
8641         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
8642         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
8643
8644         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
8645         This avoids heap allocation for file names whose lengths are in
8646         the range 512..1023, with the upper bound increasing to at most
8647         4031 depending on the platform's PATH_MAX.  (We do not want
8648         pathmax.h here as it might supply a non-constant PATH_MAX.)
8649         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
8650         Perhaps they should be moved to malloca.h?
8651         (OPENAT_BUFFER_SIZE): Use them.
8652
8653 2011-01-10  Bruno Haible  <bruno@clisp.org>
8654
8655         doc: Update users.txt.
8656         * users.txt: Add recutils.
8657
8658 2011-01-09  Karl Berry  <karl@gnu.org>
8659
8660         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
8661
8662         * doc/configmake.texi: New file.
8663         * doc/gnulib.texi: Include it.
8664         * modules/configmake: Move documentation from here.
8665
8666 2011-01-09  Bruno Haible  <bruno@clisp.org>
8667
8668         Update to Unicode 6.0.0.
8669         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
8670         (get_lbp): Update for Unicode 6.0.0.
8671         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
8672         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
8673         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
8674         U+11001, U+11038..U+11046. Remove U+06DE.
8675         (uc_width): Fix bounds of planes.
8676         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8677         lib/uniwidth/width.c.
8678         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
8679         trailing whitespace removed.
8680         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
8681         without comments, but with the original copyright notice.
8682         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
8683         * lib/unicase/ignorable.h: Likewise.
8684         * lib/unicase/tocasefold.h: Likewise.
8685         * lib/unicase/tolower.h: Likewise.
8686         * lib/unicase/totitle.h: Likewise.
8687         * lib/unicase/toupper.h: Likewise.
8688         * lib/unictype/bidi_of.h: Likewise.
8689         * lib/unictype/blocks.h: Likewise.
8690         * lib/unictype/categ_C.h: Likewise.
8691         * lib/unictype/categ_Cn.h: Likewise.
8692         * lib/unictype/categ_L.h: Likewise.
8693         * lib/unictype/categ_Ll.h: Likewise.
8694         * lib/unictype/categ_Lm.h: Likewise.
8695         * lib/unictype/categ_Lo.h: Likewise.
8696         * lib/unictype/categ_Lu.h: Likewise.
8697         * lib/unictype/categ_M.h: Likewise.
8698         * lib/unictype/categ_Mc.h: Likewise.
8699         * lib/unictype/categ_Me.h: Likewise.
8700         * lib/unictype/categ_Mn.h: Likewise.
8701         * lib/unictype/categ_N.h: Likewise.
8702         * lib/unictype/categ_Nd.h: Likewise.
8703         * lib/unictype/categ_No.h: Likewise.
8704         * lib/unictype/categ_P.h: Likewise.
8705         * lib/unictype/categ_Po.h: Likewise.
8706         * lib/unictype/categ_S.h: Likewise.
8707         * lib/unictype/categ_Sc.h: Likewise.
8708         * lib/unictype/categ_Sk.h: Likewise.
8709         * lib/unictype/categ_Sm.h: Likewise.
8710         * lib/unictype/categ_So.h: Likewise.
8711         * lib/unictype/categ_of.h: Likewise.
8712         * lib/unictype/combining.h: Likewise.
8713         * lib/unictype/ctype_alnum.h: Likewise.
8714         * lib/unictype/ctype_alpha.h: Likewise.
8715         * lib/unictype/ctype_graph.h: Likewise.
8716         * lib/unictype/ctype_lower.h: Likewise.
8717         * lib/unictype/ctype_print.h: Likewise.
8718         * lib/unictype/ctype_punct.h: Likewise.
8719         * lib/unictype/ctype_upper.h: Likewise.
8720         * lib/unictype/decdigit.h: Likewise.
8721         * lib/unictype/digit.h: Likewise.
8722         * lib/unictype/numeric.h: Likewise.
8723         * lib/unictype/pr_alphabetic.h: Likewise.
8724         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
8725         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
8726         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
8727         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
8728         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
8729         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
8730         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
8731         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
8732         * lib/unictype/pr_case_ignorable.h: Likewise.
8733         * lib/unictype/pr_cased.h: Likewise.
8734         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
8735         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
8736         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
8737         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
8738         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
8739         * lib/unictype/pr_combining.h: Likewise.
8740         * lib/unictype/pr_composite.h: Likewise.
8741         * lib/unictype/pr_currency_symbol.h: Likewise.
8742         * lib/unictype/pr_decimal_digit.h: Likewise.
8743         * lib/unictype/pr_deprecated.h: Likewise.
8744         * lib/unictype/pr_format_control.h: Likewise.
8745         * lib/unictype/pr_grapheme_base.h: Likewise.
8746         * lib/unictype/pr_grapheme_extend.h: Likewise.
8747         * lib/unictype/pr_grapheme_link.h: Likewise.
8748         * lib/unictype/pr_id_continue.h: Likewise.
8749         * lib/unictype/pr_id_start.h: Likewise.
8750         * lib/unictype/pr_ideographic.h: Likewise.
8751         * lib/unictype/pr_lowercase.h: Likewise.
8752         * lib/unictype/pr_math.h: Likewise.
8753         * lib/unictype/pr_numeric.h: Likewise.
8754         * lib/unictype/pr_other_alphabetic.h: Likewise.
8755         * lib/unictype/pr_other_id_continue.h: Likewise.
8756         * lib/unictype/pr_other_math.h: Likewise.
8757         * lib/unictype/pr_punctuation.h: Likewise.
8758         * lib/unictype/pr_sentence_terminal.h: Likewise.
8759         * lib/unictype/pr_terminal_punctuation.h: Likewise.
8760         * lib/unictype/pr_unassigned_code_value.h: Likewise.
8761         * lib/unictype/pr_unified_ideograph.h: Likewise.
8762         * lib/unictype/pr_uppercase.h: Likewise.
8763         * lib/unictype/pr_xid_continue.h: Likewise.
8764         * lib/unictype/pr_xid_start.h: Likewise.
8765         * lib/unictype/scripts.h: Likewise.
8766         * lib/unictype/scripts_byname.gperf: Likewise.
8767         * lib/unictype/sy_java_ident.h: Likewise.
8768         * lib/unigbrk/gbrkprop.h: Likewise.
8769         * lib/unilbrk/lbrkprop1.h: Likewise.
8770         * lib/unilbrk/lbrkprop2.h: Likewise.
8771         * lib/uninorm/decomposition-table2.h: Likewise.
8772         * lib/uniwbrk/wbrkprop.h: Likewise.
8773         * tests/unicase/test-cased.c: Likewise.
8774         * tests/unicase/test-ignorable.c: Likewise.
8775         * tests/unicase/test-uc_tolower.c: Likewise.
8776         * tests/unicase/test-uc_totitle.c: Likewise.
8777         * tests/unicase/test-uc_toupper.c: Likewise.
8778         * tests/unictype/test-categ_C.c: Likewise.
8779         * tests/unictype/test-categ_Cn.c: Likewise.
8780         * tests/unictype/test-categ_L.c: Likewise.
8781         * tests/unictype/test-categ_Ll.c: Likewise.
8782         * tests/unictype/test-categ_Lm.c: Likewise.
8783         * tests/unictype/test-categ_Lo.c: Likewise.
8784         * tests/unictype/test-categ_Lu.c: Likewise.
8785         * tests/unictype/test-categ_M.c: Likewise.
8786         * tests/unictype/test-categ_Mc.c: Likewise.
8787         * tests/unictype/test-categ_Me.c: Likewise.
8788         * tests/unictype/test-categ_Mn.c: Likewise.
8789         * tests/unictype/test-categ_N.c: Likewise.
8790         * tests/unictype/test-categ_Nd.c: Likewise.
8791         * tests/unictype/test-categ_No.c: Likewise.
8792         * tests/unictype/test-categ_P.c: Likewise.
8793         * tests/unictype/test-categ_Po.c: Likewise.
8794         * tests/unictype/test-categ_S.c: Likewise.
8795         * tests/unictype/test-categ_Sc.c: Likewise.
8796         * tests/unictype/test-categ_Sk.c: Likewise.
8797         * tests/unictype/test-categ_Sm.c: Likewise.
8798         * tests/unictype/test-categ_So.c: Likewise.
8799         * tests/unictype/test-ctype_alnum.c: Likewise.
8800         * tests/unictype/test-ctype_alpha.c: Likewise.
8801         * tests/unictype/test-ctype_graph.c: Likewise.
8802         * tests/unictype/test-ctype_lower.c: Likewise.
8803         * tests/unictype/test-ctype_print.c: Likewise.
8804         * tests/unictype/test-ctype_punct.c: Likewise.
8805         * tests/unictype/test-ctype_upper.c: Likewise.
8806         * tests/unictype/test-decdigit.h: Likewise.
8807         * tests/unictype/test-digit.h: Likewise.
8808         * tests/unictype/test-numeric.h: Likewise.
8809         * tests/unictype/test-pr_alphabetic.c: Likewise.
8810         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
8811         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
8812         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
8813         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
8814         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
8815         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
8816         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
8817         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
8818         * tests/unictype/test-pr_case_ignorable.c: Likewise.
8819         * tests/unictype/test-pr_cased.c: Likewise.
8820         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
8821         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
8822         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
8823         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
8824         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
8825         * tests/unictype/test-pr_combining.c: Likewise.
8826         * tests/unictype/test-pr_composite.c: Likewise.
8827         * tests/unictype/test-pr_currency_symbol.c: Likewise.
8828         * tests/unictype/test-pr_decimal_digit.c: Likewise.
8829         * tests/unictype/test-pr_deprecated.c: Likewise.
8830         * tests/unictype/test-pr_format_control.c: Likewise.
8831         * tests/unictype/test-pr_grapheme_base.c: Likewise.
8832         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
8833         * tests/unictype/test-pr_grapheme_link.c: Likewise.
8834         * tests/unictype/test-pr_id_continue.c: Likewise.
8835         * tests/unictype/test-pr_id_start.c: Likewise.
8836         * tests/unictype/test-pr_ideographic.c: Likewise.
8837         * tests/unictype/test-pr_lowercase.c: Likewise.
8838         * tests/unictype/test-pr_math.c: Likewise.
8839         * tests/unictype/test-pr_numeric.c: Likewise.
8840         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
8841         * tests/unictype/test-pr_other_id_continue.c: Likewise.
8842         * tests/unictype/test-pr_other_math.c: Likewise.
8843         * tests/unictype/test-pr_punctuation.c: Likewise.
8844         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
8845         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
8846         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
8847         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
8848         * tests/unictype/test-pr_uppercase.c: Likewise.
8849         * tests/unictype/test-pr_xid_continue.c: Likewise.
8850         * tests/unictype/test-pr_xid_start.c: Likewise.
8851         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
8852         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
8853         changes.
8854         * lib/unictype/categ_Cc.h: Likewise.
8855         * lib/unictype/categ_Cf.h: Likewise.
8856         * lib/unictype/categ_Co.h: Likewise.
8857         * lib/unictype/categ_Cs.h: Likewise.
8858         * lib/unictype/categ_Lt.h: Likewise.
8859         * lib/unictype/categ_Nl.h: Likewise.
8860         * lib/unictype/categ_Pc.h: Likewise.
8861         * lib/unictype/categ_Pd.h: Likewise.
8862         * lib/unictype/categ_Pe.h: Likewise.
8863         * lib/unictype/categ_Pf.h: Likewise.
8864         * lib/unictype/categ_Pi.h: Likewise.
8865         * lib/unictype/categ_Ps.h: Likewise.
8866         * lib/unictype/categ_Z.h: Likewise.
8867         * lib/unictype/categ_Zl.h: Likewise.
8868         * lib/unictype/categ_Zp.h: Likewise.
8869         * lib/unictype/categ_Zs.h: Likewise.
8870         * lib/unictype/ctype_blank.h: Likewise.
8871         * lib/unictype/ctype_cntrl.h: Likewise.
8872         * lib/unictype/ctype_digit.h: Likewise.
8873         * lib/unictype/ctype_space.h: Likewise.
8874         * lib/unictype/ctype_xdigit.h: Likewise.
8875         * lib/unictype/mirror.h: Likewise.
8876         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
8877         * lib/unictype/pr_bidi_block_separator.h: Likewise.
8878         * lib/unictype/pr_bidi_common_separator.h: Likewise.
8879         * lib/unictype/pr_bidi_control.h: Likewise.
8880         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
8881         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
8882         * lib/unictype/pr_bidi_european_digit.h: Likewise.
8883         * lib/unictype/pr_bidi_pdf.h: Likewise.
8884         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
8885         * lib/unictype/pr_bidi_whitespace.h: Likewise.
8886         * lib/unictype/pr_dash.h: Likewise.
8887         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
8888         * lib/unictype/pr_diacritic.h: Likewise.
8889         * lib/unictype/pr_extender.h: Likewise.
8890         * lib/unictype/pr_hex_digit.h: Likewise.
8891         * lib/unictype/pr_hyphen.h: Likewise.
8892         * lib/unictype/pr_ids_binary_operator.h: Likewise.
8893         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
8894         * lib/unictype/pr_ignorable_control.h: Likewise.
8895         * lib/unictype/pr_iso_control.h: Likewise.
8896         * lib/unictype/pr_join_control.h: Likewise.
8897         * lib/unictype/pr_left_of_pair.h: Likewise.
8898         * lib/unictype/pr_line_separator.h: Likewise.
8899         * lib/unictype/pr_logical_order_exception.h: Likewise.
8900         * lib/unictype/pr_non_break.h: Likewise.
8901         * lib/unictype/pr_not_a_character.h: Likewise.
8902         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
8903         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
8904         * lib/unictype/pr_other_id_start.h: Likewise.
8905         * lib/unictype/pr_other_lowercase.h: Likewise.
8906         * lib/unictype/pr_other_uppercase.h: Likewise.
8907         * lib/unictype/pr_paired_punctuation.h: Likewise.
8908         * lib/unictype/pr_paragraph_separator.h: Likewise.
8909         * lib/unictype/pr_pattern_syntax.h: Likewise.
8910         * lib/unictype/pr_pattern_white_space.h: Likewise.
8911         * lib/unictype/pr_private_use.h: Likewise.
8912         * lib/unictype/pr_quotation_mark.h: Likewise.
8913         * lib/unictype/pr_radical.h: Likewise.
8914         * lib/unictype/pr_soft_dotted.h: Likewise.
8915         * lib/unictype/pr_space.h: Likewise.
8916         * lib/unictype/pr_titlecase.h: Likewise.
8917         * lib/unictype/pr_variation_selector.h: Likewise.
8918         * lib/unictype/pr_white_space.h: Likewise.
8919         * lib/unictype/pr_zero_width.h: Likewise.
8920         * lib/unictype/sy_c_ident.h: Likewise.
8921         * lib/unictype/sy_c_whitespace.h: Likewise.
8922         * lib/unictype/sy_java_whitespace.h: Likewise.
8923         * lib/uninorm/composition-table.gperf: Likewise.
8924         * lib/uninorm/decomposition-table1.h: Likewise.
8925         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
8926         LB8.
8927         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
8928         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
8929         * modules/unictype/*: Bump version number of expected libunistring
8930         version.
8931
8932 2011-01-09  Bruno Haible  <bruno@clisp.org>
8933
8934         Update to Unicode 5.2.0.
8935         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
8936         trailing whitespace removed.
8937
8938 2011-01-09  Bruno Haible  <bruno@clisp.org>
8939
8940         New Unicode character properties, from Unicode 5.2.0.
8941         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
8942         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
8943         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
8944         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
8945         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
8946         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
8947         uc_is_property_cased, uc_is_property_case_ignorable,
8948         uc_is_property_changes_when_lowercased,
8949         uc_is_property_changes_when_uppercased,
8950         uc_is_property_changes_when_titlecased,
8951         uc_is_property_changes_when_casefolded,
8952         uc_is_property_changes_when_casemapped): New declarations.
8953         * lib/unictype/pr_byname.gperf: Add the new properties.
8954         * modules/unictype/property-byname (Depends-on): Depend on the new
8955         properties modules.
8956         * modules/unictype/property-all (Depends-on): Likewise.
8957         * MODULES.html.sh (Unicode string functions): Add
8958         unictype/property-case-ignorable, unictype/property-cased,
8959         unictype/property-changes-when-casefolded,
8960         unictype/property-changes-when-casemapped,
8961         unictype/property-changes-when-lowercased,
8962         unictype/property-changes-when-titlecased,
8963         unictype/property-changes-when-uppercased.
8964
8965         New module 'unictype/property-changes-when-casemapped'.
8966         * modules/unictype/property-changes-when-casemapped: New file.
8967         * lib/unictype/pr_changes_when_casemapped.c: New file.
8968         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
8969         generated by gen-uni-tables.
8970         * modules/unictype/property-changes-when-casemapped-tests: New file.
8971         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
8972         automatically generated by gen-uni-tables.
8973
8974         New module 'unictype/property-changes-when-casefolded'.
8975         * modules/unictype/property-changes-when-casefolded: New file.
8976         * lib/unictype/pr_changes_when_casefolded.c: New file.
8977         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
8978         generated by gen-uni-tables.
8979         * modules/unictype/property-changes-when-casefolded-tests: New file.
8980         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
8981         automatically generated by gen-uni-tables.
8982
8983         New module 'unictype/property-changes-when-titlecased'.
8984         * modules/unictype/property-changes-when-titlecased: New file.
8985         * lib/unictype/pr_changes_when_titlecased.c: New file.
8986         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
8987         generated by gen-uni-tables.
8988         * modules/unictype/property-changes-when-titlecased-tests: New file.
8989         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
8990         automatically generated by gen-uni-tables.
8991
8992         New module 'unictype/property-changes-when-uppercased'.
8993         * modules/unictype/property-changes-when-uppercased: New file.
8994         * lib/unictype/pr_changes_when_uppercased.c: New file.
8995         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
8996         generated by gen-uni-tables.
8997         * modules/unictype/property-changes-when-uppercased-tests: New file.
8998         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
8999         automatically generated by gen-uni-tables.
9000
9001         New module 'unictype/property-changes-when-lowercased'.
9002         * modules/unictype/property-changes-when-lowercased: New file.
9003         * lib/unictype/pr_changes_when_lowercased.c: New file.
9004         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
9005         generated by gen-uni-tables.
9006         * modules/unictype/property-changes-when-lowercased-tests: New file.
9007         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
9008         automatically generated by gen-uni-tables.
9009
9010         New module 'unictype/property-case-ignorable'.
9011         * modules/unictype/property-case-ignorable: New file.
9012         * lib/unictype/pr_case_ignorable.c: New file.
9013         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
9014         by gen-uni-tables.
9015         * modules/unictype/property-case-ignorable-tests: New file.
9016         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
9017         generated by gen-uni-tables.
9018
9019         New module 'unictype/property-cased'.
9020         * modules/unictype/property-cased: New file.
9021         * lib/unictype/pr_cased.c: New file.
9022         * lib/unictype/pr_cased.h: New file, automatically generated by
9023         gen-uni-tables.
9024         * modules/unictype/property-cased-tests: New file.
9025         * tests/unictype/test-pr_cased.c: New file, automatically generated by
9026         gen-uni-tables.
9027
9028 2011-01-09  Bruno Haible  <bruno@clisp.org>
9029
9030         Update to Unicode 5.2.0.
9031         * lib/gen-uni-tables.c (output_predicate, output_category,
9032         output_combclass, output_bidi_category, output_decimal_digit_test,
9033         output_decimal_digit, output_digit_test, output_digit,
9034         output_numeric_test, output_numeric, output_mirror, output_scripts,
9035         output_scripts_byname, output_blocks, output_ident_category): Fix
9036         comment header.
9037         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
9038         get_wbp.
9039         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
9040         items.
9041         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
9042         Changes_When_Lowercased, Changes_When_Uppercased,
9043         Changes_When_Titlecased, Changes_When_Casefolded,
9044         Changes_When_Casemapped.
9045         (is_property_alphabetic, is_property_default_ignorable_code_point):
9046         Update for Unicode 5.2.0.
9047         (is_property_cased, is_property_case_ignorable,
9048         is_property_changes_when_lowercased,
9049         is_property_changes_when_uppercased,
9050         is_property_changes_when_titlecased,
9051         is_property_changes_when_casefolded,
9052         is_property_changes_when_casemapped): New functions.
9053         (output_properties): Output also the properties cased, case_ignorable,
9054         changes_when_lowercased, changes_when_uppercased,
9055         changes_when_titlecased, changes_when_casefolded,
9056         changes_when_casemapped.
9057         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
9058         Unicode TR#11 revision 17 -> 19.
9059         (LBP_CP): New enumeration value.
9060         (LBP_*): Adjust values accordingly.
9061         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
9062         TR#14 revision 22 -> 24.
9063         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
9064         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
9065         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
9066         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
9067         is_WBP_MIDLETTER.
9068         (output_composition_tables): Allow for 24 bits instead of 16 bits in
9069         the code1 and code2 of each composition rule.
9070         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
9071         * lib/unicase/ignorable.h: Likewise.
9072         * lib/unicase/tocasefold.h: Likewise.
9073         * lib/unicase/tolower.h: Likewise.
9074         * lib/unicase/totitle.h: Likewise.
9075         * lib/unicase/toupper.h: Likewise.
9076         * lib/unictype/bidi_of.h: Likewise.
9077         * lib/unictype/blocks.h: Likewise.
9078         * lib/unictype/categ_C.h: Likewise.
9079         * lib/unictype/categ_Cf.h: Likewise.
9080         * lib/unictype/categ_Cn.h: Likewise.
9081         * lib/unictype/categ_L.h: Likewise.
9082         * lib/unictype/categ_Ll.h: Likewise.
9083         * lib/unictype/categ_Lm.h: Likewise.
9084         * lib/unictype/categ_Lo.h: Likewise.
9085         * lib/unictype/categ_Lu.h: Likewise.
9086         * lib/unictype/categ_M.h: Likewise.
9087         * lib/unictype/categ_Mc.h: Likewise.
9088         * lib/unictype/categ_Mn.h: Likewise.
9089         * lib/unictype/categ_N.h: Likewise.
9090         * lib/unictype/categ_Nd.h: Likewise.
9091         * lib/unictype/categ_Nl.h: Likewise.
9092         * lib/unictype/categ_No.h: Likewise.
9093         * lib/unictype/categ_P.h: Likewise.
9094         * lib/unictype/categ_Pd.h: Likewise.
9095         * lib/unictype/categ_Po.h: Likewise.
9096         * lib/unictype/categ_S.h: Likewise.
9097         * lib/unictype/categ_Sc.h: Likewise.
9098         * lib/unictype/categ_So.h: Likewise.
9099         * lib/unictype/categ_of.h: Likewise.
9100         * lib/unictype/combining.h: Likewise.
9101         * lib/unictype/ctype_alnum.h: Likewise.
9102         * lib/unictype/ctype_alpha.h: Likewise.
9103         * lib/unictype/ctype_graph.h: Likewise.
9104         * lib/unictype/ctype_lower.h: Likewise.
9105         * lib/unictype/ctype_print.h: Likewise.
9106         * lib/unictype/ctype_punct.h: Likewise.
9107         * lib/unictype/ctype_upper.h: Likewise.
9108         * lib/unictype/decdigit.h: Likewise.
9109         * lib/unictype/digit.h: Likewise.
9110         * lib/unictype/numeric.h: Likewise.
9111         * lib/unictype/pr_alphabetic.h: Likewise.
9112         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
9113         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
9114         * lib/unictype/pr_bidi_european_digit.h: Likewise.
9115         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
9116         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
9117         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
9118         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
9119         * lib/unictype/pr_combining.h: Likewise.
9120         * lib/unictype/pr_composite.h: Likewise.
9121         * lib/unictype/pr_currency_symbol.h: Likewise.
9122         * lib/unictype/pr_dash.h: Likewise.
9123         * lib/unictype/pr_decimal_digit.h: Likewise.
9124         * lib/unictype/pr_deprecated.h: Likewise.
9125         * lib/unictype/pr_diacritic.h: Likewise.
9126         * lib/unictype/pr_extender.h: Likewise.
9127         * lib/unictype/pr_grapheme_base.h: Likewise.
9128         * lib/unictype/pr_grapheme_extend.h: Likewise.
9129         * lib/unictype/pr_grapheme_link.h: Likewise.
9130         * lib/unictype/pr_id_continue.h: Likewise.
9131         * lib/unictype/pr_id_start.h: Likewise.
9132         * lib/unictype/pr_ideographic.h: Likewise.
9133         * lib/unictype/pr_ignorable_control.h: Likewise.
9134         * lib/unictype/pr_logical_order_exception.h: Likewise.
9135         * lib/unictype/pr_lowercase.h: Likewise.
9136         * lib/unictype/pr_numeric.h: Likewise.
9137         * lib/unictype/pr_other_alphabetic.h: Likewise.
9138         * lib/unictype/pr_punctuation.h: Likewise.
9139         * lib/unictype/pr_sentence_terminal.h: Likewise.
9140         * lib/unictype/pr_terminal_punctuation.h: Likewise.
9141         * lib/unictype/pr_unassigned_code_value.h: Likewise.
9142         * lib/unictype/pr_unified_ideograph.h: Likewise.
9143         * lib/unictype/pr_uppercase.h: Likewise.
9144         * lib/unictype/pr_xid_continue.h: Likewise.
9145         * lib/unictype/pr_xid_start.h: Likewise.
9146         * lib/unictype/pr_zero_width.h: Likewise.
9147         * lib/unictype/scripts.h: Likewise.
9148         * lib/unictype/scripts_byname.gperf: Likewise.
9149         * lib/unictype/sy_java_ident.h: Likewise.
9150         * lib/unigbrk/gbrkprop.h: Likewise.
9151         * lib/unilbrk/lbrkprop1.h: Likewise.
9152         * lib/unilbrk/lbrkprop2.h: Likewise.
9153         * lib/unilbrk/lbrktables.h: Likewise.
9154         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
9155         LBP_CP. Implement rule LB30.
9156         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
9157         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
9158         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
9159         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
9160         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
9161         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
9162         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
9163         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
9164         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
9165         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
9166         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
9167         bits instead of 16 bits in the code1 and code2 of each composition
9168         rule.
9169         (uc_composition): Update for Unicode 5.2.0.
9170         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
9171         * lib/uninorm/decomposition-table2.h: Likewise.
9172         * lib/uniwbrk/wbrkprop.h: Likewise.
9173         * tests/unicase/test-cased.c: Likewise.
9174         * tests/unicase/test-ignorable.c: Likewise.
9175         * tests/unicase/test-uc_tolower.c: Likewise.
9176         * tests/unicase/test-uc_totitle.c: Likewise.
9177         * tests/unicase/test-uc_toupper.c: Likewise.
9178         * tests/unictype/test-categ_C.c: Likewise.
9179         * tests/unictype/test-categ_Cf.c: Likewise.
9180         * tests/unictype/test-categ_Cn.c: Likewise.
9181         * tests/unictype/test-categ_L.c: Likewise.
9182         * tests/unictype/test-categ_Ll.c: Likewise.
9183         * tests/unictype/test-categ_Lm.c: Likewise.
9184         * tests/unictype/test-categ_Lo.c: Likewise.
9185         * tests/unictype/test-categ_Lu.c: Likewise.
9186         * tests/unictype/test-categ_M.c: Likewise.
9187         * tests/unictype/test-categ_Mc.c: Likewise.
9188         * tests/unictype/test-categ_Mn.c: Likewise.
9189         * tests/unictype/test-categ_N.c: Likewise.
9190         * tests/unictype/test-categ_Nd.c: Likewise.
9191         * tests/unictype/test-categ_Nl.c: Likewise.
9192         * tests/unictype/test-categ_No.c: Likewise.
9193         * tests/unictype/test-categ_P.c: Likewise.
9194         * tests/unictype/test-categ_Pd.c: Likewise.
9195         * tests/unictype/test-categ_Po.c: Likewise.
9196         * tests/unictype/test-categ_S.c: Likewise.
9197         * tests/unictype/test-categ_Sc.c: Likewise.
9198         * tests/unictype/test-categ_So.c: Likewise.
9199         * tests/unictype/test-ctype_alnum.c: Likewise.
9200         * tests/unictype/test-ctype_alpha.c: Likewise.
9201         * tests/unictype/test-ctype_graph.c: Likewise.
9202         * tests/unictype/test-ctype_lower.c: Likewise.
9203         * tests/unictype/test-ctype_print.c: Likewise.
9204         * tests/unictype/test-ctype_punct.c: Likewise.
9205         * tests/unictype/test-ctype_upper.c: Likewise.
9206         * tests/unictype/test-decdigit.h: Likewise.
9207         * tests/unictype/test-digit.h: Likewise.
9208         * tests/unictype/test-numeric.h: Likewise.
9209         * tests/unictype/test-pr_alphabetic.c: Likewise.
9210         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
9211         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
9212         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
9213         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
9214         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
9215         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
9216         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
9217         * tests/unictype/test-pr_combining.c: Likewise.
9218         * tests/unictype/test-pr_composite.c: Likewise.
9219         * tests/unictype/test-pr_currency_symbol.c: Likewise.
9220         * tests/unictype/test-pr_dash.c: Likewise.
9221         * tests/unictype/test-pr_decimal_digit.c: Likewise.
9222         * tests/unictype/test-pr_deprecated.c: Likewise.
9223         * tests/unictype/test-pr_diacritic.c: Likewise.
9224         * tests/unictype/test-pr_extender.c: Likewise.
9225         * tests/unictype/test-pr_grapheme_base.c: Likewise.
9226         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
9227         * tests/unictype/test-pr_grapheme_link.c: Likewise.
9228         * tests/unictype/test-pr_id_continue.c: Likewise.
9229         * tests/unictype/test-pr_id_start.c: Likewise.
9230         * tests/unictype/test-pr_ideographic.c: Likewise.
9231         * tests/unictype/test-pr_ignorable_control.c: Likewise.
9232         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
9233         * tests/unictype/test-pr_lowercase.c: Likewise.
9234         * tests/unictype/test-pr_numeric.c: Likewise.
9235         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
9236         * tests/unictype/test-pr_punctuation.c: Likewise.
9237         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
9238         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
9239         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
9240         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
9241         * tests/unictype/test-pr_uppercase.c: Likewise.
9242         * tests/unictype/test-pr_xid_continue.c: Likewise.
9243         * tests/unictype/test-pr_xid_start.c: Likewise.
9244         * tests/unictype/test-pr_zero_width.c: Likewise.
9245         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
9246         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
9247         changed behaviour: line breaking is now disallowed between a letter
9248         or '=' and '('.
9249         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
9250         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
9251         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
9252         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
9253         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9254         lib/uniwidth/width.c.
9255         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
9256         without comments, but with the original copyright notice.
9257         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
9258         changes.
9259         * lib/unictype/categ_Cc.h: Likewise.
9260         * lib/unictype/categ_Co.h: Likewise.
9261         * lib/unictype/categ_Cs.h: Likewise.
9262         * lib/unictype/categ_Lt.h: Likewise.
9263         * lib/unictype/categ_Me.h: Likewise.
9264         * lib/unictype/categ_Pc.h: Likewise.
9265         * lib/unictype/categ_Pe.h: Likewise.
9266         * lib/unictype/categ_Pf.h: Likewise.
9267         * lib/unictype/categ_Pi.h: Likewise.
9268         * lib/unictype/categ_Ps.h: Likewise.
9269         * lib/unictype/categ_Sk.h: Likewise.
9270         * lib/unictype/categ_Sm.h: Likewise.
9271         * lib/unictype/categ_Z.h: Likewise.
9272         * lib/unictype/categ_Zl.h: Likewise.
9273         * lib/unictype/categ_Zp.h: Likewise.
9274         * lib/unictype/categ_Zs.h: Likewise.
9275         * lib/unictype/ctype_blank.h: Likewise.
9276         * lib/unictype/ctype_cntrl.h: Likewise.
9277         * lib/unictype/ctype_digit.h: Likewise.
9278         * lib/unictype/ctype_space.h: Likewise.
9279         * lib/unictype/ctype_xdigit.h: Likewise.
9280         * lib/unictype/mirror.h: Likewise.
9281         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
9282         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
9283         * lib/unictype/pr_bidi_block_separator.h: Likewise.
9284         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
9285         * lib/unictype/pr_bidi_common_separator.h: Likewise.
9286         * lib/unictype/pr_bidi_control.h: Likewise.
9287         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
9288         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
9289         * lib/unictype/pr_bidi_pdf.h: Likewise.
9290         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
9291         * lib/unictype/pr_bidi_whitespace.h: Likewise.
9292         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
9293         * lib/unictype/pr_format_control.h: Likewise.
9294         * lib/unictype/pr_hex_digit.h: Likewise.
9295         * lib/unictype/pr_hyphen.h: Likewise.
9296         * lib/unictype/pr_ids_binary_operator.h: Likewise.
9297         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
9298         * lib/unictype/pr_iso_control.h: Likewise.
9299         * lib/unictype/pr_join_control.h: Likewise.
9300         * lib/unictype/pr_left_of_pair.h: Likewise.
9301         * lib/unictype/pr_line_separator.h: Likewise.
9302         * lib/unictype/pr_math.h: Likewise.
9303         * lib/unictype/pr_non_break.h: Likewise.
9304         * lib/unictype/pr_not_a_character.h: Likewise.
9305         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
9306         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
9307         * lib/unictype/pr_other_id_continue.h: Likewise.
9308         * lib/unictype/pr_other_id_start.h: Likewise.
9309         * lib/unictype/pr_other_lowercase.h: Likewise.
9310         * lib/unictype/pr_other_math.h: Likewise.
9311         * lib/unictype/pr_other_uppercase.h: Likewise.
9312         * lib/unictype/pr_paired_punctuation.h: Likewise.
9313         * lib/unictype/pr_paragraph_separator.h: Likewise.
9314         * lib/unictype/pr_pattern_syntax.h: Likewise.
9315         * lib/unictype/pr_pattern_white_space.h: Likewise.
9316         * lib/unictype/pr_private_use.h: Likewise.
9317         * lib/unictype/pr_quotation_mark.h: Likewise.
9318         * lib/unictype/pr_radical.h: Likewise.
9319         * lib/unictype/pr_soft_dotted.h: Likewise.
9320         * lib/unictype/pr_space.h: Likewise.
9321         * lib/unictype/pr_titlecase.h: Likewise.
9322         * lib/unictype/pr_variation_selector.h: Likewise.
9323         * lib/unictype/pr_white_space.h: Likewise.
9324         * lib/unictype/sy_c_ident.h: Likewise.
9325         * lib/unictype/sy_c_whitespace.h: Likewise.
9326         * lib/unictype/sy_java_whitespace.h: Likewise.
9327         * modules/uni*/*: Bump version number of expected libunistring version.
9328         Reported by Simon Josefsson.
9329
9330 2011-01-09  Karl Heuer  <kwzh@gnu.org>
9331
9332         useless-if-before-free: fix typo in --help and make the internal,
9333         automatic version date update process work once again.
9334         --help output contained a NUL character instead of the
9335         backslash-zero that was intended.  Also, the "must lie within
9336         the first 8 lines" line is on line 9, and hence not getting
9337         automatically updated.
9338         * build-aux/useless-if-before-free: Fix the former by adding a
9339         backslash, and the latter by condensing the three lines of what-it-does
9340         to a single line, leaving one line of slack for the future.
9341
9342 2011-01-09  Bruno Haible  <bruno@clisp.org>
9343
9344         uniwidth/width: Fix width of U+1D173..U+1D17A.
9345         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
9346         symbolic_width, output_width_property_test): New functions.
9347         (main): Invoke output_nonspacing_property, output_width_property_test.
9348         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
9349         U+1D173..U+1D17A.
9350         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
9351         1.
9352         * modules/uniwidth/*: Bump version number of expected libunistring
9353         version.
9354         * modules/unilbrk/*: Likewise.
9355
9356 2011-01-08  Bruno Haible  <bruno@clisp.org>
9357
9358         uninorm tests: Preserve copyright of Unicode data file.
9359         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
9360         Mention modifications.
9361
9362 2011-01-08  Bruno Haible  <bruno@clisp.org>
9363
9364         gen-uni-tables: Prepare for Unicode 5.2.0.
9365         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
9366         (debug_output_lbp, output_lbp): Update.
9367
9368 2011-01-08  Bruno Haible  <bruno@clisp.org>
9369
9370         unilbrk: Clarify gen-uni-tables.c code.
9371         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
9372         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
9373         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
9374
9375 2011-01-07  Bruno Haible  <bruno@clisp.org>
9376
9377         strtod: Restore errno when successfully parsing Infinity or NaN.
9378         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
9379         restore the original errno.
9380
9381 2011-01-07  Bruno Haible  <bruno@clisp.org>
9382
9383         remove test: Avoid failure on HP-UX 11.
9384         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
9385
9386 2011-01-07  Bruno Haible  <bruno@clisp.org>
9387
9388         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
9389         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
9390         error code.
9391
9392 2011-01-07  Pádraig Brady <P@draigBrady.com>
9393
9394         ignore-value: fixup comments, and add Eric Blake
9395         as an author since he rewrote the macros.
9396         * lib/ignore-value.h (ignore_value):  State that
9397         we now support aggregates.  Also specify exactly
9398         when the GCC warn_unused_result feature was added.
9399
9400 2011-01-06  Eric Blake  <eblake@redhat.com>
9401
9402         ignore-value: support aggregate types
9403         * lib/ignore-value.h (ignore_value): Provide separate gcc
9404         definition.
9405         * modules/ignore-value-tests: New test module.
9406         * tests/test-ignore-value.c: New test.
9407
9408         maint.mk: improve sc_prohibit_strcmp regex
9409         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
9410         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
9411         definition of STRNEQ.
9412
9413         signal: work around Haiku issue with SIGBUS
9414         * lib/siglist.h: Add comment.
9415         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
9416         strsignal's favoring of SIGSEGV.
9417         * tests/test-signal.c (main): Avoid test failure.
9418         * doc/posix-headers/signal.texi (signal.h): Document the issue.
9419         Reported by Scott McCreary.
9420
9421         maint.mk: add pre-release check to ensure submodule commits are public
9422         * top/maint.mk (public-submodule-commit): New rule.
9423         (submodule-checks): New variable.
9424         (alpha beta stable): Depend on the variable.
9425
9426 2011-01-05  Pádraig Brady <P@draigBrady.com>
9427         and Jim Meyering  <meyering@redhat.com>
9428
9429         ignore-value: make ignore_value more generic; deprecate ignore_ptr
9430         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
9431         (ATTRIBUTE_DEPRECATED): Define.
9432         (_ignore_case): New function.
9433         (ignore_value): New macro, to replace the old function.
9434         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
9435         * modules/ignore-value (Depends-on): Add stdint.
9436
9437 2011-01-04  Eric Blake  <eblake@redhat.com>
9438
9439         doc: regenerate INSTALL
9440         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
9441         @firstparagraphindent support, now that autoconf dropped it.
9442         (INSTALL_PRELUDE): Reinstate old macro.
9443         * doc/install.texi: Resync from autoconf.
9444         * doc/INSTALL: Reflect recent autoconf update.
9445         * doc/INSTALL.ISO: Likewise.
9446         * doc/INSTALL.UTF-8: Likewise.
9447         Reported by Karl Berry.
9448
9449 2011-01-04  Bruce Korb  <address@hidden>
9450
9451         git-version-gen: avoid a sub-shell
9452         * build-aux/git-version-gen: Redirect stderr in `...` via
9453         "exec 2>...", rather than via an added sub-shell.
9454
9455 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
9456
9457         git-version-gen: use (...) rather than sh -c '...'
9458         * build-aux/git-version-gen: Rather than hard-coding a shell's name
9459         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
9460
9461 2011-01-03  Jim Meyering  <meyering@redhat.com>
9462
9463         git-version-gen: convert leading TABs to spaces
9464         * build-aux/git-version-gen: Expand leading TABs.
9465
9466         git-version-gen: handle failed "git rev-list"
9467         * build-aux/git-version-gen: Rather than leaking a "fatal" error
9468         from git and proceeding as if it had succeeded but printed no SHA1
9469         checksums, suppress the diagnostic and handle the failure.
9470         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
9471
9472         git-version-gen: include command name in one more diagnostic
9473         * build-aux/git-version-gen: When the required .tarball-version file
9474         was missing or unreadable, you might see the diagnostic from "cat",
9475         but no trace of the name of the invoking script.  Now, you still see
9476         the diagnostic from cat, but also get one from "git-version-gen: ".
9477         Inspired by a patch from Bruce Korb.
9478
9479         update-copyright: adjust test to match changed code
9480         * tests/test-update-copyright.sh: Change test's expected output
9481         to match new actual output.
9482
9483 2011-01-02  Bruno Haible  <bruno@clisp.org>
9484
9485         getlogin_r: Avoid test failure on HP-UX 11.
9486         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
9487         ERANGE when the second argument is zero.
9488         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
9489         portability problem.
9490
9491 2011-01-02  Bruce Korb  <bkorb@gnu.org>
9492
9493         * build-aux/update-copyright: doc Simon's changes
9494
9495 2011-01-02  Simon Josefsson  <simon@josefsson.org>
9496
9497         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
9498         environment variable.
9499
9500 2011-01-02  Bruno Haible  <bruno@clisp.org>
9501
9502         unigbrk: Avoid gcc warnings.
9503         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
9504         unused variable.
9505         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
9506         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
9507         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
9508         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
9509         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
9510         Change type of first argument to 'const char *'.
9511         (main): Remove unused variable.
9512         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
9513         type of first argument to 'const char *'.
9514         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
9515         Likewise.
9516         (main): Change type of variable 's'.
9517         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
9518         to 'int'.
9519
9520 2011-01-02  Bruno Haible  <bruno@clisp.org>
9521
9522         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
9523         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
9524         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
9525         bug.
9526         * lib/pwrite.c: Undo 2010-12-31 patch.
9527         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
9528
9529 2011-01-02  Bruno Haible  <bruno@clisp.org>
9530
9531         pread: Fix test whether it works.
9532         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
9533
9534 2011-01-02  Bruno Haible  <bruno@clisp.org>
9535
9536         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
9537         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
9538         ends in "6". Don't require a specific month name. Try also the locale
9539         names found on HP-UX 11 and Solaris 7.
9540
9541 2011-01-02  Bruno Haible  <bruno@clisp.org>
9542
9543         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
9544         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
9545         C linkage.
9546         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
9547
9548 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9549
9550         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
9551         for consistency, since the "cluster" term is not used elsewhere.
9552         * lib/unigbrk.in.h: Update name.
9553         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
9554         * lib/unigbrk/u16-grapheme-next.c: Update name.
9555         * lib/unigbrk/u16-grapheme-prev.c: Update name.
9556         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
9557         * lib/unigbrk/u32-grapheme-next.c: Update name.
9558         * lib/unigbrk/u32-grapheme-prev.c: Update name.
9559         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
9560         * lib/unigbrk/u8-grapheme-next.c: Update name.
9561         * lib/unigbrk/u8-grapheme-prev.c: Update name.
9562         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
9563         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
9564         Suggested by Bruno Haible.
9565
9566 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9567
9568         Remove module 'u8-grapheme-len' as too redundant with
9569         'u8-grapheme-next'.
9570         * modules/unigbrk/u8-grapheme-len: Delete file.
9571         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
9572         * lib/unigbrk.in.h: Remove prototype for deleted function.
9573         * lib/unigbrk/u8-grapheme-len.c: Delete file.
9574         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
9575
9576         Remove module 'u16-grapheme-len' as too redundant with
9577         'u16-grapheme-next'.
9578         * modules/unigbrk/u16-grapheme-len: Delete file.
9579         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
9580         * lib/unigbrk.in.h: Remove prototype for deleted function.
9581         * lib/unigbrk/u16-grapheme-len.c: Delete file.
9582         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
9583
9584         Remove module 'u32-grapheme-len' as too redundant with
9585         'u32-grapheme-next'.
9586         * modules/unigbrk/u32-grapheme-len: Delete file.
9587         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
9588         * lib/unigbrk.in.h: Remove prototype for deleted function.
9589         * lib/unigbrk/u32-grapheme-len.c: Delete file.
9590         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
9591
9592         Suggested by Bruno Haible.
9593
9594 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9595
9596         * unigbrk.in.h: Fix typo: "ben" => "been".
9597         Reported by Bruno Haible.
9598
9599 2011-01-01  Jim Meyering  <meyering@redhat.com>
9600
9601         maint: update almost all copyright ranges to include 2011
9602         Run the new "make update-copyright" rule.
9603
9604 2011-01-01  Jim Meyering  <meyering@redhat.com>
9605
9606         maint: update-copyright: exempt doc/INSTALL*
9607         * Makefile (update-copyright): Also exclude doc/INSTALL*,
9608         since they are generated.  Suggested by Bruno Haible.
9609
9610 2011-01-01  Jim Meyering  <meyering@redhat.com>
9611
9612         maint: refine the update-copyright rule
9613         * Makefile (update-copyright): Also exclude any file that includes
9614         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
9615         code that merely generates the comment.
9616
9617 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
9618
9619         New module 'u8-grapheme-len'.
9620         * modules/unigbrk/u8-grapheme-len: New file.
9621         * modules/unigbrk/u8-grapheme-len-tests: New file.
9622         * lib/unigbrk.in.h: Add prototype for new function.
9623         * lib/unigbrk/u8-grapheme-len.c: New file.
9624         * tests/unigbrk/test-u8-grapheme-len.c: New file.
9625
9626         New module 'u16-grapheme-len'.
9627         * modules/unigbrk/u16-grapheme-len: New file.
9628         * modules/unigbrk/u16-grapheme-len-tests: New file.
9629         * lib/unigbrk.in.h: Add prototype for new function.
9630         * lib/unigbrk/u16-grapheme-len.c: New file.
9631         * tests/unigbrk/test-u16-grapheme-len.c: New file.
9632
9633         New module 'u32-grapheme-len'.
9634         * modules/unigbrk/u32-grapheme-len: New file.
9635         * modules/unigbrk/u32-grapheme-len-tests: New file.
9636         * lib/unigbrk.in.h: Add prototype for new function.
9637         * lib/unigbrk/u32-grapheme-len.c: New file.
9638         * tests/unigbrk/test-u32-grapheme-len.c: New file.
9639
9640         New module 'u8-grapheme-next'.
9641         * modules/unigbrk/u8-grapheme-next: New file.
9642         * modules/unigbrk/u8-grapheme-next-tests: New file.
9643         * lib/unigbrk.in.h: Add prototype for new function.
9644         * lib/unigbrk/u8-grapheme-next.c: New file.
9645         * tests/unigbrk/test-u8-grapheme-next.c: New file.
9646
9647         New module 'u16-grapheme-next'.
9648         * modules/unigbrk/u16-grapheme-next: New file.
9649         * modules/unigbrk/u16-grapheme-next-tests: New file.
9650         * lib/unigbrk.in.h: Add prototype for new function.
9651         * lib/unigbrk/u16-grapheme-next.c: New file.
9652         * tests/unigbrk/test-u16-grapheme-next.c: New file.
9653
9654         New module 'u32-grapheme-next'.
9655         * modules/unigbrk/u32-grapheme-next: New file.
9656         * modules/unigbrk/u32-grapheme-next-tests: New file.
9657         * lib/unigbrk.in.h: Add prototype for new function.
9658         * lib/unigbrk/u32-grapheme-next.c: New file.
9659         * tests/unigbrk/test-u32-grapheme-next.c: New file.
9660
9661         New module 'u8-grapheme-prev'.
9662         * modules/unigbrk/u8-grapheme-prev: New file.
9663         * modules/unigbrk/u8-grapheme-prev-tests: New file.
9664         * lib/unigbrk.in.h: Add prototype for new function.
9665         * lib/unigbrk/u8-grapheme-prev.c: New file.
9666         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
9667
9668         New module 'u16-grapheme-prev'.
9669         * modules/unigbrk/u16-grapheme-prev: New file.
9670         * modules/unigbrk/u16-grapheme-prev-tests: New file.
9671         * lib/unigbrk.in.h: Add prototype for new function.
9672         * lib/unigbrk/u16-grapheme-prev.c: New file.
9673         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
9674
9675         New module 'u32-grapheme-prev'.
9676         * modules/unigbrk/u32-grapheme-prev: New file.
9677         * modules/unigbrk/u32-grapheme-prev-tests: New file.
9678         * lib/unigbrk.in.h: Add prototype for new function.
9679         * lib/unigbrk/u32-grapheme-prev.c: New file.
9680         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
9681
9682         New module 'u8-grapheme-breaks'.
9683         * modules/unigbrk/u8-grapheme-breaks: New file.
9684         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
9685         * lib/unigbrk.in.h: Add prototype for new function.
9686         * lib/unigbrk/u8-grapheme-breaks.c: New file.
9687         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
9688
9689         New module 'u16-grapheme-breaks'.
9690         * modules/unigbrk/u16-grapheme-breaks: New file.
9691         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
9692         * lib/unigbrk.in.h: Add prototype for new function.
9693         * lib/unigbrk/u16-grapheme-breaks.c: New file.
9694         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
9695
9696         New module 'u32-grapheme-breaks'.
9697         * modules/unigbrk/u32-grapheme-breaks: New file.
9698         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
9699         * lib/unigbrk.in.h: Add prototype for new function.
9700         * lib/unigbrk/u32-grapheme-breaks.c: New file.
9701         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
9702
9703         New module 'ulc-grapheme-breaks'.
9704         * modules/unigbrk/ulc-grapheme-breaks: New file.
9705         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
9706         * m4/locale-ar.m4: New file.
9707         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
9708         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
9709         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
9710
9711 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
9712
9713         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
9714         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
9715         modified how this file was generated before I initially submitted
9716         the module, but failed to regenerate it.  This meant that several
9717         of the level2 entries were wrong.
9718         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
9719         Remove the division-by-2 that is folded into the table now that
9720         gbrkprop.h has been regenerated properly.  Now -1 entries are
9721         handled correctly.
9722
9723         New module 'unigbrk/uc-gbrk-prop-tests'.
9724         * modules/unigbrk/uc-gbrk-prop-tests: New file.
9725         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
9726         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
9727         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
9728
9729 2011-01-01  Bruno Haible  <bruno@clisp.org>
9730
9731         Avoid use of hexadecimal escapes.
9732         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
9733         instead of hexadecimal escapes.
9734
9735 2011-01-01  Jim Meyering  <meyering@redhat.com>
9736
9737         maint: new rule to update copyright year ranges
9738         * Makefile (update-copyright): New rule.
9739
9740         maint: indent with TABs in Makefile
9741         * Makefile: Expand leading sequences of spaces to TABs
9742
9743         version-etc: update the copyright year it reports
9744         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
9745
9746 2010-12-31  Bruno Haible  <bruno@clisp.org>
9747
9748         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
9749         * lib/isfinite.c (zerof, zerod, zerol): New variables.
9750         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
9751         zero.
9752
9753 2010-12-31  Bruno Haible  <bruno@clisp.org>
9754
9755         pwrite: Work around HP-UX 11.11 bug.
9756         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
9757         works and set REPLACE_PWRITE if not.
9758         * lib/pwrite.c (pwrite): Add an implementation that uses the system
9759         function.
9760         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
9761
9762 2010-12-31  Bruno Haible  <bruno@clisp.org>
9763
9764         pread: Work around HP-UX 11 bugs.
9765         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
9766         and set REPLACE_PREAD if not.
9767         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
9768
9769 2010-12-31  Eric Blake  <eblake@redhat.com>
9770
9771         nl_langinfo: fix YESEXPR on Irix 6.5
9772         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
9773         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
9774         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
9775         it.
9776
9777 2010-12-31  Bruno Haible  <bruno@clisp.org>
9778
9779         iconv: Document HP-UX 11 bug.
9780         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
9781
9782 2010-12-31  Bruno Haible  <bruno@clisp.org>
9783
9784         ldexpl: Fix link error on HP-UX 11.
9785         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
9786         LDEXPL_LIBM, using $ISNANL_LIBM.
9787
9788 2010-12-31  Eric Blake  <eblake@redhat.com>
9789
9790         ftello: avoid compilation failure with SunStudio c89
9791         * lib/ftello.c (ftello): Use lseek, not llseek.
9792
9793         tests: avoid failing coreutils tests on cygwin
9794         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
9795         (create_exe_shims_): Return 0 when skipping.
9796
9797 2010-12-31  Bruno Haible  <bruno@clisp.org>
9798
9799         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
9800         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
9801
9802 2010-12-31  Bruno Haible  <bruno@clisp.org>
9803
9804         waitpid: Fix link error in C++ mode.
9805         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
9806
9807 2010-12-31  Bruno Haible  <bruno@clisp.org>
9808
9809         isnan: Use GCC built-ins when possible.
9810         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
9811         __builtin_isnan.
9812         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
9813         (isnan): Define using GCC built-ins for GCC >= 4.0.
9814
9815 2010-12-31  Bruno Haible  <bruno@clisp.org>
9816
9817         isnand: Fix mistake.
9818         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
9819         __builtin_isnand.
9820
9821 2010-12-31  Bruno Haible  <bruno@clisp.org>
9822
9823         open: Avoid C++ error on HP-UX 11.
9824         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
9825
9826 2010-12-31  Bruno Haible  <bruno@clisp.org>
9827
9828         time_r: Add missing declarations on HP-UX 11.
9829         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
9830         instead of HAVE_LOCALTIME_R.
9831         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
9832         HAVE_LOCALTIME_R always.
9833         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
9834         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
9835         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
9836         HAVE_LOCALTIME_R.
9837         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
9838         * doc/posix-functions/localtime_r.texi: Likewise.
9839
9840 2010-12-29  Eric Blake  <eblake@redhat.com>
9841
9842         mountlist: tweak previous commit
9843         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
9844         Reported by Paul Eggert.
9845
9846         mountlist: fix local drive detection on cygwin
9847         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
9848         that works for cygwin.
9849
9850 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9851
9852         ftoastr, snprintf: ftoastr + snprintf module
9853         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
9854         since the snprintf module now should be good enough here.
9855         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
9856         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
9857         and gl_MODULE_INDICATOR([snprintf]), but the former enables
9858         GNULIB_SNPRINTF only for the test directory, and the latter
9859         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
9860         seems to suffice by itself.
9861
9862 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
9863
9864         alloca: one step towards thread-safety
9865         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
9866         need for a static variable.  All callers changed.  This does not
9867         make the alloca replacement thread-safe, but it's one step.
9868
9869         tests: minor indenting change
9870         * tests/init.sh: Sync from coreutils housekeeping patch
9871         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
9872         to keep lines within 80 columns.
9873
9874 2010-12-28  Jim Meyering  <meyering@redhat.com>
9875
9876         regex: don't infloop on persistent failing calloc
9877         * lib/regexec.c (build_trtable): Return failure indication upon
9878         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
9879         In glibc, this was fixed for version 2.13:
9880         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
9881
9882 2010-12-28  Bruno Haible  <bruno@clisp.org>
9883             Paul Eggert <eggert@cs.ucla.edu>
9884
9885         linkat: Make implementation robust against system behaviour variations.
9886         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
9887         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
9888         way, and to -2 if it needs a generic runtime test.
9889         * lib/linkat.c (solaris_optimized_link_immediate,
9890         solaris_optimized_link_follow): New functions.
9891         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
9892         (check_same_link): Use it.
9893
9894 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
9895
9896         New module 'unigbrk/base'.
9897         * modules/unigbrk/base: New file.
9898         * lib/unigbrk.in.h: New file.
9899
9900         New module 'unigbrk/uc-gbrk-prop'.
9901         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
9902         * modules/unigbrk/uc-gbrk-prop: New file.
9903         * lib/unigbrk/gbrkprop.h: New file.
9904         * lib/unigbrk/uc-gbrk-prop.c: New file.
9905
9906         New module 'unigbrk/uc-is-grapheme-break'.
9907         * modules/unigbrk/uc-is-grapheme-break: New file.
9908         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
9909         * lib/unigbrk/uc-is-grapheme-break.c: New file.
9910         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
9911         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
9912         * tests/unigbrk/GraphemeBreakTest.txt: New file.
9913
9914         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
9915
9916 2010-12-27  Bruno Haible  <bruno@clisp.org>
9917
9918         linkat test: Avoid failure on Solaris 11 2010-11.
9919         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
9920
9921 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9922
9923         utimens: work around glibc rounding bug on more platforms
9924         * lib/utimens.c (fdutimens): Work around rounding bug even if
9925         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
9926         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
9927
9928 2010-12-27  Bruno Haible  <bruno@clisp.org>
9929
9930         select tests: Improve comments.
9931         * tests/test-select.c (do_select): Add comments.
9932
9933 2010-12-27  Bruno Haible  <bruno@clisp.org>
9934
9935         select tests: Safer way of handling timeout.
9936         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
9937         at every invocation.
9938
9939 2010-12-27  Bruno Haible  <bruno@clisp.org>
9940
9941         select tests: Use 'bool' where appropriate.
9942         * tests/test-select.c (connect_to_socket): Change argument type to
9943         'bool'.
9944
9945 2010-12-27  Bruno Haible  <bruno@clisp.org>
9946
9947         select tests: Use existing modules.
9948         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
9949         (configure.ac): Don't test for unistd.h.
9950         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
9951         declared in <unistd.h>.
9952
9953 2010-12-27  Bruno Haible  <bruno@clisp.org>
9954
9955         mbrtowc: Work around a Solaris 7 bug.
9956         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
9957         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
9958         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
9959         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
9960         MBRTOWC_NULL_ARG1_BUG.
9961         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
9962         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
9963         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
9964         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
9965
9966 2010-12-27  Jim Meyering  <meyering@redhat.com>
9967
9968         read-file.c: tweak syntax
9969         * lib/read-file.c (fread_file): Remove space after "*" in function
9970         definitions.
9971
9972 2010-12-27  Bruno Haible  <bruno@clisp.org>
9973
9974         times test: Avoid gcc warnings on OSF/1.
9975         * tests/test-times.c (main): Cast printf arguments from clock_t to
9976         'long int'.
9977
9978 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9979
9980         utimens: work around glibc rounding bug on older Linux kernels
9981         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
9982         on Linux with a glibc whose utimes might not work, then work
9983         around a longstanding glibc bug involving rounding rather than
9984         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
9985         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
9986
9987 2010-12-26  Bruno Haible  <bruno@clisp.org>
9988
9989         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
9990         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
9991         _GL_CXXALIAS_SYS.
9992         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9993
9994 2010-12-26  Bruno Haible  <bruno@clisp.org>
9995
9996         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
9997         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
9998         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9999         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
10000         looking for the declaration.
10001         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
10002         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
10003         problem.
10004         * doc/posix-functions/inet_pton.texi: Likewise.
10005
10006 2010-12-26  Bruno Haible  <bruno@clisp.org>
10007
10008         arpa_inet: Use the common idioms with C++ support.
10009         * lib/arpa_inet.in.h: Include c++defs.h.
10010         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
10011         support.
10012         * modules/arpa_inet (Depends-on): Add c++defs.
10013         (Makefile.am): Substitute the contents of c++defs.h.
10014         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
10015         * modules/arpa_inet-c++-tests: New file.
10016         * tests/test-arpa_inet-c++.cc: New file.
10017
10018 2010-12-25  Bruno Haible  <bruno@clisp.org>
10019
10020         Fix more C++ link errors on Solaris 8.
10021         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
10022         $(LIB_EACCESS).
10023         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
10024         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
10025         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
10026         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
10027         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
10028
10029 2010-12-25  Bruno Haible  <bruno@clisp.org>
10030
10031         printf-posix: Fix link error when a non-GCC compiler is used.
10032         * lib/stdio.in.h (printf): When not using GCC, override printf
10033         correctly.
10034         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10035
10036 2010-12-25  Bruno Haible  <bruno@clisp.org>
10037
10038         strerror_r-posix: Update doc.
10039         * doc/posix-functions/strerror_r.texi: Update doc about the return
10040         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
10041
10042 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10043
10044         utimens: simplify the logic of the previous change
10045         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
10046         This should not affect whether the test succeeds or fails.
10047
10048         utimens: configure better on hosts with NFS clock skew
10049         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
10050         uses the clock of the local host.  It might use the clock of the
10051         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
10052         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
10053
10054 2010-12-25  Bruno Haible  <bruno@clisp.org>
10055
10056         ptsname test: Avoid failure on Solaris.
10057         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
10058         open a pseudo-terminal; don't use BSD-style ptys.
10059         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
10060
10061 2010-12-25  Bruno Haible  <bruno@clisp.org>
10062
10063         ptsname: Avoid ERANGE failure on some systems.
10064         * lib/ptsname.c (buffer): Increase size.
10065
10066 2010-12-25  Bruno Haible  <bruno@clisp.org>
10067
10068         rename, renameat: Avoid test failures at NFS mounted locations.
10069         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
10070         so that subsequent mkdir calls succeed.
10071
10072 2010-12-25  Bruno Haible  <bruno@clisp.org>
10073
10074         iswblank: Fix C++ link error on Solaris 8.
10075         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
10076         _GL_FUNCDECL_SYS.
10077
10078 2010-12-25  Bruno Haible  <bruno@clisp.org>
10079
10080         unistd: Fix C++ link error on Solaris 8.
10081         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
10082
10083 2010-12-25  Bruno Haible  <bruno@clisp.org>
10084
10085         readlink doc: Mention an old glibc bug.
10086         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
10087
10088 2010-12-25  Bruno Haible  <bruno@clisp.org>
10089
10090         fcntl-h: Fix for use of C++ on glibc systems.
10091         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
10092         also on glibc systems in C++ mode.
10093         Reported by Gary V. Vaughan <gary@gnu.org>.
10094
10095 2010-12-25  Bruno Haible  <bruno@clisp.org>
10096
10097         roundl-ieee: Make it work on OSF/1 5.1 with cc.
10098         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
10099
10100 2010-12-25  Bruno Haible  <bruno@clisp.org>
10101
10102         truncl-ieee: Make it work on OSF/1 5.1 with cc.
10103         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
10104         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
10105         test whether truncl works according to ISO C 99 with IEC 60559.
10106         * m4/truncl-ieee.m4: New file.
10107         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
10108         m4/signbit.m4.
10109         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
10110
10111 2010-12-25  Bruno Haible  <bruno@clisp.org>
10112
10113         ceill-ieee: Make it work on OSF/1 5.1 with cc.
10114         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
10115         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
10116         test whether ceill works according to ISO C 99 with IEC 60559.
10117         * m4/ceill-ieee.m4: New file.
10118         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
10119         m4/signbit.m4.
10120         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
10121
10122 2010-12-25  Bruno Haible  <bruno@clisp.org>
10123
10124         Ensure all prerequisites of <wchar.h> are included.
10125         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
10126         before <wchar.h>.
10127         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10128         gl_MBRLEN_NUL_RETVAL): Likewise.
10129         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10130         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
10131         AC_FUNC_MBRTOWC): Likewise.
10132         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10133         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
10134         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10135         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
10136         Likewise.
10137         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10138         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
10139         (gl_WCHAR_H): Improve comments.
10140         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
10141
10142 2010-12-25  Bruno Haible  <bruno@clisp.org>
10143
10144         strtok_r: Fix C syntax error in autoconf macro.
10145         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
10146         characters in test program.
10147
10148 2010-12-24  Bruno Haible  <bruno@clisp.org>
10149
10150         ceil, trunc, round: Fix gcc warnings.
10151         * lib/ceil.c (MIN): Undefine before redefining.
10152         * lib/trunc.c (MIN): Likewise.
10153         * lib/round.c (MIN): Likewise.
10154         Include <math.h> first.
10155
10156 2010-12-24  Bruno Haible  <bruno@clisp.org>
10157
10158         select tests: Avoid failures on OSF/1 5.1.
10159         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
10160         failure of closing the last socket; it may fail with ECONNRESET.
10161
10162 2010-12-24  Eric Blake  <eblake@redhat.com>
10163
10164         stdint: avoid HP-UX 10.20 preprocessor bug
10165         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
10166         than #if.
10167         * tests/test-floor2.c (main): Likewise.
10168         Reported by Peter O'Gorman.
10169
10170         pipe: make obsoletion transition easier
10171         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
10172         * modules/pipe (Files): Include revived file.
10173         (Include): Drop reference, to mirror getdate's behavior.
10174
10175 2010-12-24  Bruno Haible  <bruno@clisp.org>
10176
10177         sys_socket: Hide mismatch of declarations on NonStop Kernel.
10178         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
10179         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10180         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10181
10182 2010-12-24  Bruno Haible  <bruno@clisp.org>
10183
10184         gethostname: Ensure declaration on NonStop Kernel.
10185         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
10186         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10187
10188 2010-12-24  Bruno Haible  <bruno@clisp.org>
10189
10190         sys_select: Ensure all necessary types on NonStop Kernel.
10191         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
10192         include <sys/time.h>.
10193         * doc/posix-headers/sys_select.texi: Mention that it's missing on
10194         NonStop Kernel.
10195         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10196
10197 2010-12-24  Bruno Haible  <bruno@clisp.org>
10198
10199         sys_select: Remove unneeded include.
10200         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
10201         have <sys/select.h>.
10202
10203 2010-12-24  Bruno Haible  <bruno@clisp.org>
10204
10205         gethostname: Provide a fallback for HOST_NAME_MAX.
10206         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
10207         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
10208         instead.
10209         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10210
10211 2010-12-24  Bruno Haible  <bruno@clisp.org>
10212
10213         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
10214         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
10215         (SA_RESTART): Likewise.
10216         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10217
10218 2010-12-24  Bruno Haible  <bruno@clisp.org>
10219
10220         signal: Define NSIG.
10221         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
10222         * tests/test-signal.c (nsig): New variable.
10223         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10224
10225 2010-12-24  Bruno Haible  <bruno@clisp.org>
10226
10227         rename, renameat: Avoid test failures on OSF/1 5.1.
10228         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
10229         alternative error codes.
10230         * tests/test-renameat.c (main): Likewise.
10231
10232 2010-12-24  Bruno Haible  <bruno@clisp.org>
10233
10234         *printf: Detect large precisions bug on Solaris 10/SPARC.
10235         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
10236         by Paul Eggert.
10237         * tests/test-snprintf-posix.h (test_function): Add this test code here
10238         too.
10239         * tests/test-sprintf-posix.h (test_function): Likewise.
10240         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10241         * tests/test-vasprintf-posix.c (test_function): Likewise.
10242         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
10243         around by gnulib.
10244         * doc/posix-functions/printf.texi: Likewise.
10245         * doc/posix-functions/snprintf.texi: Likewise.
10246         * doc/posix-functions/sprintf.texi: Likewise.
10247         * doc/posix-functions/vfprintf.texi: Likewise.
10248         * doc/posix-functions/vprintf.texi: Likewise.
10249         * doc/posix-functions/vsnprintf.texi: Likewise.
10250         * doc/posix-functions/vsprintf.texi: Likewise.
10251         * doc/posix-functions/dprintf.texi: Undo last commit.
10252         * doc/posix-functions/vdprintf.texi: Likewise.
10253
10254 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10255
10256         tests: port test-fdutimensat.c to Solaris 8
10257         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
10258         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
10259         On Solaris 8, it fails with errno == ENOSYS, because there is no
10260         futimens (so it can't use the fd), and there is no lutimens (so it
10261         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
10262
10263         vsnprintf: make more consistent with snprintf; doc fixes
10264
10265         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
10266         the byte count return problem was promoted from the snprintf-posix
10267         to the snprintf module.
10268         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10269         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
10270         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
10271         * tests/test-snprintf.c (main): Check the byte count returned.
10272         * tests/test-vsnprintf.c (main): Likewise.
10273
10274 2010-12-23  Eric Blake  <eblake@redhat.com>
10275
10276         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
10277         * modules/sigpipe (License): Relax license.
10278
10279 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10280
10281         doc: document Solaris printf bug with large float precisions
10282         * doc/posix-functions/dprintf.texi (dprintf):
10283         * doc/posix-functions/fprintf.texi (fprintf):
10284         * doc/posix-functions/printf.texi (printf):
10285         * doc/posix-functions/snprintf.texi (snprintf):
10286         * doc/posix-functions/sprintf.texi (sprintf):
10287         * doc/posix-functions/vdprintf.texi (vdprintf):
10288         * doc/posix-functions/vfprintf.texi (vfprintf):
10289         * doc/posix-functions/vprintf.texi (vprintf):
10290         * doc/posix-functions/vsnprintf.texi (vsnprintf):
10291         * doc/posix-functions/vsprintf.texi (vsprintf):
10292         Mention that these functions mishandle large floating point
10293         precisions on Solaris 10.  The same bug is also present in Solaris
10294         8, and I assume earlier.  This causes "cd gnulib-tests; make
10295         check" to fail on Solaris 8 (and I assume, later) when building
10296         the latest coreutils, in test-vasprintf-posix's call to
10297         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
10298         the wide flavors (e.g., wprintf) so this patch just updates the
10299         documentation for the narrow ones.
10300
10301         test-posixtm.c: add two tests
10302         * tests/test-posixtm.c: Add two tests, to highlight the
10303         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
10304         around this bug; this is merely to document it.
10305
10306 2010-12-22  Bruno Haible  <bruno@clisp.org>
10307
10308         getlogin_r: Work around portability problem on OSF/1.
10309         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
10310         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
10311         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
10312         test for a truncated result.
10313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
10314         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
10315         * modules/getlogin_r (Depends-on): Add memchr.
10316         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
10317
10318 2010-12-22  Bruno Haible  <bruno@clisp.org>
10319
10320         ptsname: Avoid test failure on OSF/1 5.1.
10321         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
10322         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
10323         (same_slave): New function.
10324         (main): Use it to compare ptsname's result with the expected file name.
10325
10326 2010-12-22  Bruno Haible  <bruno@clisp.org>
10327
10328         Port extended stdio modules to HP NonStop Kernel.
10329         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
10330         macros.
10331         * lib/fbufmode.c: Update comments.
10332         * lib/fflush.c: Likewise.
10333         * lib/fpurge.c: Likewise.
10334         * lib/freadable.c: Likewise.
10335         * lib/freadahead.c: Likewise.
10336         * lib/freading.c: Likewise.
10337         * lib/freadptr.c: Likewise.
10338         * lib/freadseek.c: Likewise.
10339         * lib/fseeko.c: Likewise.
10340         * lib/fseterr.c: Likewise.
10341         * lib/fwritable.c: Likewise.
10342         * lib/fwriting.c: Likewise.
10343         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10344
10345 2010-12-22  Bruno Haible  <bruno@clisp.org>
10346
10347         ttyname_r: Work around bug on OSF/1 5.1.
10348         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
10349         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
10350         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
10351         present.
10352         * lib/ttyname_r.c (ttyname_r): Update comments.
10353
10354 2010-12-22  Bruno Haible  <bruno@clisp.org>
10355
10356         round: Implement result sign according to IEEE 754.
10357         * lib/round.c (MIN, MINUS_ZERO): New macros.
10358         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
10359         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
10360         * tests/test-round-ieee.c (main): Likewise.
10361         * tests/test-roundl-ieee.c (main): Likewise.
10362
10363         trunc: Implement result sign according to IEEE 754.
10364         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
10365         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
10366         * tests/test-trunc2.c: Include minus-zero.h.
10367         (MINUS_ZERO): New macro.
10368         (trunc_reference): Keep in sync with lib/trunc.c.
10369         * tests/test-truncf2.c: Include minus-zero.h.
10370         (MINUS_ZERO): New macro.
10371         (truncf_reference): Keep in sync with lib/trunc.c.
10372         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
10373         * tests/test-trunc-ieee.c (main): Likewise.
10374         * tests/test-truncl-ieee.c (main): Likewise.
10375
10376         ceil: Implement result sign according to IEEE 754.
10377         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
10378         (FUNC): Return -0.0 for -1 < x < 0.
10379         * tests/test-ceil2.c: Include minus-zero.h.
10380         (MINUS_ZERO): New macro.
10381         (ceil_reference): Keep in sync with lib/ceil.c.
10382         * tests/test-ceilf2.c: Include minus-zero.h.
10383         (MINUS_ZERO): New macro.
10384         (ceilf_reference): Keep in sync with lib/ceil.c.
10385         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
10386         * tests/test-ceil-ieee.c (main): Likewise.
10387         * tests/test-ceill-ieee.c (main): Likewise.
10388
10389         floor: Implement result sign according to IEEE 754.
10390         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
10391         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
10392         * tests/test-floorf2.c (floorf_reference): Likewise.
10393         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
10394         * tests/test-floor-ieee.c (main): Likewise.
10395         * tests/test-floorl-ieee.c (main): Likewise.
10396
10397 2010-12-22  Bruno Haible  <bruno@clisp.org>
10398
10399         getaddrinfo: Update doc.
10400         * doc/posix-functions/gai_strerror.texi: Return type is also different
10401         on AIX and HP-UX.
10402
10403 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10404
10405         getaddrinfo, inet_ntop: Update doc for Solaris.
10406         * doc/posix-functions/gai_strerror.texi: Return type is also an
10407         issue on Solaris 9 and earlier.
10408         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
10409         on Solaris 10 and earlier.
10410
10411 2010-12-21  Bruno Haible  <bruno@clisp.org>
10412
10413         New module 'roundl-ieee'.
10414         * modules/roundl-ieee: New file.
10415         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
10416         test whether roundl works according to ISO C 99 with IEC 60559.
10417         * m4/roundl-ieee.m4: New file.
10418         * modules/roundl-ieee-tests: New file.
10419         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
10420         * tests/test-roundl.c (main): Remove signbit tests.
10421         * modules/roundl-tests (Depends-on): Remove signbit.
10422         * doc/posix-functions/roundl.texi: Mention the new module.
10423
10424 2010-12-21  Bruno Haible  <bruno@clisp.org>
10425
10426         New module 'truncl-ieee'.
10427         * modules/truncl-ieee: New file.
10428         * modules/truncl-ieee-tests: New file.
10429         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
10430         * tests/test-truncl.c (main): Remove signbit tests.
10431         * modules/truncl-tests (Depends-on): Remove signbit.
10432         * doc/posix-functions/truncl.texi: Mention the new module.
10433
10434 2010-12-21  Bruno Haible  <bruno@clisp.org>
10435
10436         New module 'ceill-ieee'.
10437         * modules/ceill-ieee: New file.
10438         * modules/ceill-ieee-tests: New file.
10439         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
10440         * tests/test-ceill.c (main): Remove signbit tests.
10441         * modules/ceill-tests (Depends-on): Remove signbit.
10442         * doc/posix-functions/ceill.texi: Mention the new module.
10443
10444 2010-12-21  Bruno Haible  <bruno@clisp.org>
10445
10446         New module 'floorl-ieee'.
10447         * modules/floorl-ieee: New file.
10448         * modules/floorl-ieee-tests: New file.
10449         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
10450         * tests/test-floorl.c (main): Remove signbit tests.
10451         * modules/floorl-tests (Depends-on): Remove signbit.
10452         * doc/posix-functions/floorl.texi: Mention the new module.
10453
10454 2010-12-21  Bruno Haible  <bruno@clisp.org>
10455
10456         New module 'round-ieee'.
10457         * modules/round-ieee: New file.
10458         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
10459         whether round works according to ISO C 99 with IEC 60559.
10460         * m4/round-ieee.m4: New file.
10461         * modules/round-ieee-tests: New file.
10462         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
10463         * tests/test-round1.c (main): Remove signbit tests.
10464         * modules/round-tests (Depends-on): Remove 'signbit'.
10465         * doc/posix-functions/round.texi: Mention the new module.
10466
10467 2010-12-21  Bruno Haible  <bruno@clisp.org>
10468
10469         New module 'trunc-ieee'.
10470         * modules/trunc-ieee: New file.
10471         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
10472         whether trunc works according to ISO C 99 with IEC 60559.
10473         * m4/trunc-ieee.m4: New file.
10474         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
10475         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
10476         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
10477         * modules/trunc-ieee-tests: New file.
10478         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
10479         * tests/test-trunc1.c (main): Remove signbit tests.
10480         * modules/trunc-tests (Depends-on): Remove 'signbit'.
10481         * doc/posix-functions/trunc.texi: Mention the new module.
10482
10483 2010-12-21  Bruno Haible  <bruno@clisp.org>
10484
10485         New module 'ceil-ieee'.
10486         * modules/ceil-ieee: New file.
10487         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
10488         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
10489         ISO C 99 with IEC 60559.
10490         * m4/ceil-ieee.m4: New file.
10491         * modules/ceil (Files): Add lib/ceil.c.
10492         (Depends-on): Add 'float'.
10493         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10494         * lib/math.in.h (ceil): New declaration.
10495         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
10496         REPLACE_CEIL.
10497         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
10498         * modules/ceil-ieee-tests: New file.
10499         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
10500         * tests/test-math-c++.cc: Check the signature of 'ceil'.
10501         * doc/posix-functions/ceil.texi: Mention the new module.
10502
10503 2010-12-21  Bruno Haible  <bruno@clisp.org>
10504
10505         New module 'floor-ieee'.
10506         * modules/floor-ieee: New file.
10507         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
10508         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
10509         ISO C 99 with IEC 60559.
10510         * m4/floor-ieee.m4: New file.
10511         * modules/floor (Files): Add lib/floor.c.
10512         (Depends-on): Add 'float'.
10513         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10514         * lib/math.in.h (floor): New declaration.
10515         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
10516         REPLACE_FLOOR.
10517         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
10518         * modules/floor-ieee-tests: New file.
10519         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
10520         * tests/test-math-c++.cc: Check the signature of 'floor'.
10521         * doc/posix-functions/floor.texi: Mention the new module.
10522
10523 2010-12-21  Bruno Haible  <bruno@clisp.org>
10524
10525         New module 'roundf-ieee'.
10526         * modules/roundf-ieee: New file.
10527         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
10528         test whether roundf works according to ISO C 99 with IEC 60559.
10529         * m4/roundf-ieee.m4: New file.
10530         * modules/roundf-ieee-tests: New file.
10531         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
10532         * tests/test-roundf1.c (main): Remove signbit tests.
10533         * modules/roundf-tests (Depends-on): Remove 'signbit'.
10534         * doc/posix-functions/roundf.texi: Mention the new module.
10535
10536 2010-12-21  Bruno Haible  <bruno@clisp.org>
10537
10538         New module 'truncf-ieee'.
10539         * modules/truncf-ieee: New file.
10540         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
10541         test whether truncf works according to ISO C 99 with IEC 60559.
10542         * m4/truncf-ieee.m4: New file.
10543         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
10544         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
10545         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
10546         * modules/truncf-ieee-tests: New file.
10547         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
10548         * tests/test-truncf1.c (main): Remove signbit tests.
10549         * modules/truncf-tests (Depends-on): Remove 'signbit'.
10550         * doc/posix-functions/truncf.texi: Mention the new module.
10551
10552 2010-12-21  Bruno Haible  <bruno@clisp.org>
10553
10554         New module 'ceilf-ieee'.
10555         * modules/ceilf-ieee: New file.
10556         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
10557         test whether ceilf works according to ISO C 99 with IEC 60559.
10558         * m4/ceilf-ieee.m4: New file.
10559         * modules/ceilf-ieee-tests: New file.
10560         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
10561         * tests/test-ceilf1.c (main): Remove signbit tests.
10562         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
10563         * doc/posix-functions/ceilf.texi: Mention the new module.
10564
10565 2010-12-21  Bruno Haible  <bruno@clisp.org>
10566
10567         New module 'floorf-ieee'.
10568         * modules/floorf-ieee: New file.
10569         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
10570         test whether floorf works according to ISO C 99 with IEC 60559.
10571         * m4/floorf-ieee.m4: New file.
10572         * modules/floorf-ieee-tests: New file.
10573         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
10574         * tests/test-floorf1.c (main): Remove signbit tests.
10575         * modules/floorf-tests (Depends-on): Remove 'signbit'.
10576         * doc/posix-functions/floorf.texi: Mention the new module.
10577
10578 2010-12-21  Bruno Haible  <bruno@clisp.org>
10579
10580         Support for minus zero in autoconf macros.
10581         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
10582         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
10583         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
10584         * tests/minus-zero.h: Update comments.
10585
10586 2010-12-21  Bruno Haible  <bruno@clisp.org>
10587
10588         Tests for module 'ceil'.
10589         * modules/ceil-tests: New file.
10590         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
10591         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
10592
10593 2010-12-21  Bruno Haible  <bruno@clisp.org>
10594
10595         Tests for module 'floor'.
10596         * modules/floor-tests: New file.
10597         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
10598         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
10599
10600 2010-12-21  Bruno Haible  <bruno@clisp.org>
10601
10602         math: Fix indentation.
10603         * lib/math.in.h (floorf): Fix indentation.
10604
10605 2010-12-21  Bruno Haible  <bruno@clisp.org>
10606
10607         Fix cross-compilation guesses on Solaris.
10608         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
10609         not match "solaris2.10".
10610         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10611         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
10612         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
10613
10614 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
10615
10616         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
10617         This fixes a problem observed with the latest coreutils snapshot
10618         that caused a test to fail on Solaris 8.  src/csplit.c's call
10619         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
10620         earlier, instead of returning the number of bytes that would have
10621         been generated; this causes csplit to incorrectly report memory
10622         exhaustion.
10623         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
10624         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
10625         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
10626         comments to match.
10627         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
10628         Fix typo in matching older versions of Solaris: "solaris2.10"
10629         is matched by the shell pattern "solaris2.[0-9]*".  This matters
10630         only for guessing while cross-compiling.
10631         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
10632
10633 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
10634
10635         ftoastr: fix comment again
10636         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
10637         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
10638         Also, simplify example a bit by using flags = 0.
10639
10640 2010-12-20  Bruno Haible  <bruno@clisp.org>
10641
10642         round*, trunc*: Update documentation regarding glibc.
10643         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
10644         * doc/posix-functions/round.texi: Likewise.
10645         * doc/posix-functions/roundl.texi: Likewise.
10646         * doc/posix-functions/truncf.texi: Likewise.
10647         * doc/posix-functions/trunc.texi: Likewise.
10648         * doc/posix-functions/truncl.texi: Likewise.
10649
10650 2010-12-20  Bruno Haible  <bruno@clisp.org>
10651
10652         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
10653         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
10654         * doc/posix-functions/round.texi: Likewise.
10655         * doc/posix-functions/roundl.texi: Likewise.
10656
10657 2010-12-20  Bruno Haible  <bruno@clisp.org>
10658
10659         ttyname_r: Add missing declaration on HP-UX 11.
10660         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
10661         HAVE_TTYNAME_R.
10662         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
10663         declared. Set HAVE_TTYNAME_R always.
10664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10665         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
10666         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
10667         HAVE_TTYNAME_R.
10668         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
10669
10670 2010-12-20  Bruno Haible  <bruno@clisp.org>
10671
10672         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
10673         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
10674         * doc/posix-functions/getlogin_r.texi: Likewise.
10675         * tests/test-getlogin.c: Include <errno.h>.
10676         (main): Avoid test failure on HP-UX 11.11.
10677         * tests/test-getlogin_r.c (main): Likewise.
10678
10679 2010-12-20  Bruno Haible  <bruno@clisp.org>
10680
10681         getlogin_r: Add missing declaration on HP-UX 11.
10682         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
10683         declared also when it exists as a function.
10684         * doc/posix-functions/getlogin_r.texi: Document this workaround.
10685
10686 2010-12-20  Bruno Haible  <bruno@clisp.org>
10687
10688         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
10689         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
10690         through wcrtomb.
10691
10692 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10693
10694         ftoastr: fix comment
10695         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
10696         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
10697
10698 2010-12-19  Bruno Haible  <bruno@clisp.org>
10699
10700         isnan: Ensure it is a macro.
10701         * lib/math.in.h (isnan): Define as a macro if not already a macro.
10702         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
10703         Solaris.
10704
10705 2010-12-19  Bruno Haible  <bruno@clisp.org>
10706
10707         ldexpl test: Fix link error on OSF/1 5.1.
10708         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
10709
10710 2010-12-19  Bruno Haible  <bruno@clisp.org>
10711
10712         wctype: Make it work in C++ mode on OSF/1 5.1.
10713         * lib/wctype.in.h (iswblank): Declare but not define here.
10714         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
10715         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
10716         * modules/wctype (Files): Add lib/iswblank.c.
10717
10718 2010-12-19  Bruno Haible  <bruno@clisp.org>
10719
10720         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
10721         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
10722         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
10723
10724 2010-12-19  Bruno Haible  <bruno@clisp.org>
10725
10726         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
10727         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
10728         _POSIX_PII_SOCKET.
10729         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
10730         * doc/posix-functions/recvfrom.texi: Likewise.
10731         * doc/posix-functions/send.texi: Likewise.
10732         * doc/posix-functions/sendto.texi: Likewise.
10733
10734 2010-12-19  Bruno Haible  <bruno@clisp.org>
10735
10736         tcgetsid: Add missing declaration on OSF/1 5.1.
10737         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
10738         HAVE_TCGETSID.
10739         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
10740         Don't set HAVE_TCGETSID.
10741         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
10742         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
10743         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
10744         HAVE_TCGETSID.
10745         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
10746
10747 2010-12-19  Bruno Haible  <bruno@clisp.org>
10748
10749         stdio: Fix problem with popen() declaration on OSF/1 5.1.
10750         * lib/stdio.in.h: During the include_next statement, let recursive
10751         includes of this file include only the system header file.
10752
10753 2010-12-19  Bruno Haible  <bruno@clisp.org>
10754
10755         iconv_open: Fix regression from 2010-12-04.
10756         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
10757         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
10758
10759 2010-12-19  Bruno Haible  <bruno@clisp.org>
10760
10761         stdbool test: Avoid a gcc warning.
10762         * tests/test-stdbool.c (main): Fail if e1 is false.
10763         Reported by Jim Meyering.
10764
10765 2010-12-19  Jim Meyering  <meyering@redhat.com>
10766
10767         setenv: restore to working order
10768         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
10769         mistakenly removed.
10770         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
10771         HAVE_SETENV.
10772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
10773         HAVE_SETENV.
10774
10775 2010-12-19  Bruno Haible  <bruno@clisp.org>
10776
10777         Document some different function declarations on OSF/1 5.1.
10778         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
10779         * doc/posix-functions/inet_ntop.texi: Likewise.
10780         * doc/posix-functions/gethostname.texi: Likewise.
10781         * lib/unistd.in.h (gethostname): Update comment.
10782
10783 2010-12-19  Bruno Haible  <bruno@clisp.org>
10784
10785         doc: Mention vasprintf-posix module.
10786         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
10787         the 'vasprintf-posix' module.
10788         * doc/glibc-functions/vasprintf.texi: Likewise.
10789
10790 2010-12-19  Bruno Haible  <bruno@clisp.org>
10791
10792         unsetenv: Add missing declaration on OSF/1 5.1.
10793         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
10794         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
10795         Don't set HAVE_UNSETENV. In the test program, set _BSD.
10796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
10797         not HAVE_UNSETENV.
10798         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
10799         HAVE_UNSETENV.
10800         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
10801
10802 2010-12-19  Bruno Haible  <bruno@clisp.org>
10803
10804         setenv: Add missing declaration on OSF/1 5.1.
10805         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
10806         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
10807         declared. Don't set HAVE_SETENV.
10808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
10809         not HAVE_SETENV.
10810         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
10811         HAVE_SETENV.
10812         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
10813
10814 2010-12-19  Bruno Haible  <bruno@clisp.org>
10815
10816         nl_langinfo tests: Avoid gcc warning.
10817         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
10818
10819 2010-12-19  Bruno Haible  <bruno@clisp.org>
10820
10821         mknod: Avoid error in C++ mode on OSF/1 with GCC.
10822         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
10823         _GL_CXXALIAS_SYS.
10824
10825 2010-12-19  Bruno Haible  <bruno@clisp.org>
10826
10827         stdbool: Relax test.
10828         * tests/test-stdbool.c (e): Don't require that casts from a variable's
10829         address to 'bool' work in static initializer, for compilers other than
10830         GCC.
10831
10832 2010-12-19  Bruno Haible  <bruno@clisp.org>
10833
10834         ftello: Add missing declaration on OSF/1 5.1.
10835         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
10836         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
10837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
10838         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
10839         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
10840
10841 2010-12-19  Bruno Haible  <bruno@clisp.org>
10842
10843         fseeko: Add missing declaration on OSF/1 5.1.
10844         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
10845         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
10846         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
10847         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
10848         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
10849
10850 2010-12-19  Bruno Haible  <bruno@clisp.org>
10851
10852         fchdir: Add missing declaration on OSF/1 5.1.
10853         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
10854         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
10855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
10856         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
10857         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
10858
10859 2010-12-19  Bruno Haible  <bruno@clisp.org>
10860
10861         relocatable-prog-wrapper: Separate from relocatable-prog.
10862         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
10863         uninstall-relocwrapper rule here.
10864         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
10865         Reported by Ian Beckwith <ianb@erislabs.net>.
10866
10867 2010-12-19  Bruno Haible  <bruno@clisp.org>
10868
10869         unistr/u8-mbsnlen: Add missing dependency.
10870         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
10871         Reported by Ian Beckwith <ianb@erislabs.net>.
10872
10873 2010-12-19  Bruno Haible  <bruno@clisp.org>
10874
10875         iconv: Make it possible again to use this module without 'iconv-h'.
10876         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
10877         if it is not defined.
10878         Reported by Ian Beckwith <ianb@erislabs.net>.
10879
10880 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10881
10882         acl: port to Solaris 8 when copying from tmpfs to ufs
10883         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
10884         error number.  Problem observed on Solaris 8 with latest
10885         coreutils, with "mv A B", where A is on a tmpfs file system and B
10886         is on a ufs file system.  This caused coreutils' mv/part-symlink
10887         test to fail.
10888
10889         tests: set fail=0 at start
10890         * tests/init.sh (setup_): Move fail=0 initialization here ...
10891         (mktempd_): ... from here, so that tests can rely on fail being
10892         set to 0 initially.  This fixes a problem in coreutils; see:
10893         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
10894
10895 2010-12-18  Bruno Haible  <bruno@clisp.org>
10896
10897         memmem-simple: Stylistic changes.
10898         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
10899         Fix preprocessor directive indentation.
10900
10901 2010-12-15  Pádraig Brady <P@draigBrady.com>
10902
10903         memmem, memmem-simple: reorganize and expand empty needle check
10904         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
10905         functional checks to memmem-simple so that one has a fully functional
10906         memmem by using just this module.
10907         Restrict the performance only check to the memmem module.
10908         Also expand the empty needle check to ensure the correct
10909         pointer is returned, not just a non NULL pointer.
10910         * doc/glibc-functions/memmem.texi: Rearrange the portability
10911         documentation to correlate with the rearranged checks.
10912         Clarify exactly how the memmem and memmem-simple modules
10913         relate to each other.
10914
10915 2010-12-15  Pádraig Brady <P@draigBrady.com>
10916             Bruno Haible  <bruno@clisp.org>
10917
10918         Improve cross-compilation guesses for uClibc.
10919         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
10920         that uClibc does not have the glibc bug.
10921         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
10922         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
10923
10924 2010-12-14  Eric Blake  <eblake@redhat.com>
10925
10926         configmake: provide fallbacks for oldest supported autotools
10927         * m4/configmake.m4: New file.
10928         * modules/configmake (Files): Ship it.
10929         (configure.ac): Use it to guarantee fallbacks.
10930
10931 2010-12-13  Pádraig Brady <P@draigBrady.com>
10932
10933         read-file: Improve handling of large files
10934         * lib/read-file.c (fread_file): Minimize realloc()s
10935         for regular files, and better manage sizes around SIZE_MAX.
10936
10937 2010-12-13  Eric Blake  <eblake@redhat.com>
10938
10939         cloexec, fcntl: relax license
10940         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
10941         consent from all contributors.
10942         * modules/fcntl (License): Likewise.
10943
10944 2010-12-10  Bruno Haible  <bruno@clisp.org>
10945
10946         Tests for module 'pipe-posix'.
10947         * modules/pipe-posix-tests: New file.
10948         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
10949
10950 2010-12-10  Bruno Haible  <bruno@clisp.org>
10951
10952         pipe-posix: Make it work in C++ mode.
10953         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
10954         (pipe): Use common idiom, not a macro definition.
10955         * lib/pipe.c: New file.
10956         * m4/pipe.m4: New file.
10957         * modules/pipe-posix (Description): Enhance.
10958         (Files): Add lib/pipe.c, m4/pipe.m4.
10959         (configure.ac): Invoke gl_FUNC_PIPE.
10960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
10961         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
10962         * tests/test-unistd-c++.cc: Check the signature of pipe.
10963
10964 2010-12-10  Bruno Haible  <bruno@clisp.org>
10965
10966         Rename module 'pipe' to 'spawn-pipe'.
10967         * modules/spawn-pipe: New file, renamed from modules/pipe.
10968         (Files, configure.ac, Makefile.am): Update.
10969         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
10970         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
10971         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
10972         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
10973         "spawn-pipe.h" instead of "pipe.h".
10974         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
10975         to gl_SPAWN_PIPE.
10976         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
10977         (Files, Makefile.am): Update.
10978         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
10979         Update.
10980         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
10981         Include "spawn-pipe.h" instead of "pipe.h".
10982         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
10983         * lib/javacomp.c: Likewise.
10984         * lib/javaversion.c: Likewise.
10985         * lib/pipe-filter-gi.c: Likewise.
10986         * lib/pipe-filter-ii.c: Likewise.
10987         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
10988         * modules/javacomp (Depends-on): Likewise.
10989         * modules/javaversion (Depends-on): Likewise.
10990         * modules/pipe-filter-gi (Depends-on): Likewise.
10991         * modules/pipe-filter-ii (Depends-on): Likewise.
10992         * MODULES.html.sh (Executing programs): Update.
10993         * NEWS: Mention the change.
10994
10995 2010-12-10  Eric Blake  <eblake@redhat.com>
10996
10997         pipe-posix: new module
10998         * modules/pipe-posix: New file.
10999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
11000         (gl_UNISTD_H): Check for declaration.
11001         * modules/unistd (Makefile.am): Substitute it.
11002         * lib/unistd.in.h (pipe): Provide it for mingw.
11003         * doc/posix-functions/pipe.texi (pipe): Update documentation.
11004         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
11005
11006 2010-12-07  Bruno Haible  <bruno@clisp.org>
11007
11008         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
11009         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
11010         u8_strcmp_gnu.
11011         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
11012
11013 2010-12-06  Bruno Haible  <bruno@clisp.org>
11014
11015         Update internal documentation.
11016         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
11017
11018 2010-12-04  Bruno Haible  <bruno@clisp.org>
11019
11020         Put more information about failed tests into the test return codes.
11021         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
11022         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
11023         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
11024         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11025         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
11026         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
11027         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11028         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11029         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
11030         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11031         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
11032         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
11033         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11034         * m4/stdint.m4 (gl_STDINT_H): Likewise.
11035         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
11036         returns a bit mask.
11037         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
11038         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
11039         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
11040         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
11041         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
11042         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11043         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11044         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11045         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11046         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11047         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11048         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11049         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11050         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11051         * m4/link.m4 (gl_FUNC_LINK): Likewise.
11052         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
11053         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
11054         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
11055         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11056         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
11057         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11058         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
11059         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
11060         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11061         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11062         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11063         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
11064         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11065         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11066         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
11067         gl_PRINTF_PRECISION): Likewise.
11068         * m4/regex.m4 (gl_REGEX): Likewise.
11069         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
11070         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
11071         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
11072         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11073         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11074         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11075         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
11076         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
11077         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11078         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
11079         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
11080         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11081         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11082         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
11083         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11084         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
11085         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
11086         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11087         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11088         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
11089         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
11090         enumerated value.
11091         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
11092
11093 2010-12-04  Bruno Haible  <bruno@clisp.org>
11094
11095         Update for Solaris 11 2010-11.
11096         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
11097         Express, released in November 2010.
11098
11099 2010-12-04  Bruno Haible  <bruno@clisp.org>
11100
11101         nproc: Relax license.
11102         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
11103         and Paul Eggert.
11104         Requested by Ludovic Courtès <ludo@gnu.org>.
11105
11106 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11107
11108         utimecmp: fine-grained src to nearby coarse-grained dest
11109
11110         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
11111         and the source is on a file system with higher-resolution time
11112         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
11113         not work, and the time stamps are close together, the algorithm to
11114         determine the exact resolution from the read-back mtime was buggy:
11115         it had a "!=" where it should have had an "==".  This bug has been
11116         in the code ever since it was introduced to gnulib.
11117         Problem reported by Dan Jacobson in
11118         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
11119
11120 2010-11-30  Bruno Haible  <bruno@clisp.org>
11121
11122         strerror_r-posix: Fix autoconf test.
11123         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
11124
11125 2010-11-28  Bruno Haible  <bruno@clisp.org>
11126             Paul Eggert  <eggert@cs.ucla.edu>
11127
11128         Tests for module 'getdomainname'.
11129         * modules/getdomainname-tests: New file.
11130         * tests/test-getdomainname.c: New file, based on
11131         tests/test-gethostname.c.
11132
11133 2010-11-28  Bruno Haible  <bruno@clisp.org>
11134             Paul Eggert  <eggert@cs.ucla.edu>
11135
11136         getdomainname: Use the system function when possible.
11137         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
11138         (getdomainname): Replace if needed. Provide the declaration if it is
11139         missing. Don't use _GL_CXXALIAS_SYS_CAST.
11140         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
11141         (getdomainname): When the system has getdomainname, call the system
11142         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
11143         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
11144         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
11145         found in libnsl. Look for the declaration also in <netdb.h>. Replace
11146         the function if its second argument is of type 'int' or if it is found
11147         in libnsl.
11148         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
11149         <sys/systeminfo.h> and sysinfo().
11150         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
11151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11152         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
11153         HAVE_GETDOMAINNAME.
11154         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
11155         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
11156         * doc/glibc-functions/getdomainname.texi: Document the problems with
11157         the getdomainname declaration.
11158
11159 2010-11-28  Bruno Haible  <bruno@clisp.org>
11160
11161         sys_socket: Ensure ss_family field on AIX.
11162         * lib/sys_socket.in.h (ss_family): New macro definition.
11163         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
11164         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
11165         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
11166         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11167         * modules/sys_socket (Makefile.am): Substitute
11168         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11169         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
11170
11171 2010-11-27  Bruno Haible  <bruno@clisp.org>
11172
11173         readline: Improve configure output.
11174         * m4/readline.m4 (gl_FUNC_READLINE): Make the
11175         "checking for readline..." result understandable.
11176
11177 2010-11-27  Bruno Haible  <bruno@clisp.org>
11178
11179         *printf-posix: Detect a bug on Solaris 10/x86.
11180         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
11181         for floating-point output.
11182         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
11183         directive.
11184         * tests/test-snprintf-posix.h (test_function): Likewise.
11185         * tests/test-sprintf-posix.h (test_function): Likewise.
11186         * tests/test-vasprintf-posix.c (test_function): Likewise.
11187         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
11188         * doc/posix-functions/printf.texi: Likewise.
11189         * doc/posix-functions/snprintf.texi: Likewise.
11190         * doc/posix-functions/sprintf.texi: Likewise.
11191         * doc/posix-functions/vfprintf.texi: Likewise.
11192         * doc/posix-functions/vprintf.texi: Likewise.
11193         * doc/posix-functions/vsnprintf.texi: Likewise.
11194         * doc/posix-functions/vsprintf.texi: Likewise.
11195         * doc/glibc-functions/obstack_printf.texi: Likewise.
11196         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11197
11198 2010-11-27  Bruno Haible  <bruno@clisp.org>
11199
11200         Fix link error when module libunistring-optional is in use.
11201         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
11202         * modules/striconveha-tests (Makefile.am): Likewise.
11203
11204 2010-11-27  Bruno Haible  <bruno@clisp.org>
11205
11206         regex: Mention link dependencies.
11207         * modules/regex (Link): New section.
11208         * modules/rpmatch (Link): Likewise.
11209         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
11210
11211 2010-11-27  Bruno Haible  <bruno@clisp.org>
11212
11213         ftoastr: Fix compilation error on Solaris.
11214         * lib/ftoastr.c: Include <config.h>.
11215
11216 2010-11-27  Bruno Haible  <bruno@clisp.org>
11217
11218         getloadavg: Update documentation.
11219         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
11220
11221 2010-11-27  Bruno Haible  <bruno@clisp.org>
11222
11223         sys_socket: Fix test whether the functions are declared.
11224         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
11225         not <sys/select.h>.
11226
11227 2010-11-27  Bruno Haible  <bruno@clisp.org>
11228
11229         getpass: Make sure to get system declaration on some platforms.
11230         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
11231         gl_USE_SYSTEM_EXTENSIONS.
11232         * modules/getpass (Depends-on): Add extensions.
11233
11234 2010-11-26  Bruno Haible  <bruno@clisp.org>
11235
11236         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
11237         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
11238         'iconv' module is present.
11239         (ICONV_CONST): New macro.
11240         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
11241         ICONV_CONST.
11242         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
11243         set ICONV_CONST.
11244         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
11245         here.
11246         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
11247         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
11248         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
11249         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
11250         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
11251         present.
11252
11253 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11254
11255         ftoastr: comment fix
11256         * lib/ftoastr.c: "little" -> "little or no" in comment
11257
11258 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
11259
11260         stdint: port to GCC 4.3 + OSX + Octave
11261         On this platform, stdint.h is buggy and defines int64_t to long
11262         long int.  The replacement defined it to long int, causing
11263         problems with C++ style name mangling.  Instead, trust the system
11264         definition if INT64_MAX is defined, and likewise for the unsigned
11265         variant.   Problem reported by Jarno Rajahalme in
11266         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
11267         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
11268         and don't mess with int64_t and INT64_MAX in this case.
11269         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
11270
11271 2010-11-24  Bruno Haible  <bruno@clisp.org>
11272
11273         doc: Corrections regarding MacOS X 10.4 and 10.5.
11274         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
11275         MacOS X.
11276         Reported by Simon Josefsson.
11277
11278 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
11279
11280         Uninstall ".bin" files installed by relocwrapper.
11281         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
11282         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
11283         unless it is already there.
11284
11285 2010-11-21  Bruno Haible  <bruno@clisp.org>
11286
11287         Update for NetBSD 5.0.
11288         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
11289         NetBSD; the test fails on NetBSD 5.0.
11290         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
11291         about NetBSD.
11292
11293 2010-11-21  Bruno Haible  <bruno@clisp.org>
11294
11295         Update for HP-UX 11.23 and HP-UX 11.31.
11296         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
11297         HP-UX.
11298
11299 2010-11-21  Bruno Haible  <bruno@clisp.org>
11300
11301         Update for MacOS X 10.5.
11302         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
11303         MacOS X; the test fails on MacOS X 10.5.8.
11304         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
11305         about MacOS X.
11306
11307 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
11308
11309         bootstrap: add bootstrap_sync option.
11310         See discussion at
11311         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
11312         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
11313         * build-aux/bootstrap: Accept --bootstrap-sync to update
11314         bootstrap if it is not identical to the local gnulib's
11315         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
11316         enable this by default.  Accept --no-bootstrap-sync to disable
11317         it.
11318
11319 2010-11-20  Bruno Haible  <bruno@clisp.org>
11320
11321         Ensure that <features.h> is included before __GLIBC__ is tested.
11322         * lib/printf-parse.h: Include <features.h>.
11323         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
11324         Reported by Mike Frysinger <vapier@gentoo.org>.
11325
11326         Ensure that <features.h> is included before __GLIBC__ is tested.
11327         * lib/wchar.in.h: Include <features.h>.
11328         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
11329         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
11330         Reported by Mike Frysinger <vapier@gentoo.org>.
11331
11332         Ensure that <features.h> is included before __GLIBC__ is tested.
11333         * lib/arpa_inet.in.h: Include <features.h>.
11334         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
11335         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
11336         Reported by Mike Frysinger <vapier@gentoo.org>.
11337
11338         Ensure that <features.h> is included before __GLIBC__ is tested.
11339         * build-aux/link-warning.h: Include <features.h>.
11340         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
11341         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
11342         Reported by Mike Frysinger <vapier@gentoo.org>.
11343
11344         Ensure that <features.h> is included before __GLIBC__ is tested.
11345         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
11346         Reported by Mike Frysinger <vapier@gentoo.org>.
11347
11348 2010-11-20  Bruno Haible  <bruno@clisp.org>
11349
11350         memmem: Fix autoconf test.
11351         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
11352
11353 2010-11-20  Bruno Haible  <bruno@clisp.org>
11354
11355         Port to uClibc.
11356         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
11357         * lib/fcntl.in.h: Likewise.
11358         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
11359         * lib/mbrtowc.c (mbrtowc): Likewise.
11360         * lib/relocatable.c (find_shared_library_fullname): Likewise.
11361         * lib/strerror_r.c: Likewise.
11362         * lib/unistr/u8-strnlen.c: Likewise.
11363         * lib/vasnprintf.c (decimal_point_char): Likewise.
11364         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
11365         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11366         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
11367         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
11368         * tests/test-sigaction.c (handler, main): Likewise.
11369         * lib/freading.h: Treat uClibc like a non-glibc platform.
11370         * lib/freading.c: Likewise.
11371         * lib/gettext.h: Likewise.
11372         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
11373         Likewise.
11374         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
11375         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
11376         * lib/propername.c (proper_name_utf8): Likewise.
11377         * lib/spawn.in.h: Likewise.
11378         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
11379         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
11380         mem_cd_iconveh_internal): Likewise.
11381         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
11382         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
11383         strstr, strcasestr): Likewise.
11384         * lib/unicodeio.c (unicode_to_mb): Likewise.
11385         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
11386         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
11387         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
11388         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
11389         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
11390         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
11391         * lib/unistr/u8-stpncpy.c: Likewise.
11392         * lib/vasnprintf.c (VASNPRINTF): Likewise.
11393         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
11394         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
11395         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11396         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
11397         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
11398         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
11399         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
11400         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11401         Likewise.
11402         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11403         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
11404         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
11405         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11406         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
11407         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11408         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11409         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
11410         * tests/test-getopt.h (OPTIND_MIN): Likewise.
11411         * tests/test-striconveha.c (main): Likewise.
11412         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11413         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
11414         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
11415         * doc/posix-functions/getline.texi: Likewise.
11416         Reported by Mike Frysinger <vapier@gentoo.org>.
11417
11418 2010-11-20  Bruno Haible  <bruno@clisp.org>
11419
11420         nproc: Fix condition.
11421         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
11422         HAVE_PTHREAD_AFFINITY_NP.
11423
11424 2010-11-20  Bruno Haible  <bruno@clisp.org>
11425
11426         Fix a comment.
11427         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
11428
11429 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11430
11431         ftoastr: don't assume snprintf
11432         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
11433         Implement a subset of snprintf here, by using sprintf safely.
11434         * modules/ftoastr (Depends-on): Remove snprintf.
11435
11436 2010-11-19  Jim Meyering  <meyering@redhat.com>
11437
11438         test-rename.h: fix compilation failure
11439         * tests/test-rename.h (test_rename): Add omitted "}".
11440
11441 2010-11-17  Jim Meyering  <meyering@redhat.com>
11442
11443         maint.mk: add a URL discussing the no-@acronym policy
11444         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
11445
11446 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11447
11448         ftoastr: depend on snprintf, improve comments
11449         * lib/ftoastr.c: Also mention Loitsch's draft.
11450         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
11451         needed in the current implementation, but it might simplify
11452         speeding up the code later.
11453         * modules/ftoastr: Depend on snprintf; this improves portability.
11454         Suggested by Bruno Haible in the same email.
11455
11456         ftoastr: port to hosts lacking strtof and strtold
11457         Problem reported by Bruno Haible in
11458         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
11459         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
11460         environment and strtold (and presumably strtof) are not available.
11461         * modules/ftoastr (Files): Add m4/c-strtod.m4.
11462         (configure.ac): Require gl_C99_STRTOLD.
11463
11464 2010-11-18  Bruno Haible  <bruno@clisp.org>
11465
11466         c-strtold: Avoid link error on AIX 7.
11467         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
11468         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
11469         (gl_C_STRTOLD): Test whether strtold_l exists.
11470         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11471
11472 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11473
11474         intprops: new macro INT_BITS_STRLEN_BOUND
11475         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
11476         ftoastr.h.  This exposes an internal of intprops.h that was formerly
11477         not exposed.  Also, it uses a slightly tighter bound than before;
11478         though this makes no practical difference, we might as well be as
11479         tight as we easily can.
11480
11481         ftoastr: new module, for lossless conversion of floats to short strings
11482         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
11483         * modules/ftoastr: New files.
11484
11485 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11486
11487         bootstrap: port to Solaris sed
11488         * build-aux/bootstrap (get_version): Port to Solaris sed.
11489         See Ralf Wildenhues's note in
11490         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
11491
11492 2010-11-14  Jim Meyering  <meyering@redhat.com>
11493
11494         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
11495         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
11496         and move definition closer to sole use.
11497
11498 2010-11-13  Jim Meyering  <meyering@redhat.com>
11499
11500         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
11501         Now we require at least autoconf-2.59, which means the work-around
11502         is no longer needed.
11503         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
11504         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11505         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
11506         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
11507         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11508
11509 2010-11-13  Bruno Haible  <bruno@clisp.org>
11510
11511         rename, renameat: Avoid test failures at NFS mounted locations.
11512         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
11513         functions.
11514         (test_rename): Use assert_nonexistent.
11515         * tests/test-rename.c: Include <dirent.h>.
11516         * tests/test-renameat.c: Likewise.
11517         Reported by Gary V. Vaughan <gary@gnu.org>.
11518
11519         rename, renameat: Document Linux bug with NFS
11520         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
11521         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
11522         * doc/posix-functions/renameat.texi: Likewise.
11523         Suggested by Eric Blake.
11524
11525 2010-11-13  Bruno Haible  <bruno@clisp.org>
11526
11527         rename test: Add comments.
11528         * tests/test-rename.h (test_rename): Add structure and comments.
11529
11530 2010-11-13  Eric Blake  <eblake@redhat.com>
11531
11532         maintainer-makefile: cover a few more files
11533         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
11534         scripts generated within C files, for libvirt.
11535
11536 2010-11-13  Bruno Haible  <bruno@clisp.org>
11537
11538         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
11539         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
11540         character, return the number of bytes that belong together, not always
11541         1.
11542         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
11543         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
11544         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
11545         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
11546         number of bytes of an invalid character.
11547         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
11548         (main): Invoke it.
11549         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
11550         results.
11551         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
11552         malformed byte sequences.
11553         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
11554         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
11555         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
11556         Reported by Ben Pfaff and Paolo Bonzini.
11557
11558 2010-11-13  Bruno Haible  <bruno@clisp.org>
11559
11560         openat: Work around glibc bug with fchownat() and empty file names.
11561         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
11562         (gl_FUNC_FCHOWNAT): Invoke it.
11563         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
11564         * doc/posix-functions/fchownat.texi: Document the glibc bug.
11565         Reported by Gary V. Vaughan <gary@gnu.org>.
11566
11567 2010-11-13  Bruno Haible  <bruno@clisp.org>
11568
11569         openat: Ensure autoconf macro ordering.
11570         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
11571         gl_USE_SYSTEM_EXTENSIONS.
11572         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
11573
11574 2010-11-13  Bruno Haible  <bruno@clisp.org>
11575
11576         Update comments.
11577         * lib/unistr/u8-check.c: Update file name in comments.
11578         * lib/unistr/u8-mblen.c: Likewise.
11579         * lib/unistr/u8-prev.c: Likewise.
11580         * lib/unistr/u8-strmblen.c: Likewise.
11581         * lib/unistr/u8-strmbtouc.c: Likewise.
11582
11583 2010-11-13  Jim Meyering  <meyering@redhat.com>
11584
11585         tests: avoid test failure on Solaris 10 due to lack of PATH export
11586         * tests/test-update-copyright.sh: Don't forget to export PATH.
11587
11588         init.sh: ensure that IFS is defined, just in case...
11589         * tests/init.sh (setup_): Ensure that IFS is defined,
11590         so that saving and restoring it works as expected.  This
11591         appears to be useful at least for an old version of dash
11592         from a long time ago (RH 6).  See here for details:
11593         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
11594
11595         maint.mk: tighten "test a == b" check
11596         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
11597         test to files that contain something like #!/bin/sh.
11598         Without this, coreutils would get two false positives in
11599         the comments of C source files.
11600
11601 2010-11-12  Eric Blake  <eblake@redhat.com>
11602
11603         bootstrap: fix typo in previous attempt
11604         * build-aux/bootstrap (buildreq): Correct the grouping.
11605         Reported by Paul Eggert.
11606
11607         maintainer-makefile: prohibit test x == x
11608         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
11609         Based on a report by Matthias Bolte.
11610
11611         bootstrap: allow FreeBSD gzip
11612         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
11613         which has no '.' and goes to stderr.
11614         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
11615         Reported by Matthias Bolte.
11616
11617         maintainer-makefile: check for i18n setup
11618         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
11619         will likely work.
11620
11621 2010-11-12  Bruno Haible  <bruno@clisp.org>
11622
11623         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
11624         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
11625         * lib/nanosleep.c (nanosleep): Likewise.
11626
11627 2010-11-11  Bruno Haible  <bruno@clisp.org>
11628
11629         fcntl-h: Fix for use of C++ on glibc systems.
11630         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
11631         also on glibc systems in C++ mode.
11632         Reported by Gary V. Vaughan <gary@gnu.org>.
11633
11634 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11635
11636         mknod: avoid false failure with dash
11637         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
11638
11639 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11640
11641         unlink: Fix "is it should" typo in diagnostic.
11642         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
11643         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
11644
11645 2010-11-11  Bruno Haible  <bruno@clisp.org>
11646
11647         Tests for module 'strerror_r-posix'.
11648         * modules/strerror_r-posix-tests: New file.
11649         * tests/test-strerror_r.c: New file.
11650         * tests/test-string-c++.cc: Check the signature of strerror_r.
11651
11652         New module 'strerror_r-posix'.
11653         * lib/string.in.h (strerror_r): New declaration.
11654         * lib/strerror_r.c: New file.
11655         * m4/strerror_r.m4: New file.
11656         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
11657         of strerror_r.
11658         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
11659         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
11660         * modules/strerror_r-posix: New file.
11661         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
11662         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
11663         * doc/posix-functions/strerror_r.texi: Mention the new module and the
11664         portability problems.
11665
11666 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
11667
11668         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
11669         line is also considered for output. Quoted function name in shell
11670         command, so temporary files for functions like MyClass::operator()
11671         are removed correctly without errors.
11672
11673 2010-11-09  Bruno Haible  <bruno@clisp.org>
11674
11675         * doc/posix-functions/strerror.texi: List more failing platforms.
11676
11677         * doc/posix-functions/strerror.texi: Add a comment.
11678
11679 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11680
11681         fdopendir: fix bug on MacOS X when low on file descriptors
11682
11683         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
11684         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
11685         All callers changed.
11686         (fdopendir): Invoke save_cwd at the top level, not after using
11687         multiple dup() calls to use up file descriptors.  Then retry
11688         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
11689         less than the maximum number of open file descriptors, because
11690         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
11691         on Mac OS X 10.6.4 for tar 1.24
11692         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
11693         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
11694         and for tar 1.25
11695         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
11696
11697 2010-11-07  Bruno Haible  <bruno@clisp.org>
11698
11699         vasnprintf: Support I flag on glibc systems.
11700         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
11701         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
11702         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
11703         snprintf function.
11704         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
11705         glibc systems.
11706         * tests/test-vasnprintf-posix3.c: New file.
11707         * modules/vasnprintf-posix-tests (Files): Add it.
11708         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
11709
11710 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11711
11712         [html] Fix copy/paste bug: Use unique name for compiler warnings.
11713         * MODULES.html.sh: For compiler warnings, use name
11714         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
11715
11716 2010-11-05  Eric Blake  <eblake@redhat.com>
11717
11718         ceil, floor: avoid spurious failure with icc
11719         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
11720         [denormals-as-zero] when optimizing without -mieee-fp option.
11721         * tests/test-floorf2.c (floorf_reference): Likewise.
11722         * tests/test-ceilf1.c (dummy): New function.
11723         (main): Use it to outsmart icc's optimization.
11724         * tests/test-floorf1.c (dummy, main): Likewise.
11725
11726         tests: require working signbit
11727         * modules/ceilf-tests (Depends-on): Add signbit.
11728         * modules/ceill-tests (Depends-on): Likewise.
11729         * modules/floorf-tests (Depends-on): Likewise.
11730         * modules/floorl-tests (Depends-on): Likewise.
11731         * modules/round-tests (Depends-on): Likewise.
11732         * modules/roundf-tests (Depends-on): Likewise.
11733         * modules/roundl-tests (Depends-on): Likewise.
11734         * modules/trunc-tests (Depends-on): Likewise.
11735         * modules/truncf-tests (Depends-on): Likewise.
11736         * modules/truncl-tests (Depends-on): Likewise.
11737
11738         strtod: work around icc bug
11739         * lib/strtod.c (minus_zero): Define to working value.
11740         (strtod): Use it to avoid icc bug.
11741
11742         copysign: enhance tests
11743         * modules/copysign-tests (Files): Add minus-zero.h.
11744         * tests/test-copysign.c (main): Also test zeros.
11745
11746 2010-11-04  Eric Blake  <eblake@redhat.com>
11747
11748         ceil, floor, round, trunc: enhance tests of -0
11749         * tests/test-ceilf1.c (main): Ensure correct sign of result.
11750         * tests/test-ceill.c (main): Likewise.
11751         * tests/test-floorf1.c (main): Likewise.
11752         * tests/test-floorl.c (main): Likewise.
11753         * tests/test-round1.c (main): Likewise.
11754         * tests/test-roundf1.c (main): Likewise.
11755         * tests/test-roundl.c (main): Likewise.
11756         * tests/test-trunc1.c (main): Likewise.
11757         * tests/test-truncf1.c (main): Likewise.
11758         * tests/test-truncl.c (main): Likewise.
11759
11760 2010-11-04  Eric Blake  <eblake@redhat.com>
11761
11762         frexp, tests: work around ICC bug with -zero
11763         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
11764         works with more compilers.
11765         * tests/minus-zero.h: New file.
11766         * modules/ceilf-tests (Files): Include it.
11767         * modules/ceill-tests (Files): Likewise.
11768         * modules/floorf-tests (Files): Likewise.
11769         * modules/floorl-tests (Files): Likewise.
11770         * modules/frexp-nolibm-tests (Files): Likewise.
11771         * modules/frexp-tests (Files): Likewise.
11772         * modules/frexpl-nolibm-tests (Files): Likewise.
11773         * modules/frexpl-tests (Files): Likewise.
11774         * modules/isnan-tests (Files): Likewise.
11775         * modules/isnand-nolibm-tests (Files): Likewise.
11776         * modules/isnand-tests (Files): Likewise.
11777         * modules/isnanf-nolibm-tests (Files): Likewise.
11778         * modules/isnanf-tests (Files): Likewise.
11779         * modules/isnanl-nolibm-tests (Files): Likewise.
11780         * modules/isnanl-tests (Files): Likewise.
11781         * modules/round-tests (Files): Likewise.
11782         * modules/roundf-tests (Files): Likewise.
11783         * modules/roundl-tests (Files): Likewise.
11784         * modules/ldexpl-tests (Files): Likewise.
11785         * modules/signbit-tests (Files): Likewise.
11786         * modules/snprintf-posix-tests (Files): Likewise.
11787         * modules/sprintf-posix-tests (Files): Likewise.
11788         * modules/strtod-tests (Files): Likewise.
11789         * modules/trunc-tests (Files): Likewise.
11790         * modules/truncf-tests (Files): Likewise.
11791         * modules/truncl-tests (Files): Likewise.
11792         * modules/vsnprintf-posix-tests (Files): Likewise.
11793         * modules/vsprintf-posix-tests (Files): Likewise.
11794         * modules/vasnprintf-posix-tests (Files): Likewise.
11795         * modules/vasprintf-posix-tests (Files): Likewise.
11796         * tests/test-ceilf1.c (main): Use it.
11797         * tests/test-ceill.c (main): Likewise.
11798         * tests/test-floorf1.c (main): Likewise.
11799         * tests/test-floorl.c (main): Likewise.
11800         * tests/test-frexp.c (main): Likewise.
11801         * tests/test-frexpl.c (main): Likewise.
11802         * tests/test-isnan.c (main): Likewise.
11803         * tests/test-isnand.h (main): Likewise.
11804         * tests/test-isnanf.h (main): Likewise.
11805         * tests/test-isnanl.h (main): Likewise.
11806         * tests/test-ldexpl.c (main): Likewise.
11807         * tests/test-round.c (main): Likewise.
11808         * tests/test-roundf.c (main): Likewise.
11809         * tests/test-roundl.c (main): Likewise.
11810         * tests/test-signbit.c (test_signbitf, test_signbitd)
11811         (test_signbitl): Likewise.
11812         * tests/test-snprintf-posix.h (test_function): Likewise.
11813         * tests/test-sprintf-posix.h (test_function): Likewise.
11814         * tests/test-strtod.c (main): Likewise.
11815         * tests/test-trunc1.c (main): Likewise.
11816         * tests/test-truncf1.c (main): Likewise.
11817         * tests/test-truncl.c (main): Likewise.
11818
11819         isnanl: work around icc bug
11820         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
11821
11822 2010-11-03  Eric Blake  <eblake@redhat.com>
11823
11824         tests: fix compiler warnings
11825         * tests/test-getopt.h (test_getopt): Fix condition.
11826         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11827         * tests/test-pipe2.c (main): Likewise.
11828         * tests/test-quotearg-simple.c (main): Avoid icc warning.
11829
11830         utimens: fix broken m4 test
11831         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
11832
11833 2010-10-28  Bruno Haible  <bruno@clisp.org>
11834
11835         posix_spawn*, getdtablesize: Relax license.
11836         * modules/posix_spawn (License): Change to LGPLv2+.
11837         * modules/posix_spawnp (License): Likewise.
11838         * modules/posix_spawn-internal (License): Likewise.
11839         * modules/posix_spawnattr_init (License): Likewise.
11840         * modules/posix_spawnattr_getflags (License): Likewise.
11841         * modules/posix_spawnattr_setflags (License): Likewise.
11842         * modules/posix_spawnattr_getpgroup (License): Likewise.
11843         * modules/posix_spawnattr_setpgroup (License): Likewise.
11844         * modules/posix_spawnattr_getschedparam (License): Likewise.
11845         * modules/posix_spawnattr_setschedparam (License): Likewise.
11846         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
11847         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
11848         * modules/posix_spawnattr_getsigdefault (License): Likewise.
11849         * modules/posix_spawnattr_setsigdefault (License): Likewise.
11850         * modules/posix_spawnattr_getsigmask (License): Likewise.
11851         * modules/posix_spawnattr_setsigmask (License): Likewise.
11852         * modules/posix_spawnattr_destroy (License): Likewise.
11853         * modules/posix_spawn_file_actions_init (License): Likewise.
11854         * modules/posix_spawn_file_actions_addclose (License): Likewise.
11855         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
11856         * modules/posix_spawn_file_actions_addopen (License): Likewise.
11857         * modules/posix_spawn_file_actions_destroy (License): Likewise.
11858         * modules/getdtablesize (License): Likewise.
11859         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
11860
11861 2010-10-26  Bruno Haible  <bruno@clisp.org>
11862
11863         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
11864         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
11865         Cygwin and mingw.
11866         Suggested by Eric Blake.
11867
11868 2010-10-26  Bruno Haible  <bruno@clisp.org>
11869
11870         stdio: Work around compilation error due to renameat() on Solaris 10.
11871         * lib/stdio.in.h: Include <unistd.h> on Solaris.
11872         * lib/renameat.c: Don't include <unistd.h> here.
11873         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
11874         Reported by Paul Eggert and Eric Blake.
11875
11876 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11877
11878         renameat: port to Solaris 10, which declares renameat in unistd.h
11879
11880         * lib/renameat.c: Include unistd.h before stdio.h, because
11881         Solaris 10 declares renameat in unistd.h.  Problem encountered
11882         when building GNU tar 1.24 on Solaris 10.
11883
11884 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11885
11886         fdopendir: fix C89 compilation
11887         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
11888         compilers.
11889
11890 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11891
11892         inttostr: simplify by removing unnecessary redundancy
11893         * lib/anytostr.c: Don't include verify.h.
11894         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
11895         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
11896         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
11897         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
11898         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
11899         Likewise.
11900         * modules/inttostr (Depends-on): Remove 'verify'.
11901
11902 2010-10-23  Bruno Haible  <bruno@clisp.org>
11903
11904         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
11905         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
11906         Reported by Eric Blake.
11907
11908 2010-10-23  Bruno Haible  <bruno@clisp.org>
11909
11910         Tests: Fix LOCALE_JA on MirBSD 10.
11911         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
11912         to an UTF-8 locale.
11913         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
11914         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
11915         Reported by Eric Blake.
11916
11917 2010-10-21  Bruno Haible  <bruno@clisp.org>
11918
11919         nl_langinfo test: Avoid test failure on NetBSD 5.
11920         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
11921         Reported by Eric Blake.
11922
11923 2010-10-21  Eric Blake  <eblake@redhat.com>
11924
11925         c-stack: work around libsigsegv 2.8 bug
11926         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
11927         overflow on at least PowerPC64.
11928
11929 2010-10-17  Bruno Haible  <bruno@clisp.org>
11930
11931         userspec: Drop redundant file.
11932         * modules/userspec (Files): Remove lib/inttostr.h.
11933
11934 2010-10-17  Bruno Haible  <bruno@clisp.org>
11935
11936         nl_langinfo tests: Silence some warnings.
11937         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
11938         Reported by Jim Meyering.
11939
11940 2010-10-17  Bruno Haible  <bruno@clisp.org>
11941
11942         Make use of GCC's attribute __alloc_size__.
11943         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
11944         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
11945         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
11946         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
11947         __alloc_size__.
11948         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
11949         Suggested by Jim Meyering.
11950
11951 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
11952
11953         bootstrap: anchor .gitignore entries.
11954         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
11955         with...
11956         (insert_vc_ignore): ... this new function, which prepends `/' to
11957         all .gitignore entries before passing them to
11958         insert_sorted_if_absent.
11959
11960 2010-10-16  Bruno Haible  <bruno@clisp.org>
11961
11962         nextafter: Fix configure check.
11963         * modules/nextafter (configure.ac): Correct expected prototype.
11964
11965 2010-10-16  Bruno Haible  <bruno@clisp.org>
11966
11967         termios: Update documentation.
11968         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
11969
11970 2010-10-16  Bruno Haible  <bruno@clisp.org>
11971
11972         tests: Make them compile with TinyCC.
11973         * tests/test-strstr.c (main): Remove parentheses around array
11974         initializer.
11975
11976 2010-10-15  Eric Blake  <eblake@redhat.com>
11977
11978         ignore-value: make header idempotent
11979         * lib/ignore-value.h: Add double-inclusion guards.
11980         Reported by Stefan Berger.
11981
11982 2010-10-15  Jim Meyering  <meyering@redhat.com>
11983
11984         GNUmakefile: handle "stable" target, not "major"
11985         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
11986         lists in maint.mk and announce-gen.  Without this, "make stable"
11987         would fail to ensure that $(VERSION) is up to date.
11988
11989 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
11990
11991         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
11992         & co.
11993
11994 2010-10-14  Bruno Haible  <bruno@clisp.org>
11995
11996         vasnprintf: Don't set errno to 0.
11997         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
11998         block that sets it to 0.
11999         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
12000
12001 2010-10-14  Bruno Haible  <bruno@clisp.org>
12002
12003         socketlib: Fix.
12004         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
12005         gl_PREREQ_SYS_H_WINSOCK2.
12006         Reported by Ian Beckwith <ianb@erislabs.net>.
12007
12008 2010-10-13  Jim Meyering  <meyering@redhat.com>
12009
12010         test-select-stdin.c: avoid warn_unused_result warnings
12011         * tests/test-select-stdin.c: Include "macros.h".
12012         ASSERT that read and fflush succeed.
12013
12014 2010-10-13  Jim Meyering  <meyering@redhat.com>
12015
12016         git-version-gen: do require git-VC'd files in cwd
12017         * build-aux/git-version-gen: Reject a git version string
12018         if there are no commits associated with the current directory.
12019         This avoids an unlikely false-positive (unrelated dir whose parent
12020         repository also contains a tag matching v*), as pointed out
12021         by Giuseppe Scrivano in
12022         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
12023
12024 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12025
12026         argv-iter: omit nonconforming declaration
12027         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
12028         enum arg_iter_err declaration, which doesn't conform to C99.
12029         Solaris 10 cc warns about this.
12030
12031 2010-10-13  Eric Blake  <eblake@redhat.com>
12032
12033         termios: fix compilation on mingw
12034         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
12035         (gl_TERMIOS_H): Adjust it on mingw.
12036         * modules/termios (Makefile.am): Substitute new key.
12037         * lib/termios.in.h (includes): Make include_next conditional.
12038         * doc/posix-headers/termios.texi (termios.h): Update
12039         documentation.
12040         Reported by Daniel P. Berrange.
12041
12042 2010-10-13  Jim Meyering  <meyering@redhat.com>
12043
12044         git-version-gen: don't require that .git/ be in the current dir
12045         * build-aux/git-version-gen: Adjust this script so that it works
12046         when run from any working directory beneath the top-level .git/-
12047         containing directory.  Inspired by a patch from Giuseppe Scrivano,
12048         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
12049
12050         test-select: avoid warn_unused_result warnings
12051         * tests/test-select.c: Include "macros.h".
12052         ASSERT that each call to read, write, and pipe succeeds.
12053         While not technically required, also check each "close".
12054         * modules/select-tests (Files): Add tests/macros.h.
12055
12056         test-symlinkat: remove declaration of unused local
12057         * tests/test-symlinkat.c (main): Remove unused local, "buf".
12058
12059         test-inttostr: avoid shadowing warnings
12060         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
12061         and use malloc rather than the stack for the same reason as
12062         mentioned in the comment justifying the other allocation.
12063
12064 2010-10-11  Bruno Haible  <bruno@clisp.org>
12065
12066         stdlib: Allow multiple gnulib generated replacements to coexist.
12067         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
12068         Reported by Sam Steingold <sds@gnu.org>.
12069
12070 2010-10-11  Jim Meyering  <meyering@redhat.com>
12071
12072         fix a documentation typo
12073         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
12074
12075 2010-10-11  Eric Blake  <eblake@redhat.com>
12076
12077         futimens: work around Solaris 11 bug
12078         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
12079         * tests/test-futimens.h (test_futimens): Enhance, rather than
12080         weaken test.
12081         * doc/posix-functions/futimens.texi (futimens): Document the bug.
12082
12083 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12084
12085         Indentation.
12086         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
12087         higher-level operators more to the left.
12088
12089 2010-10-11  Jim Meyering  <meyering@redhat.com>
12090
12091         test-futimens: avoid unwarranted test failure on Solaris 5.11
12092         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
12093         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
12094         because it tries to dereference the NULL name argument.
12095
12096 2010-10-11  Bruno Haible  <bruno@clisp.org>
12097
12098         Indentation.
12099         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
12100         indentation.
12101
12102 2010-10-11  Jim Meyering  <meyering@redhat.com>
12103
12104         spawn.in.h: make indentation consistent with parentheses
12105         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
12106         Make indentation consistent with parentheses.
12107
12108 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
12109
12110         Fix mismatched parens in previous commit
12111         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
12112         parens.
12113
12114 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12115
12116         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
12117
12118         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
12119         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
12120         * lib/malloca.c: Include "verify.h".
12121         (verify1): Remove, replacing with a verify call.
12122         * lib/relocwrapper.c (verify1): Likewise.
12123         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
12124         Likewise.
12125         * modules/malloca (Depends-on): Add 'verify'.
12126         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
12127         * modules/vasnprintf (Depends-on): Add 'verify'.
12128         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
12129         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
12130         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
12131         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
12132         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
12133         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
12134         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
12135
12136         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
12137
12138         Formerly the style was sometimes 2*X - 1, because the C standard
12139         was wrongly thought to disallow ?: in integral constant expressions.
12140         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
12141         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
12142         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
12143         * lib/stdint.in.h (_verify_intmax_size): Likewise.
12144         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
12145         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
12146         verify that time_t cannot be floating.
12147
12148 2010-10-08  Eric Blake  <eblake@redhat.com>
12149
12150         time: enforce recent POSIX ruling that time_t is integral
12151         * lib/time.in.h (__time_t_must_be_integral): Detect any
12152         problematic systems, allowing the rest of gnulib to assume POSIX.
12153
12154 2010-10-08  Jim Meyering  <meyering@redhat.com>
12155
12156         fdopendir: fix a bug on systems lacking openat and /proc support
12157         OpenBSD 4.7 is one such system.  The most noticeable effect was
12158         failure of any application making nontrivial use of fts: rm, du,
12159         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
12160           ./rm: traversal failed: `a': Bad file descriptor
12161         Debugging that, you see that even though FD 6 was closed just
12162         prior to the opendir call in fd_clone_opendir, its resulting
12163         dir->dd_fd was 8, rather than the expected value of 6:
12164
12165         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
12166         93                close (fd);
12167         (gdb) n
12168         94                dir = fd_clone_opendir (dupfd);
12169         (gdb) n
12170         95                saved_errno = errno;
12171         (gdb) p dir->dd_fd
12172         $11 = 8
12173
12174         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
12175         The problem is that on OpenBSD, fd_clone_opendir has to resort
12176         to using the old-style save/restore CWD mechanism, due to its
12177         lack of openat/proc support, and *that* would steal the FD (6)
12178         that opendir was supposed to use.
12179
12180         The fix is to squirrel away the desired FD so that save_cwd uses a
12181         different one, and then free the dest FD right before calling opendir.
12182         That guarantees opendir will use the required file descriptor.
12183
12184         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
12185
12186 2010-10-08  Bruno Haible  <bruno@clisp.org>
12187
12188         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
12189         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
12190
12191 2010-10-08  Bruno Haible  <bruno@clisp.org>
12192
12193         nanosleep: Make replacement POSIX compliant.
12194         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
12195         is out of range.
12196         Reported by Jim Meyering.
12197
12198 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12199
12200         bootstrap: add hook for altering gnulib.mk, for Bison
12201         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
12202         the Bison bootstrapping process can rewrite file names and variables
12203         in this file before later parts of 'bootstrap' use the file.
12204         Bison wants to include lib/gnulib.mk from the top-level makefile,
12205         so it needs the file names in this file to be relative to the top
12206         level, not relative to lib; plus it needs variable names to be
12207         rewritten.
12208         (slurp): Use the new function.
12209
12210         bootstrap: reformat for readability
12211         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
12212
12213 2010-10-08  Eric Blake  <eblake@redhat.com>
12214
12215         docs: update cygwin progress
12216         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
12217         1.7.7.
12218         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
12219         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
12220         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
12221         * doc/posix-functions/carg.texi (carg): Likewise.
12222         * doc/posix-functions/cargf.texi (cargf): Likewise.
12223         * doc/posix-functions/casin.texi (casin): Likewise.
12224         * doc/posix-functions/casinf.texi (casinf): Likewise.
12225         * doc/posix-functions/casinh.texi (casinh): Likewise.
12226         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
12227         * doc/posix-functions/catan.texi (catan): Likewise.
12228         * doc/posix-functions/catanf.texi (catanf): Likewise.
12229         * doc/posix-functions/catanh.texi (catanh): Likewise.
12230         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
12231         * doc/posix-functions/ccos.texi (ccos): Likewise.
12232         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
12233         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
12234         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
12235         * doc/posix-functions/cexp.texi (cexp): Likewise.
12236         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
12237         * doc/posix-functions/cimag.texi (cimag): Likewise.
12238         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
12239         * doc/posix-functions/clog.texi (clog): Likewise.
12240         * doc/posix-functions/clogf.texi (clogf): Likewise.
12241         * doc/posix-functions/conj.texi (conj): Likewise.
12242         * doc/posix-functions/conjf.texi (conjf): Likewise.
12243         * doc/posix-functions/cpow.texi (cpow): Likewise.
12244         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
12245         * doc/posix-functions/cproj.texi (cproj): Likewise.
12246         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
12247         * doc/posix-functions/creal.texi (creal): Likewise.
12248         * doc/posix-functions/crealf.texi (crealf): Likewise.
12249         * doc/posix-functions/csin.texi (csin): Likewise.
12250         * doc/posix-functions/csinf.texi (csinf): Likewise.
12251         * doc/posix-functions/csinh.texi (csinh): Likewise.
12252         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
12253         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
12254         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
12255         * doc/posix-functions/ctan.texi (ctan): Likewise.
12256         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
12257         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
12258         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
12259         * doc/posix-headers/complex.texi (complex.h): Likewise.
12260
12261 2010-10-07  Jim Meyering  <meyering@redhat.com>
12262
12263         parse-datetime: avoid compilation failure on OpenBSD 4.7
12264         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
12265         This works around a compilation failure on OpenBSD 4.7:
12266         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
12267
12268 2010-10-07  Eric Blake  <eblake@redhat.com>
12269
12270         docs: update cygwin progress
12271         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
12272         1.7.6.
12273         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12274         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
12275         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
12276         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
12277         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
12278         Likewise.
12279         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
12280         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
12281         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
12282         Likewise.
12283         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
12284         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
12285         Likewise.
12286         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
12287         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
12288         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
12289         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
12290         Likewise.
12291         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
12292         Likewise.
12293         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
12294
12295         docs: update parse-datetime history
12296         * doc/parse-datetime.texi (Authors of parse_datetime): Better
12297         documentation of this function's history and alternatives.
12298
12299         cygwin: use more robust version check
12300         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
12301         exclude an eventual cygwin 1.9.1.
12302         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12303         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
12304         (gl_FUNC_STRCASESTR): Likewise.
12305         Reported by Bruno Haible.
12306
12307 2010-10-06  Bruno Haible  <bruno@clisp.org>
12308
12309         string, sys_select: Avoid #including large headers unless necessary.
12310         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
12311         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
12312         OSF/1, BeOS, Haiku.
12313         Reported by Jim Meyering.
12314
12315 2010-10-05  Eric Blake  <eblake@redhat.com>
12316
12317         memmem, strstr, strcasestr: fix bug with long periodic needle
12318         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
12319         periodic needle having false positive.
12320         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
12321         and cygwin 1.7.7.
12322         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
12323         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
12324         (gl_FUNC_STRCASESTR): Likewise.
12325         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12326         * tests/test-memmem.c (main): Expose the bug.
12327         * tests/test-strcasestr.c (main): Likewise.
12328         * tests/test-strstr.c (main): Likewise.
12329         * tests/test-c-strcasestr.c (main): Likewise.
12330         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
12331         * doc/posix-functions/strstr.texi (strstr): Likewise.
12332         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
12333         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
12334
12335 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12336
12337         parse-datetime: do some more renaming
12338         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
12339         parse_datetime, not get_date.  Mention the renaming.
12340         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
12341         in comments.
12342         * m4/bison.m4: Likewise.
12343
12344 2010-10-05  Eric Blake  <eblake@redhat.com>
12345
12346         parse-datetime: better name than get_date
12347         * NEWS: Reword the deprecation notice.
12348         * modules/get_date: Rename to modules/parse-datetime.
12349         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
12350         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
12351         * lib/get_date.y: Rename to lib/parse-datetime.y.
12352         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
12353         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
12354         * doc/getdate.texi: Provide fallback wrapper.
12355         * lib/getdate.h: Move guts, and wrap...
12356         * lib/parse-datetime.h: ...new file.
12357         * lib/parse-datetime.y (get_date): Rename...
12358         (parse_datetime): ...to this.
12359         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
12360         (gl_PARSE_DATETIME): ...to this.
12361         * doc/posix-functions/getdate.texi (get_date): Provide fallback
12362         documentation.
12363         * modules/getdate (Files): Provide fallback docs and header.
12364         (Notice, Depends-on): Update references.
12365         * tests/test-parse-datetime.c: Likewise.
12366         * DEPENDENCIES: Likewise.
12367         * MODULES.html.sh (Date and time <time.h>): Likewise.
12368         * doc/parse-datetime.texi (Date input formats)
12369         (Authors of parse_datetime): Likewise.
12370         * modules/parse-datetime (Files, configure.ac, Makefile.am)
12371         (Include): Likewise.
12372         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
12373         * gnulib-tool: Likewise.
12374         * m4/bison.m4 (gl_BISON): Likewise.
12375         Suggested by Bruno Haible.
12376
12377 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12378
12379         more ports to Solaris tr, which needs [] around ranges
12380         * gnulib-tool: Solaris tr needs [] around ranges.
12381         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
12382         * tests/test-pipe-filter-gi1.c (main): Likewise.
12383         * tests/test-pipe-filter-ii1.c (main): Likewise.
12384
12385 2010-10-05  Eric Blake  <eblake@redhat.com>
12386
12387         bootstrap: fix Solaris regression
12388         * build-aux/bootstrap (check_versions): Solaris tr still needs []
12389         around ranges.
12390         Reported by Pádraig Brady.
12391
12392         bootstrap: work with pkg-config
12393         * build-aux/bootstrap (check_versions): Also transliterate - in
12394         prerequisite name.
12395         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
12396         prerequisites that were already found, to avoid confusion.
12397         Reported by Justin Clift.
12398
12399         faccessat: remove unused wrappers
12400         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
12401         presence of these wrappers dragged in -lgen on Solaris.
12402         Reported by Clemens Brogi; fix suggested by Paul Eggert.
12403
12404 2010-10-05  Jim Meyering  <meyering@redhat.com>
12405
12406         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
12407         * Makefile (sc_pragma_columns): New syntax-check rule.
12408
12409 2010-10-04  Bruno Haible  <bruno@clisp.org>
12410
12411         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
12412         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
12413         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
12414         Reported by Bruce Korb and Eric Blake.
12415
12416 2010-10-04  Bruno Haible  <bruno@clisp.org>
12417
12418         threadlib: Make option --with-libpth-prefix work.
12419         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
12420         use $LIBPTH, not just -lpth.
12421
12422 2010-10-04  Bruno Haible  <bruno@clisp.org>
12423
12424         Avoid line length limitation from HP NonStop system header files.
12425         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
12426         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
12427         * lib/ctype.in.h: Likewise.
12428         * lib/dirent.in.h: Likewise.
12429         * lib/errno.in.h: Likewise.
12430         * lib/fcntl.in.h: Likewise.
12431         * lib/float.in.h: Likewise.
12432         * lib/getopt.in.h: Likewise.
12433         * lib/iconv.in.h: Likewise.
12434         * lib/inttypes.in.h: Likewise.
12435         * lib/langinfo.in.h: Likewise.
12436         * lib/locale.in.h: Likewise.
12437         * lib/math.in.h: Likewise.
12438         * lib/netdb.in.h: Likewise.
12439         * lib/netinet_in.in.h: Likewise.
12440         * lib/poll.in.h: Likewise.
12441         * lib/pthread.in.h: Likewise.
12442         * lib/pty.in.h: Likewise.
12443         * lib/sched.in.h: Likewise.
12444         * lib/se-selinux.in.h: Likewise.
12445         * lib/search.in.h: Likewise.
12446         * lib/signal.in.h: Likewise.
12447         * lib/spawn.in.h: Likewise.
12448         * lib/stdarg.in.h: Likewise.
12449         * lib/stddef.in.h: Likewise.
12450         * lib/stdint.in.h: Likewise.
12451         * lib/stdio.in.h: Likewise.
12452         * lib/stdlib.in.h: Likewise.
12453         * lib/string.in.h: Likewise.
12454         * lib/strings.in.h: Likewise.
12455         * lib/sys_file.in.h: Likewise.
12456         * lib/sys_ioctl.in.h: Likewise.
12457         * lib/sys_select.in.h: Likewise.
12458         * lib/sys_socket.in.h: Likewise.
12459         * lib/sys_stat.in.h: Likewise.
12460         * lib/sys_time.in.h: Likewise.
12461         * lib/sys_times.in.h: Likewise.
12462         * lib/sys_utsname.in.h: Likewise.
12463         * lib/sys_wait.in.h: Likewise.
12464         * lib/sysexits.in.h: Likewise.
12465         * lib/termios.in.h: Likewise.
12466         * lib/time.in.h: Likewise.
12467         * lib/unistd.in.h: Likewise.
12468         * lib/wchar.in.h: Likewise.
12469         * lib/wctype.in.h: Likewise.
12470         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
12471         * modules/ctype (Makefile.am): Likewise.
12472         * modules/dirent (Makefile.am): Likewise.
12473         * modules/errno (Makefile.am): Likewise.
12474         * modules/fcntl-h (Makefile.am): Likewise.
12475         * modules/float (Makefile.am): Likewise.
12476         * modules/getopt-posix (Makefile.am): Likewise.
12477         * modules/iconv-h (Makefile.am): Likewise.
12478         * modules/inttypes (Makefile.am): Likewise.
12479         * modules/langinfo (Makefile.am): Likewise.
12480         * modules/locale (Makefile.am): Likewise.
12481         * modules/math (Makefile.am): Likewise.
12482         * modules/netdb (Makefile.am): Likewise.
12483         * modules/netinet_in (Makefile.am): Likewise.
12484         * modules/poll-h (Makefile.am): Likewise.
12485         * modules/pthread (Makefile.am): Likewise.
12486         * modules/pty (Makefile.am): Likewise.
12487         * modules/sched (Makefile.am): Likewise.
12488         * modules/search (Makefile.am): Likewise.
12489         * modules/selinux-h (Makefile.am): Likewise.
12490         * modules/signal (Makefile.am): Likewise.
12491         * modules/spawn (Makefile.am): Likewise.
12492         * modules/stdarg (Makefile.am): Likewise.
12493         * modules/stddef (Makefile.am): Likewise.
12494         * modules/stdint (Makefile.am): Likewise.
12495         * modules/stdio (Makefile.am): Likewise.
12496         * modules/stdlib (Makefile.am): Likewise.
12497         * modules/string (Makefile.am): Likewise.
12498         * modules/strings (Makefile.am): Likewise.
12499         * modules/sys_file (Makefile.am): Likewise.
12500         * modules/sys_ioctl (Makefile.am): Likewise.
12501         * modules/sys_select (Makefile.am): Likewise.
12502         * modules/sys_socket (Makefile.am): Likewise.
12503         * modules/sys_stat (Makefile.am): Likewise.
12504         * modules/sys_time (Makefile.am): Likewise.
12505         * modules/sys_times (Makefile.am): Likewise.
12506         * modules/sys_utsname (Makefile.am): Likewise.
12507         * modules/sys_wait (Makefile.am): Likewise.
12508         * modules/sysexits (Makefile.am): Likewise.
12509         * modules/termios (Makefile.am): Likewise.
12510         * modules/time (Makefile.am): Likewise.
12511         * modules/unistd (Makefile.am): Likewise.
12512         * modules/wchar (Makefile.am): Likewise.
12513         * modules/wctype (Makefile.am): Likewise.
12514
12515 2010-10-04  Bruno Haible  <bruno@clisp.org>
12516
12517         read-file tests: Avoid a test failure on NonStop Kernel.
12518         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
12519         a regular file.
12520         Reported by Joachim Schmitz <schmitz@hp.com>.
12521
12522 2010-10-03  Bruno Haible  <bruno@clisp.org>
12523
12524         gnulib-tool: Fixes for --create-testdir with --libtool.
12525         * gnulib-tool (func_get_automake_snippet): Don't augment
12526         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
12527         an executable.
12528         (func_create_testdir): Handle module 'alloca' like func_import.
12529         Reported by Bruce Korb <bruce.korb@gmail.com>.
12530
12531 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
12532
12533         Avoid some lines longer than 80 characters.
12534         * lib/stdint.in.h: Break long comment lines.
12535         * lib/math.in.h: Likewise.
12536         (_GL_NUM_UINT_WORDS): New macro, for readability.
12537         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
12538         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
12539         * lib/stdlib.in.h: Likewise.
12540         * lib/spawn.in.h: Likewise.
12541         * lib/sys_socket.in.h: Update an URL.
12542         * lib/sys_stat.in.h: Break long line.
12543
12544 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
12545
12546         Improve pmccabe2html.
12547         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
12548         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
12549         when the sources change. Remove the line in the HTML about "Used
12550         ranges" (which implied that there might be other unused ranges),
12551         rename "Resume" to "Summary" (easier to understand for more users).
12552         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
12553         styles, and some unnecessary blank lines.
12554
12555 2010-10-03  Bruno Haible  <bruno@clisp.org>
12556             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
12557
12558         acl: Add support for ACLs on NonStop Kernel.
12559         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
12560         Check whether the function aclsort() exists.
12561         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
12562         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
12563         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12564         (acl_nontrivial [HAVE_ACLSORT]: New function.
12565         (file_has_acl): Implement for NonStop Kernel.
12566         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12567         (qset_acl): Implement for NonStop Kernel.
12568         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
12569         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12570         (main): Implement for NonStop Kernel.
12571         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
12572         Kernel. Handle this flavor.
12573         * tests/test-set-mode-acl.sh: Likewise.
12574         * tests/test-copy-acl.sh: Likewise.
12575         * tests/test-copy-file.sh: Likewise.
12576
12577 2010-10-03  Bruno Haible  <bruno@clisp.org>
12578
12579         Info about ACLs on NonStop Kernel.
12580         * doc/acl-resources.txt: Add info about NonStop Kernel.
12581         References by Joachim Schmitz <schmitz@hp.com>.
12582
12583 2010-10-02  Bruno Haible  <bruno@clisp.org>
12584
12585         Define missing EDQUOT on NonStop Kernel.
12586         * lib/errno.in.h (EDQUOT): Assign a value if missing.
12587         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
12588         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
12589         missing.
12590         * doc/posix-headers/errno.texi: Mention the NSK bug.
12591         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
12592         Reported by Joachim Schmitz <schmitz@hp.com>.
12593
12594 2010-10-02  Bruno Haible  <bruno@clisp.org>
12595
12596         Update doc for POSIX:2008.
12597         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
12598         Update URL of POSIX specification.
12599
12600 2010-10-02  Bruno Haible  <bruno@clisp.org>
12601
12602         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
12603         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
12604         from gnulib, not from Automake.
12605
12606 2010-10-02  Bruno Haible  <bruno@clisp.org>
12607
12608         New module 'system-posix'.
12609         * modules/system-posix: New file.
12610         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
12611         module is present.
12612         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
12613         GNULIB_SYSTEM_POSIX.
12614         * modules/stdlib (Depends-on): Remove sys_wait.
12615         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
12616         * doc/posix-functions/system.texi: Mention the new module.
12617         * doc/posix-headers/stdlib.texi: Likewise.
12618         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
12619         define test_sys_wait_macros to a no-op.
12620         Reported by Sam Steingold <sds@gnu.org>.
12621
12622 2010-09-30  Bruno Haible  <bruno@clisp.org>
12623
12624         More renaming from 'getdate' to 'get_date'.
12625         * doc/get_date.texi: Renamed from doc/getdate.texi.
12626         * modules/get_date (Files): Update.
12627         * MODULES.html.sh (Date and time <time.h>): Update.
12628         * DEPENDENCIES: Update.
12629         * gnulib-tool: Update comment.
12630         * m4/bison.m4 (gl_BISON): Likewise.
12631         * m4/get_date.m4 (gl_GET_DATE): Likewise.
12632
12633 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
12634
12635         bootstrap: support ACLOCAL_FLAGS during aclocal
12636         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
12637         can add additional -I dir for third-party .m4 files.
12638
12639 2010-09-30  Eric Blake  <eblake@redhat.com>
12640
12641         bootstrap: use glibtoolize on MacOS
12642         * build-aux/bootstrap (check_versions): Convert libtool into
12643         libtoolize.
12644         (tool search): Move libtool check earlier, and look for
12645         glibtoolize for MacOS.
12646         (gnulib_tool_options): Auto-add --libtool when appropriate.
12647         Reported by Justin Clift.
12648
12649         poll: fix typo that broke test on MacOS
12650         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
12651         Reported by Justin Clift.
12652
12653         getdate: rename to get_date
12654         Note: getdate.h is not renamed, to minimize client impact.
12655         * modules/getdate: Mark obsolete.  Move old contents...
12656         * modules/get_date: ...to new module name.
12657         * modules/getdate-tests: Move...
12658         * modules/get_date-tests: ...here.
12659         * m4/getdate.m4: Move...
12660         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
12661         * lib/getdate.y: Move...
12662         * lib/get_date.y: ...here.
12663         * tests/test-getdate.c: Move...
12664         * tests/test-get_date.c: ...here.
12665         * doc/posix-functions/getdate.texi (getdate): Update name.
12666         * NEWS: Mention the change.
12667
12668 2010-09-29  Bruno Haible  <bruno@clisp.org>
12669
12670         Separate the module 'waitpid' from the module 'sys_wait'.
12671         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
12672         present.
12673         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
12674         gl_MODULE_INDICATOR_FOR_TESTS.
12675         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
12676         * modules/sys_wait (Depends-on): Remove waitpid.
12677         (Makefile.am): Substitute GNULIB_WAITPID.
12678         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
12679         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
12680         signature only if the 'waitpid' module is present.
12681         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
12682         * NEWS: Mention the change.
12683         * modules/grantpt (Depends-on): Add waitpid.
12684         * modules/wait-process (Depends-on): Likewise.
12685
12686 2010-09-29  Bruno Haible  <bruno@clisp.org>
12687
12688         More tests for module 'sys_wait'.
12689         * modules/sys_wait-c++-tests: New file.
12690         * tests/test-sys_wait-c++.cc: New file.
12691         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
12692         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12693
12694 2010-09-29  Bruno Haible  <bruno@clisp.org>
12695
12696         New module 'waitpid'.
12697         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
12698         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
12699         Don't include <process.h>.
12700         (waitpid): Declare only, using modern idiom.
12701         * m4/waitpid.m4: New file.
12702         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
12703         * modules/waitpid: New file.
12704         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
12705         (Makefile.am): Update.
12706         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12707
12708 2010-09-28  Bruno Haible  <bruno@clisp.org>
12709
12710         poll: Assume ANSI C.
12711         * lib/poll.c (poll): Use an ANSI C declaration.
12712
12713 2010-09-28  Bruno Haible  <bruno@clisp.org>
12714
12715         poll-h: Create poll.h on all platforms.
12716         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
12717         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
12718         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
12719         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
12720         (gl_REPLACE_POLL_H): Don't set POLL_H.
12721         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
12722         * modules/poll-h (Depends-on): Add include_next.
12723         (Makefile.am): Create poll.h unconditionally. Substitute also
12724         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
12725
12726 2010-09-28  Bruno Haible  <bruno@clisp.org>
12727
12728         Tests for module 'poll-h'.
12729         * modules/poll-h-c++-tests: New file.
12730         * tests/test-poll-h-c++.cc: New file.
12731
12732         Tests for module 'poll-h'.
12733         * modules/poll-h-tests: New file.
12734         * tests/test-poll-h.c: New file.
12735
12736 2010-09-28  Bruno Haible  <bruno@clisp.org>
12737
12738         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
12739         * modules/poll-h (Depends-on): Add 'extensions'.
12740
12741 2010-09-28  Bruno Haible  <bruno@clisp.org>
12742
12743         New module 'poll-h'.
12744         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
12745         (poll): Use modern idiom.
12746         * modules/poll-h: New file.
12747         * modules/poll (Files): Remove lib/poll.in.h.
12748         (Depends-on): Add poll-h.
12749         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
12750         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
12751         * m4/poll_h.m4: New file.
12752         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
12753         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
12754         and invoke gl_REPLACE_POLL_H.
12755         * lib/poll.c: Use common idiom.
12756         * tests/test-poll.c: Likewise.
12757         * doc/posix-headers/poll.texi: Mention the poll-h module.
12758         Suggested by Eric Blake.
12759
12760 2010-09-26  Bruno Haible  <bruno@clisp.org>
12761
12762         sys_wait: Implement WSTOPSIG.
12763         * lib/sys_wait.in.h (WSTOPSIG): New macro.
12764         Reported by Simon Josefsson.
12765
12766 2010-09-26  Simon Josefsson  <simon@josefsson.org>
12767
12768         stdlib, sys_wait: Avoid compilation error on mingw.
12769         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
12770
12771 2010-09-26  Bruno Haible  <bruno@clisp.org>
12772
12773         stdlib tests: Avoid code duplication.
12774         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
12775         * modules/sys_wait-tests (Files): Likewise.
12776         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
12777         * tests/test-stdlib.c: Include test-sys_wait.h.
12778         (main): Invoke test_sys_wait_macros.
12779         * tests/test-sys_wait.c: Include test-sys_wait.h.
12780         (main): Invoke test_sys_wait_macros.
12781
12782 2010-09-25  Simon Josefsson  <simon@josefsson.org>
12783
12784         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
12785         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
12786         sure Windows sockets are working before calling getaddrinfo.
12787         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
12788         * doc/gnulib.texi (Windows sockets): Fix typo.
12789
12790 2010-09-25  Bruno Haible  <bruno@clisp.org>
12791
12792         Tests for module 'regex-quote'.
12793         * modules/regex-quote-tests: New file.
12794         * tests/test-regex-quote.c: New file.
12795
12796         New module 'regex-quote'.
12797         * lib/regex-quote.h: New file.
12798         * lib/regex-quote.c: New file.
12799         * modules/regex-quote: New file.
12800         Suggested by Reuben Thomas <rrt@sc3d.org>.
12801
12802 2010-09-24  Bruno Haible  <bruno@clisp.org>
12803
12804         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
12805         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
12806
12807 2010-09-23  Bruno Haible  <bruno@clisp.org>
12808
12809         setenv: Relax license.
12810         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
12811         Blake.
12812         Requested by Eric Blake.
12813
12814 2010-09-22  Bruno Haible  <bruno@clisp.org>
12815
12816         termios: Relax license.
12817         * modules/termios (License): Change to LGPLv2+.
12818         Requested by Eric Blake.
12819
12820 2010-09-22  Bruno Haible  <bruno@clisp.org>
12821
12822         threadlib: Allow the package to change the default to 'no'.
12823         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
12824         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
12825         Reported by Paul Eggert.
12826
12827 2010-09-22  Pádraig Brady  <P@draigbrady.com>
12828             Bruno Haible  <bruno@clisp.org>
12829
12830         Fix endless loop in mbmemcasecoll.
12831         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
12832         byte.
12833         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
12834
12835 2010-09-22  Bruno Haible  <bruno@clisp.org>
12836
12837         Tests for module 'memcoll'.
12838         * modules/memcoll-tests: New file.
12839         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
12840
12841         memcoll, xmemcoll: Clarify size vs. length.
12842         * modules/memcoll.c (memcoll0): Clarify specification.
12843         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
12844         passed to collate_error.
12845
12846 2010-09-22  Bruno Haible  <bruno@clisp.org>
12847
12848         Tests for module 'memcasecmp'.
12849         * modules/memcasecmp-tests: New file.
12850         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
12851
12852 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12853
12854         * lib/pthread.in.h: Add split double-inclusion guard, and include
12855         system <pthread.h> if there is one.  Use @@-style as in other
12856         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
12857         pthread.h doesn't.
12858         (pthread_mutexattr_destroy, pthread_mutexattr_init):
12859         (pthread_mutexattr_settype, pthread_mutex_trylock):
12860         New static inline functions, if there's no system <pthread.h>.
12861         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
12862         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
12863         Approximate with mutexes if the system lacks spinlocks, as in
12864         MacOS.
12865         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
12866         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
12867         @@-style.  Check for spinlocks separately.
12868         (gl_PTHREAD_DEFAULTS): New macro.
12869         * modules/pthread: Redo to use a more typical style for in.h files.
12870
12871 2010-09-21  Eric Blake  <eblake@redhat.com>
12872
12873         net_if: enhance tests
12874         * tests/test-net_if.c (main): Move signature checks earlier.
12875         Print failures to stderr.
12876         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
12877         Document the bug that we do not yet fix.
12878
12879 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12880
12881         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
12882         about gnulib, not GSS.
12883
12884 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12885
12886         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
12887         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
12888         for Emacs.
12889         * build-aux/pmccabe2html: Make Makefile.am example code more
12890         cut-and-paste friendly.
12891
12892 2010-09-21  Simon Josefsson  <simon@josefsson.org>
12893
12894         * tests/test-net_if.c: New file.
12895         * modules/net_if-tests: New file.
12896
12897 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12898
12899         pthread: add pthread_spin_destroy
12900         * lib/pthread.in.h (pthread_spin_destroy): New function.
12901
12902 2010-09-19  Bruno Haible  <bruno@clisp.org>
12903
12904         gnulib-tool: Fix --help output.
12905         * gnulib-tool (func_usage): Fix help message.
12906         Reported by Reuben Thomas <rrt@sc3d.org>.
12907
12908 2010-09-18  Jim Meyering  <meyering@redhat.com>
12909
12910         maint.mk: avoid unexpanded \n in two diagnostics
12911         * top/maint.mk (sc_prohibit_always_true_header_tests):
12912         Don't use a literal \n in a halt=... assignment.  It would not be
12913         expanded, and the two \n bytes would appear in the diagnostic output
12914         rather than the desired newline.  Use halt=$$(printf ... instead.
12915         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12916
12917 2010-09-18  Bruno Haible  <bruno@clisp.org>
12918
12919         netinet_in: Doc tweak.
12920         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
12921         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12922
12923 2010-09-18  Jim Meyering  <meyering@redhat.com>
12924
12925         init.sh: correct an outdated comment
12926         * tests/init.sh (create_exe_shims_):  s/function/alias/
12927
12928         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
12929         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
12930         a file named "*.exe" is removed between the glob expansion and the
12931         processing of that oddly named file.
12932
12933 2010-09-17  Eric Blake  <eblake@redhat.com>
12934
12935         mirbsd: add some more support
12936         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
12937         in BSD family.
12938         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
12939         devices as OpenBSD.
12940         * m4/host-os.m4 (mirbsd): Add MirBSD.
12941
12942         tests: fix unportable assumption on sys/wait.h
12943         * tests/test-sys_wait.c (main): Relax test.
12944         * tests/test-stdlib.c (main): Likewise.
12945
12946         init.sh: accomodate directory with no .exes
12947         * tests/init.sh: Accomodate directory containing only scripts.
12948
12949         tests: avoid compiler warning
12950         * tests/test-stdlib.c (main): Use the variable.
12951
12952         fdutimens, fdutimensat: update signature, again
12953         * lib/utimens.h (gl_futimens): Delete, and move signature...
12954         (fdutimens): ...here.
12955         (fdutimensat): Rearrange signature.
12956         (lutimensat): Rename variable for clarity.
12957         * lib/fdutimensat.c (fdutimensat): Update signature.
12958         * lib/utimens.c (fdutimens): Likewise.
12959         (gl_futimens): Delete.
12960         (utimens, lutimens): Update callers.
12961         * lib/futimens.c (futimens): Likewise.
12962         * tests/test-fdutimensat.c: Likewise.
12963         * tests/test-utimens.c: Likewise.
12964         * tests/test-futimens.h: Update comment.
12965         * NEWS: Mention this.
12966         Suggested by Paul Eggert.
12967
12968 2010-09-17  Bruno Haible  <bruno@clisp.org>
12969
12970         Take over the maintenance of some older macros from Autoconf.
12971         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
12972         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
12973         GNU Autoconf.
12974         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
12975         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
12976
12977 2010-09-17  Eric Blake  <eblake@redhat.com>
12978
12979         fdutimensat: drop atflag validation
12980         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
12981         with valid fd, to close a race scenario where futimens is
12982         unsupported and FILE was replaced by a symlink.
12983         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
12984         accordingly.
12985         Suggested by Paul Eggert.
12986
12987 2010-09-16  Bruno Haible  <bruno@clisp.org>
12988
12989         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
12990         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
12991
12992 2010-09-16  Bruno Haible  <bruno@clisp.org>
12993
12994         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
12995         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
12996         login_tty exists.
12997         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12998
12999 2010-09-16  Bruno Haible  <bruno@clisp.org>
13000
13001         login_tty: Make the replacement code work on BSD systems.
13002         * lib/login_tty.c: Include <sys/ioctl.h>.
13003         (login_tty): Use ioctl TIOCSCTTY when available.
13004         * modules/login_tty (Depends-on): Add sys_ioctl.
13005         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13006
13007 2010-09-16  Bruno Haible  <bruno@clisp.org>
13008
13009         login_tty: Stricter unit test.
13010         * modules/login_tty-tests (Depends-on): Add tcgetsid.
13011         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
13012         and tcgetsid() after login_tty.
13013         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13014
13015 2010-09-16  Bruno Haible  <bruno@clisp.org>
13016
13017         New module 'tcgetsid'.
13018         * lib/tcgetsid.c: New file.
13019         * m4/tcgetsid.m4: New file.
13020         * modules/tcgetsid: New file.
13021         * modules/termios (Depends-on): Add c++defs, warn-on-use.
13022         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
13023         GNULIB_TCGETSID, HAVE_TCGETSID.
13024         * lib/termios.in.h: Include <sys/types.h>.
13025         (tcgetsid): New declaration.
13026         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
13027         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
13028         * doc/posix-functions/tcgetsid.texi: Mention the new module.
13029         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
13030
13031 2010-09-16  Bruno Haible  <bruno@clisp.org>
13032
13033         Tests for module 'termios'.
13034         * modules/termios-c++-tests: New file.
13035         * modules/termios-tests: New file.
13036         * tests/test-termios-c++.cc: New file.
13037         * tests/test-termios.c: New file.
13038
13039         New module 'termios'.
13040         * modules/termios: New file.
13041         * lib/termios.in.h: New file.
13042         * m4/termios_h.m4: New file.
13043         * doc/posix-headers/termios.texi: Mention the new module.
13044
13045 2010-09-16  Eric Blake  <eblake@redhat.com>
13046
13047         fdutimensat: add an atflag parameter
13048         * lib/fdutimensat.c (fdutimensat): Add new parameter.
13049         * lib/utimens.h (fdutimensat): Update prototype.
13050         * tests/test-fdutimensat.c: Adjust test to match.
13051         * NEWS: Document the change.
13052         Suggested by Paul Eggert.
13053
13054 2010-09-16  Bruno Haible  <bruno@clisp.org>
13055
13056         Fix typos in comments.
13057         * lib/striconveh.h: Fix typo in comment.
13058         * lib/login_tty.c (login_tty): Likewise.
13059
13060 2010-09-15  Bruno Haible  <bruno@clisp.org>
13061
13062         stdlib: clarify MirBSD WEXITSTATUS bug
13063         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
13064         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13065
13066 2010-09-15  Eric Blake  <eblake@redhat.com>
13067
13068         stdlib: work around MirBSD WEXITSTATUS bug
13069         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
13070         * modules/stdlib (Depends-on): Add sys_wait.
13071         * tests/test-sys_wait.c (main): Enhance test.
13072         * tests/test-stdlib.c (main): Likewise.
13073         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
13074
13075         docs: mention MacOS issue with WEXITSTATUS(constant)
13076         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
13077         issue.
13078         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13079
13080         strnlen: add tests
13081         * modules/strnlen-tests: New file.
13082         * tests/test-strnlen.c: Likewise.
13083
13084 2010-09-14  Bruno Haible  <bruno@clisp.org>
13085
13086         unistr/base: Avoid link errors when module 'libunistring' is also used.
13087         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
13088         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
13089         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
13090         Declare also when HAVE_LIBUNISTRING is set.
13091         Reported by Pádraig Brady <P@draigbrady.com>.
13092
13093 2010-09-14  Eric Blake  <eblake@redhat.com>
13094
13095         test-rawmemchr: make more robust
13096         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
13097         (Depends-on, configure.ac): Add needed prerequisites to use it.
13098         * modules/memchr-tests (Files, Depends-on, configure.ac):
13099         Likewise, to avoid implicit reliance on memchr module prereqs.
13100         * tests/test-memchr.c (main): Ensure proper masking.
13101         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
13102         reads.
13103
13104         memchr: detect glibc Alpha bug
13105         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
13106         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
13107         Alpha.
13108         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
13109         * tests/test-memchr.c (main): Enhance test.
13110         Reported by Nelson H. F. Beebe.
13111
13112 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13113
13114         fts, getcwd, glob: audit for dirfd returning -1
13115         * lib/fts.c (opendir): Remove #define; no longer used.
13116         (opendirat): New arg PDIR_FD.  All callers changed.
13117         (fts_build, _opendir2): Use new opendirat to avoid the need for
13118         dirfd, or for checking whether dirfd returns a negative value.
13119         Don't use opendir; always use openat followed by fdopendir.
13120         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
13121         it.
13122         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
13123         returns -1 here.
13124         * modules/fts (Depends-on): Remove dirfd.
13125         * modules/getcwd (Depends-on): Likewise.
13126
13127 2010-09-13  Eric Blake  <eblake@redhat.com>
13128
13129         float: fix broken MirBSD header
13130         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
13131         * doc/posix-headers/float.texi (float.h): Document it.
13132
13133 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13134
13135         fts: use O_NOFOLLOW to avoid race condition when opening a directory
13136         * lib/fts.c (opendirat): New arg extra_flags.
13137         (__opendir2): Use it to avoid following symlinks when opening
13138         a directory, if symlinks are not supposed to be followed.  See
13139         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
13140
13141         fdopendir: preserve argument fd before returning
13142         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
13143         (fdopendir_with_dup, fd_clone_opendir): New static functions.
13144         (fdopendir): Use them, arranging for FD to be open to the same
13145         directory that it was when it started.  (It might be temporarily
13146         closed while fdopendir is running, so this not thread- or
13147         signal-safe.)  Be careful to do the right thing even when file
13148         descriptors are scarce and dup fails with errno == EMFILE.  See
13149         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
13150
13151 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
13152
13153         regex: Pass the system regex if its only problem is 32-bit regoff_t.
13154         * NEWS: Document change.
13155         * m4/regex.m4: Disable test for regoff_t size.
13156
13157 2010-09-13  Jim Meyering  <meyering@redhat.com>
13158
13159         fts: don't operate on an invalid file descriptor after failed dup
13160         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
13161         negative file descriptor.
13162
13163 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13164
13165         savedir: add streamsavedir, deprecate fdsavedir
13166         * NEWS: Mention deprecation of fdsavedir.
13167         * lib/savedir.c (streamsavedir): New extern function, whose name
13168         ends in "savedir" to be consistent with the others.  This differs
13169         from savedirstream in that it doesn't close its argument.  The
13170         next version of GNU tar will use this instead of fdsavedir, to
13171         avoid some race conditions and conserve file descriptors.
13172         (savedirstream): Reimplement as a wrapper around streamsavedir.
13173         (fdsavedir): Add a comment deprecating this function.  As far as
13174         I know, only GNU tar used it, and GNU tar doesn't need it any more.
13175         * lib/savedir.h (streamsavedir): New decl.
13176         (fdsavedir): Add a comment deprecating this.
13177
13178 2010-09-10  Bruno Haible  <bruno@clisp.org>
13179
13180         langinfo: Fix last commit.
13181         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
13182         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
13183         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13184
13185 2010-09-10  Bruno Haible  <bruno@clisp.org>
13186
13187         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
13188         * lib/progreloc.c (O_EXEC): Define fallback.
13189
13190 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13191
13192         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
13193         * NEWS: Document recent changes to fcntl-h.
13194         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
13195         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
13196         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
13197         Similarly for O_SEARCH; this last was already true, but not documented.
13198         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
13199         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
13200         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
13201         Likewise.
13202         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
13203         is zero, not whether it is defined.
13204         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
13205         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
13206         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
13207
13208 2010-09-10  Bruno Haible  <bruno@clisp.org>
13209
13210         langinfo, nl_langinfo: Fix for IRIX 5.3.
13211         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
13212         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
13213         HAVE_LANGINFO_YESEXPR.
13214         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
13215         HAVE_LANGINFO_YESEXPR.
13216         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
13217         HAVE_LANGINFO_T_FMT_AMPM is 0.
13218         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
13219         HAVE_LANGINFO_YESEXPR is 0.
13220         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
13221         NOEXPR.
13222         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
13223         * doc/posix-functions/nl_langinfo.texi: Likewise.
13224         Reported by Eric Blake.
13225
13226 2010-09-10  Bruno Haible  <bruno@clisp.org>
13227
13228         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
13229         * doc/glibc-functions/login_tty.texi: Mention the include file problem
13230         on FreeBSD 8.0 and OpenBSD 4.6.
13231         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
13232         * m4/pty_h.m4 (gl_PTY_H): Likewise.
13233         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
13234         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
13235         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
13236         ac_includes_default.
13237         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13238
13239 2010-09-09  Eric Blake  <eblake@redhat.com>
13240
13241         strsignal: work around NetBSD bug
13242         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
13243         * lib/string.in.h (includes): Likewise.
13244         * doc/posix-functions/strsignal.texi (strsignal): Document the
13245         bug.
13246         Reported by Nelson H. F. Beebe.
13247
13248         gnulib-tool: work with NetBSD /bin/sh
13249         * gnulib-tool (func_cache_var, func_cache_lookup_module)
13250         (func_get_description, func_get_comment, func_get_status)
13251         (func_get_notice, func_get_applicability, func_get_filelist)
13252         (func_get_dependencies, func_get_autoconf_early_snippet)
13253         (func_get_autoconf_snippet, func_get_automake_snippet)
13254         (func_get_include_directive, func_get_link_directive)
13255         (func_get_license, func_get_maintainer, func_import): Avoid
13256         shell syntax errors from parsing syntax extensions.
13257
13258 2010-09-09  Bruno Haible  <bruno@clisp.org>
13259
13260         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
13261         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
13262         a reliable way to determine whether the 'alias' command works.
13263
13264 2010-09-08  Jim Meyering  <meyering@redhat.com>
13265
13266         init.sh: penalize a set-x-impaired shell; don't disqualify it
13267         * tests/init.sh: Too many shells corrupt application stderr when
13268         you set -x, so we can't afford to disqualify them, since at least
13269         on Irix-6.5, that would disqualify all bourne shells.
13270         Instead, use a two-pass approach.
13271         On the first pass, try to find a shell that meets the stricter
13272         condition that set -x does not corrupt stderr.
13273         If no shell meets the stricter condition, retest each candidate
13274         shell, but without that extra condition.  Finally, when
13275         VERBOSE=yes is requested and set -x might cause trouble, simply
13276         issue a warning and refrain from enabling debug output.
13277
13278 2010-09-08  Eric Blake  <eblake@redhat.com>
13279
13280         unsetenv: fix OpenBSD bug
13281         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
13282         * doc/posix-functions/unsetenv.texi (unsetenv): Update
13283         documentation.
13284         Reported by Jim Meyering.
13285
13286         strtod: work around IRIX 6.5 bug
13287         * lib/strtod.c (strtod): Reparse number on shorter string if
13288         exponent parse was invalid.
13289         * tests/test-strtod.c (main): Add check for "0x1p 2".
13290         Reported by Tom G. Christensen.
13291
13292         getopt: optimize previous patch
13293         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
13294         empty variable.  Speed up awk script.
13295         Reported by Paolo Bonzini.
13296
13297 2010-09-08  Jim Meyering  <meyering@redhat.com>
13298
13299         test.sh: disqualify shells for which set -x corrupts stderr
13300         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
13301         and OpenBSD 4.7.  They make it so with "set -x", environment settings
13302         appear in stderr output.  For example, this command:
13303             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
13304         prints "P=1" on those two systems:
13305
13306 2010-09-08  Bruno Haible  <bruno@clisp.org>
13307
13308         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
13309         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
13310         commands, because some shells ignore redirections when there is an
13311         error in the command lookup.
13312         Reported by Eric Blake.
13313
13314 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
13315
13316         * lib/regex.h: Fix a mention of `regex_compile' (should be
13317         `re_compile_pattern').
13318         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
13319         (re_set_registers): Correct name of parameter in comment.
13320
13321         * doc/regex.texi: Add documentation for missing syntax flags.
13322         Remove commented-out documentation of defunct syntax option
13323         RE_NO_EMPTY_ALTS.
13324         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
13325         Add documentation of re_set_registers.
13326         Document trick to re-use a pattern buffer by setting fastmap manually.
13327         Update documentation of struct re_pattern_buffer per public members.
13328         Uncomment documentation of equivalence class operators and
13329         collating symbol operators, since they are now implemented,
13330         Explain leftmost-longest matching in relation to alternatives.
13331         Tidy documentation of substring matching.
13332         Remove POSIX documentation, which is done better in
13333         glibc, and refer the reader there. Keep BSD API documentation, as
13334         that is not readily available elsewhere.
13335
13336 2010-09-07  Eric Blake  <eblake@redhat.com>
13337
13338         getopt: handle POSIXLY_CORRECT set but not exported
13339         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
13340         export state of POSIXLY_CORRECT, due to bash set -o posix.
13341         Reported by Dustin J. Mitchell.
13342
13343 2010-09-05  Bruno Haible  <bruno@clisp.org>
13344
13345         gnulib-tool: Highlight the changed options.
13346         * gnulib-tool (func_usage): Display the --import, --add-import,
13347         --remove-import explanations in bold font.
13348
13349 2010-09-06  Karl Berry  <karl@gnu.org>
13350
13351         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
13352
13353 2010-09-05  Bruno Haible  <bruno@clisp.org>
13354
13355         uniwidth/width: Update comment.
13356         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
13357         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
13358
13359 2010-09-05  Bruno Haible  <bruno@clisp.org>
13360
13361         isinf, isnan: Relax license.
13362         * modules/isinf (License): Change from GPL to LGPL, with consent from
13363         Ben Pfaff.
13364         * modules/isnan (License): Likewise.
13365         Requested by Ludovic Courtès.
13366
13367 2010-09-04  Bruno Haible  <bruno@clisp.org>
13368
13369         gnulib-tool: Help migration from --import to --add-import or --update.
13370         * gnulib-tool: Emit a verbose error message when --import is used
13371         without any module name.
13372
13373 2010-09-04  Bruno Haible  <bruno@clisp.org>
13374
13375         Update doc about gnulib-tool.
13376         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
13377         'gnulib-tool --update' in more detail.
13378         Reported by Eric Blake.
13379
13380 2010-09-04  Bruno Haible  <bruno@clisp.org>
13381
13382         gnulib-tool: Change --import. New options --add/remove-import.
13383         * gnulib-tool: New options --add-import, --remove-import.
13384         (func_usage): Document them.
13385         (have_associative): Define always.
13386         (func_import): In import mode, don't merge the specified settings with
13387         the cached settings. Implement remove-import mode.
13388         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
13389         Explain when to use them versus --import.
13390         (Simple update): Use --add-import instead of --import.
13391         * NEWS: Mention the change.
13392
13393 2010-09-04  Bruno Haible  <bruno@clisp.org>
13394
13395         * doc/gnulib-tool.texi (Initial import): Update paragraph about
13396         separate gnulib.mk.
13397
13398 2010-09-04  Bruno Haible  <bruno@clisp.org>
13399
13400         gnulib-tool: Don't talk about CVS any more.
13401         * gnulib-tool (func_usage, func_import): Write "version control"
13402         instead of CVS.
13403
13404 2010-09-04  Jim Meyering  <meyering@redhat.com>
13405
13406         maint.mk: avoid obscure sc_copyright_check failure in coreutils
13407         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
13408         false positives (whose names may be ill-chosen) when searching
13409         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
13410         would cause a false-positive.
13411
13412         avoid coreutils "make distcheck" failure
13413         Coreutils tests with an absolute build directory name that contains
13414         a space.  Not quoting this directory name caused a failure.
13415         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
13416         * tests/test-vc-list-files-cvs.sh: Likewise.
13417
13418 2010-09-04  Bruno Haible  <bruno@clisp.org>
13419
13420         gnulib-tool: Avoid error when run in a package without Makefile.am.
13421         * gnulib-tool: When collecting the m4dirs in a package that does not
13422         have a Makefile.am, eliminate those directories that contain no
13423         gnulib-cache.m4. Fix expression that counts these directories.
13424
13425 2010-09-04  Bruno Haible  <bruno@clisp.org>
13426
13427         update-copyright test: Improve output when perl is missing or too old.
13428         * tests/test-update-copyright.sh: Move test of Perl version down after
13429         the test whether Perl exists. Provide an explanation relating Perl's
13430         error message to Automake's SKIP: message.
13431
13432 2010-09-04  Bruno Haible  <bruno@clisp.org>
13433
13434         Don't augment PATH in TESTS_ENVIRONMENT.
13435         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
13436         set abs_aux_dir instead of augmenting PATH.
13437         * modules/vc-list-files-tests (Makefile.am): Likewise.
13438         * tests/test-update-copyright.sh: Augment PATH here.
13439         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
13440         path_prepend_.
13441         * tests/test-vc-list-files-git.sh: Likewise.
13442
13443 2010-09-04  Jim Meyering  <meyering@redhat.com>
13444
13445         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
13446         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
13447
13448 2010-09-04  Bruno Haible  <bruno@clisp.org>
13449
13450         strdup: Fix compilation error in C++ mode.
13451         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
13452         the macro.
13453
13454 2010-09-04  Bruno Haible  <bruno@clisp.org>
13455
13456         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
13457         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
13458         macro into a function.
13459         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13460
13461 2010-09-04  Bruno Haible  <bruno@clisp.org>
13462
13463         Set PATH_SEPARATOR the same way autoconf does.
13464         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
13465         the value of PATH_SEPARATOR the same way autoconf-generated configure
13466         scripts do.
13467         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
13468         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
13469
13470 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13471
13472         Set PATH_SEPARATOR the same way autoconf does.
13473         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
13474         the same way autoconf-generated configure scripts do.
13475         * posix-modules: Likewise.
13476
13477 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13478
13479         hash: fix safe_hasher const typo
13480         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
13481         const; otherwise, there is a type error later.
13482
13483 2010-09-02  Jim Meyering  <meyering@redhat.com>
13484
13485         test-update-copyright.sh: require perl 5.8.0
13486         * tests/test-update-copyright.sh: Require 5.8.0,
13487         which Tom G. Christensen has confirmed is adequate,
13488         while 5.6.1 is not.
13489
13490 2010-09-02  Eric Blake  <eblake@redhat.com>
13491
13492         tests: init.sh improvements for re-exec'ing with zsh
13493         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
13494         -vx through shell re-exec.
13495         Reported by Tom G. Christensen.
13496
13497         wctype: fix typo in previous commit
13498         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
13499         Reported by Ludovic Courtès.
13500
13501 2010-09-02  Jim Meyering  <meyering@redhat.com>
13502
13503         test-update-copyright.sh: skip test if Perl is too old
13504         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
13505         Reported by Tom G. Christensen.
13506
13507 2010-09-02  Bruno Haible  <bruno@clisp.org>
13508
13509         wctype: Avoid compilation error on IRIX 6.5.30.
13510         * lib/wctype.in.h (iswblank): Declare with a replacement if
13511         REPLACE_ISWBLANK is set.
13512         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
13513         declared. Set REPLACE_ISWBLANK.
13514         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
13515         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
13516         * doc/posix-headers/wctype.texi: Likewise.
13517         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13518
13519 2010-09-01  Bruno Haible  <bruno@clisp.org>
13520
13521         New module 'socketlib'.
13522         * modules/socketlib: New file.
13523         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
13524         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
13525         * modules/sockets (Depends-on): Add socketlib.
13526         Suggested by Sam Steingold <sds@gnu.org>.
13527
13528 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13529
13530         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
13531
13532         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
13533         when one needs search access to a directory but not read access.
13534         On systems where it is available, it works in some cases where
13535         O_RDONLY does not, namely on directories that are searchable but
13536         not readable, and which need only to be searchable.  If O_SEARCH
13537         is not available, fall back to the traditional method of using
13538         O_RDONLY.
13539
13540         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
13541         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
13542         when opening a directory that needs only to be searchable.
13543         * lib/chdir-safer.c (chdir_no_follow): Likewise.
13544         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
13545         * lib/openat-proc.c (openat_proc_name): Likewise.
13546         * lib/openat.c (openat_needs_fchdir): Likewise.
13547         * lib/save-cwd.c (save_cwd): Likewise.
13548         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
13549
13550 2010-08-28  Bruno Haible  <bruno@clisp.org>
13551
13552         New module 'host-cpu-c-abi'.
13553         * modules/host-cpu-c-abi: New file.
13554         * m4/host-cpu-c-abi.m4: New file, based on part of
13555         clisp/src/m4/general.m4.
13556         Requested by Sam Steingold <sds@gnu.org>.
13557
13558 2010-08-31  Eric Blake  <eblake@redhat.com>
13559         and Jim Meyering  <meyering@redhat.com>
13560
13561         hash: factor, and guard against misbehaving hasher function
13562         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
13563         of table->hasher's return value.  Also protect against a hash value
13564         so large that adding it to table->bucket results in a NULL pointer.
13565         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
13566         Use it in place of open-coded check-and-abort.
13567
13568 2010-08-30  Bruno Haible  <bruno@clisp.org>
13569
13570         hash: silence spurious clang warning
13571         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
13572         Reported by Eric Blake.
13573
13574 2010-08-30  Eric Blake  <eblake@redhat.com>
13575
13576         strstr, memmem, strcasestr: avoid leaked shell message
13577         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
13578         FreeBSD.
13579         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13580         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
13581
13582         tests: silence clang warning
13583         * tests/test-malloca.c (do_allocation): Avoid dead store.
13584
13585 2010-08-29  Bruno Haible  <bruno@clisp.org>
13586
13587         gettext: Fix recent mistake.
13588         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
13589
13590 2010-08-29  Bruno Haible  <bruno@clisp.org>
13591
13592         selinux-h: Offer a --without-selinux option.
13593         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
13594         --without-selinux was specified, skip all tests and define
13595         HAVE_SELINUX_SELINUX_H to 0.
13596         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
13597         set LIB_SELINUX to empty.
13598         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
13599         gl_LIBSELINUX. If --without-selinux was specified, replace
13600         selinux/context.h.
13601         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
13602
13603 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13604             Bruno Haible  <bruno@clisp.org>
13605
13606         Make the module 'realloc-gnu' work again on AIX and OSF/1.
13607         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
13608         of HAVE_REALLOC.
13609         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
13610         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
13611         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
13612         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
13613
13614 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13615             Bruno Haible  <bruno@clisp.org>
13616
13617         Make the module 'calloc-gnu' work again on AIX and OSF/1.
13618         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
13619         HAVE_CALLOC.
13620         * lib/xmalloc.c: Update accordingly.
13621         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
13622         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
13623         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
13624
13625 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13626             Bruno Haible  <bruno@clisp.org>
13627
13628         Make the module 'malloc-gnu' work again on AIX and OSF/1.
13629         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
13630         HAVE_MALLOC.
13631         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
13632         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
13633         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
13634
13635 2010-08-29  Bruno Haible  <bruno@clisp.org>
13636
13637         Update modules list.
13638         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
13639         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
13640         (String handling <string.h>): Add astrxfrm.
13641         (File system functions): Add readlinkat.
13642
13643 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13644
13645         Tests for module 'realloc-gnu'.
13646         * modules/realloc-gnu-tests: New file.
13647         * tests/test-realloc-gnu.c: New file.
13648
13649         Tests for module 'calloc-gnu'.
13650         * modules/calloc-gnu-tests: New file.
13651         * tests/test-calloc-gnu.c: New file.
13652
13653         Tests for module 'malloc-gnu'.
13654         * modules/malloc-gnu-tests: New file.
13655         * tests/test-malloc-gnu.c: New file.
13656
13657 2010-08-28  Bruno Haible  <bruno@clisp.org>
13658
13659         Rename module 'realloc' -> 'realloc-gnu'.
13660         * modules/realloc-gnu: New file, copied from modules/realloc.
13661         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
13662         obsolete.
13663         * modules/mgetgroups (Depends-on): Update.
13664         * doc/posix-functions/realloc.texi: Update.
13665         * NEWS: Mention the change.
13666
13667         Rename module 'calloc' -> 'calloc-gnu'.
13668         * modules/calloc-gnu: New file, copied from modules/calloc.
13669         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
13670         obsolete.
13671         * doc/posix-functions/calloc.texi: Update.
13672         * NEWS: Mention the change.
13673
13674         Rename module 'malloc' -> 'malloc-gnu'.
13675         * modules/malloc-gnu: New file, copied from modules/malloc.
13676         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
13677         obsolete.
13678         * modules/argp (Depends-on): Update.
13679         * modules/regex (Depends-on): Update.
13680         * doc/posix-functions/malloc.texi: Update.
13681         * NEWS: Mention the change.
13682
13683 2010-08-28  Eric Blake  <eblake@redhat.com>
13684
13685         pread, pwrite: add missing dependency
13686         * modules/pread (Depends-on): Add extensions.
13687         * modules/pwrite (Depends-on): Likewise.
13688
13689 2010-08-28  Bruno Haible  <bruno@clisp.org>
13690
13691         unistr/u*-strchr: Fix tests dependencies.
13692         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
13693         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
13694         Reported by Ian Beckwith <ianb@erislabs.net>.
13695
13696 2010-08-28  Bruno Haible  <bruno@clisp.org>
13697
13698         read-file: Don't occupy too much unused memory.
13699         * lib/read-file.c (fread_file): Shrink the buffer at the end.
13700
13701 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
13702             Eric Blake  <eblake@redhat.com>
13703             Bruno Haible  <bruno@clisp.org>
13704
13705         read-file: Avoid memory reallocations with regular files.
13706         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
13707         (fread_file): With regular files, use the remaining length as the
13708         initial buffer size.  Check against overflow.
13709         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
13710         sys_stat.
13711
13712 2010-08-28  Bruno Haible  <bruno@clisp.org>
13713
13714         ftello: Relax license.
13715         * modules/ftello (License): Relax to LGPLv2+.
13716         Reported by Eric Blake.
13717
13718 2010-08-28  Bruno Haible  <bruno@clisp.org>
13719
13720         Avoid relocwrapper link errors due to gnulib replacement functions.
13721         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
13722         function.
13723         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13724
13725 2010-08-28  Bruno Haible  <bruno@clisp.org>
13726
13727         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
13728         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
13729         defined.
13730         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
13731         Suggested by Eric Blake.
13732
13733 2010-08-28  Bruno Haible  <bruno@clisp.org>
13734
13735         sys_socket, netdb: Ensure socklen_t gets defined.
13736         * modules/sys_socket (Depends-on): Add socklen.
13737         * modules/netdb (Depends-on): Likewise.
13738         * modules/getaddrinfo (Depends-on): Remove socklen.
13739         * modules/getsockopt (Depends-on): Likewise.
13740         * modules/setsockopt (Depends-on): Likewise.
13741         * tests/test-sys_socket.c: Check that socklen_t is defined.
13742         * tests/test-netdb.c: Likewise.
13743         * m4/socklen.m4: Update comments.
13744         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13745
13746 2010-08-27  Eric Blake  <eblake@redhat.com>
13747
13748         login_tty: add missing dependency
13749         * modules/login_tty (Depends-on): Add pty.
13750
13751 2010-08-26  Eric Blake  <eblake@redhat.com>
13752
13753         lib-symbol-versions: fix m4 quoting
13754         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
13755         format for AC_LINK_IFELSE.
13756
13757         glob: fix compile test
13758         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
13759
13760         btowc: fix missing file
13761         * modules/btowc (Files): Also ship locale-fr.m4.
13762
13763         lseek: fix link test
13764         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
13765         AC_LINK_IFELSE.
13766
13767         include_next: silence autoconf 2.68 warning
13768         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
13769         AC_COMPILE_IFELSE as special.
13770         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
13771         autoconf < 2.68.
13772
13773         acl: fix compilation test
13774         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
13775         AC_COMPILE_IFELSE.
13776
13777 2010-08-26  Bruno Haible  <bruno@clisp.org>
13778
13779         Modernize AC_TRY_RUN invocations.
13780         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
13781         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13782         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
13783         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
13784         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
13785         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
13786         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
13788         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13789         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13790         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
13791         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13792         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13793         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13794         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13795         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
13796         gl_MBRLEN_NUL_RETVAL): Likewise.
13797         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
13798         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
13799         Likewise.
13800         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13801         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13802         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13803         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13804         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
13805         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
13806         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
13807         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13808         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
13809         Likewise.
13810         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
13811         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
13812         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13813         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13814         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13815         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
13816         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13817         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
13818         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13819         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13820
13821 2010-08-26  Bruno Haible  <bruno@clisp.org>
13822
13823         Modernize AC_TRY_LINK invocations.
13824         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
13825         AC_TRY_LINK.
13826         * m4/argp.m4 (gl_ARGP): Likewise.
13827         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13828         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13829         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
13830         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13831         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13832         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
13833         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13834         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13835         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13836         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13837         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13838         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
13839         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
13840         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13841         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
13842         * m4/hostent.m4 (gl_HOSTENT): Likewise.
13843         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13844         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
13845         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
13846         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
13847         Likewise.
13848         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
13849         Likewise.
13850         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
13851         Likewise.
13852         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
13853         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
13854         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
13855         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13856         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13857         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
13858         * m4/servent.m4 (gl_SERVENT): Likewise.
13859         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13860         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13861         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13862         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13863         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13864         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13865         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13866         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13867         * modules/tsearch-tests (configure.ac): Likewise.
13868
13869 2010-08-26  Bruno Haible  <bruno@clisp.org>
13870
13871         Modernize AC_TRY_COMPILE invocations.
13872         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
13873         AC_TRY_COMPILE.
13874         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
13875         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
13876         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
13877         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
13878         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
13879         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
13880         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
13881         * m4/lock.m4 (gl_LOCK): Likewise.
13882         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
13883         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
13884         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
13885         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
13886         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
13887         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
13888         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13889         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
13890         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
13891         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
13892         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
13893         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
13894         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
13895         extraneous semicolon.
13896
13897 2010-08-26  Jim Meyering  <meyering@redhat.com>
13898
13899         stat-time: relax license LGPL
13900         * modules/stat-time (License): Change from GPL to LGPL,
13901         with consent from all contributors, for use in libguile.
13902         Requested by Ludovic Courtès.
13903
13904 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
13905
13906         poll: return immediately on POLLHUP.
13907         * lib/poll.c (poll): Always set timeout before wait_timeout is
13908         computed.
13909
13910 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13911
13912         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
13913         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
13914         rmdir ("dir/.//"), unlinkat.
13915
13916 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13917
13918         stdbool: avoid spurious failure with modern xlc
13919         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13920
13921 2010-08-24  Bruno Haible  <bruno@clisp.org>
13922
13923         getloadavg: simplify code
13924         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
13925         gl_have_func. Update comments.
13926
13927 2010-08-24  Eric Blake  <eblake@redhat.com>
13928
13929         getloadavg: don't define SVR4 on cygwin
13930         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
13931         only define SVR4 when -lkvm is required.
13932         Reported by Yaakov Selkowitz.
13933
13934 2010-08-24  Bruno Haible  <bruno@clisp.org>
13935
13936         priv-set: fix comment
13937         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
13938
13939 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13940
13941         priv-set: fix comments
13942         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
13943         to match code, as suggested by David Bartley in:
13944         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
13945
13946 2010-08-23  Eric Blake  <eblake@redhat.com>
13947
13948         stdbool: avoid rejecting clang
13949         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13950         * tests/test-stdbool.c: Enable more tests if using the system
13951         <stdbool.h> instead of the gnulib replacement.
13952         (main): Move xlc bug test to a runtime test for all compilers.
13953         Reported by Anders Kaseorg.
13954
13955         argz: fix shell quoting issue
13956         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
13957         Reported by Charles Wilson.
13958
13959 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
13960             Erik Faye-Lund <kusmabite@gmail.com>
13961
13962         poll, select: handle ERROR_BROKEN_PIPE.
13963         * lib/poll.c (win32_compute_revents): Return POLLHUP when
13964         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13965         * lib/select.c (win32_compute_revents): Do not mark a pipe
13966         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13967
13968 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
13969
13970         fts: allow compilation with C++
13971         * lib/fts_.h: Specify extern "C" linkage with C++.
13972
13973 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13974
13975         Fix gnulib-tool sed script de-commentation for AIX sed.
13976         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
13977         sed.
13978
13979 2010-08-17  Eric Blake  <eblake@redhat.com>
13980
13981         test-stddef: test for (some) offsetof bugs
13982         * tests/test-stddef.c: Enhance test to ensure correct type of
13983         offsetof.
13984         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
13985         that we are not fixing at this time.
13986
13987 2010-08-15  Bruno Haible  <bruno@clisp.org>
13988
13989         stpncpy: Allow stpncpy to be defined as a macro.
13990         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
13991         if it's already correctly declared.
13992         * lib/string.in.h (stpncpy): Undefine before redefining.
13993         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
13994
13995 2010-08-14  Bruno Haible  <bruno@clisp.org>
13996
13997         Rename module 'memxfrm' to 'amemxfrm'.
13998         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
13999         (amemxfrm): Renamed from memxfrm.
14000         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
14001         (amemxfrm): Renamed from memxfrm.
14002         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
14003         * NEWS: Mention the change.
14004         * MODULES.html.sh (String handling <string.h>): Update.
14005         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
14006         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
14007         * lib/unicase/u16-casexfrm.c: Likewise.
14008         * lib/unicase/u32-casexfrm.c: Likewise.
14009         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
14010         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
14011         * lib/uninorm/u16-normxfrm.c: Likewise.
14012         * lib/uninorm/u32-normxfrm.c: Likewise.
14013         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
14014         memxfrm.
14015         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
14016         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
14017         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
14018         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
14019         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
14020         Suggested by Paul Eggert.
14021
14022 2010-08-14  Bruno Haible  <bruno@clisp.org>
14023
14024         Tests for module 'astrxfrm'.
14025         * modules/astrxfrm-tests: New file.
14026         * tests/test-astrxfrm.c: New file.
14027
14028         New module 'astrxfrm'.
14029         * lib/astrxfrm.h: New file.
14030         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
14031         * modules/astrxfrm: New file.
14032
14033 2010-08-14  Reuben Thomas <rrt@sc3d.org>
14034
14035         regex: Tweak doc.
14036         * doc/regex.texi (Overview): Don't mention regex.c.
14037         (GNU Regular Expression Compiling): Likewise.
14038         (Match-end-of-line Operator): Mention 'not_eol'.
14039
14040 2010-08-14  Brian Gough  <bjg@gnu.org>
14041             Bruno Haible  <bruno@clisp.org>
14042
14043         git-merge-changelog: add doc relating to use with bzr and hg.
14044         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
14045
14046 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
14047
14048         pthread: fix pthread.h creation for srcdir != builddir
14049         * modules/pthread (Makefile.am): Fix the rule to work also in a
14050         non-srcdir build.
14051
14052 2010-08-13  Karl Berry  <karl@gnu.org>
14053
14054         * doc/regex.texi (Predefined Syntaxes): @smallexample.
14055         * doc/posix-*/*: force line break before @url of POSIX
14056         specifications.
14057         Suggested by Werner Lemberg.
14058
14059 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14060
14061         strtod: fix const diagnostic
14062         * lib/strtod.c (strtod): Don't assign const char * to char *,
14063         as this elicits a warning from GCC when warnings are enabled.
14064
14065 2010-08-10  Pádraig Brady <P@draigbrady.com>
14066         and Eric Blake  <eblake@redhat.com>
14067
14068         copy-acl: ignore ENOTSUP on HP-UX
14069         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
14070         so that it is available for HP-UX.
14071         * lib/copy-acl.c (qcopy_acl): Use it.
14072         Reported by Patrick M. Callahan.
14073
14074 2010-08-10  Eric Blake  <eblake@redhat.com>
14075
14076         open, chown: relax license
14077         * modules/open (License): Change to LGPLv2+, with consent by all
14078         authors, for use in augeas.
14079         * modules/chown (License): Likewise.
14080         * modules/lchown (Likewise): Likewise.
14081         Requested by Adam Stokes.
14082
14083 2010-08-09  Karl Berry  <karl@gnu.org>
14084
14085         * build-aux/ar-lib: new file, import from Automake.
14086         * config/srclist.txt: autocheck for updates.
14087
14088 2010-08-09  Eric Blake  <eblake@redhat.com>
14089
14090         readlinkat: adjust client modules
14091         * modules/areadlinkat (Depends-on): Use readlinkat, not
14092         symlinkat.
14093         * modules/areadlinkat-with-size (Depends-on): Likewise.
14094
14095         mknod: be more vocal about danger of running tests as root
14096         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
14097         root, since that is just asking for problems.
14098         Suggested by Bruno Haible, based on a report by Rainer Tammer.
14099
14100         readlinkat: split into its own module
14101         * modules/symlinkat: Split readlinkat...
14102         * modules/readlinkat: ...into separate module.
14103         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
14104         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
14105         * lib/symlinkat.c (readlinkat): Move...
14106         * lib/readlinkat.c: ...into new file.
14107         * modules/symlinkat-tests: Split readlinkat test...
14108         * modules/readlinkat-tests: ...into separate module.
14109         * tests/test-symlinkat.c: Split...
14110         * tests/test-readlinkat.c: ...into new file.
14111         * NEWS: Document the split.
14112         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14113         * lib/unistd.in.h (readlinkat): Likewise.
14114         Suggested by Bruno Haible.
14115
14116 2010-08-08  Bruno Haible  <bruno@clisp.org>
14117
14118         memxfrm: Speed up.
14119         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
14120         that usually only one call to strxfrm is necessary for each string
14121         part.
14122         Reported by Paul Eggert <eggert@cs.ucla.edu>.
14123
14124 2010-08-07  Karl Berry  <karl@gnu.org>
14125
14126         * doc/posix-headers/limits.texi,
14127         * doc/posix-functions/malloc.texi,
14128         * doc/posix-functions/strsignal.texi: missing @item.
14129         * doc/ld-version-script.texi: spurious leading i.
14130         * doc/regex.texi (Interval Operators): no commas inside @var.
14131
14132 2010-08-01  Bruno Haible  <bruno@clisp.org>
14133
14134         Integrate the regex documentation.
14135         * doc/gnulib.texi: Define 'cn' index.
14136         (Regular expressions): New a chapter that includes regex.texi and
14137         regexprops-generic.texi.
14138         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
14139         syntax.
14140
14141         Whitespace cleanup.
14142         * doc/regex.texi: Remove trailing spaces.
14143
14144         Add regex documentation.
14145         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
14146         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
14147         Written by Kathy A. Hargreaves and Karl Berry.
14148
14149 2010-08-01  Bruno Haible  <bruno@clisp.org>
14150
14151         link: Update documentation.
14152         * doc/posix-functions/link.texi: Update regarding Solaris.
14153
14154 2010-07-31  Bruno Haible  <bruno@clisp.org>
14155
14156         Update modules list.
14157         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
14158         (String handling <string.h>): Add memcmp2, memxfrm.
14159         (Container data structures): Add xlist, xsublist, xoset.
14160         (Core language properties): Add alignof, unused-parameter.
14161         (Process control, Numeric conversion functions <stdlib.h>): Renamed
14162         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
14163         (Unibyte characters <ctype.h>): New section.
14164         (String handling <string.h>): New section.
14165         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
14166         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
14167         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
14168         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
14169         tan, tanh, tanl, y0, y1, yn.
14170         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
14171         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
14172         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
14173         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
14174         unlockpt, vdprintf, vdprintf-posix.
14175         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
14176         (File system functions): Add concat-filename, sys_file, sys_ioctl,
14177         xconcat-filename.
14178         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
14179         getdtablesize, pipe2, pipe2-safer.
14180         (Security): New section.
14181         (Networking functions): Add accept4.
14182         (Signal handling): Add sigpipe.
14183         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
14184         mbmemcasecoll.
14185         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
14186         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
14187         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
14188         pipe-filter-ii.
14189         (Misc): Add argp-version-etc, login_tty, parse-duration.
14190
14191 2010-07-31  Bruno Haible  <bruno@clisp.org>
14192
14193         Improve doc in MODULES.html.
14194         * modules/linkat (Description): Add the word "function".
14195         * modules/mkfifo (Description): Likewise.
14196         * modules/mknod (Description): Likewise.
14197         * modules/remove (Description): Likewise.
14198         * modules/renameat (Description): Likewise.
14199         * modules/stat (Description): Likewise.
14200         * modules/symlink (Description): Likewise.
14201         * modules/unlink (Description): Likewise.
14202
14203 2010-07-31  Bruno Haible  <bruno@clisp.org>
14204
14205         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
14206         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
14207         option --enable/disable-c++ instead of --enable/disable-cxx.
14208         * NEWS: Mention the change.
14209
14210 2010-07-31  Bruno Haible  <bruno@clisp.org>
14211
14212         readlink, areadlink: Relax test a bit.
14213         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
14214         alternative to ENOTDIR.
14215         * tests/test-areadlink.h (test_areadlink): Likewise.
14216         Reported by Rainer Tammer.
14217
14218 2010-07-31  Bruno Haible  <bruno@clisp.org>
14219
14220         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
14221         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
14222         character, perform the search using U_STRCHR.
14223         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
14224         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
14225         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
14226         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
14227         Suggested by Paolo Bonzini.
14228
14229 2010-07-31  Bruno Haible  <bruno@clisp.org>
14230
14231         unistr/u*-strstr: Fix dependencies.
14232         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
14233         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
14234         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
14235
14236 2010-07-31  Bruno Haible  <bruno@clisp.org>
14237
14238         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
14239         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
14240         the beginning of the loop.
14241         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
14242         cases in 'switch' statement.
14243
14244         unistr/u8-strchr: Fix several bugs.
14245         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
14246         the string. When not found, return NULL, not a pointer near the end.
14247
14248         More tests for unistr/u8-strchr.
14249         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
14250         that the function does not read past the first occurrence of the byte
14251         being searched.
14252         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
14253         * tests/unistr/test-u16-strchr.c (main): New function.
14254         * tests/unistr/test-u32-strchr.c (main): New function.
14255
14256 2010-07-31  Bruno Haible  <bruno@clisp.org>
14257
14258         posix-modules: Ignore backup files of documentation files.
14259         * posix-modules: grep only through files named *.texi.
14260
14261 2010-07-31  Bruno Haible  <bruno@clisp.org>
14262
14263         symlinkat: Fix documentation.
14264         * doc/posix-functions/readlinkat.texi: Fix module name.
14265
14266 2010-07-31  Bruno Haible  <bruno@clisp.org>
14267
14268         fchownat: Replace also when chown has the trailing slash bug.
14269         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
14270         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
14271         introduced on 2010-04-10.
14272         Reported by Rainer Tammer.
14273
14274 2010-07-31  Bruno Haible  <bruno@clisp.org>
14275
14276         linkat: Work around AIX 7.1 bug.
14277         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
14278         whether linkat handles trailing slash correctly. If not, replace linkat
14279         and define LINKAT_TRAILING_SLASH_BUG.
14280         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
14281         check whether (fd1,file1) points to a directory if file1 or file2 ends
14282         in a slash. Code taken from lib/link.c.
14283         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
14284         Reported by Rainer Tammer.
14285
14286 2010-07-31  Bruno Haible  <bruno@clisp.org>
14287
14288         Correctly determine whether pow is available in libc on AIX 7 with xlc.
14289         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
14290         This disables an xlc optimization that was causing wrong test results.
14291         Reported by Rainer Tammer.
14292
14293 2010-07-31  Bruno Haible  <bruno@clisp.org>
14294
14295         iconv: Work around AIX 6.1..7.1 bug.
14296         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
14297         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
14298         cross-compiling, guess no on all versions of AIX.
14299         Reported by Rainer Tammer.
14300
14301 2010-07-31  Bruno Haible  <bruno@clisp.org>
14302
14303         readlink: Relax test a bit.
14304         * tests/test-readlink.h (test_readlink): Allow different errno value
14305         when readlink is called with a file name that ends in / and refers to
14306         a file.
14307         Suggested by Eric Blake.
14308         Reported by Rainer Tammer.
14309
14310 2010-07-31  Bruno Haible  <bruno@clisp.org>
14311
14312         copysign: Does not require -lm on glibc systems.
14313         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
14314         gl_COMMON_DOUBLE_MATHFUNC.
14315         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
14316
14317 2010-07-31  Bruno Haible  <bruno@clisp.org>
14318
14319         duplocale: Work around AIX 7.1 bug.
14320         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
14321         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
14322         * lib/duplocale.c (rpl_duplocale): Update comment.
14323         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
14324         Reported by Rainer Tammer.
14325
14326 2010-07-30  Bruno Haible  <bruno@clisp.org>
14327
14328         dirfd: Avoid link error on AIX 7.1.
14329         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
14330         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
14331         exist, set REPLACE_DIRFD.
14332         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
14333         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
14334         * doc/posix-functions/dirfd.texi: Update.
14335         Reported by Rainer Tammer.
14336
14337 2010-07-30  Eric Blake  <eblake@redhat.com>
14338
14339         strtod: next round of AIX fixes
14340         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
14341         exponent.
14342         * tests/test-strtod.c (main): Enhance tests.
14343         * doc/posix-functions/strtod.texi (strtod): Document next bug.
14344         Reported by Rainer Tammer.
14345
14346         futimens: fix configure check
14347         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
14348         Reported by Bruno Haible.
14349
14350 2010-07-30  Bruno Haible  <bruno@clisp.org>
14351
14352         getline: Update regarding AIX.
14353         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
14354         Reported by Rainer Tammer.
14355
14356 2010-07-30  Bruno Haible  <bruno@clisp.org>
14357
14358         wcwidth: Drop replacement on AIX 7.
14359         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
14360         AIX 7.
14361         Reported by Rainer Tammer.
14362
14363 2010-07-30  Bruno Haible  <bruno@clisp.org>
14364
14365         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
14366         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
14367         a 'char *'.
14368         Reported by Rainer Tammer.
14369
14370 2010-07-30  Bruno Haible  <bruno@clisp.org>
14371
14372         unlink: Update regarding AIX.
14373         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
14374         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
14375         Reported by Rainer Tammer.
14376
14377 2010-07-30  Bruno Haible  <bruno@clisp.org>
14378
14379         symlink: Update regarding AIX.
14380         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
14381         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
14382         Reported by Rainer Tammer.
14383
14384 2010-07-30  Bruno Haible  <bruno@clisp.org>
14385
14386         strndup: Update regarding AIX.
14387         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
14388         AIX 7.
14389         Reported by Rainer Tammer.
14390
14391 2010-07-30  Bruno Haible  <bruno@clisp.org>
14392
14393         stat: Update regarding AIX.
14394         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
14395         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
14396         Reported by Rainer Tammer.
14397
14398 2010-07-30  Bruno Haible  <bruno@clisp.org>
14399
14400         truncl: Fix autoconf test.
14401         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
14402         whether truncl works.
14403         Reported by Rainer Tammer.
14404
14405 2010-07-30  Bruno Haible  <bruno@clisp.org>
14406
14407         round: Update regarding AIX.
14408         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
14409         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
14410         Reported by Rainer Tammer.
14411
14412 2010-07-30  Bruno Haible  <bruno@clisp.org>
14413
14414         rename: Update regarding AIX.
14415         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
14416         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
14417         Reported by Rainer Tammer.
14418
14419 2010-07-30  Bruno Haible  <bruno@clisp.org>
14420
14421         printf.m4: Update regarding AIX.
14422         * m4/printf.m4: Update comments regarding AIX.
14423         Reported by Rainer Tammer.
14424
14425 2010-07-30  Bruno Haible  <bruno@clisp.org>
14426
14427         iconv: Update regarding AIX.
14428         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
14429         AIX 7.
14430         Reported by Rainer Tammer.
14431
14432 2010-07-30  Bruno Haible  <bruno@clisp.org>
14433
14434         getopt: Update regarding AIX.
14435         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
14436         no on AIX.
14437         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
14438         Reported by Rainer Tammer.
14439
14440 2010-07-30  Bruno Haible  <bruno@clisp.org>
14441
14442         ldexpl; Update regarding AIX.
14443         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
14444         on AIX 7.
14445         Reported by Rainer Tammer.
14446
14447 2010-07-30  Bruno Haible  <bruno@clisp.org>
14448
14449         frexpl: Update regarding AIX.
14450         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
14451         on AIX 7.
14452         Reported by Rainer Tammer.
14453
14454 2010-07-30  Bruno Haible  <bruno@clisp.org>
14455
14456         open, fopen: Update regarding AIX.
14457         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
14458         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
14459         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
14460         * doc/posix-functions/fopen.texi: Likewise.
14461         Reported by Rainer Tammer.
14462
14463 2010-07-30  Bruno Haible  <bruno@clisp.org>
14464
14465         chown: Update doc regarding AIX.
14466         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
14467         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
14468         Reported by Rainer Tammer.
14469
14470 2010-07-30  Eric Blake  <eblake@redhat.com>
14471
14472         strtod: fix bug in replacement function on AIX
14473         * lib/strtod.c (strtod): Special case broken "0x" parse in
14474         underlying strtod.
14475         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
14476         * doc/posix-functions/strtod.texi (strtod): Likewise.
14477         Reported by Rainer Tammer.
14478
14479 2010-07-30  Bruno Haible  <bruno@clisp.org>
14480
14481         mbrlen: Fix cross-compilation guess for AIX.
14482         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
14483         guess. Leftover from 2008-12-22.
14484
14485 2010-07-30  Bruno Haible  <bruno@clisp.org>
14486
14487         mbrtowc: Fix cross-compilation guess for AIX.
14488         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
14489         guess. Leftover from 2008-12-21.
14490
14491 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
14492
14493         init.sh: work around trap limitation of some shells
14494         * tests/init.sh (setup_): Move exit trap outside of shell function.
14495
14496 2010-07-29  Eric Blake  <eblake@redhat.com>
14497
14498         strtod: aid debugging
14499         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
14500         understanding why strtod is rejected.
14501
14502 2010-07-28  Bruno Haible  <bruno@clisp.org>
14503
14504         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
14505         * lib/unistr/u8-chr.c: Include <string.h>.
14506         * tests/unistr/test-u8-chr.c: Likewise.
14507         * tests/unistr/test-u16-chr.c: Likewise.
14508         * tests/unistr/test-u32-chr.c: Likewise.
14509         * tests/unistr/test-u8-strchr.c: Likewise.
14510         * tests/unistr/test-u16-strchr.c: Likewise.
14511         * tests/unistr/test-u32-strchr.c: Likewise.
14512         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
14513         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
14514         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
14515         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
14516
14517 2010-07-28  Bruno Haible  <bruno@clisp.org>
14518
14519         Use spaces for indentation, not tabs.
14520         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
14521
14522 2010-07-27  Bruno Haible  <bruno@clisp.org>
14523
14524         mbspcasecmp: Fix function specification.
14525         * lib/string.in.h (mbspcasecmp): Fix specification comment.
14526         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
14527         Reported by Eric Blake <eblake@redhat.com>.
14528
14529 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
14530
14531         timespec: use cast and not conditional, as truncation isn't possible
14532         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
14533         instead of a conditional.  Comment about the situation in more detail.
14534         This undoes most of the 2009-10-29 patch.
14535
14536 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
14537
14538         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
14539         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
14540         * lib/unistr/u8-strchr.c: Likewise.
14541         * modules/unistr/u8-chr: Depend on memchr.
14542
14543         unistr/u*-strchr: add tests
14544         * modules/unistr/u8-strchr-tests: New file.
14545         * modules/unistr/u16-strchr-tests: New file.
14546         * modules/unistr/u32-strchr-tests: New file.
14547         * tests/unistr/test-strchr.h: New file.
14548         * tests/unistr/test-u8-strchr.c: New file.
14549         * tests/unistr/test-u16-strchr.c: New file.
14550         * tests/unistr/test-u32-strchr.c: New file.
14551
14552         unistr/u*-chr: test multibyte sequences more
14553         * tests/unistr/test-chr.h: Do complete testing of the characters in the
14554         test vector.
14555         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
14556         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
14557         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
14558
14559         unistr/u*-chr: test multibyte sequences
14560         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
14561
14562         unistr/u*-chr: prepare for multibyte tests
14563         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
14564         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
14565         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
14566         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
14567         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
14568         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
14569
14570 2010-07-18  Bruno Haible  <bruno@clisp.org>
14571
14572         unistr/u8-strchr: Optimize non-ASCII argument case.
14573         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
14574         because the first byte often matches anyway.
14575         Reported by Pádraig Brady <P@draigbrady.com>.
14576
14577 2010-07-15  Karl Berry  <karl@gnu.org>
14578
14579         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
14580
14581 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
14582
14583         getcwd: on Solaris, work better if ancestors are inaccessible
14584         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
14585         buffer and size, try again with a large buffer.  This works better
14586         on Solaris, since its getcwd succeeds even if the path to the root
14587         is inaccessible, and this is helpful in common cases such as .zfs
14588         hidden directories.  Problem reported by J Chapman Flack in
14589         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
14590         Use system getcwd if it's declared, not merely if it's partly
14591         working; use the partly-working test only to avoid needless effort
14592         if the system getcwd fails.
14593         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
14594         comment that was already obsolete and is now even more obsolete.
14595         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
14596         now might call strdup.
14597
14598 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
14599
14600         pthread: Add enough so that coreutils/src/sort.c compiles.
14601         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
14602         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
14603         gnulib. Include <sched.h> and <time.h>, as per POSIX.
14604         Include <sys/types.h>, in case it defines pthread_t.
14605         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
14606         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
14607         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
14608         (pthread_rwlockattr_t, pthread_spinlock_t):
14609         New typedefs, if HAVE_PTHREAD_T is not defined.
14610         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
14611         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
14612         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
14613         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
14614         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
14615         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
14616         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
14617         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
14618         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
14619         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
14620         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
14621         New macros.
14622         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
14623         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
14624         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
14625         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
14626         (pthread_spin_unlock): New dummy functions.
14627         (pthread_create): Return EAGAIN; don't set errno.
14628         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
14629         require AC_C_INLINE.
14630         * modules/pthread (Depends-on): Add sched, time.
14631         (pthread.h): Use AM_V_GEN.
14632
14633 2010-07-13  Bruno Haible  <bruno@clisp.org>
14634
14635         striconveh: Don't malloc memory if the result buffer is sufficient.
14636         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
14637         buffer if its size is sufficient.
14638         Reported by Ludovic Courtès <ludo@gnu.org>.
14639
14640 2010-07-13  Bruno Haible  <bruno@clisp.org>
14641
14642         strtod: Add safety check.
14643         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
14644
14645 2010-07-12  Bruno Haible  <bruno@clisp.org>
14646
14647         Unify tests that set gl_cv_func_ldexpl_no_libm.
14648         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
14649         gl_FUNC_LDEXPL.
14650         (gl_FUNC_LDEXPL): Invoke it.
14651         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14652
14653 2010-07-12  Bruno Haible  <bruno@clisp.org>
14654
14655         Unify tests that set gl_cv_func_ldexp_no_libm.
14656         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
14657         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
14658         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
14659         (configure.ac): Simply invoke gl_FUNC_LDEXP.
14660         * modules/strtod (Files): Add m4/ldexp.m4.
14661
14662 2010-07-12  Bruno Haible  <bruno@clisp.org>
14663
14664         Unify tests that set gl_cv_func_frexpl_no_libm.
14665         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
14666         gl_FUNC_FREXPL_NO_LIBM.
14667         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
14668         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14669
14670 2010-07-12  Bruno Haible  <bruno@clisp.org>
14671
14672         Unify tests that set gl_cv_func_frexp_no_libm.
14673         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
14674         gl_FUNC_FREXP_NO_LIBM.
14675         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
14676         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
14677
14678 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14679
14680         memcoll: clarify sizes versus lengths, document better, and tweak perf
14681         * lib/memcoll.c (strcoll_loop, memcoll0):
14682         Improve quality of descriptive comments.  Name variables
14683         consistently as to whether they are lengths (which do not include
14684         terminating null) versus sizes (which do).
14685         * lib/xmemcoll.c (xmemcoll0): Likewise.
14686         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
14687         returned when s1size == 0; this is easier to compile and saves
14688         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
14689
14690 2010-07-12  Bruno Haible  <bruno@clisp.org>
14691
14692         Tests for module '_Exit'.
14693         * modules/_Exit-tests: New file.
14694         * tests/test-_Exit.sh: New file.
14695         * tests/test-_Exit.c: New file.
14696
14697         New module '_Exit'.
14698         * lib/stdlib.in.h (__attribute__): New macro.
14699         (_Exit): New declaration.
14700         * lib/_Exit.c: New file.
14701         * m4/_Exit.m4: New file.
14702         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
14703         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
14704         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
14705         * modules/_Exit: New file.
14706         * tests/test-stdlib-c++.cc (_Exit): Check signature.
14707         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
14708
14709 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14710
14711         strtod: make it more-accurate typically, and don't require libm
14712         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
14713         Include limits.h.  Don't include string.h.
14714         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
14715         (locale_isspace): New function, so that no casts are needed to
14716         check whether *s is a space.
14717         (ldexp): Provide an unused dummy if not available.
14718         (scale_radix_exp, parse_number, underlying_strtod): New functions.
14719         (strtod): Use them.  This implementation prefers to use the
14720         underlying strtod if available, falling back on our own code
14721         only to fix known bugs.  This is more likely to produce an
14722         accurate result.  Also, it avoids the use of libm functions.
14723         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
14724         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
14725         was absent, but it caused a test failure with coreutils.
14726         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
14727         with libm.
14728         * modules/strtod (Makefile.am, Link): libm is no longer needed.
14729         * modules/strtod-tests (Makefile.am): Likewise.
14730
14731 2010-07-11  Pádraig Brady  <P@draigBrady.com>
14732             Bruno Haible  <bruno@clisp.org>
14733
14734         unistr/u8-strchr: Optimize ASCII argument case.
14735         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
14736
14737 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14738
14739         (x)memcoll: minor tweaks
14740         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
14741         is after the type that it qualifies.
14742         (memcoll0): Likewise.
14743         * lib/memcoll.h (memcoll0): Likewise.
14744         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
14745         * lib/xmemcoll.h (xmemcoll0): Likewise.
14746         * lib/memcoll.c (memcoll0): Correct the comment.  This function
14747         differs from memcoll in that the NUL byte is part of the argument.
14748         Omit the abort-checks, as performance is a real issue here.  Plus,
14749         the checks were wrong anyway (an off-by-one error).  Omit local
14750         variable 'diff', as it's a bit clearer that way.
14751         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
14752         no longer needed.
14753
14754 2010-07-08  Chen Guo <chenguo4@yahoo.com>
14755
14756         (x)memcoll: speedup when input is known to be NUL delimited
14757         * lib/memcoll.c: Include stdlib.
14758         (memcoll0): New function.
14759         (strcoll_loop): New function, refactored for use in both memcoll
14760         and memcoll0.
14761         * lib/memcoll.h (memcoll0): Add prototype.
14762         * lib/xmemcoll.c (xmemcoll0): New function.
14763         (collate_error): New function, refactored for use in both xmemcoll
14764         and xmemcoll0.
14765         * lib/xmemcoll.h (xmemcoll0): Add prototype.
14766         * m4/memcoll.m4: add inline invocation.
14767
14768 2010-07-06  Pádraig Brady  <P@draigBrady.com>
14769
14770         * build-aux/bootstrap: Remove any local translations
14771         from the translation project synchronization directory,
14772         so that local only translations are not distributed.
14773
14774 2010-07-04  Bruno Haible  <bruno@clisp.org>
14775
14776         fsusage: Clarify which code applies to which platforms.
14777         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
14778         platform.
14779         * lib/fsusage.c (get_fs_usage): Likewise.
14780
14781 2010-07-04  Bruno Haible  <bruno@clisp.org>
14782
14783         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
14784         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
14785         Reported by Martin Lambers <marlam@marlam.de>.
14786
14787 2010-07-04  Jim Meyering  <meyering@redhat.com>
14788
14789         hash: once again explicitly disallow insertion of NULL
14790         * lib/hash.c (hash_insert0): Reinstate just-removed test:
14791         inserting a NULL pointer cannot work with these functions.
14792         Add a comment with details.
14793         This reverts part of the 2010-07-01 commit, 5bef1a35
14794         "hash: extend module to deal with non-pointer keys".
14795
14796 2010-07-01  Bruno Haible  <bruno@clisp.org>
14797
14798         stdbool: Update doc.
14799         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
14800         Info from Christian Weisgerber <naddy@mips.inka.de>.
14801
14802 2010-07-01  Jim Meyering  <meyering@redhat.com>
14803
14804         hash: extend module to deal with non-pointer keys
14805         * lib/hash.c (hash_insert0): New interface, much like hash_insert
14806         but that allows insertion of non-pointer entries.
14807         Do not disallow an ENTRY value of NULL.
14808         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
14809         * lib/hash.h (hash_insert0): Declare.
14810
14811 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14812
14813         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
14814         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
14815         not present (i.e. with autoconf 2.59 and when using gettextize, not
14816         gnulib), require AC_GNU_SOURCE instead.
14817
14818 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
14819
14820         idpriv-drop: Fix tests.
14821         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
14822         not to the test-idpriv-droptemp program.
14823
14824 2010-06-29  Bruno Haible  <bruno@clisp.org>
14825
14826         string: Fix syntax error with g++ 2.96.
14827         * lib/string.in.h (__pure__): Remove definition.
14828         (_GL_ATTRIBUTE_PURE): New macro.
14829         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
14830         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
14831         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14832
14833 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
14834
14835         unitypes: Fix bug introduced on 2010-05-18.
14836         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
14837
14838 2010-06-22  Eric Blake  <eblake@redhat.com>
14839
14840         memmem: slight optimization
14841         * lib/str-two-way.h (critical_factorization): Update comments.
14842         Reduce work during factorization phase.
14843         Reported by Carlos Bueno <carlos@bueno.org>.
14844
14845 2010-06-21  Bruno Haible  <bruno@clisp.org>
14846
14847         Fix HAVE_CALLOC_POSIX misnomer.
14848         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
14849         !HAVE_CALLOC_POSIX.
14850         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
14851         HAVE_CALLOC_POSIX.
14852         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
14853         instead of HAVE_CALLOC_POSIX.
14854         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
14855         HAVE_CALLOC_POSIX.
14856
14857         Use modern idiom for calloc() replacement.
14858         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
14859         AC_FUNC_CALLOC.
14860         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
14861         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
14862         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14863         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
14864         (gl_REPLACE_CALLOC): New macro.
14865
14866 2010-06-21  Bruno Haible  <bruno@clisp.org>
14867
14868         Fix HAVE_REALLOC_POSIX misnomer.
14869         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
14870         !HAVE_REALLOC_POSIX.
14871         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
14872         HAVE_REALLOC_POSIX.
14873         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
14874         instead of HAVE_REALLOC_POSIX.
14875         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
14876         HAVE_REALLOC_POSIX.
14877
14878         Use modern idiom for realloc() replacement.
14879         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
14880         AC_FUNC_REALLOC.
14881         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
14882         Autoconf's AC_FUNC_REALLOC.
14883         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14884         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
14885         (gl_REPLACE_REALLOC): New macro.
14886         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14887
14888 2010-06-21  Bruno Haible  <bruno@clisp.org>
14889
14890         Fix HAVE_MALLOC_POSIX misnomer.
14891         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
14892         !HAVE_MALLOC_POSIX.
14893         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
14894         HAVE_MALLOC_POSIX.
14895         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
14896         instead of HAVE_MALLOC_POSIX.
14897         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
14898         HAVE_MALLOC_POSIX.
14899
14900         Use modern idiom for malloc() replacement.
14901         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
14902         AC_FUNC_MALLOC.
14903         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
14904         Autoconf's AC_FUNC_MALLOC.
14905         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14906         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
14907         (gl_REPLACE_MALLOC): New macro.
14908         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14909
14910 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
14911
14912         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
14913         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
14914         This macro takes 3 arguments, not 4.
14915
14916 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
14917
14918         ipv6: fix detection under mingw
14919         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
14920         in6_addr.
14921
14922 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
14923
14924         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
14925         that strtod() works when cross-compiling to a glibc version known
14926         to work.
14927
14928 2010-06-15  Bruno Haible  <bruno@clisp.org>
14929
14930         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
14931
14932 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
14933
14934         select: Correct timeout.
14935         * lib/select.c (rpl_select): Compute wait_timeout correctly.
14936
14937 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14938
14939         git-version-gen: init shell var to avoid env var influence
14940         * build-aux/git-version-gen (v): Init shell var to empty.
14941
14942 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
14943
14944         priv-set: Don't assume that priv.h exists merely because getppriv does.
14945         See Jan Andersen's bug report about AIX 5L in
14946         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
14947         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
14948         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
14949         * lib/priv-set.h: Likewise.
14950         * tests/test-priv-set.c: Likewise.
14951
14952 2010-06-13  Bruno Haible  <bruno@clisp.org>
14953
14954         relocatable: Make it easier to test whether to install wrappers.
14955         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
14956         RELOCATABLE_VIA_WRAPPER.
14957
14958 2010-06-13  Bruno Haible  <bruno@clisp.org>
14959
14960         gnulib-tool: Display specified modules and dependencies differently.
14961         * gnulib-tool (func_show_module_list): New function.
14962         (func_import, func_create_testdir): Invoke it.
14963         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
14964
14965 2010-06-13  Bruno Haible  <bruno@clisp.org>
14966
14967         gnulib-tool: Align code of func_import and func_create_testdir.
14968         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
14969         specified_modules.
14970
14971 2010-06-12  Jim Meyering  <meyering@redhat.com>
14972
14973         test-inttostr: avoid spurious failure on Solaris 9
14974         * tests/test-inttostr.c (main): Skip the test when snprintf fails
14975         to accept "%ju".  Reported by Bruno Haible.
14976
14977 2010-06-11  Jim Meyering  <meyering@redhat.com>
14978
14979         test-sys_socket: mark variables as used more readably
14980         * tests/test-sys_socket.c (main): Mark otherwise unused variables
14981         as "used" explicitly via (void) statement casts.  This is more
14982         readable than using them in an artificial return expression.
14983         Suggestion from Bruno Haible.
14984
14985 2010-06-11  Bruno Haible  <bruno@clisp.org>
14986
14987         Avoid some more warnings from "gcc -Wwrite-strings".
14988         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
14989         to 'const char *'.
14990         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
14991         * tests/test-c-strcasestr.c (main): Likewise.
14992         * tests/test-mbscasestr1.c (main): Likewise.
14993         * tests/test-mbscasestr2.c (main): Likewise.
14994         * tests/test-memmem.c (main): Likewise.
14995         * tests/test-strstr.c (main): Likewise.
14996         * tests/test-strcasestr.c (main): Likewise.
14997
14998 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14999
15000         init.sh: change framework_failure_ to fail with status 99, not 1
15001         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
15002         automake's parallel-tests rule that this is an unexpected failure,
15003         even if the test is listed in XFAIL_TESTS.
15004
15005 2010-06-11  Jim Meyering  <meyering@redhat.com>
15006
15007         test-inttostr: avoid warnings about 4-6KB literal strings
15008         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
15009         Include "macros.h", for its definition of ASSERT.
15010         (CK): s/assert/ASSERT/
15011         * modules/inttostr-tests (Files): Add macros.h.
15012
15013         init.sh: don't use $ME_ or skip_ before they are defined
15014         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
15015         their first uses.  Also hoist their companions: warn_, fail_,
15016         framework_failure_, $stderr_fileno.  Prompted by a patch from
15017         Stefano Lattarini.
15018
15019         test-sys_socket: avoid set-but-not-used warnings from gcc
15020         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
15021         avoid warning about set-but-not-used variables.
15022
15023         test-xvasprintf: avoid 'const' discard warnings
15024         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
15025         "const" when assigning from literal strings.
15026         (test_xasprintf): Add "void" in function argument list to placate
15027         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
15028
15029         tests: avoid compilation warnings in argmatch and exclude tests...
15030         in packages that define ARGMATCH_DIE_DECL, like coreutils.
15031         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
15032         Since it always exits, declare with the "noreturn" attribute.
15033         * tests/test-argmatch.c: Likewise.
15034
15035         tests: avoid 'const' discard warnings in mbsstr tests
15036         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
15037         * tests/test-mbsstr2.c (main): Likewise.
15038
15039         test-verify: avoid warning from gcc's -Wmissing-declarations
15040         * tests/test-verify.c (function): Declare to be static.
15041
15042         test-inttostr.c: include <string.h> for use of strcmp
15043         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
15044
15045         test-linkat: avoid failed assertion on "other" architectures
15046         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
15047         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
15048         sparc: https://bugs.launchpad.net/bugs/591968
15049
15050 2010-06-11  Jim Meyering  <meyering@redhat.com>
15051
15052         printf.m4: avoid autoconf's "Expanded Before Required" warning
15053         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
15054         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
15055         autoconf warning.
15056
15057 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
15058
15059         Replacement header templates are now named with ".in", not "_".
15060         * doc/gnulib-intro.texi: Correct.
15061
15062 2010-06-10  Jim Meyering  <meyering@redhat.com>
15063
15064         inttostr-tests: depend on snprintf, not snprintf-posix
15065         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
15066         snprintf-posix, to avoid this aclocal failure:
15067           missing file gnulib-tests/vasnprintf.c
15068           configure.ac:45: error: expected source file, required through \
15069           AC_LIBSOURCES, not found
15070
15071 2010-06-10  Jim Meyering  <meyering@redhat.com>
15072
15073         inttostr: add a new function, inttostr, and tests
15074         The namesake function was not available.  The existence of the
15075         template file, inttostr.c makes its addition nontrivial.
15076         * lib/anytostr.c: Rename from inttostr.c.
15077         (anytostr): Rename from inttostr.
15078         * lib/inttostr.c: New file.
15079         * modules/inttostr (Files): Add anytostr.c.
15080         (Makefile.am): Set lib_SOURCES instead of ...
15081         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
15082         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
15083         * lib/offtostr.c: Likewise.
15084         * lib/uinttostr.c: Likewise.
15085         * lib/umaxtostr.c: Likewise.
15086         * modules/inttostr-tests: New file.
15087         * tests/test-inttostr.c: New file.  Test these functions.
15088
15089 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
15090             Bruno Haible  <bruno@clisp.org>
15091
15092         Add "Extending Gnulib" chapter to manual.
15093         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
15094         chapter.
15095         (Extending Gnulib): New chapter.
15096         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
15097         chapter.
15098
15099 2010-06-09  Bruno Haible  <bruno@clisp.org>
15100
15101         Avoid relocwrapper link errors due to gnulib replacement functions.
15102         * lib/areadlink.c: Use the system's malloc, realloc functions.
15103         (areadlink): Set errno to ENOMEM explicitly.
15104         * modules/areadlink (Depends-on): Remove malloc-posix.
15105         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15106
15107 2010-06-09  Bruno Haible  <bruno@clisp.org>
15108
15109         Avoid relocwrapper link errors due to gnulib replacement functions.
15110         * lib/canonicalize-lgpl.c: Use the system's malloc function.
15111         * lib/malloca.c: Likewise.
15112         * lib/relocatable.c: Likewise.
15113         * lib/progreloc.c: Use the system's malloc, sprintf functions.
15114         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
15115         * lib/setenv.c: Use the system's malloc, realloc functions.
15116         * lib/strerror.c: Use the system's sprintf function.
15117         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15118
15119 2010-06-04  Bruno Haible  <bruno@clisp.org>
15120
15121         Prefer documented low-level autoconf macro names.
15122         * m4/lib-link.m4: Use m4_translit instead of translit.
15123         * m4/environ.m4: Likewise.
15124         * m4/mathfunc.m4: Likewise.
15125         * m4/onceonly.m4: Likewise.
15126         * m4/stdint.m4: Likewise.
15127         Suggested by Eric Blake.
15128
15129 2010-06-04  Martin Lambers  <marlam@marlam.de>
15130             Bruno Haible  <bruno@clisp.org>
15131
15132         havelib: Allow library names with '+' characters.
15133         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
15134         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
15135
15136 2010-06-09  Bruno Haible  <bruno@clisp.org>
15137
15138         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
15139         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
15140         realloc failed.
15141
15142 2010-06-08  Peter Simons  <simons@cryp.to>
15143
15144         maint.mk: make the news-check rule more configurable
15145         * top/maint.mk (news-check-lines-spec): New variable.
15146         (news-check): Use "sed -n 1,10p" in place of "head".
15147
15148 2010-06-07  Jim Meyering  <meyering@redhat.com>
15149
15150         do-release-commit-and-tag: fix typo in --help
15151         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
15152
15153         regex: avoid new dead-code warning with gcc-4.6.0
15154         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
15155         if-block containing a while-loop.  It's been unused for at least
15156         5 years.
15157
15158 2010-06-05  Bruno Haible  <bruno@clisp.org>
15159
15160         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
15161         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
15162
15163 2010-06-04  Bruno Haible  <bruno@clisp.org>
15164
15165         Update to GNU gettext 0.18.1.
15166         * modules/gettext (configure.ac): Require gettext infrastructure from
15167         version 0.18.1.
15168
15169 2010-06-03  Bruno Haible  <bruno@clisp.org>
15170
15171         Don't use AC_LIBOBJ with file names in subdirectories.
15172         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
15173         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
15174         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
15175         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
15176         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
15177         gl_LIBUNISTRING_LIBSOURCE.
15178         (Makefile.am): Augment lib_SOURCES here, conditionally.
15179         * NEWS: Drop requirement for Automake option 'subdir-objects'.
15180
15181 2010-06-03  Bruno Haible  <bruno@clisp.org>
15182
15183         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
15184         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
15185         expansion does not end with a newline.
15186         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
15187         unnecessary newline.
15188
15189 2010-06-03  Bruno Haible  <bruno@clisp.org>
15190
15191         Reduce dependencies.
15192         * tests/test-quotearg.h: New file, extracted from
15193         tests/test-quotearg.c.
15194         * tests/test-quotearg-simple.c: New file, extracted from
15195         tests/test-quotearg.c.
15196         * tests/test-quotearg.c: Don't include <ctype.h>.
15197         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
15198         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
15199         use_quote_double_quotes, use_quotearg_colon): Moved to
15200         tests/test-quotearg.h.
15201         (results_g, flag_results, custom_quotes, custom_results): Moved
15202         to tests/test-quotearg-simple.c.
15203         (main): Moved the part that does not depend on gettext to
15204         tests/test-quotearg-simple.c. Return 77 if the test cannot be
15205         performed.
15206         * modules/quotearg-simple: New file.
15207         * modules/quotearg-simple-tests: New file.
15208         * modules/quotearg (Depends-on): Add quotearg-simple.
15209         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
15210         (Files): Add tests/test-quotearg.h.
15211         Reported by Paolo Bonzini.
15212
15213 2010-06-03  Bruno Haible  <bruno@clisp.org>
15214
15215         Reduce dependencies.
15216         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
15217
15218 2010-06-03  Bruno Haible  <bruno@clisp.org>
15219
15220         time: Undefine more broken macros.
15221         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
15222         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
15223         Reported by Eric Blake.
15224
15225 2010-06-03  Bruno Haible  <bruno@clisp.org>
15226
15227         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
15228         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
15229         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
15230         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
15231         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
15232         Reported by Ludovic Courtès <ludo@gnu.org>.
15233
15234 2010-06-02  Eric Blake  <eblake@redhat.com>
15235
15236         time: work with mingw + pthreads-win32 library
15237         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
15238         if timespec is defined only in pthread.h.
15239         * modules/time (Makefile.am): Substitute it.
15240         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
15241         <pthread.h>, when needed.
15242         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
15243         from the library.
15244
15245 2010-05-31  Bruno Haible  <bruno@clisp.org>
15246
15247         Avoid expanding two macros in the wrong order.
15248         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
15249         gl_LIBUNISTRING if it is defined.
15250         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
15251         autoconf >= 2.64.
15252         Reported by Ludovic Courtès <ludo@gnu.org>.
15253
15254 2010-05-27  Jim Meyering  <meyering@redhat.com>
15255
15256         maint.mk: also prohibit "#undef" of always-defined symbols
15257         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
15258         Allow more than one space before the symbol name.
15259         (sc_prohibit_always-defined_macros): Use grep's -E, now that
15260         the regexp uses alternation.
15261
15262 2010-05-26  Eric Blake  <eblake@redhat.com>
15263
15264         maint.mk: avoid echo -e
15265         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
15266         Convert all uses of echo -* to printf.
15267         Reported by Matthias Bolte.
15268
15269 2010-05-25  Bruno Haible  <bruno@clisp.org>
15270
15271         Update to GNU gettext 0.18, part 2.
15272         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
15273         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
15274
15275 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15276
15277         Add missing include in test-pwrite.c.
15278         * tests/test-pwrite.c: Include string.h, for strcmp.
15279
15280 2010-05-24  Bruno Haible  <bruno@clisp.org>
15281
15282         * NEWS: Mention requirement for Automake option 'subdir-objects'.
15283
15284 2010-05-24  Bruno Haible  <bruno@clisp.org>
15285
15286         Don't use conversion with transliteration in u{8,16,32}_strcoll.
15287         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
15288         iconveh_error argument.
15289         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
15290         U_STRCONV_TO_LOCALE.
15291         * lib/unistr/u16-strcoll.c: Likewise.
15292         * lib/unistr/u32-strcoll.c: Likewise.
15293         * modules/unistr/u8-strcoll (Depends-on): Add
15294         uniconv/u8-strconv-to-enc, localcharset. Remove
15295         uniconv/u8-strconv-to-locale.
15296         (configure.ac): Bump version number.
15297         * modules/unistr/u16-strcoll (Depends-on): Add
15298         uniconv/u16-strconv-to-enc, localcharset. Remove
15299         uniconv/u16-strconv-to-locale.
15300         (configure.ac): Bump version number.
15301         * modules/unistr/u32-strcoll (Depends-on): Add
15302         uniconv/u32-strconv-to-enc, localcharset. Remove
15303         uniconv/u32-strconv-to-locale.
15304         (configure.ac): Bump version number.
15305
15306 2010-05-24  Bruno Haible  <bruno@clisp.org>
15307
15308         Avoid a test failure on NetBSD 5.0.
15309         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
15310         an iconv() bug.
15311
15312 2010-05-24  Bruno Haible  <bruno@clisp.org>
15313
15314         Adjust #include directive style.
15315         * modules/regex (Includes): Recommend to write <regex.h>.
15316
15317 2010-05-24  Bruno Haible  <bruno@clisp.org>
15318
15319         regex: Don't require alloca.
15320         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
15321         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
15322         only inside if (0).
15323
15324 2010-05-23  Jim Meyering  <meyering@redhat.com>
15325
15326         test-renameat.c: include <sys/stat.h>
15327         * tests/test-renameat.c: Include <sys/stat.h>; required for
15328         definition of S_IS* macros.
15329
15330 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
15331
15332         Update maintainer documentation for 'relocatable-prog' module.
15333         * doc/relocatable-maint.texi: Update.
15334         Comments by Bruno Haible.
15335
15336 2010-05-23  Bruno Haible  <bruno@clisp.org>
15337
15338         git-merge-changelog: Enable --split-merged-entry by default.
15339         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
15340         (usage): Don't mention this option any more.
15341         Reported by Ralf Wildenhues.
15342
15343 2010-05-23  Jim Meyering  <meyering@redhat.com>
15344
15345         test-pwrite: do not leave behind a test file named "out"
15346         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
15347         The trivial-looking use of init.sh is really necessary.
15348         It ensures that the temporary file, "out", is created in
15349         a temporary directory, and removed upon termination.
15350         * tests/test-pwrite.sh: Re-add file.
15351         * modules/pwrite-tests: Reference it.
15352
15353 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15354
15355         Fix output redirection buglet in init.sh.
15356         * tests/init.sh: Fix redirection of stderr.
15357
15358 2010-05-20  Simon Josefsson  <simon@josefsson.org>
15359
15360         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
15361
15362 2010-05-17  Simon Josefsson  <simon@josefsson.org>
15363
15364         * modules/valgrind-tests: New file.
15365         * m4/valgrind-tests.m4: New file.
15366         * doc/valgrind-tests.texi: New file.
15367         * doc/gnulib.texi (Running self-tests under valgrind): New
15368         section.
15369
15370 2010-05-19  Bruno Haible  <bruno@clisp.org>
15371
15372         Clean up dead code in recent commit.
15373         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
15374         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
15375         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
15376         Suggested by Paolo Bonzini.
15377
15378 2010-05-19  Bruno Haible  <bruno@clisp.org>
15379
15380         Avoid valgrind error reports from libunistring.
15381         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
15382         * modules/libunistring (Files): Add it.
15383         * modules/libunistring-optional (Files): Likewise.
15384
15385 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
15386             Bruno Haible  <bruno@clisp.org>
15387
15388         New module 'libunistring-optional'.
15389         * modules/libunistring-optional: New file.
15390         * m4/libunistring-base.m4: New file.
15391         * m4/libunistring-optional.m4: New file.
15392         * lib/unicase.in.h: Renamed from lib/unicase.h.
15393         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
15394         * lib/unictype.in.h: Renamed from lib/unictype.h.
15395         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
15396         * lib/uniname.in.h: Renamed from lib/uniname.h.
15397         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
15398         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
15399         * lib/unistr.in.h: Renamed from lib/unistr.h.
15400         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
15401         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
15402         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
15403         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
15404         gl_LIBUNISTRING. If the library was found, determine the installed
15405         version and set LIBUNISTRING_VERSION.
15406         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
15407         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
15408         handle a configuration option --with-included-libunistring.
15409         * modules/libunistring (Files): Add m4/absolute-header.m4.
15410         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
15411         Add m4/libunistring-base.m4.
15412         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15413         (Makefile.am): Build unicase.h from unicase.in.h.
15414         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
15415         Add m4/libunistring-base.m4.
15416         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15417         (Makefile.am): Build uniconv.h from uniconv.in.h.
15418         * modules/unictype/base (Files): Use unictype.in.h instead of
15419         unictype.h. Add m4/libunistring-base.m4.
15420         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15421         (Makefile.am): Build unictype.h from unictype.in.h.
15422         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
15423         Add m4/libunistring-base.m4.
15424         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15425         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
15426         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
15427         Add m4/libunistring-base.m4.
15428         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15429         (Makefile.am): Build uniname.h from uniname.in.h.
15430         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
15431         Add m4/libunistring-base.m4.
15432         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15433         (Makefile.am): Build uninorm.h from uninorm.in.h.
15434         * modules/unistdio/base (Files): Use unistdio.in.h instead of
15435         unistdio.h. Add m4/libunistring-base.m4.
15436         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15437         (Makefile.am): Build unistdio.h from unistdio.in.h.
15438         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
15439         Add m4/libunistring-base.m4.
15440         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15441         (Makefile.am): Build unistr.h from unistr.in.h.
15442         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
15443         Add m4/libunistring-base.m4.
15444         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15445         (Makefile.am): Build unitypes.h from unitypes.in.h.
15446         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
15447         Add m4/libunistring-base.m4.
15448         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15449         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
15450         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
15451         uniwidth.h. Add m4/libunistring-base.m4.
15452         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15453         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
15454         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
15455         instead of augmenting lib_SOURCES.
15456         * modules/unicase/empty-suffix-context: Likewise.
15457         * modules/unicase/locale-language: Likewise.
15458         * modules/unicase/tolower: Likewise.
15459         * modules/unicase/totitle: Likewise.
15460         * modules/unicase/toupper: Likewise.
15461         * modules/unicase/u8-casecmp: Likewise.
15462         * modules/unicase/u8-casecoll: Likewise.
15463         * modules/unicase/u8-casefold: Likewise.
15464         * modules/unicase/u8-casexfrm: Likewise.
15465         * modules/unicase/u8-ct-casefold: Likewise.
15466         * modules/unicase/u8-ct-tolower: Likewise.
15467         * modules/unicase/u8-ct-totitle: Likewise.
15468         * modules/unicase/u8-ct-toupper: Likewise.
15469         * modules/unicase/u8-is-cased: Likewise.
15470         * modules/unicase/u8-is-casefolded: Likewise.
15471         * modules/unicase/u8-is-lowercase: Likewise.
15472         * modules/unicase/u8-is-titlecase: Likewise.
15473         * modules/unicase/u8-is-uppercase: Likewise.
15474         * modules/unicase/u8-prefix-context: Likewise.
15475         * modules/unicase/u8-suffix-context: Likewise.
15476         * modules/unicase/u8-tolower: Likewise.
15477         * modules/unicase/u8-totitle: Likewise.
15478         * modules/unicase/u8-toupper: Likewise.
15479         * modules/unicase/u16-casecmp: Likewise.
15480         * modules/unicase/u16-casecoll: Likewise.
15481         * modules/unicase/u16-casefold: Likewise.
15482         * modules/unicase/u16-casexfrm: Likewise.
15483         * modules/unicase/u16-ct-casefold: Likewise.
15484         * modules/unicase/u16-ct-tolower: Likewise.
15485         * modules/unicase/u16-ct-totitle: Likewise.
15486         * modules/unicase/u16-ct-toupper: Likewise.
15487         * modules/unicase/u16-is-cased: Likewise.
15488         * modules/unicase/u16-is-casefolded: Likewise.
15489         * modules/unicase/u16-is-lowercase: Likewise.
15490         * modules/unicase/u16-is-titlecase: Likewise.
15491         * modules/unicase/u16-is-uppercase: Likewise.
15492         * modules/unicase/u16-prefix-context: Likewise.
15493         * modules/unicase/u16-suffix-context: Likewise.
15494         * modules/unicase/u16-tolower: Likewise.
15495         * modules/unicase/u16-totitle: Likewise.
15496         * modules/unicase/u16-toupper: Likewise.
15497         * modules/unicase/u32-casecmp: Likewise.
15498         * modules/unicase/u32-casecoll: Likewise.
15499         * modules/unicase/u32-casefold: Likewise.
15500         * modules/unicase/u32-casexfrm: Likewise.
15501         * modules/unicase/u32-ct-casefold: Likewise.
15502         * modules/unicase/u32-ct-tolower: Likewise.
15503         * modules/unicase/u32-ct-totitle: Likewise.
15504         * modules/unicase/u32-ct-toupper: Likewise.
15505         * modules/unicase/u32-is-cased: Likewise.
15506         * modules/unicase/u32-is-casefolded: Likewise.
15507         * modules/unicase/u32-is-lowercase: Likewise.
15508         * modules/unicase/u32-is-titlecase: Likewise.
15509         * modules/unicase/u32-is-uppercase: Likewise.
15510         * modules/unicase/u32-prefix-context: Likewise.
15511         * modules/unicase/u32-suffix-context: Likewise.
15512         * modules/unicase/u32-tolower: Likewise.
15513         * modules/unicase/u32-totitle: Likewise.
15514         * modules/unicase/u32-toupper: Likewise.
15515         * modules/unicase/ulc-casecmp: Likewise.
15516         * modules/unicase/ulc-casecoll: Likewise.
15517         * modules/unicase/ulc-casexfrm: Likewise.
15518         * modules/uniconv/u8-conv-from-enc: Likewise.
15519         * modules/uniconv/u8-conv-to-enc: Likewise.
15520         * modules/uniconv/u8-strconv-from-enc: Likewise.
15521         * modules/uniconv/u8-strconv-from-locale: Likewise.
15522         * modules/uniconv/u8-strconv-to-enc: Likewise.
15523         * modules/uniconv/u8-strconv-to-locale: Likewise.
15524         * modules/uniconv/u16-conv-from-enc: Likewise.
15525         * modules/uniconv/u16-conv-to-enc: Likewise.
15526         * modules/uniconv/u16-strconv-from-enc: Likewise.
15527         * modules/uniconv/u16-strconv-from-locale: Likewise.
15528         * modules/uniconv/u16-strconv-to-enc: Likewise.
15529         * modules/uniconv/u16-strconv-to-locale: Likewise.
15530         * modules/uniconv/u32-conv-from-enc: Likewise.
15531         * modules/uniconv/u32-conv-to-enc: Likewise.
15532         * modules/uniconv/u32-strconv-from-enc: Likewise.
15533         * modules/uniconv/u32-strconv-from-locale: Likewise.
15534         * modules/uniconv/u32-strconv-to-enc: Likewise.
15535         * modules/uniconv/u32-strconv-to-locale: Likewise.
15536         * modules/unictype/bidicategory-byname: Likewise.
15537         * modules/unictype/bidicategory-name: Likewise.
15538         * modules/unictype/bidicategory-of: Likewise.
15539         * modules/unictype/bidicategory-test: Likewise.
15540         * modules/unictype/block-list: Likewise.
15541         * modules/unictype/block-test: Likewise.
15542         * modules/unictype/category-C: Likewise.
15543         * modules/unictype/category-Cc: Likewise.
15544         * modules/unictype/category-Cf: Likewise.
15545         * modules/unictype/category-Cn: Likewise.
15546         * modules/unictype/category-Co: Likewise.
15547         * modules/unictype/category-Cs: Likewise.
15548         * modules/unictype/category-L: Likewise.
15549         * modules/unictype/category-Ll: Likewise.
15550         * modules/unictype/category-Lm: Likewise.
15551         * modules/unictype/category-Lo: Likewise.
15552         * modules/unictype/category-Lt: Likewise.
15553         * modules/unictype/category-Lu: Likewise.
15554         * modules/unictype/category-M: Likewise.
15555         * modules/unictype/category-Mc: Likewise.
15556         * modules/unictype/category-Me: Likewise.
15557         * modules/unictype/category-Mn: Likewise.
15558         * modules/unictype/category-N: Likewise.
15559         * modules/unictype/category-Nd: Likewise.
15560         * modules/unictype/category-Nl: Likewise.
15561         * modules/unictype/category-No: Likewise.
15562         * modules/unictype/category-P: Likewise.
15563         * modules/unictype/category-Pc: Likewise.
15564         * modules/unictype/category-Pd: Likewise.
15565         * modules/unictype/category-Pe: Likewise.
15566         * modules/unictype/category-Pf: Likewise.
15567         * modules/unictype/category-Pi: Likewise.
15568         * modules/unictype/category-Po: Likewise.
15569         * modules/unictype/category-Ps: Likewise.
15570         * modules/unictype/category-S: Likewise.
15571         * modules/unictype/category-Sc: Likewise.
15572         * modules/unictype/category-Sk: Likewise.
15573         * modules/unictype/category-Sm: Likewise.
15574         * modules/unictype/category-So: Likewise.
15575         * modules/unictype/category-Z: Likewise.
15576         * modules/unictype/category-Zl: Likewise.
15577         * modules/unictype/category-Zp: Likewise.
15578         * modules/unictype/category-Zs: Likewise.
15579         * modules/unictype/category-and: Likewise.
15580         * modules/unictype/category-and-not: Likewise.
15581         * modules/unictype/category-byname: Likewise.
15582         * modules/unictype/category-name: Likewise.
15583         * modules/unictype/category-none: Likewise.
15584         * modules/unictype/category-of: Likewise.
15585         * modules/unictype/category-or: Likewise.
15586         * modules/unictype/category-test: Likewise.
15587         * modules/unictype/combining-class: Likewise.
15588         * modules/unictype/ctype-alnum: Likewise.
15589         * modules/unictype/ctype-alpha: Likewise.
15590         * modules/unictype/ctype-blank: Likewise.
15591         * modules/unictype/ctype-cntrl: Likewise.
15592         * modules/unictype/ctype-digit: Likewise.
15593         * modules/unictype/ctype-graph: Likewise.
15594         * modules/unictype/ctype-lower: Likewise.
15595         * modules/unictype/ctype-print: Likewise.
15596         * modules/unictype/ctype-punct: Likewise.
15597         * modules/unictype/ctype-space: Likewise.
15598         * modules/unictype/ctype-upper: Likewise.
15599         * modules/unictype/ctype-xdigit: Likewise.
15600         * modules/unictype/decimal-digit: Likewise.
15601         * modules/unictype/digit: Likewise.
15602         * modules/unictype/mirror: Likewise.
15603         * modules/unictype/numeric: Likewise.
15604         * modules/unictype/property-alphabetic: Likewise.
15605         * modules/unictype/property-ascii-hex-digit: Likewise.
15606         * modules/unictype/property-bidi-arabic-digit: Likewise.
15607         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
15608         * modules/unictype/property-bidi-block-separator: Likewise.
15609         * modules/unictype/property-bidi-boundary-neutral: Likewise.
15610         * modules/unictype/property-bidi-common-separator: Likewise.
15611         * modules/unictype/property-bidi-control: Likewise.
15612         * modules/unictype/property-bidi-embedding-or-override: Likewise.
15613         * modules/unictype/property-bidi-eur-num-separator: Likewise.
15614         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
15615         * modules/unictype/property-bidi-european-digit: Likewise.
15616         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
15617         * modules/unictype/property-bidi-left-to-right: Likewise.
15618         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
15619         * modules/unictype/property-bidi-other-neutral: Likewise.
15620         * modules/unictype/property-bidi-pdf: Likewise.
15621         * modules/unictype/property-bidi-segment-separator: Likewise.
15622         * modules/unictype/property-bidi-whitespace: Likewise.
15623         * modules/unictype/property-byname: Likewise.
15624         * modules/unictype/property-combining: Likewise.
15625         * modules/unictype/property-composite: Likewise.
15626         * modules/unictype/property-currency-symbol: Likewise.
15627         * modules/unictype/property-dash: Likewise.
15628         * modules/unictype/property-decimal-digit: Likewise.
15629         * modules/unictype/property-default-ignorable-code-point: Likewise.
15630         * modules/unictype/property-deprecated: Likewise.
15631         * modules/unictype/property-diacritic: Likewise.
15632         * modules/unictype/property-extender: Likewise.
15633         * modules/unictype/property-format-control: Likewise.
15634         * modules/unictype/property-grapheme-base: Likewise.
15635         * modules/unictype/property-grapheme-extend: Likewise.
15636         * modules/unictype/property-grapheme-link: Likewise.
15637         * modules/unictype/property-hex-digit: Likewise.
15638         * modules/unictype/property-hyphen: Likewise.
15639         * modules/unictype/property-id-continue: Likewise.
15640         * modules/unictype/property-id-start: Likewise.
15641         * modules/unictype/property-ideographic: Likewise.
15642         * modules/unictype/property-ids-binary-operator: Likewise.
15643         * modules/unictype/property-ids-trinary-operator: Likewise.
15644         * modules/unictype/property-ignorable-control: Likewise.
15645         * modules/unictype/property-iso-control: Likewise.
15646         * modules/unictype/property-join-control: Likewise.
15647         * modules/unictype/property-left-of-pair: Likewise.
15648         * modules/unictype/property-line-separator: Likewise.
15649         * modules/unictype/property-logical-order-exception: Likewise.
15650         * modules/unictype/property-lowercase: Likewise.
15651         * modules/unictype/property-math: Likewise.
15652         * modules/unictype/property-non-break: Likewise.
15653         * modules/unictype/property-not-a-character: Likewise.
15654         * modules/unictype/property-numeric: Likewise.
15655         * modules/unictype/property-other-alphabetic: Likewise.
15656         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
15657         * modules/unictype/property-other-grapheme-extend: Likewise.
15658         * modules/unictype/property-other-id-continue: Likewise.
15659         * modules/unictype/property-other-id-start: Likewise.
15660         * modules/unictype/property-other-lowercase: Likewise.
15661         * modules/unictype/property-other-math: Likewise.
15662         * modules/unictype/property-other-uppercase: Likewise.
15663         * modules/unictype/property-paired-punctuation: Likewise.
15664         * modules/unictype/property-paragraph-separator: Likewise.
15665         * modules/unictype/property-pattern-syntax: Likewise.
15666         * modules/unictype/property-pattern-white-space: Likewise.
15667         * modules/unictype/property-private-use: Likewise.
15668         * modules/unictype/property-punctuation: Likewise.
15669         * modules/unictype/property-quotation-mark: Likewise.
15670         * modules/unictype/property-radical: Likewise.
15671         * modules/unictype/property-sentence-terminal: Likewise.
15672         * modules/unictype/property-soft-dotted: Likewise.
15673         * modules/unictype/property-space: Likewise.
15674         * modules/unictype/property-terminal-punctuation: Likewise.
15675         * modules/unictype/property-test: Likewise.
15676         * modules/unictype/property-titlecase: Likewise.
15677         * modules/unictype/property-unassigned-code-value: Likewise.
15678         * modules/unictype/property-unified-ideograph: Likewise.
15679         * modules/unictype/property-uppercase: Likewise.
15680         * modules/unictype/property-variation-selector: Likewise.
15681         * modules/unictype/property-white-space: Likewise.
15682         * modules/unictype/property-xid-continue: Likewise.
15683         * modules/unictype/property-xid-start: Likewise.
15684         * modules/unictype/property-zero-width: Likewise.
15685         * modules/unictype/scripts: Likewise.
15686         * modules/unictype/syntax-c-ident: Likewise.
15687         * modules/unictype/syntax-c-whitespace: Likewise.
15688         * modules/unictype/syntax-java-ident: Likewise.
15689         * modules/unictype/syntax-java-whitespace: Likewise.
15690         * modules/unilbrk/u8-possible-linebreaks: Likewise.
15691         * modules/unilbrk/u8-width-linebreaks: Likewise.
15692         * modules/unilbrk/u16-possible-linebreaks: Likewise.
15693         * modules/unilbrk/u16-width-linebreaks: Likewise.
15694         * modules/unilbrk/u32-possible-linebreaks: Likewise.
15695         * modules/unilbrk/u32-width-linebreaks: Likewise.
15696         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
15697         * modules/unilbrk/ulc-width-linebreaks: Likewise.
15698         * modules/uniname/uniname: Likewise.
15699         * modules/uninorm/canonical-decomposition: Likewise.
15700         * modules/uninorm/composition: Likewise.
15701         * modules/uninorm/decomposing-form: Likewise.
15702         * modules/uninorm/decomposition: Likewise.
15703         * modules/uninorm/filter: Likewise.
15704         * modules/uninorm/nfc: Likewise.
15705         * modules/uninorm/nfd: Likewise.
15706         * modules/uninorm/nfkc: Likewise.
15707         * modules/uninorm/nfkd: Likewise.
15708         * modules/uninorm/u8-normalize: Likewise.
15709         * modules/uninorm/u8-normcmp: Likewise.
15710         * modules/uninorm/u8-normcoll: Likewise.
15711         * modules/uninorm/u8-normxfrm: Likewise.
15712         * modules/uninorm/u16-normalize: Likewise.
15713         * modules/uninorm/u16-normcmp: Likewise.
15714         * modules/uninorm/u16-normcoll: Likewise.
15715         * modules/uninorm/u16-normxfrm: Likewise.
15716         * modules/uninorm/u32-normalize: Likewise.
15717         * modules/uninorm/u32-normcmp: Likewise.
15718         * modules/uninorm/u32-normcoll: Likewise.
15719         * modules/uninorm/u32-normxfrm: Likewise.
15720         * modules/unistdio/u8-asnprintf: Likewise.
15721         * modules/unistdio/u8-asprintf: Likewise.
15722         * modules/unistdio/u8-snprintf: Likewise.
15723         * modules/unistdio/u8-sprintf: Likewise.
15724         * modules/unistdio/u8-u8-asnprintf: Likewise.
15725         * modules/unistdio/u8-u8-asprintf: Likewise.
15726         * modules/unistdio/u8-u8-snprintf: Likewise.
15727         * modules/unistdio/u8-u8-sprintf: Likewise.
15728         * modules/unistdio/u8-u8-vasnprintf: Likewise.
15729         * modules/unistdio/u8-u8-vasprintf: Likewise.
15730         * modules/unistdio/u8-u8-vsnprintf: Likewise.
15731         * modules/unistdio/u8-u8-vsprintf: Likewise.
15732         * modules/unistdio/u8-vasnprintf: Likewise.
15733         * modules/unistdio/u8-vasprintf: Likewise.
15734         * modules/unistdio/u8-vsnprintf: Likewise.
15735         * modules/unistdio/u8-vsprintf: Likewise.
15736         * modules/unistdio/u16-asnprintf: Likewise.
15737         * modules/unistdio/u16-asprintf: Likewise.
15738         * modules/unistdio/u16-snprintf: Likewise.
15739         * modules/unistdio/u16-sprintf: Likewise.
15740         * modules/unistdio/u16-u16-asnprintf: Likewise.
15741         * modules/unistdio/u16-u16-asprintf: Likewise.
15742         * modules/unistdio/u16-u16-snprintf: Likewise.
15743         * modules/unistdio/u16-u16-sprintf: Likewise.
15744         * modules/unistdio/u16-u16-vasnprintf: Likewise.
15745         * modules/unistdio/u16-u16-vasprintf: Likewise.
15746         * modules/unistdio/u16-u16-vsnprintf: Likewise.
15747         * modules/unistdio/u16-u16-vsprintf: Likewise.
15748         * modules/unistdio/u16-vasnprintf: Likewise.
15749         * modules/unistdio/u16-vasprintf: Likewise.
15750         * modules/unistdio/u16-vsnprintf: Likewise.
15751         * modules/unistdio/u16-vsprintf: Likewise.
15752         * modules/unistdio/u32-asnprintf: Likewise.
15753         * modules/unistdio/u32-asprintf: Likewise.
15754         * modules/unistdio/u32-snprintf: Likewise.
15755         * modules/unistdio/u32-sprintf: Likewise.
15756         * modules/unistdio/u32-u32-asnprintf: Likewise.
15757         * modules/unistdio/u32-u32-asprintf: Likewise.
15758         * modules/unistdio/u32-u32-snprintf: Likewise.
15759         * modules/unistdio/u32-u32-sprintf: Likewise.
15760         * modules/unistdio/u32-u32-vasnprintf: Likewise.
15761         * modules/unistdio/u32-u32-vasprintf: Likewise.
15762         * modules/unistdio/u32-u32-vsnprintf: Likewise.
15763         * modules/unistdio/u32-u32-vsprintf: Likewise.
15764         * modules/unistdio/u32-vasnprintf: Likewise.
15765         * modules/unistdio/u32-vasprintf: Likewise.
15766         * modules/unistdio/u32-vsnprintf: Likewise.
15767         * modules/unistdio/u32-vsprintf: Likewise.
15768         * modules/unistdio/ulc-asnprintf: Likewise.
15769         * modules/unistdio/ulc-asprintf: Likewise.
15770         * modules/unistdio/ulc-fprintf: Likewise.
15771         * modules/unistdio/ulc-snprintf: Likewise.
15772         * modules/unistdio/ulc-sprintf: Likewise.
15773         * modules/unistdio/ulc-vasnprintf: Likewise.
15774         * modules/unistdio/ulc-vasprintf: Likewise.
15775         * modules/unistdio/ulc-vfprintf: Likewise.
15776         * modules/unistdio/ulc-vsnprintf: Likewise.
15777         * modules/unistdio/ulc-vsprintf: Likewise.
15778         * modules/unistr/u8-check: Likewise.
15779         * modules/unistr/u8-chr: Likewise.
15780         * modules/unistr/u8-cmp: Likewise.
15781         * modules/unistr/u8-cmp2: Likewise.
15782         * modules/unistr/u8-cpy: Likewise.
15783         * modules/unistr/u8-cpy-alloc: Likewise.
15784         * modules/unistr/u8-endswith: Likewise.
15785         * modules/unistr/u8-mblen: Likewise.
15786         * modules/unistr/u8-mbsnlen: Likewise.
15787         * modules/unistr/u8-mbtouc: Likewise.
15788         * modules/unistr/u8-mbtouc-unsafe: Likewise.
15789         * modules/unistr/u8-mbtoucr: Likewise.
15790         * modules/unistr/u8-move: Likewise.
15791         * modules/unistr/u8-next: Likewise.
15792         * modules/unistr/u8-prev: Likewise.
15793         * modules/unistr/u8-set: Likewise.
15794         * modules/unistr/u8-startswith: Likewise.
15795         * modules/unistr/u8-stpcpy: Likewise.
15796         * modules/unistr/u8-stpncpy: Likewise.
15797         * modules/unistr/u8-strcat: Likewise.
15798         * modules/unistr/u8-strchr: Likewise.
15799         * modules/unistr/u8-strcmp: Likewise.
15800         * modules/unistr/u8-strcoll: Likewise.
15801         * modules/unistr/u8-strcpy: Likewise.
15802         * modules/unistr/u8-strcspn: Likewise.
15803         * modules/unistr/u8-strdup: Likewise.
15804         * modules/unistr/u8-strlen: Likewise.
15805         * modules/unistr/u8-strmblen: Likewise.
15806         * modules/unistr/u8-strmbtouc: Likewise.
15807         * modules/unistr/u8-strncat: Likewise.
15808         * modules/unistr/u8-strncmp: Likewise.
15809         * modules/unistr/u8-strncpy: Likewise.
15810         * modules/unistr/u8-strnlen: Likewise.
15811         * modules/unistr/u8-strpbrk: Likewise.
15812         * modules/unistr/u8-strrchr: Likewise.
15813         * modules/unistr/u8-strspn: Likewise.
15814         * modules/unistr/u8-strstr: Likewise.
15815         * modules/unistr/u8-strtok: Likewise.
15816         * modules/unistr/u8-to-u16: Likewise.
15817         * modules/unistr/u8-to-u32: Likewise.
15818         * modules/unistr/u8-uctomb: Likewise.
15819         * modules/unistr/u16-check: Likewise.
15820         * modules/unistr/u16-chr: Likewise.
15821         * modules/unistr/u16-cmp: Likewise.
15822         * modules/unistr/u16-cmp2: Likewise.
15823         * modules/unistr/u16-cpy: Likewise.
15824         * modules/unistr/u16-cpy-alloc: Likewise.
15825         * modules/unistr/u16-endswith: Likewise.
15826         * modules/unistr/u16-mblen: Likewise.
15827         * modules/unistr/u16-mbsnlen: Likewise.
15828         * modules/unistr/u16-mbtouc: Likewise.
15829         * modules/unistr/u16-mbtouc-unsafe: Likewise.
15830         * modules/unistr/u16-mbtoucr: Likewise.
15831         * modules/unistr/u16-move: Likewise.
15832         * modules/unistr/u16-next: Likewise.
15833         * modules/unistr/u16-prev: Likewise.
15834         * modules/unistr/u16-set: Likewise.
15835         * modules/unistr/u16-startswith: Likewise.
15836         * modules/unistr/u16-stpcpy: Likewise.
15837         * modules/unistr/u16-stpncpy: Likewise.
15838         * modules/unistr/u16-strcat: Likewise.
15839         * modules/unistr/u16-strchr: Likewise.
15840         * modules/unistr/u16-strcmp: Likewise.
15841         * modules/unistr/u16-strcoll: Likewise.
15842         * modules/unistr/u16-strcpy: Likewise.
15843         * modules/unistr/u16-strcspn: Likewise.
15844         * modules/unistr/u16-strdup: Likewise.
15845         * modules/unistr/u16-strlen: Likewise.
15846         * modules/unistr/u16-strmblen: Likewise.
15847         * modules/unistr/u16-strmbtouc: Likewise.
15848         * modules/unistr/u16-strncat: Likewise.
15849         * modules/unistr/u16-strncmp: Likewise.
15850         * modules/unistr/u16-strncpy: Likewise.
15851         * modules/unistr/u16-strnlen: Likewise.
15852         * modules/unistr/u16-strpbrk: Likewise.
15853         * modules/unistr/u16-strrchr: Likewise.
15854         * modules/unistr/u16-strspn: Likewise.
15855         * modules/unistr/u16-strstr: Likewise.
15856         * modules/unistr/u16-strtok: Likewise.
15857         * modules/unistr/u16-to-u32: Likewise.
15858         * modules/unistr/u16-to-u8: Likewise.
15859         * modules/unistr/u16-uctomb: Likewise.
15860         * modules/unistr/u32-check: Likewise.
15861         * modules/unistr/u32-chr: Likewise.
15862         * modules/unistr/u32-cmp: Likewise.
15863         * modules/unistr/u32-cmp2: Likewise.
15864         * modules/unistr/u32-cpy: Likewise.
15865         * modules/unistr/u32-cpy-alloc: Likewise.
15866         * modules/unistr/u32-endswith: Likewise.
15867         * modules/unistr/u32-mblen: Likewise.
15868         * modules/unistr/u32-mbsnlen: Likewise.
15869         * modules/unistr/u32-mbtouc: Likewise.
15870         * modules/unistr/u32-mbtouc-unsafe: Likewise.
15871         * modules/unistr/u32-mbtoucr: Likewise.
15872         * modules/unistr/u32-move: Likewise.
15873         * modules/unistr/u32-next: Likewise.
15874         * modules/unistr/u32-prev: Likewise.
15875         * modules/unistr/u32-set: Likewise.
15876         * modules/unistr/u32-startswith: Likewise.
15877         * modules/unistr/u32-stpcpy: Likewise.
15878         * modules/unistr/u32-stpncpy: Likewise.
15879         * modules/unistr/u32-strcat: Likewise.
15880         * modules/unistr/u32-strchr: Likewise.
15881         * modules/unistr/u32-strcmp: Likewise.
15882         * modules/unistr/u32-strcoll: Likewise.
15883         * modules/unistr/u32-strcpy: Likewise.
15884         * modules/unistr/u32-strcspn: Likewise.
15885         * modules/unistr/u32-strdup: Likewise.
15886         * modules/unistr/u32-strlen: Likewise.
15887         * modules/unistr/u32-strmblen: Likewise.
15888         * modules/unistr/u32-strmbtouc: Likewise.
15889         * modules/unistr/u32-strncat: Likewise.
15890         * modules/unistr/u32-strncmp: Likewise.
15891         * modules/unistr/u32-strncpy: Likewise.
15892         * modules/unistr/u32-strnlen: Likewise.
15893         * modules/unistr/u32-strpbrk: Likewise.
15894         * modules/unistr/u32-strrchr: Likewise.
15895         * modules/unistr/u32-strspn: Likewise.
15896         * modules/unistr/u32-strstr: Likewise.
15897         * modules/unistr/u32-strtok: Likewise.
15898         * modules/unistr/u32-to-u16: Likewise.
15899         * modules/unistr/u32-to-u8: Likewise.
15900         * modules/unistr/u32-uctomb: Likewise.
15901         * modules/uniwbrk/u8-wordbreaks: Likewise.
15902         * modules/uniwbrk/u16-wordbreaks: Likewise.
15903         * modules/uniwbrk/u32-wordbreaks: Likewise.
15904         * modules/uniwbrk/ulc-wordbreaks: Likewise.
15905         * modules/uniwbrk/wordbreak-property: Likewise.
15906         * modules/uniwidth/u8-strwidth: Likewise.
15907         * modules/uniwidth/u8-width: Likewise.
15908         * modules/uniwidth/u16-strwidth: Likewise.
15909         * modules/uniwidth/u16-width: Likewise.
15910         * modules/uniwidth/u32-strwidth: Likewise.
15911         * modules/uniwidth/u32-width: Likewise.
15912         * modules/uniwidth/width: Likewise.
15913         * modules/unicase/cased-tests (Makefile.am): Link all test programs
15914         with $(LIBUNISTRING).
15915         * modules/unicase/ignorable-tests: Likewise.
15916         * modules/unicase/locale-language-tests: Likewise.
15917         * modules/unicase/tolower-tests: Likewise.
15918         * modules/unicase/totitle-tests: Likewise.
15919         * modules/unicase/toupper-tests: Likewise.
15920         * modules/unicase/u8-casecmp-tests: Likewise.
15921         * modules/unicase/u8-casecoll-tests: Likewise.
15922         * modules/unicase/u8-casefold-tests: Likewise.
15923         * modules/unicase/u8-is-cased-tests: Likewise.
15924         * modules/unicase/u8-is-casefolded-tests: Likewise.
15925         * modules/unicase/u8-is-lowercase-tests: Likewise.
15926         * modules/unicase/u8-is-titlecase-tests: Likewise.
15927         * modules/unicase/u8-is-uppercase-tests: Likewise.
15928         * modules/unicase/u8-tolower-tests: Likewise.
15929         * modules/unicase/u8-totitle-tests: Likewise.
15930         * modules/unicase/u8-toupper-tests: Likewise.
15931         * modules/unicase/u16-casecmp-tests: Likewise.
15932         * modules/unicase/u16-casecoll-tests: Likewise.
15933         * modules/unicase/u16-casefold-tests: Likewise.
15934         * modules/unicase/u16-is-cased-tests: Likewise.
15935         * modules/unicase/u16-is-casefolded-tests: Likewise.
15936         * modules/unicase/u16-is-lowercase-tests: Likewise.
15937         * modules/unicase/u16-is-titlecase-tests: Likewise.
15938         * modules/unicase/u16-is-uppercase-tests: Likewise.
15939         * modules/unicase/u16-tolower-tests: Likewise.
15940         * modules/unicase/u16-totitle-tests: Likewise.
15941         * modules/unicase/u16-toupper-tests: Likewise.
15942         * modules/unicase/u32-casecmp-tests: Likewise.
15943         * modules/unicase/u32-casecoll-tests: Likewise.
15944         * modules/unicase/u32-casefold-tests: Likewise.
15945         * modules/unicase/u32-is-cased-tests: Likewise.
15946         * modules/unicase/u32-is-casefolded-tests: Likewise.
15947         * modules/unicase/u32-is-lowercase-tests: Likewise.
15948         * modules/unicase/u32-is-titlecase-tests: Likewise.
15949         * modules/unicase/u32-is-uppercase-tests: Likewise.
15950         * modules/unicase/u32-tolower-tests: Likewise.
15951         * modules/unicase/u32-totitle-tests: Likewise.
15952         * modules/unicase/u32-toupper-tests: Likewise.
15953         * modules/unicase/ulc-casecmp-tests: Likewise.
15954         * modules/unicase/ulc-casecoll-tests: Likewise.
15955         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
15956         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
15957         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
15958         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
15959         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
15960         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
15961         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
15962         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
15963         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
15964         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
15965         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
15966         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
15967         * modules/unictype/bidicategory-byname-tests: Likewise.
15968         * modules/unictype/bidicategory-name-tests: Likewise.
15969         * modules/unictype/bidicategory-of-tests: Likewise.
15970         * modules/unictype/bidicategory-test-tests: Likewise.
15971         * modules/unictype/block-list-tests: Likewise.
15972         * modules/unictype/block-of-tests: Likewise.
15973         * modules/unictype/block-test-tests: Likewise.
15974         * modules/unictype/category-C-tests: Likewise.
15975         * modules/unictype/category-Cc-tests: Likewise.
15976         * modules/unictype/category-Cf-tests: Likewise.
15977         * modules/unictype/category-Cn-tests: Likewise.
15978         * modules/unictype/category-Co-tests: Likewise.
15979         * modules/unictype/category-Cs-tests: Likewise.
15980         * modules/unictype/category-L-tests: Likewise.
15981         * modules/unictype/category-Ll-tests: Likewise.
15982         * modules/unictype/category-Lm-tests: Likewise.
15983         * modules/unictype/category-Lo-tests: Likewise.
15984         * modules/unictype/category-Lt-tests: Likewise.
15985         * modules/unictype/category-Lu-tests: Likewise.
15986         * modules/unictype/category-M-tests: Likewise.
15987         * modules/unictype/category-Mc-tests: Likewise.
15988         * modules/unictype/category-Me-tests: Likewise.
15989         * modules/unictype/category-Mn-tests: Likewise.
15990         * modules/unictype/category-N-tests: Likewise.
15991         * modules/unictype/category-Nd-tests: Likewise.
15992         * modules/unictype/category-Nl-tests: Likewise.
15993         * modules/unictype/category-No-tests: Likewise.
15994         * modules/unictype/category-P-tests: Likewise.
15995         * modules/unictype/category-Pc-tests: Likewise.
15996         * modules/unictype/category-Pd-tests: Likewise.
15997         * modules/unictype/category-Pe-tests: Likewise.
15998         * modules/unictype/category-Pf-tests: Likewise.
15999         * modules/unictype/category-Pi-tests: Likewise.
16000         * modules/unictype/category-Po-tests: Likewise.
16001         * modules/unictype/category-Ps-tests: Likewise.
16002         * modules/unictype/category-S-tests: Likewise.
16003         * modules/unictype/category-Sc-tests: Likewise.
16004         * modules/unictype/category-Sk-tests: Likewise.
16005         * modules/unictype/category-Sm-tests: Likewise.
16006         * modules/unictype/category-So-tests: Likewise.
16007         * modules/unictype/category-Z-tests: Likewise.
16008         * modules/unictype/category-Zl-tests: Likewise.
16009         * modules/unictype/category-Zp-tests: Likewise.
16010         * modules/unictype/category-Zs-tests: Likewise.
16011         * modules/unictype/category-and-not-tests: Likewise.
16012         * modules/unictype/category-and-tests: Likewise.
16013         * modules/unictype/category-byname-tests: Likewise.
16014         * modules/unictype/category-name-tests: Likewise.
16015         * modules/unictype/category-none-tests: Likewise.
16016         * modules/unictype/category-of-tests: Likewise.
16017         * modules/unictype/category-or-tests: Likewise.
16018         * modules/unictype/category-test-withtable-tests: Likewise.
16019         * modules/unictype/combining-class-tests: Likewise.
16020         * modules/unictype/ctype-alnum-tests: Likewise.
16021         * modules/unictype/ctype-alpha-tests: Likewise.
16022         * modules/unictype/ctype-blank-tests: Likewise.
16023         * modules/unictype/ctype-cntrl-tests: Likewise.
16024         * modules/unictype/ctype-digit-tests: Likewise.
16025         * modules/unictype/ctype-graph-tests: Likewise.
16026         * modules/unictype/ctype-lower-tests: Likewise.
16027         * modules/unictype/ctype-print-tests: Likewise.
16028         * modules/unictype/ctype-punct-tests: Likewise.
16029         * modules/unictype/ctype-space-tests: Likewise.
16030         * modules/unictype/ctype-upper-tests: Likewise.
16031         * modules/unictype/ctype-xdigit-tests: Likewise.
16032         * modules/unictype/decimal-digit-tests: Likewise.
16033         * modules/unictype/digit-tests: Likewise.
16034         * modules/unictype/mirror-tests: Likewise.
16035         * modules/unictype/numeric-tests: Likewise.
16036         * modules/unictype/property-alphabetic-tests: Likewise.
16037         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
16038         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
16039         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
16040         * modules/unictype/property-bidi-block-separator-tests: Likewise.
16041         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
16042         * modules/unictype/property-bidi-common-separator-tests: Likewise.
16043         * modules/unictype/property-bidi-control-tests: Likewise.
16044         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
16045         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
16046         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
16047         * modules/unictype/property-bidi-european-digit-tests: Likewise.
16048         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
16049         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
16050         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
16051         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
16052         * modules/unictype/property-bidi-pdf-tests: Likewise.
16053         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
16054         * modules/unictype/property-bidi-whitespace-tests: Likewise.
16055         * modules/unictype/property-byname-tests: Likewise.
16056         * modules/unictype/property-combining-tests: Likewise.
16057         * modules/unictype/property-composite-tests: Likewise.
16058         * modules/unictype/property-currency-symbol-tests: Likewise.
16059         * modules/unictype/property-dash-tests: Likewise.
16060         * modules/unictype/property-decimal-digit-tests: Likewise.
16061         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
16062         * modules/unictype/property-deprecated-tests: Likewise.
16063         * modules/unictype/property-diacritic-tests: Likewise.
16064         * modules/unictype/property-extender-tests: Likewise.
16065         * modules/unictype/property-format-control-tests: Likewise.
16066         * modules/unictype/property-grapheme-base-tests: Likewise.
16067         * modules/unictype/property-grapheme-extend-tests: Likewise.
16068         * modules/unictype/property-grapheme-link-tests: Likewise.
16069         * modules/unictype/property-hex-digit-tests: Likewise.
16070         * modules/unictype/property-hyphen-tests: Likewise.
16071         * modules/unictype/property-id-continue-tests: Likewise.
16072         * modules/unictype/property-id-start-tests: Likewise.
16073         * modules/unictype/property-ideographic-tests: Likewise.
16074         * modules/unictype/property-ids-binary-operator-tests: Likewise.
16075         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
16076         * modules/unictype/property-ignorable-control-tests: Likewise.
16077         * modules/unictype/property-iso-control-tests: Likewise.
16078         * modules/unictype/property-join-control-tests: Likewise.
16079         * modules/unictype/property-left-of-pair-tests: Likewise.
16080         * modules/unictype/property-line-separator-tests: Likewise.
16081         * modules/unictype/property-logical-order-exception-tests: Likewise.
16082         * modules/unictype/property-lowercase-tests: Likewise.
16083         * modules/unictype/property-math-tests: Likewise.
16084         * modules/unictype/property-non-break-tests: Likewise.
16085         * modules/unictype/property-not-a-character-tests: Likewise.
16086         * modules/unictype/property-numeric-tests: Likewise.
16087         * modules/unictype/property-other-alphabetic-tests: Likewise.
16088         * modules/unictype/property-other-default-ignorable-code-point-tests:
16089         Likewise.
16090         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
16091         * modules/unictype/property-other-id-continue-tests: Likewise.
16092         * modules/unictype/property-other-id-start-tests: Likewise.
16093         * modules/unictype/property-other-lowercase-tests: Likewise.
16094         * modules/unictype/property-other-math-tests: Likewise.
16095         * modules/unictype/property-other-uppercase-tests: Likewise.
16096         * modules/unictype/property-paired-punctuation-tests: Likewise.
16097         * modules/unictype/property-paragraph-separator-tests: Likewise.
16098         * modules/unictype/property-pattern-syntax-tests: Likewise.
16099         * modules/unictype/property-pattern-white-space-tests: Likewise.
16100         * modules/unictype/property-private-use-tests: Likewise.
16101         * modules/unictype/property-punctuation-tests: Likewise.
16102         * modules/unictype/property-quotation-mark-tests: Likewise.
16103         * modules/unictype/property-radical-tests: Likewise.
16104         * modules/unictype/property-sentence-terminal-tests: Likewise.
16105         * modules/unictype/property-soft-dotted-tests: Likewise.
16106         * modules/unictype/property-space-tests: Likewise.
16107         * modules/unictype/property-terminal-punctuation-tests: Likewise.
16108         * modules/unictype/property-test-tests: Likewise.
16109         * modules/unictype/property-titlecase-tests: Likewise.
16110         * modules/unictype/property-unassigned-code-value-tests: Likewise.
16111         * modules/unictype/property-unified-ideograph-tests: Likewise.
16112         * modules/unictype/property-uppercase-tests: Likewise.
16113         * modules/unictype/property-variation-selector-tests: Likewise.
16114         * modules/unictype/property-white-space-tests: Likewise.
16115         * modules/unictype/property-xid-continue-tests: Likewise.
16116         * modules/unictype/property-xid-start-tests: Likewise.
16117         * modules/unictype/property-zero-width-tests: Likewise.
16118         * modules/unictype/scripts-tests: Likewise.
16119         * modules/unictype/syntax-c-ident-tests: Likewise.
16120         * modules/unictype/syntax-c-whitespace-tests: Likewise.
16121         * modules/unictype/syntax-java-ident-tests: Likewise.
16122         * modules/unictype/syntax-java-whitespace-tests: Likewise.
16123         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
16124         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
16125         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
16126         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
16127         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
16128         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
16129         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
16130         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
16131         * modules/uniname/uniname-tests: Likewise.
16132         * modules/uninorm/canonical-decomposition-tests: Likewise.
16133         * modules/uninorm/compat-decomposition-tests: Likewise.
16134         * modules/uninorm/composition-tests: Likewise.
16135         * modules/uninorm/decomposing-form-tests: Likewise.
16136         * modules/uninorm/decomposition-tests: Likewise.
16137         * modules/uninorm/filter-tests: Likewise.
16138         * modules/uninorm/nfc-tests: Likewise.
16139         * modules/uninorm/nfd-tests: Likewise.
16140         * modules/uninorm/nfkc-tests: Likewise.
16141         * modules/uninorm/nfkd-tests: Likewise.
16142         * modules/uninorm/u8-normcmp-tests: Likewise.
16143         * modules/uninorm/u8-normcoll-tests: Likewise.
16144         * modules/uninorm/u16-normcmp-tests: Likewise.
16145         * modules/uninorm/u16-normcoll-tests: Likewise.
16146         * modules/uninorm/u32-normcmp-tests: Likewise.
16147         * modules/uninorm/u32-normcoll-tests: Likewise.
16148         * modules/unistdio/u8-asnprintf-tests: Likewise.
16149         * modules/unistdio/u8-vasnprintf-tests: Likewise.
16150         * modules/unistdio/u8-vasprintf-tests: Likewise.
16151         * modules/unistdio/u8-vsnprintf-tests: Likewise.
16152         * modules/unistdio/u8-vsprintf-tests: Likewise.
16153         * modules/unistdio/u16-asnprintf-tests: Likewise.
16154         * modules/unistdio/u16-vasnprintf-tests: Likewise.
16155         * modules/unistdio/u16-vasprintf-tests: Likewise.
16156         * modules/unistdio/u16-vsnprintf-tests: Likewise.
16157         * modules/unistdio/u16-vsprintf-tests: Likewise.
16158         * modules/unistdio/u32-asnprintf-tests: Likewise.
16159         * modules/unistdio/u32-vasnprintf-tests: Likewise.
16160         * modules/unistdio/u32-vasprintf-tests: Likewise.
16161         * modules/unistdio/u32-vsnprintf-tests: Likewise.
16162         * modules/unistdio/u32-vsprintf-tests: Likewise.
16163         * modules/unistdio/ulc-asnprintf-tests: Likewise.
16164         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
16165         * modules/unistdio/ulc-vasprintf-tests: Likewise.
16166         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
16167         * modules/unistdio/ulc-vsprintf-tests: Likewise.
16168         * modules/unistr/u8-check-tests: Likewise.
16169         * modules/unistr/u8-chr-tests: Likewise.
16170         * modules/unistr/u8-cmp-tests: Likewise.
16171         * modules/unistr/u8-cmp2-tests: Likewise.
16172         * modules/unistr/u8-cpy-alloc-tests: Likewise.
16173         * modules/unistr/u8-cpy-tests: Likewise.
16174         * modules/unistr/u8-mblen-tests: Likewise.
16175         * modules/unistr/u8-mbsnlen-tests: Likewise.
16176         * modules/unistr/u8-mbtouc-tests: Likewise.
16177         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
16178         * modules/unistr/u8-mbtoucr-tests: Likewise.
16179         * modules/unistr/u8-move-tests: Likewise.
16180         * modules/unistr/u8-next-tests: Likewise.
16181         * modules/unistr/u8-prev-tests: Likewise.
16182         * modules/unistr/u8-set-tests: Likewise.
16183         * modules/unistr/u8-stpcpy-tests: Likewise.
16184         * modules/unistr/u8-stpncpy-tests: Likewise.
16185         * modules/unistr/u8-strcat-tests: Likewise.
16186         * modules/unistr/u8-strcmp-tests: Likewise.
16187         * modules/unistr/u8-strcoll-tests: Likewise.
16188         * modules/unistr/u8-strcpy-tests: Likewise.
16189         * modules/unistr/u8-strdup-tests: Likewise.
16190         * modules/unistr/u8-strlen-tests: Likewise.
16191         * modules/unistr/u8-strmblen-tests: Likewise.
16192         * modules/unistr/u8-strmbtouc-tests: Likewise.
16193         * modules/unistr/u8-strncat-tests: Likewise.
16194         * modules/unistr/u8-strncmp-tests: Likewise.
16195         * modules/unistr/u8-strncpy-tests: Likewise.
16196         * modules/unistr/u8-strnlen-tests: Likewise.
16197         * modules/unistr/u8-to-u16-tests: Likewise.
16198         * modules/unistr/u8-to-u32-tests: Likewise.
16199         * modules/unistr/u8-uctomb-tests: Likewise.
16200         * modules/unistr/u16-check-tests: Likewise.
16201         * modules/unistr/u16-chr-tests: Likewise.
16202         * modules/unistr/u16-cmp-tests: Likewise.
16203         * modules/unistr/u16-cmp2-tests: Likewise.
16204         * modules/unistr/u16-cpy-alloc-tests: Likewise.
16205         * modules/unistr/u16-cpy-tests: Likewise.
16206         * modules/unistr/u16-mblen-tests: Likewise.
16207         * modules/unistr/u16-mbsnlen-tests: Likewise.
16208         * modules/unistr/u16-mbtouc-tests: Likewise.
16209         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
16210         * modules/unistr/u16-mbtoucr-tests: Likewise.
16211         * modules/unistr/u16-move-tests: Likewise.
16212         * modules/unistr/u16-next-tests: Likewise.
16213         * modules/unistr/u16-prev-tests: Likewise.
16214         * modules/unistr/u16-set-tests: Likewise.
16215         * modules/unistr/u16-stpcpy-tests: Likewise.
16216         * modules/unistr/u16-stpncpy-tests: Likewise.
16217         * modules/unistr/u16-strcat-tests: Likewise.
16218         * modules/unistr/u16-strcmp-tests: Likewise.
16219         * modules/unistr/u16-strcoll-tests: Likewise.
16220         * modules/unistr/u16-strcpy-tests: Likewise.
16221         * modules/unistr/u16-strdup-tests: Likewise.
16222         * modules/unistr/u16-strlen-tests: Likewise.
16223         * modules/unistr/u16-strmblen-tests: Likewise.
16224         * modules/unistr/u16-strmbtouc-tests: Likewise.
16225         * modules/unistr/u16-strncat-tests: Likewise.
16226         * modules/unistr/u16-strncmp-tests: Likewise.
16227         * modules/unistr/u16-strncpy-tests: Likewise.
16228         * modules/unistr/u16-strnlen-tests: Likewise.
16229         * modules/unistr/u16-to-u32-tests: Likewise.
16230         * modules/unistr/u16-to-u8-tests: Likewise.
16231         * modules/unistr/u16-uctomb-tests: Likewise.
16232         * modules/unistr/u32-check-tests: Likewise.
16233         * modules/unistr/u32-chr-tests: Likewise.
16234         * modules/unistr/u32-cmp-tests: Likewise.
16235         * modules/unistr/u32-cmp2-tests: Likewise.
16236         * modules/unistr/u32-cpy-alloc-tests: Likewise.
16237         * modules/unistr/u32-cpy-tests: Likewise.
16238         * modules/unistr/u32-mblen-tests: Likewise.
16239         * modules/unistr/u32-mbsnlen-tests: Likewise.
16240         * modules/unistr/u32-mbtouc-tests: Likewise.
16241         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
16242         * modules/unistr/u32-mbtoucr-tests: Likewise.
16243         * modules/unistr/u32-move-tests: Likewise.
16244         * modules/unistr/u32-next-tests: Likewise.
16245         * modules/unistr/u32-prev-tests: Likewise.
16246         * modules/unistr/u32-set-tests: Likewise.
16247         * modules/unistr/u32-stpcpy-tests: Likewise.
16248         * modules/unistr/u32-stpncpy-tests: Likewise.
16249         * modules/unistr/u32-strcat-tests: Likewise.
16250         * modules/unistr/u32-strcmp-tests: Likewise.
16251         * modules/unistr/u32-strcoll-tests: Likewise.
16252         * modules/unistr/u32-strcpy-tests: Likewise.
16253         * modules/unistr/u32-strdup-tests: Likewise.
16254         * modules/unistr/u32-strlen-tests: Likewise.
16255         * modules/unistr/u32-strmblen-tests: Likewise.
16256         * modules/unistr/u32-strmbtouc-tests: Likewise.
16257         * modules/unistr/u32-strncat-tests: Likewise.
16258         * modules/unistr/u32-strncmp-tests: Likewise.
16259         * modules/unistr/u32-strncpy-tests: Likewise.
16260         * modules/unistr/u32-strnlen-tests: Likewise.
16261         * modules/unistr/u32-to-u16-tests: Likewise.
16262         * modules/unistr/u32-to-u8-tests: Likewise.
16263         * modules/unistr/u32-uctomb-tests: Likewise.
16264         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
16265         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
16266         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
16267         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
16268         * modules/uniwidth/u8-strwidth-tests: Likewise.
16269         * modules/uniwidth/u8-width-tests: Likewise.
16270         * modules/uniwidth/u16-strwidth-tests: Likewise.
16271         * modules/uniwidth/u16-width-tests: Likewise.
16272         * modules/uniwidth/u32-strwidth-tests: Likewise.
16273         * modules/uniwidth/u32-width-tests: Likewise.
16274         * modules/uniwidth/width-tests: Likewise.
16275
16276 2010-05-18  Richard Jones  <rjones@redhat.com>
16277
16278         doc: users.txt: list hivex
16279         * users.txt: Add hivex.
16280
16281 2010-05-18  Richard Jones  <rjones@redhat.com>
16282
16283         doc: users.txt: list febootstrap
16284         * users.txt: Add febootstrap.
16285
16286 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
16287
16288         bootstrap: fix an error when gnulib is not used as a git submodule
16289         * build-aux/bootstrap (gnulib_path): If its length is zero then
16290         assign "gnulib" to it.
16291         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
16292
16293 2010-05-16  Bruno Haible  <bruno@clisp.org>
16294
16295         Avoid autoconf warnings about AM_ICONV.
16296         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
16297         2.64.
16298
16299 2010-05-16  Bruno Haible  <bruno@clisp.org>
16300
16301         absolute-header: Make the macro usable in more situations.
16302         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
16303         from gl_ABSOLUTE_HEADER.
16304         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
16305
16306 2010-05-16  James Youngman  <jay@gnu.org>
16307
16308         doc: update users.txt
16309         * users.txt: Add CSSC.
16310
16311 2010-05-16  Jim Meyering  <meyering@redhat.com>
16312
16313         init.sh: fix an error in the previous change; add more comments
16314         * tests/init.sh: Compare exit code in loop against 9, not 2.
16315         Patch by Bruno Haible.
16316         Make the two tests more similar by adding an empty "then" clause.
16317         Add comments.
16318
16319         init.sh: avoid unnecessary shell re-exec
16320         * tests/init.sh: Improve the re-exec-required check to first test the
16321         current shell.  If it passes the test, do not search for a shell that
16322         does pass, and do not re-exec.  This test is particularly contorted to
16323         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
16324         of $(...) evokes a syntax error and causes immediate shell exit with
16325         status 2.  Bruno Haible reported that the re-exec made it impossible
16326         to single-step through any init.sh-using script.
16327
16328 2010-05-16  Bruno Haible  <bruno@clisp.org>
16329
16330         Fix collision between gnulib's and libintl's printf replacements.
16331         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
16332         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
16333         (printf): When using GNU C, map the __printf__ function to rpl_printf
16334         via __asm__. When not using GNU C, define rpl_printf instead of
16335         __printf__.
16336         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
16337         commit.
16338         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
16339         commit.
16340         * m4/asm-underscore.m4: New file.
16341         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
16342         * modules/stdio (Files): Add m4/asm-underscore.m4.
16343         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
16344         Reported by Ben Pfaff.
16345
16346 2010-05-16  Bruno Haible  <bruno@clisp.org>
16347
16348         verify: Avoid skipping the test on openSUSE 11.0.
16349         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
16350
16351 2010-05-13  Bruno Haible  <bruno@clisp.org>
16352
16353         Avoid useless warnings from G++.
16354         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
16355         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
16356         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16357
16358 2010-05-11  Jim Meyering  <meyering@redhat.com>
16359
16360         maint.mk: tweak preceding change
16361         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
16362         regexps tighter by anchoring at EOL, and make the new group "shy"
16363         for slightly decreased overhead.
16364
16365 2010-05-11  Eric Blake  <eblake@redhat.com>
16366
16367         maint.mk: gnulib doesn't guarantee NSIG
16368         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
16369
16370 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16371
16372         test-pwrite.c: Remove unused variable declaration.
16373         * tests/test-pwrite.c (main): Remove read_buf declaration.
16374
16375         Remove useless test-pwrite.sh file.
16376         * tests/test-pwrite.sh: Delete file.
16377         * modules/pwrite-tests: Remove references.
16378         Reported by Bruno Haible.
16379
16380 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16381
16382         init.sh: fix a typo
16383         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
16384
16385 2010-05-10  Jim Meyering  <meyering@redhat.com>
16386
16387         maint.mk: avoid using a temporary file in the always-defined-macros check
16388         * top/maint.mk (.re-defmac): Remove rule.
16389         (gl_trap_): Remove definition.
16390         (sc_prohibit_always-defined_macros): Rewrite not to create and
16391         depend on a temporary file.  Instead, depend on GNU grep's ability
16392         to read a list of regular expressions from stdin when given "-f -".
16393
16394 2010-05-09  Bruno Haible  <bruno@clisp.org>
16395
16396         Update to GNU gettext 0.18, part 1.
16397         * m4/gettext.m4: Update to GNU gettext 0.18.
16398         * m4/intl.m4: Likewise.
16399         * m4/po.m4: Likewise.
16400         * modules/gettext (Files): Add m4/fcntl-o.m4.
16401         (configure.ac): Require gettext infrastructure from version 0.18.
16402
16403 2010-05-09  Jim Meyering  <meyering@redhat.com>
16404
16405         init.sh: enable MALLOC_PERTURB_
16406         * tests/init.sh: Enable glibc's malloc-perturbing option.
16407
16408         maint.mk: improve sc_cross_check_PATH_usage_in_tests
16409         With my recent change in init.sh from the two-line form:
16410             -#   : ${srcdir=.}
16411             -#   . "$srcdir/init.sh"; path_prepend_ .
16412             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
16413         I noticed that using the one-line form would cause this test
16414         to fail with a false-positive, or to stop working altogether,
16415         depending on whether help-version changed or all the tests did.
16416         * top/maint.mk (_hv_regex): Remove this definition.
16417         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
16418         (_hv_regex_strong): Use a stronger regex to check for conformance.
16419         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
16420         Give a separate diagnostic for lack of conforming use.
16421
16422         maint.mk: prohibit definition of symbols defined by gnulib
16423         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
16424         definition of symbols defined by gnulib.
16425
16426 2010-05-09  Bruno Haible  <bruno@clisp.org>
16427
16428         acl: Avoid test failure on Cygwin-hosted mingw.
16429         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
16430
16431 2010-05-09  Bruno Haible  <bruno@clisp.org>
16432
16433         error: Use system's fcntl function.
16434         * lib/error.c (fcntl): Undefine.
16435
16436 2010-05-09  Jim Meyering  <meyering@redhat.com>
16437
16438         verify: adjust formatting to be more consistent
16439         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
16440         argument-list '('s, and after one comma.
16441
16442 2010-05-09  Bruno Haible  <bruno@clisp.org>
16443
16444         error: More reliable output on mingw.
16445         * lib/error.c: Include <windows.h>.
16446         (is_open): New function.
16447         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
16448         defined.
16449
16450 2010-05-09  Bruno Haible  <bruno@clisp.org>
16451
16452         vasnprintf: Fix syntax errors in libintl build on mingw.
16453         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
16454         pad_ourselves and prec_ourselves after use.
16455
16456 2010-05-08  Bruno Haible  <bruno@clisp.org>
16457
16458         * lib/config.charset: Update comments for Cygwin 1.7.
16459         * lib/localcharset.c: Likewise.
16460
16461 2010-05-07  Jim Meyering  <meyering@redhat.com>
16462
16463         init.sh: improve comments
16464         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
16465         . "${srcdir=.}/init.sh"; path_prepend_ .
16466         Add a note about path_prepend_ and the alternative of using
16467         TESTS_ENVIRONMENT.
16468
16469 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
16470
16471         exclude: Unescape hashed patterns in wildcard mode.
16472         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
16473         to the hash list.
16474         * tests/test-exclude8.sh: New test case.
16475         * modules/exclude-tests: Add new test.
16476
16477 2010-05-05  Eric Blake  <eblake@redhat.com>
16478
16479         verify: automate tests
16480         * modules/verify-tests: New module.
16481         * tests/test-verify.sh: New file.
16482         * tests/test-verify.c: Guard each negative test with a unique id.
16483         Also avoid warning about unused left hand of comma expressions.
16484
16485 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16486
16487         Further improvements to verify.h, suggested by Eric Blake.
16488         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
16489         the GL_* versions, to avoid collision with OpenGL.
16490         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
16491         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
16492         than testing merely whether it's defined.
16493
16494         Modify verify.h to pacify gcc -Wredundant_decls.
16495         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
16496         These use the prefix "GL_" since they're likely to be useful elsewhere.
16497         We may need to break them out into a different .h file.
16498         (__COUNTER__): Define to 0 if the compiler doesn't support it.
16499         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
16500         of verify_function__.
16501
16502 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
16503
16504         Tests for module pwrite.
16505         * modules/pwrite-tests: New file.
16506         * tests/test-pwrite.sh: New file.
16507         * tests/test-pwrite.c: New file.
16508
16509         New module pwrite.
16510         * lib/unistd.in.h (pwrite): New declaration.
16511         * lib/pwrite.c: New file, from glibc with modifications.
16512         * m4/pwrite.m4: New file.
16513         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
16514         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
16515         REPLACE_PWRITE.
16516         * modules/pwrite: New file.
16517         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
16518         REPLACE_PWRITE.
16519         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
16520         * doc/posix-functions/pwrite.texi: Mention the new module.
16521
16522 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
16523
16524         pread: Update documentation.
16525         * doc/posix-functions/pread.texi: Mention the 'pread' module.
16526
16527 2010-05-04  Eric Blake  <eblake@redhat.com>
16528
16529         docs: update cygwin progress
16530         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
16531         this bug.
16532         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
16533         Added in cygwin 1.7.2.
16534         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
16535         Likewise.
16536         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
16537         Likewise.
16538         * doc/glibc-functions/dup3.texi (dup3): Likewise.
16539         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16540         * doc/glibc-functions/accept4.texi (accept4): Likewise.
16541         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
16542         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
16543         Mention nproc module.
16544         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
16545         bug in cygwin 1.7.5 addition.
16546         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
16547         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
16548         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
16549         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
16550         1.7.5.
16551         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
16552         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
16553         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
16554         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
16555         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
16556         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
16557         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
16558         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
16559         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
16560         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
16561         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
16562         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
16563         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
16564         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
16565         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
16566         Likewise.
16567         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
16568         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
16569         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
16570         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
16571         Likewise.
16572         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
16573         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
16574         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
16575         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
16576         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
16577         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
16578         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
16579         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
16580         Likewise.
16581         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
16582         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
16583         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
16584         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
16585         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
16586         Likewise.
16587         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
16588         Likewise.
16589         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
16590         Likewise.
16591         * doc/glibc-functions/xdrrec_endofrecord.texi
16592         (xdrrec_endofrecord): Likewise.
16593         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
16594         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
16595         Likewise.
16596         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
16597         Likewise.
16598
16599 2010-05-04  Jim Meyering  <meyering@redhat.com>
16600
16601         gendocs.sh: make its "-s FILE" option more useful
16602         * build-aux/gendocs.sh: When honoring the -s FILE option, update
16603         $PACKAGE to reflect the probably-different basename of "FILE".
16604
16605 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
16606
16607         bootstrap: don't ignore download_po_files failure
16608         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
16609         failure.
16610
16611 2010-05-03  Jim Meyering  <meyering@redhat.com>
16612
16613         maint.mk: allow to pass options to gendocs.sh
16614         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
16615         (gendocs_options_): New overridable variable.
16616
16617         gnu-web-doc-update: don't ignore configure or build failure
16618         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
16619
16620         announce-gen: backslash-escape '@'s in --help output
16621         * build-aux/announce-gen: Fix syntax errors.
16622
16623         maint.mk, announce-gen: allow project-specific announcement mail headers
16624         * top/maint.mk (translation_project_): Define default.
16625         (announcement_Cc_, announcement_mail_headers_): Likewise.
16626         (announcement): Invoke announce-gen with new --mail-headers option.
16627         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
16628
16629         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
16630         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
16631         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
16632         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
16633         line in the "err2" output file when running "make check" in verbose
16634         mode (i.e., with set -x enabled).
16635
16636 2010-05-03  Bruno Haible  <bruno@clisp.org>
16637
16638         wctob: Fix for weird platforms.
16639         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
16640         argument value.
16641
16642 2010-05-03  Jim Meyering  <meyering@redhat.com>
16643
16644         maint.mk: prohibit unwarranted use of <strings.h>
16645         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
16646         strings.h in a file that does not also use strcasecmp, strncasecmp,
16647         ffs or ffsll.
16648
16649         maint.mk: remove obsolete comments
16650         * top/maint.mk: Remove stale, commented-out rules.
16651
16652 2010-05-02  Bruno Haible  <bruno@clisp.org>
16653
16654         wcwidth: Declare also when it's aliased.
16655         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
16656         macro.
16657
16658 2010-05-02  Bruno Haible  <bruno@clisp.org>
16659
16660         Fix regression from 2010-04-25.
16661         * gnulib-tool (func_modules_transitive_closure): Check the status of
16662         all modules, not only of the tests that are of the form foo-tests where
16663         foo is a module.
16664
16665 2010-05-02  Bruno Haible  <bruno@clisp.org>
16666
16667         wctob: Work around nasty Cygwin 1.7.2 bug.
16668         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
16669         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
16670
16671 2010-05-01  Bruno Haible  <bruno@clisp.org>
16672
16673         fpurge: Sharper test.
16674         * tests/test-fpurge.c (main): Add one more ftell check.
16675         * modules/fpurge-tests (Depends-on): Add ftell.
16676         Suggested by Eric Blake.
16677
16678 2010-05-01  Bruno Haible  <bruno@clisp.org>
16679
16680         ftello: Another test.
16681         * tests/test-ftello3.c: New file.
16682         * modules/ftello-tests (Files): Add it.
16683         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16684         MOSTLYCLEANFILES.
16685
16686         ftell: Another test.
16687         * tests/test-ftell3.c: New file.
16688         * modules/ftell-tests (Files): Add it.
16689         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16690         MOSTLYCLEANFILES.
16691
16692 2010-05-01  Bruno Haible  <bruno@clisp.org>
16693
16694         ftell, ftello: Work around Solaris bug.
16695         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
16696         * lib/ftello.c: Include stdio-impl.h.
16697         (ftello): On Solaris, when _IOWRT is set, compute the result without
16698         looking at _IOREAD.
16699         * modules/ftello (Files): Add lib/stdio-impl.h.
16700         * doc/posix-functions/ftell.texi: Mention Solaris bug.
16701         * doc/posix-functions/ftello.texi: Likewise.
16702         Reported by Eric Blake.
16703
16704 2010-05-01  Bruno Haible  <bruno@clisp.org>
16705
16706         freading: Adapt to special meaning of _IOREAD flag on Solaris.
16707         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
16708         the _IOWRT flag is also set.
16709
16710 2010-05-01  Bruno Haible  <bruno@clisp.org>
16711
16712         Fix doc about a HP-UX stdio bug.
16713         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
16714         * doc/posix-functions/ftello.texi: Likewise.
16715
16716 2010-05-01  Bruno Haible  <bruno@clisp.org>
16717
16718         lseek test: Fix failure on Solaris.
16719         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
16720         output.
16721
16722 2010-04-30  Jim Meyering  <meyering@redhat.com>
16723
16724         bootstrap: don't ignore failure to generate po*/Makevars
16725         * build-aux/bootstrap (with_gettext): Don't ignore failure
16726         to create po/Makevars or runtime-po/Makevars.
16727
16728 2010-04-29  Eric Blake  <eblake@redhat.com>
16729
16730         headers: relax license to LGPLv2+
16731         * modules/fcntl-h (License): Relax license.
16732         * modules/getopt-posix (License): Likewise.
16733         * modules/locale (License): Likewise.
16734         * modules/math (License): Likewise.
16735         * modules/pty (License): Likewise.
16736         * modules/sched (License): Likewise.
16737         * modules/search (License): Likewise.
16738         * modules/spawn (License): Likewise.
16739         * modules/stdarg (License): Likewise.
16740         * modules/sysexits (License): Likewise.
16741
16742 2010-04-29  Jim Meyering  <meyering@redhat.com>
16743
16744         inttypes: relax license to LGPLv2+
16745         * modules/inttypes (License): Relax license.
16746
16747 2010-04-29  Simon Josefsson  <simon@josefsson.org>
16748
16749         * top/maint.mk (indent): Run twice to produce idempotent results.
16750
16751 2010-04-28  Bruno Haible  <bruno@clisp.org>
16752
16753         getdate: Generate getdate.c in the source directory.
16754         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
16755         MOSTLYCLEANFILES.
16756         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
16757
16758 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
16759
16760         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
16761         is not declared as a const *; avoid warnings in that case.
16762
16763 2010-04-28  Eric Blake  <eblake@redhat.com>
16764
16765         canonicalize-lgpl: avoid compiler warning
16766         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
16767         declaration' / 'extraneous semicolon' warning with some compilers.
16768         Reported by Andreas Gruenbacher.
16769
16770 2010-04-28  Jim Meyering  <meyering@redhat.com>
16771
16772         init.sh: ensure a more reliable exit status when exiting via trap
16773         * tests/init.sh (setup_): Don't rely on $? in signal handler.
16774         Inspired by patches from Dmitry V. Levin.
16775         Also trap on signal 3 (SIGQUIT).
16776
16777 2010-04-27  Bruno Haible  <bruno@clisp.org>
16778
16779         Update doc about utimes().
16780         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
16781         'utimens' module.
16782         Reported by Andreas Gruenbacher <agruen@suse.de>.
16783
16784 2010-04-27  Eric Blake  <eblake@redhat.com>
16785
16786         full-read, full-write: relax license
16787         * modules/full-read (License): Drop to LGPLv2+.
16788         * modules/full-write (License): Likewise.
16789         * modules/safe-read (License): Likewise.
16790         * modules/safe-write (License): Likewise.
16791
16792         pthread: mention library for linking
16793         * modules/pthread (Link): Mention $(LIB_PTHREAD).
16794
16795 2010-04-27  Jim Meyering  <meyering@redhat.com>
16796
16797         maint.mk: fix a bug introduced in last change
16798         * top/maint.mk (gl_assured_headers_): Now that all names are on
16799         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
16800         is not anchored to end of word, it should be adequate.
16801
16802         maint.mk: avoid side-effect in latest syntax-check
16803         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
16804         to run commands via $(shell...), and hence to incur cost only when
16805         the new rule is actually run.
16806
16807         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
16808         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
16809         and use that to create a regexp used to detect all #if HAVE_..._H uses.
16810         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
16811         (gl_assured_headers_, az_, AZ_): Define.
16812         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
16813
16814 2010-04-26  Jim Meyering  <jim@meyering.net>
16815             Bruno Haible  <bruno@clisp.org>
16816
16817         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
16818         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
16819         Prompted by an exchange with Gilles Espinasse.
16820
16821 2010-04-26  Jim Meyering  <meyering@redhat.com>
16822
16823         git-version-gen: aesthetic tweak
16824         * build-aux/git-version-gen: Use "$nl" rather than a literal,
16825         so that the command remains on a single line.
16826
16827 2010-04-26  Eric Blake  <eblake@redhat.com>
16828
16829         git-version-gen: allow use on EBCDIC hosts
16830         * build-aux/git-version-gen (dirty): Use literal rather than tying
16831         ourselves to ascii.
16832         Reported by Steve Goetze.
16833
16834 2010-04-25  Bruno Haible  <bruno@clisp.org>
16835
16836         netdb: Add support for GNULIB_POSIXCHECK.
16837         * lib/netdb.in.h: Include warn-on-use.h.
16838         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
16839         functions are used when GNULIB_POSIXCHECK is defined and the
16840         getaddrinfo module is not in use.
16841         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
16842         freeaddrinfo, gai_strerror, getnameinfo are declared.
16843         * modules/netdb (Depends-on): Add warn-on-use.
16844         (Makefile.am): Include warn-on-use.h in netdb.h.
16845
16846 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
16847
16848         build: avoid "make check" failure without .git/ directory
16849         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
16850         there is no .git/ directory.
16851
16852 2010-04-25  Bruno Haible  <bruno@clisp.org>
16853
16854         ptsname: Fix misuse of ttyname_r.
16855         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
16856         of errno.
16857
16858 2010-04-25  Bruno Haible  <bruno@clisp.org>
16859
16860         ttyname_r: Make it work on Solaris 10.
16861         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
16862         if the system function has the POSIX declaration. Test whether the
16863         function fails if the buffer is less than 128 bytes large.
16864         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
16865         system's ttyname_r function. Provide a reasonably large buffer.
16866         * modules/ttyname_r (Depends-on): Add extensions.
16867         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
16868
16869 2010-04-25  Bruno Haible  <bruno@clisp.org>
16870
16871         Use the 'extensions' module for some more functions on Solaris.
16872         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
16873         module.
16874         * doc/posix-functions/ctime_r.texi: Likewise.
16875         * doc/posix-functions/getgrgid_r.texi: Likewise.
16876         * doc/posix-functions/getgrnam_r.texi: Likewise.
16877         * doc/posix-functions/getpwnam_r.texi: Likewise.
16878         * doc/posix-functions/getpwuid_r.texi: Likewise.
16879         * doc/posix-functions/readdir_r.texi: Likewise.
16880         * doc/posix-functions/sigwait.texi: Likewise.
16881         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
16882         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
16883
16884 2010-04-25  Bruno Haible  <bruno@clisp.org>
16885
16886         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
16887         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
16888         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
16889         * lib/ttyname_r.c: Include <limits.h>.
16890         (ttyname_r): Define using the system's ttyname_r function, if it exists
16891         and not on Solaris.
16892         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
16893         set.
16894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
16895         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
16896         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
16897         Reported by Simon Josefsson.
16898
16899 2010-04-25  Bruno Haible  <bruno@clisp.org>
16900
16901         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
16902         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
16903         * doc/posix-functions/ctime_r.texi: Likewise.
16904         * doc/posix-functions/getgrgid_r.texi: Likewise.
16905         * doc/posix-functions/getgrnam_r.texi: Likewise.
16906         * doc/posix-functions/getlogin_r.texi: Likewise.
16907         * doc/posix-functions/getpwnam_r.texi: Likewise.
16908         * doc/posix-functions/getpwuid_r.texi: Likewise.
16909         * doc/posix-functions/readdir_r.texi: Likewise.
16910         * doc/posix-functions/sigwait.texi: Likewise.
16911         * doc/posix-functions/ttyname_r.texi: Likewise.
16912         Reported by Simon Josefsson.
16913
16914 2010-04-25  Bruno Haible  <bruno@clisp.org>
16915
16916         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
16917         * gnulib-tool (func_usage): Document that --with-*-tests options apply
16918         also to --create-testdir.
16919         (func_acceptable): Don't consider the status of *-tests modules here.
16920         (func_modules_transitive_closure): Consider it here, before including a
16921         test module.
16922         (func_import, func_create_testdir): Set inc_all_direct_tests,
16923         inc_all_indirect_tests.
16924         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
16925         --create-testdir and --create-megatestdir.
16926
16927 2010-04-25  Bruno Haible  <bruno@clisp.org>
16928
16929         gnulib-tool: Add --without-*-tests options.
16930         * gnulib-tool (func_usage): Document the --without-*-tests options.
16931         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
16932         excl_unportable_tests): New variables.
16933         Fail if they are specified with --import or --update.
16934         (func_acceptable): Respect the excl_*_tests variables.
16935         (func_import): Set the excl_*_tests variables to empty.
16936
16937 2010-04-25  Simon Josefsson  <simon@josefsson.org>
16938             Bruno Haible  <bruno@clisp.org>
16939
16940         Work around a MacOS X 10.4 bug with openpty.
16941         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
16942         * tests/test-openpty.c (main): Close the master side explicitly.
16943
16944 2010-04-25  Bruno Haible  <bruno@clisp.org>
16945
16946         strnlen: Fix a C++ test error on MacOS X and Solaris.
16947         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
16948         the function is not declared.
16949         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
16950         Simon Josefsson.
16951
16952 2010-04-24  Bruno Haible  <bruno@clisp.org>
16953
16954         Avoid a gcc warning.
16955         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
16956         of correct type for %08lx directive.
16957         Reported by Eric Blake.
16958
16959 2010-04-24  Bruno Haible  <bruno@clisp.org>
16960
16961         vasnprintf: Correct errno value in case of out-of-memory.
16962         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
16963         or sprintf. Use the errno value from SNPRINTF or sprintf.
16964         Reported by Ian Beckwith <ianb@erislabs.net>.
16965
16966 2010-04-24  Bruno Haible  <bruno@clisp.org>
16967
16968         ansi-c++-opt: Find correct compiler when cross-compiling.
16969         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
16970         AC_CHECK_PROGS.
16971         Reported by Simon Josefsson.
16972
16973 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
16974
16975         vc-list-files: Add support for subversion
16976         * build-aux/vc-list-files: Use "svn list" to generate the list of
16977         files controlled by subversion.
16978
16979 2010-04-23  Jim Meyering  <meyering@redhat.com>
16980
16981         vc-list-files tests: convert to use init.sh
16982         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
16983         path_prepend_.
16984         Use Exit, not exit.
16985         Use skip_ rather than open coding it.
16986         Remove trap set-up and compare definitions.
16987         * tests/test-vc-list-files-git.sh: Likewise.
16988         * modules/vc-list-files-tests (Files): Add tests/init.sh.
16989
16990 2010-04-22  Simon Josefsson  <simon@josefsson.org>
16991
16992         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
16993         backup files.
16994
16995 2010-04-21  Simon Josefsson  <simon@josefsson.org>
16996
16997         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
16998
16999 2010-04-20  Eric Blake  <eblake@redhat.com>
17000
17001         tests: be robust to ignored SIGPIPE
17002         * tests/test-select-in.sh: Consume all output.
17003         * tests/test-lseek.sh: Check correct exit status, while avoiding
17004         EPIPE.
17005
17006 2010-04-20  Simon Josefsson  <simon@josefsson.org>
17007             Bruno Haible  <bruno@clisp.org>
17008
17009         visibility: Don't use -fvisibility if it leads to a warning.
17010         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
17011         yes, don't pretend that visibility works if it leads to a warning.
17012         Reported by Mike Gran <spk121@yahoo.com>.
17013
17014 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
17015
17016         * build-aux/bootstrap: Use "git -h" for testing for supported options
17017         instead of "git --help".  The short-form option only shows a summary,
17018         and doesn't layout the full man page.  Grep for the full option name
17019         in the summary, too.
17020
17021 2010-04-19  Bruno Haible  <bruno@clisp.org>
17022
17023         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
17024         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
17025         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
17026         mention of RELOCATABLE_STRIP.
17027         Reported by Sylvain Beucler <beuc@beuc.net>.
17028
17029 2010-04-19  Bruno Haible  <bruno@clisp.org>
17030
17031         * lib/diffseq.h: Fix typo in comment.
17032         Reported by Eric Blake.
17033
17034 2010-04-19  Bruno Haible  <bruno@clisp.org>
17035
17036         ioctl: Move autoconf macro to a .m4 file.
17037         * m4/ioctl.m4: New file, extracted from modules/ioctl.
17038         * modules/ioctl (Files): Add it.
17039         (configure.ac): Simply invoke gl_FUNC_IOCTL.
17040         Reported by Ian Beckwith <ianb@erislabs.net>.
17041
17042 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
17043             Bruno Haible  <bruno@clisp.org>
17044
17045         diffseq: Accommodate use-case with abstract arrays.
17046         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
17047         is not defined.
17048         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
17049         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
17050
17051 2010-04-18  Bruno Haible  <bruno@clisp.org>
17052
17053         * doc/posix-headers/stdbool.texi: More precise wording.
17054
17055 2010-04-17  Jim Meyering  <meyering@redhat.com>
17056
17057         maint.mk: use gnu-style indentation in an embedded perl script
17058         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
17059         Rename variable: s/two/last_two_bytes/
17060
17061 2010-04-16  Eric Blake  <eblake@redhat.com>
17062
17063         test-stdbool: skip test that fails with Solaris CC
17064         * tests/test-stdbool.c (f): Skip test that causes compilation
17065         error under buggy C++ compiler.
17066         * lib/stdbool.in.h: Document the limitation.
17067         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
17068
17069         setenv: allow compilation with C++
17070         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
17071         register keyword.
17072
17073         stdint: allow test to pass with C++
17074         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
17075
17076         getopt: allow compilation with C++
17077         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
17078         struct.
17079         * lib/getopt.c (_getopt_internal_r): Use correct type.
17080         Reported by Dagobert Michelson, via Joel E. Denny.
17081
17082 2010-04-16  Bruno Haible  <bruno@clisp.org>
17083
17084         Override netdb.h always.
17085         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
17086         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
17087         Reported by Ludovic Courtès <ludo@gnu.org>.
17088
17089 2010-04-15  Bruno Haible  <bruno@clisp.org>
17090
17091         openpty: Fix mistake from 2010-03-21.
17092         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
17093         Reported by Simon Josefsson.
17094
17095 2010-04-15  Eric Blake  <eblake@redhat.com>
17096
17097         test-forkpty: fix expected signature
17098         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
17099         Reported by Simon Josefsson.
17100
17101 2010-04-15  Jim Meyering  <meyering@redhat.com>
17102
17103         maint.mk: texinfo_suffix_re_: correct the default regexp
17104         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
17105
17106         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
17107         make it configurable via texinfo_suffix_re_.
17108
17109 2010-04-14  Eric Blake  <eblake@redhat.com>
17110
17111         strtok_r: relax license to LGPLv2+
17112         * modules/strtok_r (License): Relax license.
17113         Reported by Matthias Bolte.
17114
17115 2010-04-14  Simon Josefsson  <simon@josefsson.org>
17116
17117         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
17118         version 1.4.4 by default instead of requiring the libgcrypt
17119         version used during build.  This makes it possible to use the
17120         application with older but still binary compatible libgcrypt
17121         versions.
17122
17123 2010-04-13  Eric Blake  <eblake@redhat.com>
17124
17125         getopt-gnu: match recent glibc fixes and posix ruling
17126         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
17127         '+' handling, when requesting extensions.
17128         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
17129         'W;' handling.
17130         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
17131         * doc/posix-functions/getopt.texi (getopt): Document this.
17132         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
17133         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17134         Likewise.
17135
17136         getopt: merge bug fixes from glibc
17137         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
17138         diagnostics.  Honor '+:' correctly.  Reject ';'.
17139
17140         getopt-posix: detect MacOS bug
17141         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
17142         optind when missing a required argument.
17143         * doc/posix-functions/getopt.texi (getopt): Document the bug.
17144         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
17145         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17146         Likewise.
17147
17148         getopt-posix: avoid spurious failure on Solaris
17149         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
17150         an indicator that setting optind=1 is sufficient for reset.
17151
17152         getopt-posix: avoid spurious failure on FreeBSD
17153         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
17154         in POSIX mode, since the m4 test uses it.
17155
17156         gnulib-tool: silence warning on BSD sh
17157         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
17158
17159 2010-04-13  Jim Meyering  <meyering@redhat.com>
17160
17161         doc: users.txt: GNU patch now uses gnulib
17162         * users.txt: Add patch.
17163
17164 2010-04-12  Jim Meyering  <meyering@redhat.com>
17165
17166         maint.mk: generate more concise timing data for syntax-check rules
17167         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
17168         " done" from each line that reports a syntax-check test duration.
17169
17170 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
17171
17172         git-version-gen: use "git update-index..." rather than "git status"
17173         * build-aux/git-version-gen: Use git update-index --refresh, not
17174         "git status".  With some versions of git, "git status" would fail
17175         to update the index and result in an unwarranted "-dirty" suffix.
17176
17177 2010-04-11  Jim Meyering  <meyering@redhat.com>
17178
17179         openat: correct formatting (no semantic change)
17180         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
17181         Suggested by Bruno Haible.
17182
17183 2010-04-11  Bruno Haible  <bruno@clisp.org>
17184
17185         Stricter declaration checking in testdirs.
17186         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17187         If for_tests is true, augment AM_CPPFLAGS to define
17188         GNULIB_STRICT_CHECKING.
17189         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
17190         GNULIB_STRICT_CHECKING is defined, verify that the function is
17191         declared.
17192
17193 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
17194             Bruno Haible  <bruno@clisp.org>
17195
17196         libunistring: Improve configure output.
17197         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
17198         Don't say "consider installing GNU libunistring" when checking again
17199         with libiconv.
17200
17201 2010-04-11  Bruno Haible  <bruno@clisp.org>
17202
17203         libunistring: Correct value of $LTLIBUNISTRING.
17204         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
17205         correct the value of $LTLIBUNISTRING.
17206
17207 2010-04-11  Bruno Haible  <bruno@clisp.org>
17208
17209         havelib: Add static libraries to LIBS in the right order.
17210         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
17211         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
17212
17213 2010-04-11  Bruno Haible  <bruno@clisp.org>
17214
17215         libunistring: Detect libunistring also when it depends on libiconv.
17216         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
17217         the second AC_LIB_HAVE_LINKFLAGS invocation.
17218
17219 2010-04-11  James Youngman  <jay@gnu.org>
17220
17221         close-stream: declare local scalars to be "const"
17222         * lib/close-stream.c (close_stream): Make boolean variables const
17223         to document the fact that we set but do not change them.
17224
17225 2010-04-11  Bruno Haible  <bruno@clisp.org>
17226
17227         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
17228
17229 2010-04-11  Jim Meyering  <meyering@redhat.com>
17230
17231         maint.mk: don't include dist-check.mk
17232         * top/maint.mk: Remove bogus include directive.
17233
17234         maint.mk: improve empty-line-at-EOF check
17235         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
17236         solution, rather than tail+Perl-based one.  The latter would read
17237         a few kilobytes from the end of each file, and did not handle empty
17238         files properly.
17239
17240         maint.mk: print the elapsed time for each syntax-check rule
17241         * top/maint.mk (sc_m_rules_): Save start time in a file.
17242         (sc_z_rules_): New rules: remove temp file and print elapsed time.
17243         (local-check): Interpose the .z rules
17244
17245 2010-04-11  Jim Meyering  <meyering@redhat.com>
17246
17247         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
17248         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
17249         empty file with one that ends in an empty line.
17250
17251 2010-04-10  Bruno Haible  <bruno@clisp.org>
17252
17253         mkdir: Make it work on mingw64.
17254         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
17255         * lib/mkdir.c: Update comment.
17256         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
17257
17258 2010-04-10  Bruno Haible  <bruno@clisp.org>
17259
17260         Don't override improved macro from newer autoconf.
17261         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
17262         autoconf >= 2.62.
17263         Reported by Joel E. Denny <jdenny@clemson.edu>.
17264
17265 2010-04-10  Jim Meyering  <meyering@redhat.com>
17266
17267         maint.mk: new syntax-check rule: prohibit empty lines at end of file
17268         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
17269
17270         maint.mk: correct a diagnostic
17271         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
17272         in diagnostic; now use $prohibit.
17273
17274 2010-04-10  Bruno Haible  <address@hidden>
17275
17276         fchownat: Fix a C++ test error on Solaris 8.
17277         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
17278         the function does not exist.
17279
17280 2010-04-10  Bruno Haible  <bruno@clisp.org>
17281
17282         vasnprintf: Add more tests.
17283         * tests/test-vasnprintf-posix.c: Include <errno.h>.
17284         (test_function): Test converting an invalid wide string.
17285
17286         vasnprintf: Correct handling of unconvertible wide string arguments.
17287         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
17288         VASNPRINTF.
17289         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
17290         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
17291         smaller than the expected maximum need for the directive. Set errno to
17292         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
17293         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
17294         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
17295         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
17296         * modules/vasnprintf (Files): Add m4/printf.m4.
17297         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17298
17299 2010-04-10  Bruno Haible  <bruno@clisp.org>
17300
17301         vasnprintf: Fix crash in %ls directive.
17302         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
17303         string is passed as argument to %ls, with no precision and no width.
17304         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17305
17306 2010-04-10  Bruno Haible  <bruno@clisp.org>
17307
17308         vasnprintf: Fix multiple test failures on mingw.
17309         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
17310         _snprintf, or snwprintf, not _snwprintf.
17311
17312 2010-04-10  Bruno Haible  <bruno@clisp.org>
17313
17314         write: Fix a C++ test error on mingw.
17315         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
17316
17317 2010-04-10  Bruno Haible  <bruno@clisp.org>
17318
17319         vasnprintf test: Reduce code duplication.
17320         * tests/test-vasnprintf.c (test_function): New function, extracted from
17321         test_vasnprintf.
17322         (test_vasnprintf, test_asnprintf): Invoke it.
17323
17324 2010-04-10  Bruno Haible  <bruno@clisp.org>
17325
17326         strnlen: Fix warning in C++ mode on MacOS X.
17327         * lib/string.in.h (strnlen): Use the modern idiom.
17328         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
17329         defining strnlen as a macro already in <config.h>.
17330         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17331         REPLACE_STRNLEN.
17332         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
17333         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17334
17335 2010-04-08  James Youngman  <jay@gnu.org>
17336
17337         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
17338         the example.
17339
17340 2010-04-09  Jim Meyering  <meyering@redhat.com>
17341
17342         maint.mk: print better diagnostic when there is no $(_hv_file)
17343         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
17344         announce that when $(_hv_file) (aka help-version) does not exist.
17345
17346         init.sh: run tr in the "C" locale to avoid multibyte interpretation
17347         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
17348         not try to interpret its random input bytes.  Jarno Rajahalme reported
17349         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
17350         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
17351         (mktempd_): Likewise, just in case.
17352
17353         ftruncate: add two years to projected module removal date: 2012
17354         * m4/ftruncate.m4: Adjust comments.
17355
17356         ftruncate: mark module as obsolete; even MinGW provides it, now
17357         * modules/ftruncate (Status): Obsolete.
17358         (Notice): Say that.
17359         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
17360         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
17361
17362 2010-04-08  Bruno Haible  <bruno@clisp.org>
17363
17364         Fix side effects from tests-related modules.
17365         * modules/dprintf-posix (Comment): New section.
17366         * modules/fprintf-posix (Comment): Likewise.
17367         * modules/obstack-printf-posix (Comment): Likewise.
17368         * modules/printf-posix (Comment): Likewise.
17369         * modules/snprintf-posix (Comment): Likewise.
17370         * modules/sprintf-posix (Comment): Likewise.
17371         * modules/vasnprintf-posix (Comment): Likewise.
17372         * modules/vasprintf-posix (Comment): Likewise.
17373         * modules/vdprintf-posix (Comment): Likewise.
17374         * modules/vfprintf-posix (Comment): Likewise.
17375         * modules/vprintf-posix (Comment): Likewise.
17376         * modules/vsnprintf-posix (Comment): Likewise.
17377         * modules/vsprintf-posix (Comment): Likewise.
17378         * modules/xprintf-posix (Comment): Likewise.
17379         * modules/xvasprintf-posix (Comment): Likewise.
17380         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
17381         * modules/floorf-tests (Depends-on): Likewise.
17382         * modules/round-tests (Depends-on): Likewise.
17383         * modules/roundf-tests (Depends-on): Likewise.
17384         * modules/trunc-tests (Depends-on): Likewise.
17385         * modules/truncf-tests (Depends-on): Likewise.
17386         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
17387         'fprintf-posix' module is not present.
17388         * tests/test-floorf2.c (check): Likewise.
17389         * tests/test-trunc2.c (check): Likewise.
17390         * tests/test-truncf2.c (check): Likewise.
17391         * tests/test-round2.c (equal): Likewise.
17392         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17393
17394 2010-04-07  Karl Berry  <karl@gnu.org>
17395
17396         * config/srclist.txt,
17397         * config/srclistvars.sh,
17398         * config/srclist-update: doc fixes.
17399
17400 2010-04-07  Jim Meyering  <meyering@redhat.com>
17401
17402         maint.mk: add a PATH crosschecking syntax-check rule
17403         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
17404         Useful if you use a test like the one in help-version (coreutils,
17405         diffutils, grep, gzip) that ensures $(VERSION) matches what is
17406         printed by prog --version.
17407
17408 2010-04-06  Bruno Haible  <bruno@clisp.org>
17409
17410         Fix link error on mingw.
17411         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
17412         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
17413
17414 2010-04-06  Bruno Haible  <bruno@clisp.org>
17415
17416         Assume rmdir exists.
17417         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
17418
17419 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
17420
17421         doc: update users.txt
17422         * users.txt: Add gcal.
17423
17424 2010-04-06  Jim Meyering  <meyering@redhat.com>
17425
17426         init.sh: simply unset TMPDIR rather than risking env -i
17427         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
17428         although it probably works fine on all Unix-based systems, some
17429         systems (Cygwin?) cannot tolerate a totally cleared environment.
17430         Suggestion from Eric Blake.
17431
17432 2010-04-06  Jim Meyering  <meyering@redhat.com>
17433
17434         init.sh: portability fix: use env's POSIX-specified -i option not -u
17435         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
17436         than unportable env -u.  Solaris 5.11's env lacks support for -u.
17437
17438 2010-04-05  Bruno Haible  <bruno@clisp.org>
17439
17440         btowc: Work around Cygwin 1.7.2 bug.
17441         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
17442         does not map NUL to 0.
17443         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
17444
17445 2010-04-05  Bruno Haible  <bruno@clisp.org>
17446
17447         Make the multithread modules work on Cygwin 1.7.2.
17448         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
17449         imported symbols can be declared weak, so that it returns "no" on
17450         Cygwin 1.7.2.
17451
17452 2010-04-05  Bruno Haible  <bruno@clisp.org>
17453
17454         Use the module 'strncat'.
17455         * modules/unistr/u8-strncat (Depends-on): Add strncat.
17456
17457         Tests for module 'strncat'.
17458         * modules/strncat-tests: New file.
17459         * tests/test-strncat.c: New file.
17460
17461         New module 'strncat'.
17462         * lib/string.in.h (strncat): New declaration.
17463         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
17464         * m4/strncat.m4: New file, based on m4/memchr.m4.
17465         * modules/strncat: New file.
17466         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
17467         is declared.
17468         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
17469         REPLACE_STRNCAT.
17470         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
17471         REPLACE_STRNCAT.
17472         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
17473         module.
17474         * tests/test-string-c++.cc: Check signature of strncat.
17475
17476 2010-04-05  Jim Meyering  <meyering@redhat.com>
17477
17478         xstrtoumax-tests: convert to use init.sh
17479         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
17480         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17481         Use Exit, not exit.
17482         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17483
17484         xstrtoimax-tests: convert to use init.sh
17485         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
17486         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17487         Use Exit, not exit.
17488         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17489
17490 2010-04-05  Bruno Haible  <bruno@clisp.org>
17491
17492         sys_socket: Avoid #define replacements in C++ mode.
17493         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
17494         warning to the function if possible, rather than #defining the symbol
17495         to a dysfunctional alias.
17496
17497 2010-04-05  Bruno Haible  <bruno@clisp.org>
17498
17499         fseeko: Fix C++ test error on mingw.
17500         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
17501         gl_FUNC_FSEEKO.
17502         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
17503         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
17504         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
17505         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
17506
17507 2010-04-05  Bruno Haible  <bruno@clisp.org>
17508
17509         duplocale: Improve test output.
17510         * tests/test-duplocale.c (main): Print reason for skipped test.
17511
17512 2010-04-05  Bruno Haible  <bruno@clisp.org>
17513
17514         Assume rmdir exists.
17515         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
17516         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
17517
17518 2010-04-05  Bruno Haible  <bruno@clisp.org>
17519
17520         Fix link error on Solaris 8 with cc.
17521         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
17522
17523 2010-04-05  Bruno Haible  <bruno@clisp.org>
17524
17525         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
17526         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
17527
17528 2010-04-05  Bruno Haible  <bruno@clisp.org>
17529
17530         vasprintf: Update documentation.
17531         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
17532
17533 2010-04-05  Bruno Haible  <bruno@clisp.org>
17534
17535         ptsname: Improve test.
17536         * tests/test-ptsname.c (main): Also try the various master names of BSD
17537         systems.
17538
17539 2010-04-05  Bruno Haible  <bruno@clisp.org>
17540
17541         memchr: Avoid a possible C++ test error.
17542         * lib/string.in.h (memchr): Provide declaration if function is missing.
17543         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
17544         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
17545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
17546         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
17547
17548 2010-04-05  Bruno Haible  <bruno@clisp.org>
17549
17550         strtok_r: Improve idiom.
17551         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
17552         AC_LIBOBJ is used.
17553
17554 2010-04-05  Bruno Haible  <bruno@clisp.org>
17555
17556         strdup: Improve idiom.
17557         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
17558         AC_LIBOBJ is used.
17559         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
17560         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
17561         when AC_LIBOBJ is used.
17562
17563 2010-04-05  Bruno Haible  <bruno@clisp.org>
17564
17565         mbsinit, mbrtowc, wcrtomb: Improve idioms.
17566         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
17567         don't set REPLACE_MBSINIT to 1.
17568         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
17569         don't set REPLACE_MBRTOWC to 1.
17570         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
17571         exist, don't set REPLACE_MBSRTOWCS to 1.
17572         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
17573         exist, don't set REPLACE_MBSNRTOWCS to 1.
17574         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
17575         don't set REPLACE_WCRTOMB to 1.
17576         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
17577         exist, don't set REPLACE_WCSRTOMBS to 1.
17578         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
17579         exist, don't set REPLACE_WCSNRTOMBS to 1.
17580
17581 2010-04-05  Bruno Haible  <bruno@clisp.org>
17582
17583         ldexpl: Improve idiom.
17584         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
17585         make sure to set HAVE_DECL_LDEXPL to 0.
17586
17587 2010-04-05  Jim Meyering  <meyering@redhat.com>
17588
17589         xstrtol-tests: convert to use init.sh
17590         * modules/xstrtol-tests (Files): Add tests/init.sh.
17591         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17592         Use Exit, not exit.
17593         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17594
17595         atexit-tests: convert to use init.sh
17596         * modules/atexit-tests (Files): Add tests/init.sh.
17597         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17598         Use Exit, not exit.
17599         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17600
17601         init.sh: fix typo
17602         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
17603
17604         init.sh: make it easier for a test script to write to the tty, ...
17605         when using automake's parallel-tests mode.
17606         * tests/init.sh (stderr_fileno_): Define overridable variable.
17607         (warn_): New function, to use it.
17608         (fail_, skip_, framework_failure_): Use warn_.
17609
17610 2010-04-04  Bruno Haible  <bruno@clisp.org>
17611
17612         btowc: Avoid warning.
17613         * lib/btowc.c: Include <stdlib.h>.
17614         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
17615
17616 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
17617             Bruno Haible  <bruno@clisp.org>
17618
17619         wchar: Port to NetBSD 1.5.
17620         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
17621         * lib/wctype.in.h (WEOF): Likewise.
17622
17623 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
17624             Bruno Haible  <bruno@clisp.org>
17625
17626         Port extended stdio to NetBSD 1.5.
17627         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
17628         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
17629         older.
17630
17631 2010-04-04  Bruno Haible  <bruno@clisp.org>
17632
17633         string: Remove unused substitution.
17634         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
17635         HAVE_DECL_STRERROR.
17636         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
17637
17638 2010-04-04  Bruno Haible  <bruno@clisp.org>
17639
17640         strtod: Avoid a possible C++ test error.
17641         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
17642         set REPLACE_STRTOD.
17643
17644 2010-04-04  Bruno Haible  <bruno@clisp.org>
17645
17646         strerror: Update documentation.
17647         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
17648
17649 2010-04-04  Bruno Haible  <bruno@clisp.org>
17650
17651         stdio: Fix some C++ test errors on Solaris 8 with GCC.
17652         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
17653         _GL_CXXALIAS_SYS_CAST.
17654
17655 2010-04-04  Bruno Haible  <bruno@clisp.org>
17656
17657         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
17658         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
17659         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
17660         REPLACE_FREXPL to 1.
17661         * doc/posix-functions/frexpl.texi: Update documentation.
17662
17663 2010-04-04  Bruno Haible  <bruno@clisp.org>
17664
17665         math: Fix some C++ test errors on Solaris 8 and Cygwin.
17666         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
17667
17668 2010-04-04  Bruno Haible  <bruno@clisp.org>
17669
17670         Implement nanosleep for native Windows.
17671         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
17672
17673 2010-04-04  Bruno Haible  <bruno@clisp.org>
17674
17675         math: Fix some C++ test errors on Solaris 8.
17676         * lib/math.in.h (truncf, trunc): Use simpler idiom.
17677
17678 2010-04-04  Bruno Haible  <bruno@clisp.org>
17679
17680         math: Fix some C++ test errors on Cygwin.
17681         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
17682         truncl): Provide declaration if the system does not have it.
17683         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
17684         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
17685         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
17686         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
17687         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
17688         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
17689         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
17690         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
17691         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
17692         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
17693         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
17694         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
17695         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
17696         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
17697         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
17698         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
17699         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
17700         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17701         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17702         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
17703         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17704         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17705
17706 2010-04-04  Bruno Haible  <bruno@clisp.org>
17707
17708         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
17709         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17710         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
17711         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
17712         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
17713         * m4/isinf.m4 (gl_ISINF): Likewise.
17714         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17715
17716 2010-04-04  Bruno Haible  <bruno@clisp.org>
17717
17718         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
17719         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17720
17721 2010-04-04  Bruno Haible  <bruno@clisp.org>
17722
17723         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
17724         * modules/tmpfile (configure.ac): Update.
17725
17726         tmpfile: Fix C++ test error on mingw.
17727         * lib/stdio.in.h (tmpfile): New declaration.
17728         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
17729         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
17730         * modules/tmpfile (Depends-on): Add stdio.
17731         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
17732         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
17733         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
17734         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
17735         REPLACE_TMPFILE.
17736         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
17737
17738 2010-04-04  Bruno Haible  <bruno@clisp.org>
17739
17740         ioctl: Fix C++ test error on mingw.
17741         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
17742         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
17743         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
17744
17745 2010-04-03  Bruno Haible  <bruno@clisp.org>
17746
17747         wcwidth: Fix C++ test error on mingw.
17748         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
17749         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
17750         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
17751
17752 2010-04-03  Bruno Haible  <bruno@clisp.org>
17753
17754         nanosleep: Fix C++ test error on mingw.
17755         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
17756         * lib/time.in.h (nanosleep): Use modern idiom.
17757         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
17758         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
17759         REPLACE_NANOSLEEP to 1.
17760         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
17761         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
17762
17763 2010-04-03  Bruno Haible  <bruno@clisp.org>
17764
17765         strptime: Fix C++ test error on mingw.
17766         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
17767         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
17768         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
17769         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
17770         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
17771         not REPLACE_STRPTIME.
17772         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
17773         REPLACE_STRPTIME.
17774
17775 2010-04-03  Bruno Haible  <bruno@clisp.org>
17776
17777         timegm: Fix C++ test error on mingw.
17778         * lib/time.in.h (timegm): Use modern idiom.
17779         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
17780         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
17781         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
17782         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
17783
17784 2010-04-03  Bruno Haible  <bruno@clisp.org>
17785
17786         timegm: Assume declaration if function exists.
17787         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
17788         if it exists. Don't clobber ac_cv_func_timegm.
17789
17790 2010-04-03  Bruno Haible  <bruno@clisp.org>
17791
17792         time_r: Fix C++ test error on mingw.
17793         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
17794         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
17795         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
17796         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
17797         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
17798
17799 2010-04-03  Bruno Haible  <bruno@clisp.org>
17800
17801         time_r: Minor updates.
17802         * modules/time_r (Description): Mention the provided functions.
17803         * lib/time_r.c: Don't include <string.h>.
17804         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
17805         * doc/posix-functions/localtime_r.texi: Likewise.
17806
17807 2010-04-03  Bruno Haible  <bruno@clisp.org>
17808
17809         time: Fix regression introduced on 2010-03-08.
17810         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
17811         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
17812
17813 2010-04-03  Jim Meyering  <meyering@redhat.com>
17814
17815         maint.mk: don't silently disable project-specific syntax-check rules
17816         * top/maint.mk (_prohibit_regexp): Define, to help people realize
17817         that they need to convert their project-specific syntax-check rules
17818         to use the new _sc_search_regexp.
17819
17820 2010-04-03  Bruno Haible  <bruno@clisp.org>
17821
17822         fchdir: Fix regression introduced on 2010-03-08.
17823         * lib/unistd.in.h (fchdir): Fix declaration.
17824         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
17825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
17826         REPLACE_FCHDIR.
17827         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
17828         REPLACE_FCHDIR.
17829
17830 2010-04-03  Bruno Haible  <bruno@clisp.org>
17831
17832         getpagesize: Fix C++ test error on mingw.
17833         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
17834         system does not declare the function.
17835         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
17836         declared.
17837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17838         HAVE_DECL_GETPAGESIZE.
17839         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
17840
17841 2010-04-03  Bruno Haible  <bruno@clisp.org>
17842
17843         stdio: Make C++ tests work on mingw.
17844         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
17845         does not declare the function.
17846
17847 2010-04-03  Bruno Haible  <bruno@clisp.org>
17848
17849         ftello: Fix C++ test error on mingw.
17850         * lib/stdio.in.h (ftello): Use modern idiom.
17851         * lib/ftello.c (ftello): Renamed from rpl_ftello.
17852         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
17853         is missing and that it needs to be replaced.
17854         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
17855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
17856         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
17857
17858 2010-04-03  Bruno Haible  <bruno@clisp.org>
17859
17860         fseeko: Fix C++ test error on mingw.
17861         * lib/stdio.in.h (fseeko): Use modern idiom.
17862         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
17863         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
17864         is missing and that it needs to be replaced.
17865         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
17866         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
17867         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
17868
17869 2010-04-03  Bruno Haible  <bruno@clisp.org>
17870
17871         mkstemp: Fix C++ test error on mingw.
17872         * lib/stdlib.in.h (mkstemp): Use modern idiom.
17873         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
17874         function is missing and that it needs to be replaced.
17875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
17876         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
17877
17878 2010-04-03  Bruno Haible  <bruno@clisp.org>
17879
17880         stpncpy: Fix C++ test error on mingw.
17881         * lib/string.in.h (stpncpy): Use modern idiom.
17882         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
17883         function is missing and that it needs to be replaced.
17884         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17885         REPLACE_STPNCPY.
17886         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
17887
17888 2010-04-03  Bruno Haible  <bruno@clisp.org>
17889
17890         sys_stat: Fix C++ test error on mingw.
17891         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
17892         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
17893
17894 2010-04-03  Bruno Haible  <bruno@clisp.org>
17895
17896         pty: Update doc.
17897         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
17898
17899 2010-04-03  Bruno Haible  <bruno@clisp.org>
17900
17901         unistd: Fix C++ test error on mingw.
17902         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
17903
17904 2010-04-03  Bruno Haible  <bruno@clisp.org>
17905
17906         Update doc regarding mingw.
17907         * doc/glibc-functions/openpty.texi: Update regarding mingw.
17908         * doc/glibc-functions/login_tty.texi: Likewise.
17909         * doc/glibc-functions/forkpty.texi: Likewise.
17910
17911 2010-04-03  Bruno Haible  <bruno@clisp.org>
17912
17913         stdlib: Avoid compilation failure of c-strtold on mingw.
17914         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
17915
17916 2010-04-03  Bruno Haible  <bruno@clisp.org>
17917
17918         locale: Make C++ tests work on Cygwin and mingw.
17919         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
17920         cannot provide the function.
17921         Reported by Simon Josefsson.
17922
17923 2010-04-03  Bruno Haible  <bruno@clisp.org>
17924
17925         localename: Port to MacOS X 10.6.
17926         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
17927         memory layout of the locales in MacOS X 10.6 as well.
17928         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
17929
17930 2010-04-02  Bruno Haible  <bruno@clisp.org>
17931
17932         gnulib-tool: Ensure that long-running tests are executed last.
17933         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
17934         running tests after the one for the other tests.
17935
17936 2010-04-02  Bruno Haible  <bruno@clisp.org>
17937
17938         gnulib-tool: Ensure the tests in the main directory are executed first.
17939         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
17940         start with the current directory.
17941
17942 2010-04-02  Bruno Haible  <bruno@clisp.org>
17943
17944         Tests for module 'havelib', moved here from GNU gettext.
17945         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
17946         modifications.
17947         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
17948         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
17949         with modifications.
17950         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
17951         modifications.
17952         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
17953         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
17954         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
17955         with modifications.
17956         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
17957         with modifications.
17958         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
17959         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
17960         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
17961         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
17962         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
17963         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
17964         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
17965         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
17966         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
17967         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
17968         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
17969         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
17970         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
17971         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
17972         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
17973         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
17974         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
17975         with modifications.
17976         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
17977         with modifications.
17978         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
17979         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
17980         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
17981         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
17982         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
17983         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
17984         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
17985         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
17986         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
17987         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
17988         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
17989         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
17990         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
17991         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
17992         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
17993         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
17994         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
17995         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
17996         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
17997         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
17998         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
17999         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
18000         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
18001         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
18002         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
18003         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
18004         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
18005         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
18006         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
18007         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
18008         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
18009         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
18010         * tests/havelib/rpathx/rpathx.c: New file, from
18011         gettext/autoconf-lib-link.
18012         * tests/havelib/rpathx/Makefile.am: New file, from
18013         gettext/autoconf-lib-link.
18014         * tests/havelib/rpathx/configure.ac: New file, from
18015         gettext/autoconf-lib-link with modifications.
18016         * tests/havelib/rpathy/rpathy.c: New file, from
18017         gettext/autoconf-lib-link.
18018         * tests/havelib/rpathy/Makefile.am: New file, from
18019         gettext/autoconf-lib-link.
18020         * tests/havelib/rpathy/configure.ac: New file, from
18021         gettext/autoconf-lib-link with modifications.
18022         * tests/havelib/rpathz/rpathz.c: New file, from
18023         gettext/autoconf-lib-link.
18024         * tests/havelib/rpathz/Makefile.am: New file, from
18025         gettext/autoconf-lib-link.
18026         * tests/havelib/rpathz/configure.ac: New file, from
18027         gettext/autoconf-lib-link with modifications.
18028         * tests/havelib/rpathlx/usex.c: New file, from
18029         gettext/autoconf-lib-link.
18030         * tests/havelib/rpathlx/Makefile.am: New file, from
18031         gettext/autoconf-lib-link.
18032         * tests/havelib/rpathlx/configure.ac: New file, from
18033         gettext/autoconf-lib-link with modifications.
18034         * tests/havelib/rpathly/usey.c: New file, from
18035         gettext/autoconf-lib-link.
18036         * tests/havelib/rpathly/Makefile.am: New file, from
18037         gettext/autoconf-lib-link.
18038         * tests/havelib/rpathly/configure.ac: New file, from
18039         gettext/autoconf-lib-link with modifications.
18040         * tests/havelib/rpathlz/usez.c: New file, from
18041         gettext/autoconf-lib-link.
18042         * tests/havelib/rpathlz/Makefile.am: New file, from
18043         gettext/autoconf-lib-link.
18044         * tests/havelib/rpathlz/configure.ac: New file, from
18045         gettext/autoconf-lib-link with modifications.
18046         * tests/havelib/rpathlyx/usey.c: New file, from
18047         gettext/autoconf-lib-link.
18048         * tests/havelib/rpathlyx/Makefile.am: New file, from
18049         gettext/autoconf-lib-link.
18050         * tests/havelib/rpathlyx/configure.ac: New file, from
18051         gettext/autoconf-lib-link with modifications.
18052         * tests/havelib/rpathlzyx/usez.c: New file, from
18053         gettext/autoconf-lib-link.
18054         * tests/havelib/rpathlzyx/Makefile.am: New file, from
18055         gettext/autoconf-lib-link.
18056         * tests/havelib/rpathlzyx/configure.ac: New file, from
18057         gettext/autoconf-lib-link with modifications.
18058         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
18059         with modifications.
18060
18061 2010-04-02  Bruno Haible  <bruno@clisp.org>
18062
18063         gnulib-tool: Create distributed built sources also for the tests.
18064         * gnulib-tool (func_create_testdir): Also generate distributed built
18065         sources in the tests directory.
18066
18067 2010-04-02  Bruno Haible  <bruno@clisp.org>
18068
18069         gnulib-tool: Obey user's environment variables.
18070         * gnulib-tool (func_create_testdir): When creating built sources,
18071         respect the environment variables for autoconf, automake, etc. given by
18072         the user.
18073
18074 2010-04-02  Bruno Haible  <bruno@clisp.org>
18075
18076         gnulib-tool: Provide the value of --m4-base to modules.
18077         * gnulib-tool (func_import, func_create_testdir): Emit a definition
18078         of gl_m4_base.
18079
18080 2010-04-02  Eric Blake  <eblake@redhat.com>
18081
18082         maint.mk: fix some fallout
18083         * NEWS: Document the incompatible change, and its effect on cfg.mk.
18084         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
18085
18086 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
18087
18088         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
18089         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
18090         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
18091         (sc_cast_of_x_alloc_return_value): Likewise.
18092         (sc_cast_of_alloca_return_value): Likewise.
18093         (sc_space_tab): Likewise.
18094         (sc_prohibit_atoi_atof): Likewise.
18095         (sc_prohibit_magic_number_exit): Likewise.
18096         (sc_error_exit_success): Likewise.
18097         (sc_file_system): Likewise.
18098         (sc_prohibit_have_config_h): Likewise.
18099         (sc_require_config_h): Likewise.
18100         (sc_prohibit_HAVE_MBRTOWC): Likewise.
18101         (sc_obsolete_symbols): Likewise.
18102         (sc_changelog): Likewise.
18103         (sc_program_name): Likewise.
18104         (sc_the_the): Likewise.
18105         (sc_trailing_blank): Likewise.
18106         (sc_two_space_separator_in_usage): Likewise.
18107         (sc_useless_cpp_parens): Likewise.
18108         (sc_GPL_version): Likewise.
18109         (sc_GFDL_version): Likewise.
18110         (sc_texinfo_acronym): Likewise.
18111         (sc_prohibit_cvs_keyword): Likewise.
18112         (sc_prohibit_stat_st_blocks): Likewise.
18113         (sc_prohibit_S_IS_definition): Likewise.
18114         (sc_redundant_const): Likewise.
18115         (sc_makefile_TAB_only_indentation): Likewise.
18116         (sc_m4_quote_check): Likewise.
18117         (sc_makefile_path_separator_check): Likewise.
18118         (sc_copyright_check): Likewise.
18119         (sc_Wundef_boolean): Likewise.
18120         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
18121
18122         maint.mk: match 0 or more whitespace-before-function-call '('
18123         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
18124         that have zero or two-and-more spaces between the function name
18125         and the open parenthesis.
18126         (sc_error_message_warn_fatal): Likewise.
18127         (sc_error_message_uppercase): Likewise.
18128         (sc_error_message_period): Likewise.
18129
18130 2010-03-31  Eric Blake  <eblake@redhat.com>
18131
18132         maint.mk: check for [ as well as test
18133         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
18134         Based on a libvirt report by Matthias Bolte.
18135
18136         gnumakefile: don't squelch _version output
18137         * top/GNUmakefile (_version): Create one-shot dependency rather
18138         than using $(shell) when version must be regenerated.
18139         (_autoreconf): Run verbosely, by default.
18140
18141         sys_time: avoid compiler warnings
18142         * lib/sys_time.in.h (includes): Ensure gcc pragma is
18143         unconditional, fixing regression from 2010-03-29.
18144         Reported by Simon Josefsson.
18145
18146 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
18147
18148         maint.mk: s/_header_without_use/_sc_header_without_use/
18149         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
18150         (sc_prohibit_assert_without_use): Use the new name.
18151         (sc_prohibit_close_stream_without_use): Likewise.
18152         (sc_prohibit_getopt_without_use): Likewise.
18153         (sc_prohibit_quotearg_without_use): Likewise.
18154         (sc_prohibit_quote_without_use): Likewise.
18155         (sc_prohibit_long_options_without_use): Likewise.
18156         (sc_prohibit_inttostr_without_use): Likewise.
18157         (sc_prohibit_ignore_value_without_use): Likewise.
18158         (sc_prohibit_error_without_use): Likewise.
18159         (sc_prohibit_xalloc_without_use): Likewise.
18160         (sc_prohibit_hash_without_use): Likewise.
18161         (sc_prohibit_hash_pjw_without_use): Likewise.
18162         (sc_prohibit_safe_read_without_use): Likewise.
18163         (sc_prohibit_argmatch_without_use): Likewise.
18164         (sc_prohibit_canonicalize_without_use): Likewise.
18165         (sc_prohibit_root_dev_ino_without_use): Likewise.
18166         (sc_prohibit_openat_without_use): Likewise.
18167         (sc_prohibit_c_ctype_without_use): Likewise.
18168         (sc_prohibit_signal_without_use): Likewise.
18169         (sc_prohibit_intprops_without_use): Likewise.
18170
18171 2010-03-30  Eric Blake  <eblake@redhat.com>
18172
18173         maint: improve module indicators
18174         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
18175         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
18176         columns, and avoid extra macro expansion.
18177
18178         fdopendir: work around FreeBSD bug
18179         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
18180         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
18181         * modules/dirent (Makefile.am): Substitute it.
18182         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
18183         declaration.
18184         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
18185         fix.
18186         Reported by Christian Weisgerber <naddy@mips.inka.de>.
18187
18188 2010-03-29  Bruno Haible  <bruno@clisp.org>
18189
18190         Emit #pragma system_header after the inclusion guard, not before.
18191         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
18192         guard that spans the entire file, not before. This enables an
18193         optimization in GCC's preprocessor.
18194         * lib/ctype.in.h: Likewise.
18195         * lib/dirent.in.h: Likewise.
18196         * lib/errno.in.h: Likewise.
18197         * lib/float.in.h: Likewise.
18198         * lib/getopt.in.h: Likewise.
18199         * lib/iconv.in.h: Likewise.
18200         * lib/langinfo.in.h: Likewise.
18201         * lib/locale.in.h: Likewise.
18202         * lib/math.in.h: Likewise.
18203         * lib/netdb.in.h: Likewise.
18204         * lib/netinet_in.in.h: Likewise.
18205         * lib/pty.in.h: Likewise.
18206         * lib/sched.in.h: Likewise.
18207         * lib/se-selinux.in.h: Likewise.
18208         * lib/search.in.h: Likewise.
18209         * lib/spawn.in.h: Likewise.
18210         * lib/stdarg.in.h: Likewise.
18211         * lib/stdint.in.h: Likewise.
18212         * lib/string.in.h: Likewise.
18213         * lib/strings.in.h: Likewise.
18214         * lib/sys_file.in.h: Likewise.
18215         * lib/sys_ioctl.in.h: Likewise.
18216         * lib/sys_time.in.h: Likewise.
18217         * lib/sys_times.in.h: Likewise.
18218         * lib/sys_utsname.in.h: Likewise.
18219         * lib/sys_wait.in.h: Likewise.
18220         * lib/sysexits.in.h: Likewise.
18221         * lib/wctype.in.h: Likewise.
18222
18223 2010-03-28  James Youngman  <jay@gnu.org>
18224
18225         save-cwd: don't leak a file descriptor when the caller execs.
18226         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
18227         saved file descriptor.
18228         * modules/save-cwd (Depends-on): Depend on cloexec.
18229
18230 2010-03-29  Bruno Haible  <bruno@clisp.org>
18231
18232         Remove vestiges of fts-lgpl module.
18233         * lib/fts_.h: Assume GNULIB_FTS is 1.
18234         * lib/fts.c: Likewise.
18235         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
18236
18237 2010-03-28  Bruno Haible  <bruno@clisp.org>
18238
18239         Fix definition of tests witness macro.
18240         * gnulib-tool (func_import): Fix definition of witness macro.
18241
18242 2010-03-28  Bruno Haible  <bruno@clisp.org>
18243
18244         Fix ioctl's protoype on glibc systems.
18245         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
18246         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
18247         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
18248         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
18249         signature. If not, arrange to replace the ioctl function.
18250         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
18251         REPLACE_IOCTL.
18252         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
18253         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
18254         Reported by Ludovic Courtès <ludo@gnu.org>.
18255
18256 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
18257
18258         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
18259         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
18260         made it so grep -r --include=GLOB* ... did not work.
18261
18262 2010-03-26  Jim Meyering  <meyering@redhat.com>
18263             Eric Blake  <eblake@redhat.com>
18264
18265         maint.mk: prohibit use of test's -o and -a operators
18266         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
18267
18268 2010-03-28  Bruno Haible  <bruno@clisp.org>
18269
18270         Remove unused GNULIB_XYZ macro definitions.
18271         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
18272         invocation.
18273
18274 2010-03-28  Bruno Haible  <bruno@clisp.org>
18275
18276         Mark privileged tests modules.
18277         * modules/idpriv-drop-tests (Status): New section.
18278         * modules/idpriv-droptemp-tests (Status): New section.
18279
18280 2010-03-28  Bruno Haible  <bruno@clisp.org>
18281
18282         Split C++ tests into separate tests modules.
18283         * modules/dirent-c++-tests: New file, extracted from
18284         modules/dirent-tests.
18285         * modules/dirent-tests: Depend on it.
18286         * modules/fcntl-h-c++-tests: New file, extracted from
18287         modules/fcntl-h-tests.
18288         * modules/fcntl-h-tests: Depend on it.
18289         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
18290         * modules/glob-tests: Depend on it.
18291         * modules/iconv-h-c++-tests: New file, extracted from
18292         modules/iconv-h-tests.
18293         * modules/iconv-h-tests: Depend on it.
18294         * modules/langinfo-c++-tests: New file, extracted from
18295         modules/langinfo-tests.
18296         * modules/langinfo-tests: Depend on it.
18297         * modules/locale-c++-tests: New file, extracted from
18298         modules/locale-tests.
18299         * modules/locale-tests: Depend on it.
18300         * modules/math-c++-tests: New file, extracted from modules/math-tests.
18301         * modules/math-tests: Depend on it.
18302         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
18303         * modules/pty-tests: Depend on it.
18304         * modules/search-c++-tests: New file, extracted from
18305         modules/search-tests.
18306         * modules/search-tests: Depend on it.
18307         * modules/signal-c++-tests: New file, extracted from
18308         modules/signal-tests.
18309         * modules/signal-tests: Depend on it.
18310         * modules/spawn-c++-tests: New file, extracted from
18311         modules/spawn-tests.
18312         * modules/spawn-tests: Depend on it.
18313         * modules/stdio-c++-tests: New file, extracted from
18314         modules/stdio-tests.
18315         * modules/stdio-tests: Depend on it.
18316         * modules/stdlib-c++-tests: New file, extracted from
18317         modules/stdlib-tests.
18318         * modules/stdlib-tests: Depend on it.
18319         * modules/string-c++-tests: New file, extracted from
18320         modules/string-tests.
18321         * modules/string-tests: Depend on it.
18322         * modules/sys_ioctl-c++-tests: New file, extracted from
18323         modules/sys_ioctl-tests.
18324         * modules/sys_ioctl-tests: Depend on it.
18325         * modules/sys_select-c++-tests: New file, extracted from
18326         modules/sys_select-tests.
18327         * modules/sys_select-tests: Depend on it.
18328         * modules/sys_socket-c++-tests: New file, extracted from
18329         modules/sys_socket-tests.
18330         * modules/sys_socket-tests: Depend on it.
18331         * modules/sys_stat-c++-tests: New file, extracted from
18332         modules/sys_stat-tests.
18333         * modules/sys_stat-tests: Depend on it.
18334         * modules/sys_time-c++-tests: New file, extracted from
18335         modules/sys_time-tests.
18336         * modules/sys_time-tests: Depend on it.
18337         * modules/time-c++-tests: New file, extracted from modules/time-tests.
18338         * modules/time-tests: Depend on it.
18339         * modules/unistd-c++-tests: New file, extracted from
18340         modules/unistd-tests.
18341         * modules/unistd-tests: Depend on it.
18342         * modules/wchar-c++-tests: New file, extracted from
18343         modules/wchar-tests.
18344         * modules/wchar-tests: Depend on it.
18345         * modules/wctype-c++-tests: New file, extracted from
18346         modules/wctype-tests.
18347         * modules/wctype-tests: Depend on it.
18348         Reported by Simon Josefsson.
18349
18350 2010-03-28  Bruno Haible  <bruno@clisp.org>
18351
18352         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
18353         * gnulib-tool (func_exists_module): New function, extracted from
18354         func_verify_module.
18355         (func_verify_module): Use it.
18356         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
18357         'foo' only if 'foo' exists.
18358         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
18359         module.
18360
18361 2010-03-28  Bruno Haible  <bruno@clisp.org>
18362
18363         gnulib-tool: Add support for special categories of tests.
18364         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
18365         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
18366         (func_usage): Document them.
18367         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
18368         inc_unportable_tests, inc_all_tests): New variables.
18369         (func_acceptable): Consider these variables.
18370         (func_modules_transitive_closure): Make it work when the 'Status' field
18371         consists of multiple words.
18372         (func_import): Store and restore the values of inc_cxx_tests,
18373         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
18374         inc_all_tests in gnulib-comp.m4.
18375         (func_create_testdir): Set inc_all_tests to true.
18376         * doc/gnulib.texi (Extra tests modules): New section.
18377         Suggested by Jim Meyering.
18378
18379 2010-03-28  Bruno Haible  <bruno@clisp.org>
18380
18381         ansi-c++-opt: Allow turning off the C++ build by default.
18382         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
18383         gl_CXX_CHOICE_DEFAULT_NO is defined.
18384         Requested by Eric Blake.
18385
18386 2010-03-28  Bruno Haible  <bruno@clisp.org>
18387
18388         unistd: Avoid #define replacements in C++ mode.
18389         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
18390         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
18391         setsockopt, shutdown, select): In C++, attach a warning to the function
18392         if possible, rather than #defining the symbol to a dysfunctional alias.
18393         Reported by John W. Eaton <jwe@gnu.org>.
18394
18395 2010-03-28  Bruno Haible  <bruno@clisp.org>
18396
18397         Fix link errors on mingw.
18398         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
18399         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
18400         $(LIBSOCKET).
18401         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
18402         $(LIBSOCKET).
18403
18404 2010-03-28  Bruno Haible  <bruno@clisp.org>
18405             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18406
18407         lib-ignore: Determine different options for different compilers.
18408         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
18409         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
18410         Add comments.
18411         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
18412         * NEWS: Mention the change.
18413
18414 2010-03-27  Bruno Haible  <bruno@clisp.org>
18415
18416         Remove unused GNULIB_XYZ macro definitions.
18417         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
18418         * modules/fseek (configure.ac): Likewise.
18419         * modules/ioctl (configure.ac): Likewise.
18420         * modules/open (configure.ac): Likewise.
18421         * modules/stdlib-safer (configure.ac): Likewise.
18422
18423 2010-03-27  Bruno Haible  <bruno@clisp.org>
18424
18425         Add a remark about certain modules.
18426         * modules/malloc (Comment): New section.
18427         * modules/realloc (Comment): Likewise.
18428         * modules/sigpipe (Comment): Likewise.
18429
18430 2010-03-27  Bruno Haible  <bruno@clisp.org>
18431
18432         Resolve conflict between the two kinds of module indicators.
18433         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
18434         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
18435         * modules/canonicalize (configure.ac): Invoke
18436         gl_MODULE_INDICATOR_FOR_TESTS.
18437         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
18438         GNULIB_XYZ.
18439         * tests/test-dirent-c++.cc: Likewise.
18440         * tests/test-dirent-safer.c: Likewise.
18441         * tests/test-dup2.c: Likewise.
18442         * tests/test-fchdir.c: Likewise.
18443         * tests/test-fcntl-h-c++.cc: Likewise.
18444         * tests/test-getopt.c: Likewise.
18445         * tests/test-getopt.h: Likewise.
18446         * tests/test-langinfo-c++.cc: Likewise.
18447         * tests/test-locale-c++.cc: Likewise.
18448         * tests/test-math-c++.cc: Likewise.
18449         * tests/test-pty-c++.cc: Likewise.
18450         * tests/test-search-c++.cc: Likewise.
18451         * tests/test-signal-c++.cc: Likewise.
18452         * tests/test-spawn-c++.cc: Likewise.
18453         * tests/test-stdio-c++.cc: Likewise.
18454         * tests/test-stdlib-c++.cc: Likewise.
18455         * tests/test-string-c++.cc: Likewise.
18456         * tests/test-sys_ioctl-c++.cc: Likewise.
18457         * tests/test-sys_select-c++.cc: Likewise.
18458         * tests/test-sys_socket-c++.cc: Likewise.
18459         * tests/test-sys_stat-c++.cc: Likewise.
18460         * tests/test-sys_time-c++.cc: Likewise.
18461         * tests/test-time-c++.cc: Likewise.
18462         * tests/test-unistd-c++.cc: Likewise.
18463         * tests/test-wchar-c++.cc: Likewise.
18464         * tests/uninorm/test-u8-nfc.c: Likewise.
18465         * tests/uninorm/test-u8-nfd.c: Likewise.
18466         * tests/uninorm/test-u8-nfkc.c: Likewise.
18467         * tests/uninorm/test-u8-nfkd.c: Likewise.
18468         * tests/uninorm/test-u16-nfc.c: Likewise.
18469         * tests/uninorm/test-u16-nfd.c: Likewise.
18470         * tests/uninorm/test-u16-nfkc.c: Likewise.
18471         * tests/uninorm/test-u16-nfkd.c: Likewise.
18472         * tests/uninorm/test-u32-nfc.c: Likewise.
18473         * tests/uninorm/test-u32-nfc-big.c: Likewise.
18474         * tests/uninorm/test-u32-nfd.c: Likewise.
18475         * tests/uninorm/test-u32-nfd-big.c: Likewise.
18476         * tests/uninorm/test-u32-nfkc.c: Likewise.
18477         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
18478         * tests/uninorm/test-u32-nfkd.c: Likewise.
18479         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
18480         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18481
18482 2010-03-27  Bruno Haible  <bruno@clisp.org>
18483
18484         Distinguish two kinds of module indicators.
18485         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
18486         gl_MODULE_INDICATOR.
18487         (gl_MODULE_INDICATOR): New macro.
18488         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
18489         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
18490         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
18491         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
18492         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
18493         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
18494         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
18495         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
18496         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
18497         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
18498         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
18499         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
18500         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
18501         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
18502         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
18503         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
18504         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
18505         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
18506         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
18507         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
18508         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
18509         * modules/cloexec (configure.ac): Likewise.
18510         * modules/getopt-gnu (configure.ac): Likewise.
18511         * modules/uninorm/u8-normalize (configure.ac): Likewise.
18512         * modules/uninorm/u16-normalize (configure.ac): Likewise.
18513         * modules/uninorm/u32-normalize (configure.ac): Likewise.
18514         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
18515
18516 2010-03-27  Bruno Haible  <bruno@clisp.org>
18517
18518         New module description field 'Comment'.
18519         * gnulib-tool: New option --extract-comment.
18520         (func_usage): Document it.
18521         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
18522         (func_get_comment): New function.
18523         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
18524
18525 2010-03-27  Bruno Haible  <bruno@clisp.org>
18526
18527         Addendum to 2010-02-07 commit.
18528         * gnulib-tool (func_usage): Document --extract-applicability option.
18529
18530 2010-03-27  Bruno Haible  <bruno@clisp.org>
18531
18532         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
18533         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
18534         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
18535         rather than link errors.
18536
18537 2010-03-27  Bruno Haible  <bruno@clisp.org>
18538
18539         Avoid side effects from tests-related modules on the compilation of lib.
18540         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
18541         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
18542         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
18543         parameter. Emit into AM_CPPFLAGS a definition of the designated C
18544         macro.
18545         (func_import): Define a witness macro. Assign it a value that depends
18546         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
18547         tests-related modules.
18548         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
18549         Reported by Jim Meyering.
18550
18551 2010-03-27  Bruno Haible  <bruno@clisp.org>
18552
18553         Factorize common .m4 code.
18554         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
18555         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
18556         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
18557         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
18558         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
18559         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
18560         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
18561         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
18562         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
18563         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
18564         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
18565         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
18566         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
18567         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
18568         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
18569         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
18570         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
18571         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
18572         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
18573         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
18574         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
18575         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
18576         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
18577         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
18578         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
18579         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
18580         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
18581         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
18582         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
18583         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
18584         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
18585         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
18586
18587 2010-03-27  Bruno Haible  <bruno@clisp.org>
18588
18589         Fix a compilation error on Cygwin with g++ >= 4.3.
18590         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
18591         if it is undefined or if we alias it to chmod.
18592         (lstat): Don't warn about the use of this function if it is undefined
18593         or if we alias it to stat.
18594         Reported by Simon Josefsson.
18595
18596 2010-03-27  Bruno Haible  <bruno@clisp.org>
18597
18598         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
18599         * modules/getlogin (configure.ac): Update.
18600
18601         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
18602         * modules/getlogin_r (configure.ac): Update.
18603
18604         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
18605         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
18606         * modules/inet_ntop (configure.ac): Update.
18607
18608         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
18609         * modules/inet_pton (configure.ac): Update.
18610
18611         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
18612         * modules/mbslen (configure.ac): Update.
18613
18614         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
18615         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
18616         * modules/forkpty (configure.ac): Update.
18617         * modules/openpty (configure.ac): Update.
18618
18619 2010-03-26  Simon Josefsson  <simon@josefsson.org>
18620
18621         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
18622         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
18623
18624 2010-03-25  Eric Blake  <eblake@redhat.com>
18625
18626         maint: use pragma consistently across replacement headers
18627         * lib/ctype.in.h (system_header): Hoist for consistent placement.
18628         * lib/dirent.in.h (system_header): Likewise.
18629         * lib/errno.in.h (system_header): Likewise.
18630         * lib/float.in.h (system_header): Likewise.
18631         * lib/getopt.in.h (system_header): Likewise.
18632         * lib/iconv.in.h (system_header): Likewise.
18633         * lib/inttypes.in.h (system_header): Likewise.
18634         * lib/langinfo.in.h (system_header): Likewise.
18635         * lib/locale.in.h (system_header): Likewise.
18636         * lib/math.in.h (system_header): Likewise.
18637         * lib/netdb.in.h (system_header): Likewise.
18638         * lib/netinet_in.in.h (system_header): Likewise.
18639         * lib/pty.in.h (system_header): Likewise.
18640         * lib/sched.in.h (system_header): Likewise.
18641         * lib/se-selinux.in.h (system_header): Likewise.
18642         * lib/search.in.h (system_header): Likewise.
18643         * lib/spawn.in.h (system_header): Likewise.
18644         * lib/stdarg.in.h (system_header): Likewise.
18645         * lib/stdint.in.h (system_header): Likewise.
18646         * lib/string.in.h (system_header): Likewise.
18647         * lib/strings.in.h (system_header): Likewise.
18648         * lib/sys_file.in.h (system_header): Likewise.
18649         * lib/sys_ioctl.in.h (system_header): Likewise.
18650         * lib/sys_socket.in.h (system_header): Likewise.
18651         * lib/sys_times.in.h (system_header): Likewise.
18652         * lib/sys_utsname.in.h (system_header): Likewise.
18653         * lib/sys_wait.in.h (system_header): Likewise.
18654         * lib/sysexits.in.h (system_header): Likewise.
18655         * lib/unistd.in.h (system_header): Likewise.
18656         * lib/wctype.in.h (system_header): Likewise.
18657
18658         arpa/inet: fix mingw compilation warning
18659         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
18660         Reported by Matthew Bolte.
18661
18662 2010-03-25  Bruno Haible  <bruno@clisp.org>
18663
18664         Avoid collision between gnulib wrapper and libintl wrapper.
18665         * lib/printf.c (printf): Don't define if a printf wrapper is already
18666         defined in intl/printf.c.
18667         Reported by Michel Boaventura <michel@michelboaventura.com>.
18668
18669 2010-03-25  Bruno Haible  <bruno@clisp.org>
18670
18671         Use ANSI C.
18672         * lib/readutmp.h (getutent): Provide ANSI C prototype.
18673
18674 2010-03-25  Bruno Haible  <bruno@clisp.org>
18675
18676         Minor formatting changes.
18677         * lib/acosl.c: Insert space before function argument list.
18678         * lib/argz.c: Likewise.
18679         * lib/asinl.c: Likewise.
18680         * lib/expl.c: Likewise.
18681         * lib/gen-uni-tables.c: Likewise.
18682         * lib/gettext.h: Likewise.
18683         * lib/glthread/lock.h: Likewise.
18684         * lib/tanl.c: Likewise.
18685         * lib/uniname/uniname.c: Likewise.
18686         * tests/test-idpriv-drop.c: Likewise.
18687         * tests/test-idpriv-droptemp.c: Likewise.
18688         * tests/test-lock.c: Likewise.
18689         * tests/test-tls.c: Likewise.
18690         * lib/argp-help.c: Insert space before function-like macro argument
18691         list.
18692         * lib/memcmp.c: Likewise.
18693         * tests/test-base64.c: Likewise.
18694         * lib/localename.c: Insert space before sizeof's argument list.
18695         * lib/safe-alloc.h: Likewise.
18696         * lib/file-set.h: Insert space before macro argument list.
18697         * tests/test-argp.c: Likewise.
18698         * lib/argp-namefrob.h: Insert space before function parameter list.
18699         * lib/getaddrinfo.c: Likewise.
18700         * lib/netdb.in.h: Likewise.
18701         * lib/parse-duration.h: Likewise.
18702         * lib/parse-duration.c: Likewise.
18703         * lib/poll.c: Likewise.
18704         * lib/select.c: Likewise.
18705         * lib/trim.h: Likewise.
18706         * tests/test-usleep.c: Likewise.
18707         * lib/ldexpl.c: Insert space before function parameter list and before
18708         function argument list.
18709         * lib/logl.c: Likewise.
18710         * lib/sqrtl.c: Likewise.
18711         * lib/trim.c: Likewise.
18712         * lib/cosl.c: Use GNU style indentation. Insert space before function
18713         argument list.
18714         * lib/sinl.c: Likewise.
18715         * lib/tsearch.c: Insert space after 'for'.
18716         Reported by Jim Meyering.
18717
18718 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
18719
18720         * maint.mk (sc_Wundef_boolean): Check for the presence of the
18721         config header before grepping, as it's not present before
18722         autoreconf/configure are run.  Reported by Simon Josefsson.
18723
18724 2010-03-23  Bruno Haible  <bruno@clisp.org>
18725
18726         pt_chown: Make it work with automake < 1.11.
18727         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
18728         Reported by Simon Josefsson.
18729
18730 2010-03-23  Bruno Haible  <bruno@clisp.org>
18731
18732         pt_chown: Don't depend on GPLed modules.
18733         * lib/pt_chown.c: Don't include idpriv.h.
18734         (main): Don't drop privileges.
18735         * modules/pt_chown (Depends-on): Remove idpriv-drop.
18736         Reported by Simon Josefsson.
18737
18738 2010-03-24  Simon Josefsson  <simon@josefsson.org>
18739
18740         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
18741         suggestions from karl@freefriends.org (Karl Berry).
18742
18743 2010-03-22  Eric Blake  <eblake@redhat.com>
18744
18745         gethostname: further tweaks
18746         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
18747         are overriding gethostname.
18748         Suggested by Bruno Haible.
18749
18750 2010-03-21  Bruno Haible  <bruno@clisp.org>
18751
18752         Fix comments.
18753         * lib/forkpty.c (rpl_forkpty): Fix comment.
18754         * lib/openpty.c (rpl_openpty): Likewise.
18755         Reported by Eric Blake.
18756
18757 2010-03-22  Eric Blake  <eblake@redhat.com>
18758
18759         gethostname: fix build on mingw
18760         * lib/unistd.in.h (includes): Work around fact that mingw
18761         <winsock2.h> re-includes <unistd.h>, by avoiding any
18762         redeclarations if we are being included by <winsock2.h>.
18763         Reported by Matthias Bolte.
18764
18765 2010-03-21  Bruno Haible  <bruno@clisp.org>
18766
18767         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18768         * lib/forkpty.c (forkpty): New replacement function, from glibc with
18769         modifications.
18770         * lib/pty.in.h (forkpty): Update declaration. Add comments.
18771         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
18772         provide the replacement.
18773         * modules/forkpty (Depends-on): Add openpty, login_tty.
18774         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
18775         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
18776         * doc/glibc-functions/forkpty.texi: More supported platforms.
18777         * config/srclist.txt: Add forkpty.c (commented).
18778
18779 2010-03-21  Bruno Haible  <bruno@clisp.org>
18780
18781         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
18782         (Makefile.am): Verify that PTY_LIB is defined.
18783
18784         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
18785
18786 2010-03-21  Bruno Haible  <bruno@clisp.org>
18787
18788         Tests for module 'login_tty'.
18789         * modules/login_tty-tests: New file.
18790         * tests/test-login_tty.c: New file.
18791
18792         New module 'login_tty'.
18793         * lib/login_tty.c: New file.
18794         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
18795         * modules/login_tty: New file.
18796         * doc/glibc-functions/login_tty.texi: Mention the new module.
18797
18798 2010-03-21  Bruno Haible  <bruno@clisp.org>
18799
18800         login_tty: Documentation.
18801         * doc/glibc-functions/login_tty.texi: New file.
18802         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
18803
18804 2010-03-21  Bruno Haible  <bruno@clisp.org>
18805
18806         pty: Consistent macro naming.
18807         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
18808         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
18809         * modules/pty (configure.ac): Update.
18810
18811 2010-03-21  Bruno Haible  <bruno@clisp.org>
18812
18813         Tests for openpty: Make stricter.
18814         * tests/test-openpty.c (main): Add test of canonical processing and
18815         erase.
18816         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
18817
18818         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18819         * lib/openpty.c (openpty): New replacement function.
18820         * lib/pty.in.h: Include <termios.h>.
18821         (openpty): Update declaration. Add comments.
18822         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
18823         is not declared, arrange to provide the replacement. Check for _getpty
18824         and posix_openpt.
18825         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
18826         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
18827         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
18828         * modules/pty-tests (test_pty_c___LDADD): New variable.
18829         * doc/glibc-functions/openpty.texi: More supported platforms.
18830
18831 2010-03-21  Bruno Haible  <bruno@clisp.org>
18832
18833         setenv: Tweaks.
18834         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
18835         the test program.
18836         * doc/posix-functions/setenv.texi: Update platforms list.
18837
18838 2010-03-21  Bruno Haible  <bruno@clisp.org>
18839
18840         New module 'unlockpt'.
18841         * lib/unlockpt.c: New file, from glibc with modifications.
18842         * m4/unlockpt.m4: New file.
18843         * modules/unlockpt: New file.
18844         * lib/stdlib.in.h (unlockpt): New declaration.
18845         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
18846         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
18847         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
18848         HAVE_UNLOCKPT.
18849         * doc/posix-functions/unlockpt.texi: Mention the new module.
18850         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
18851         * config/srclist.txt: Add unlockpt.c (commented).
18852
18853 2010-03-21  Jim Meyering  <meyering@redhat.com>
18854
18855         maint.mk: prohibit inclusion of "intprops.h" without use
18856         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
18857
18858 2010-03-21  Bruno Haible  <bruno@clisp.org>
18859
18860         New module 'grantpt'.
18861         * lib/grantpt.c: New file, from glibc with modifications.
18862         * m4/grantpt.m4: New file.
18863         * modules/grantpt: New file.
18864         * lib/stdlib.in.h (grantpt): New declaration.
18865         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
18866         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
18867         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
18868         HAVE_GRANTPT.
18869         * doc/posix-functions/grantpt.texi: Mention the new module.
18870         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
18871         * config/srclist.txt: Add grantpt.c (commented).
18872
18873 2010-03-21  Bruno Haible  <bruno@clisp.org>
18874
18875         New module 'pt_chown'.
18876         * lib/pt_chown.c: New file, from glibc with modifications.
18877         * lib/pty-private.h: New file, from glibc with modifications.
18878         * modules/pt_chown: New file.
18879         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
18880
18881 2010-03-21  Bruno Haible  <bruno@clisp.org>
18882
18883         Tests for module 'ptsname'.
18884         * modules/ptsname-tests: New file.
18885         * tests/test-ptsname.c: New file.
18886
18887         New module 'ptsname'.
18888         * lib/ptsname.c: New file, from glibc with modifications.
18889         * m4/ptsname.m4: New file.
18890         * modules/ptsname: New file.
18891         * lib/stdlib.in.h (ptsname): New declaration.
18892         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
18893         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
18894         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
18895         HAVE_PTSNAME.
18896         * doc/posix-functions/ptsname.texi: Mention the new module.
18897         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
18898         * config/srclist.txt: Add ptsname.c (commented).
18899
18900 2010-03-21  Bruno Haible  <bruno@clisp.org>
18901
18902         Tests for module 'ttyname_r'.
18903         * modules/ttyname_r-tests: New file.
18904         * tests/test-ttyname_r.c: New file.
18905
18906         New module 'ttyname_r'.
18907         * lib/ttyname_r.c: New file.
18908         * m4/ttyname_r.m4: New file.
18909         * modules/ttyname_r: New file.
18910         * lib/unistd.in.h (ttyname_r): New declaration.
18911         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
18912         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
18913         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
18914         HAVE_TTYNAME_R.
18915         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
18916         * doc/posix-functions/ttyname_r.texi: Mention the new module.
18917
18918 2010-03-20  Bruno Haible  <bruno@clisp.org>
18919
18920         signal: Undefine macro definitions in C++ mode.
18921         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
18922         sigfillset): Undefine macro definitions from the system header in C++
18923         mode.
18924         Reported by John W. Eaton <jwe@gnu.org>.
18925
18926 2010-03-20  Bruno Haible  <bruno@clisp.org>
18927
18928         Ensure no #include statements inside extern "C" { ... }.
18929         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
18930         contain #include statements.
18931         * lib/time.in.h: Likewise.
18932
18933 2010-03-20  Bruno Haible  <bruno@clisp.org>
18934
18935         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
18936         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
18937         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
18938         Reported by John W. Eaton <jwe@gnu.org>.
18939
18940 2010-03-20  Bruno Haible  <bruno@clisp.org>
18941
18942         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
18943         Reported by Jim Meyering.
18944
18945 2010-03-20  Bruno Haible  <bruno@clisp.org>
18946
18947         pipe: Set errno upon failure.
18948         * lib/pipe.h: Specify that when -1 is returned, errno is set.
18949         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
18950         errno value in error message.
18951
18952 2010-03-20  Bruno Haible  <bruno@clisp.org>
18953             Jim Meyering  <meyering@redhat.com>
18954
18955         lchown: Avoid "unused variable" warning.
18956         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
18957
18958 2010-03-20  Bruno Haible  <bruno@clisp.org>
18959
18960         Work around unlink() bug on MacOS X 10.5.6.
18961         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
18962         attempting to unlink a parent directory.
18963         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
18964         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
18965         activate for the replacement function.
18966         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
18967
18968 2010-03-20  Bruno Haible  <bruno@clisp.org>
18969
18970         Fix link errors on Solaris 8.
18971         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
18972         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
18973
18974 2010-03-19  Jim Meyering  <meyering@redhat.com>
18975
18976         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
18977         The _LIBC implementation of build_range_exp correctly honors the
18978         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
18979         However, the non-_LIBC implementation would ignore that syntax-bit
18980         flag and return REG_ERANGE unconditionally.
18981         This change makes it honor that flag.
18982         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
18983         Make two pointer parameters "const".
18984         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
18985         (parse_bracket_exp): Update caller.
18986
18987         regex.m4: correct the reversed range endpoint ([b-a]) test
18988         * m4/regex.m4: When requiring that [b-a] evoke failure,
18989         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
18990         test pass once again for x86-based systems.
18991
18992 2010-03-19  Bruno Haible  <bruno@clisp.org>
18993
18994         scandir: Fix link error on Solaris 8.
18995         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
18996         macros.
18997
18998 2010-03-19  Bruno Haible  <bruno@clisp.org>
18999
19000         getusershell: Fix documentation.
19001         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
19002         module.
19003         * doc/glibc-functions/setusershell.texi: Likewise.
19004
19005         getusershell: Provide declaration, missing on Solaris 9.
19006         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
19007         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
19008         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
19009         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
19010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19011         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
19012         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
19013         HAVE_GETUSERSHELL.
19014         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
19015
19016 2010-03-19  Bruno Haible  <bruno@clisp.org>
19017
19018         wctype: Provide iswblank function.
19019         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
19020         exists and is fine.
19021         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
19022         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
19023         * tests/test-wctype.c (main): Re-enable the iswblank tests.
19024         * doc/posix-functions/iswblank.texi: Update.
19025
19026 2010-03-19  Bruno Haible  <bruno@clisp.org>
19027
19028         Tests of module 'pty' in C++ mode.
19029         * modules/pty-tests: New file.
19030         * tests/test-pty-c++.cc: New file.
19031         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19032
19033 2010-03-19  Eric Blake  <eblake@redhat.com>
19034
19035         logb: fix documentation
19036         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
19037         1.5 declaration bug.
19038
19039         forkpty, openpty: prefer glibc's const-safe prototype
19040         * lib/forkpty.c (rpl_forkpty): New file.
19041         * lib/openpty.c (rpl_openpty): Likewise.
19042         * modules/forkpty (Files): Distribute it.
19043         * modules/openpty (Files): Likewise.
19044         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
19045         check...
19046         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
19047         replacement for for non-const BSD signature.
19048         * modules/pty (Makefile.am): Substitute witnesses.
19049         * lib/pty.in.h (forkpty, openpty): Declare replacements.
19050         * tests/test-forkpty.c: Update signature check.
19051         * tests/test-openpty.c: Likewise.
19052         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
19053         * doc/glibc-functions/openpty.texi (openpty): Likewise.
19054
19055         forkpty, openpty: split functions into new modules
19056         * modules/pty (Makefile.am): Substitute new witnesses.
19057         (Libraries): Move library detection...
19058         * modules/forkpty: ...into new module.
19059         * modules/openpty: Another new module.
19060         * modules/pty-tests: Rename and split...
19061         * modules/forkpty-tests: ...to this...
19062         * modules/openpty-tests: ...and this.
19063         * tests/test-pty.c: Rename and split...
19064         * tests/test-forkpty.c: ...to this...
19065         * tests/test-openpty.c: ...and this.
19066         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
19067         (gl_PTY): Split library searching...
19068         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
19069         (gl_FORKPTY, gl_OPENPTY): New macros.
19070         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
19071         * NEWS: Mention the split.
19072         * MODULES.html.sh (Misc): Document the modules.
19073         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
19074         * doc/glibc-functions/openpty.texi (openpty): Likewise.
19075
19076         pty: improve replacement header
19077         * lib/pty.in.h: New file.
19078         * modules/pty (Files): Ship it.
19079         (Makefile.am): Always build replacement.
19080         * m4/pty.m4: Rename...
19081         * m4/pty_h.m4: ...to this.
19082         (gl_PTY): Modernize setting of witness macros; update check of
19083         forkpty to take proper advantage of cache.
19084         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
19085
19086         getopt: avoid compiler warning
19087         * lib/getopt.c (attribute_hidden): Remove unused macro.
19088
19089 2010-03-18  Bruno Haible  <bruno@clisp.org>
19090
19091         Fix link errors on Solaris 8.
19092         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
19093         * modules/search-tests (test_search_c___LDADD): Likewise.
19094         * modules/signal-tests (test_signal_c___LDADD): Likewise.
19095         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
19096         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
19097         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
19098         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
19099         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
19100         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
19101
19102 2010-03-18  Bruno Haible  <bruno@clisp.org>
19103
19104         Fix bug introduced on 2010-03-14.
19105         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
19106         (gl_SPAWN_H): Require it.
19107         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
19108         Reported by Simon Josefsson.
19109
19110 2010-03-18  Bruno Haible  <bruno@clisp.org>
19111
19112         Fix typo introduced on 2009-12-31.
19113         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
19114         posix_spawn_file_actions_adddup2.
19115
19116 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
19117         and Eric Blake  <eblake@redhat.com>
19118
19119         test-vc-list-files-git: make more robust
19120         * tests/test-vc-list-files-git.sh: Unset problematic environment
19121         variables.  Chain commands together.
19122
19123 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
19124
19125         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
19126         `AC_CHECK_DECL' invocation.
19127
19128 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
19129
19130         * lib/inttostr.c (inttostr): Make sure the invocation of verify
19131         appears before executable statements. Suggested by Petr Sumbera
19132         <Petr.Sumbera@Sun.COM>.
19133
19134 2010-03-14  Bruno Haible  <bruno@clisp.org>
19135
19136         * tests/test-flock.c (test_exclusive): Comment out a test that causes
19137         portability problems. Instead use a simpler test.
19138         (main): Check that invalid arguments are rejected only on Linux.
19139
19140 2010-03-14  Bruno Haible  <bruno@clisp.org>
19141
19142         Fix bug introduced on 2009-12-31.
19143         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19144         gl_PREREQ_SYS_H_WINSOCK2 always.
19145         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
19146         SYS_SOCKET_H variable.
19147         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
19148         Update comments.
19149         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
19150         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19151         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19152         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19153         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
19154
19155 2010-03-14  Bruno Haible  <bruno@clisp.org>
19156
19157         Fix values returned by sinl, cosl.
19158         * lib/trigl.h: Add specification comments.
19159         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
19160         that combines the values from the precomputed table with the values of
19161         the Chebyshev polynomials.
19162
19163 2010-03-14  Bruno Haible  <bruno@clisp.org>
19164
19165         Fix compilation error when modules 'posix_spawn[p]' are not used.
19166         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
19167         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
19168
19169 2010-03-14  Bruno Haible  <bruno@clisp.org>
19170
19171         Fix compilation error on mingw when module 'time_r' is not used.
19172         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
19173         is 1.
19174         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
19175         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
19176         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
19177         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
19178
19179 2010-03-14  Bruno Haible  <bruno@clisp.org>
19180
19181         Fix compilation error with Sun C.
19182         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
19183         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
19184         instead of GCC specific ULONG_LONG_MAX.
19185         * lib/xstrtoll.c: Likewise.
19186         * lib/xstrtoull.c: Likewise.
19187
19188 2010-03-13  Bruno Haible  <bruno@clisp.org>
19189
19190         Allow the user to disable C++ code and tests.
19191         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
19192         (gl_PROG_ANSI_CXX): Require it.
19193
19194 2010-03-13  Bruno Haible  <bruno@clisp.org>
19195
19196         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
19197         cases.
19198
19199 2010-03-13  Bruno Haible  <bruno@clisp.org>
19200
19201         Test that gnulib does not break the standard C++ headers.
19202         * tests/test-locale-c++2.cc: New file.
19203         * modules/locale-tests (Files): Add it.
19204         (Makefile.am): Compile it for test-locale-c++.
19205         * tests/test-math-c++2.cc: New file.
19206         * modules/math-tests (Files): Add it.
19207         (Makefile.am): Compile it for test-math-c++.
19208         * tests/test-signal-c++2.cc: New file.
19209         * modules/signal-tests (Files): Add it.
19210         (Makefile.am): Compile it for test-signal-c++.
19211         * tests/test-stdio-c++2.cc: New file.
19212         * modules/stdio-tests (Files): Add it.
19213         (Makefile.am): Compile it for test-stdio-c++.
19214         * tests/test-stdlib-c++2.cc: New file.
19215         * modules/stdlib-tests (Files): Add it.
19216         (Makefile.am): Compile it for test-stdlib-c++.
19217         * tests/test-string-c++2.cc: New file.
19218         * modules/string-tests (Files): Add it.
19219         (Makefile.am): Compile it for test-string-c++.
19220         * tests/test-time-c++2.cc: New file.
19221         * modules/time-tests (Files): Add it.
19222         (Makefile.am): Compile it for test-time-c++.
19223         Reported by John W. Eaton <jwe@gnu.org>.
19224
19225 2010-03-13  Bruno Haible  <bruno@clisp.org>
19226
19227         * gnulib-tool (func_usage): Clarify which options are available for
19228         --create-testdir and --create-megatestdir.
19229
19230 2010-03-13  Bruno Haible  <bruno@clisp.org>
19231
19232         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
19233         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
19234         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
19235         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
19236         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
19237         when appropriate.
19238         Reported by Jim Meyering.
19239
19240 2010-03-12  Simon Josefsson  <simon@josefsson.org>
19241
19242         * gnulib-tool (func_import): Explain origin of code.
19243
19244 2010-03-12  Bruno Haible  <bruno@clisp.org>
19245
19246         Fix problem with automake's definition of CXXLINK.
19247         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
19248         Reported by Simon Josefsson and Ludovic Courtès.
19249
19250 2010-03-12  Bruno Haible  <bruno@clisp.org>
19251
19252         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
19253         stable releases.
19254
19255 2010-03-11  Bruno Haible  <bruno@clisp.org>
19256
19257         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
19258         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
19259         whether the system provides one variant or multiple variants of the
19260         function.
19261         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
19262         C++ compilers.
19263         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
19264         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
19265         Reported by Jim Meyering.
19266
19267 2010-03-09  Simon Josefsson  <simon@josefsson.org>
19268
19269         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
19270
19271 2010-03-08  Bruno Haible  <bruno@clisp.org>
19272
19273         gnulib-tool: Add support for --libtool in --create-testdir.
19274         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
19275         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
19276
19277 2010-03-08  Eric Blake  <eblake@redhat.com>
19278
19279         gnulib-tool.texi: mention possibility of git submodule
19280         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
19281         submodules.
19282         * doc/.gitignore: Ignore another generated file.
19283
19284 2010-03-08  Karl Berry  <karl@gnu.org>
19285
19286         * doc/gnulib-tool.texi (VCS Issues): Mention third option
19287         of committing gnulib files while skipping others.
19288
19289 2010-03-07  Bruno Haible  <bruno@clisp.org>
19290
19291         Tests of module 'wctype' in C++ mode.
19292         * tests/test-wctype-c++.cc: New file.
19293         * modules/wctype-tests (Files): Add it and tests/signature.h.
19294         (Depends-on): Add ansi-c++-opt.
19295         (Makefile.am): Arrange to compile and run test-wctype-c++.
19296
19297         Tests of module 'wchar' in C++ mode.
19298         * tests/test-wchar-c++.cc: New file.
19299         * modules/wchar-tests (Files): Add it and tests/signature.h.
19300         (Depends-on): Add ansi-c++-opt.
19301         (Makefile.am): Arrange to compile and run test-wchar-c++.
19302         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
19303         gl_MODULE_INDICATOR.
19304
19305         Tests of module 'unistd' in C++ mode.
19306         * tests/test-unistd-c++.cc: New file.
19307         * modules/unistd-tests (Files): Add it and tests/signature.h.
19308         (Depends-on): Add ansi-c++-opt.
19309         (Makefile.am): Arrange to compile and run test-unistd-c++.
19310         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
19311         gl_MODULE_INDICATOR.
19312
19313         Tests of module 'time' in C++ mode.
19314         * tests/test-time-c++.cc: New file.
19315         * modules/time-tests (Files): Add it and tests/signature.h.
19316         (Depends-on): Add ansi-c++-opt.
19317         (Makefile.am): Arrange to compile and run test-time-c++.
19318         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19319
19320         Tests of module 'sys_time' in C++ mode.
19321         * tests/test-sys_time-c++.cc: New file.
19322         * modules/sys_time-tests (Files): Add it and tests/signature.h.
19323         (Depends-on): Add ansi-c++-opt.
19324         (Makefile.am): Arrange to compile and run test-sys_time-c++.
19325         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
19326         gl_MODULE_INDICATOR.
19327
19328         Tests of module 'sys_stat' in C++ mode.
19329         * tests/test-sys_stat-c++.cc: New file.
19330         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
19331         (Depends-on): Add ansi-c++-opt.
19332         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
19333         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
19334         gl_MODULE_INDICATOR.
19335
19336         Tests of module 'sys_socket' in C++ mode.
19337         * tests/test-sys_socket-c++.cc: New file.
19338         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
19339         (Depends-on): Add ansi-c++-opt.
19340         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
19341         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
19342         gl_MODULE_INDICATOR.
19343
19344         Tests of module 'sys_select' in C++ mode.
19345         * tests/test-sys_select-c++.cc: New file.
19346         * modules/sys_select-tests (Files): Add it and tests/signature.h.
19347         (Depends-on): Add ansi-c++-opt.
19348         (Makefile.am): Arrange to compile and run test-sys_select-c++.
19349         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
19350         gl_MODULE_INDICATOR.
19351
19352         Tests of module 'sys_ioctl' in C++ mode.
19353         * tests/test-sys_ioctl-c++.cc: New file.
19354         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
19355         (Depends-on): Add ansi-c++-opt.
19356         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
19357         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
19358         gl_MODULE_INDICATOR.
19359
19360         Tests of module 'string' in C++ mode.
19361         * tests/test-string-c++.cc: New file.
19362         * modules/string-tests (Files): Add it and tests/signature.h.
19363         (Depends-on): Add ansi-c++-opt.
19364         (Makefile.am): Arrange to compile and run test-string-c++.
19365         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
19366         gl_MODULE_INDICATOR.
19367
19368         Tests of module 'stdlib' in C++ mode.
19369         * tests/test-stdlib-c++.cc: New file.
19370         * modules/stdlib-tests (Files): Add it and tests/signature.h.
19371         (Depends-on): Add ansi-c++-opt.
19372         (Makefile.am): Arrange to compile and run test-stdlib-c++.
19373         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
19374         gl_MODULE_INDICATOR.
19375
19376         Tests of module 'stdio' in C++ mode.
19377         * tests/test-stdio-c++.cc: New file.
19378         * modules/stdio-tests (Files): Add it and tests/signature.h.
19379         (Depends-on): Add ansi-c++-opt.
19380         (Makefile.am): Arrange to compile and run test-stdio-c++.
19381         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
19382         gl_MODULE_INDICATOR.
19383
19384         Tests of module 'spawn' in C++ mode.
19385         * tests/test-spawn-c++.cc: New file.
19386         * modules/spawn-tests (Files): Add it and tests/signature.h.
19387         (Depends-on): Add ansi-c++-opt.
19388         (Makefile.am): Arrange to compile and run test-spawn-c++.
19389         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
19390         gl_MODULE_INDICATOR.
19391
19392         Tests of module 'signal' in C++ mode.
19393         * tests/test-signal-c++.cc: New file.
19394         * modules/signal-tests (Files): Add it and tests/signature.h.
19395         (Depends-on): Add ansi-c++-opt.
19396         (Makefile.am): Arrange to compile and run test-signal-c++.
19397         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
19398         gl_MODULE_INDICATOR.
19399
19400         Tests of module 'search' in C++ mode.
19401         * tests/test-search-c++.cc: New file.
19402         * modules/search-tests (Files): Add it and tests/signature.h.
19403         (Depends-on): Add ansi-c++-opt.
19404         (Makefile.am): Arrange to compile and run test-search-c++.
19405         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
19406         gl_MODULE_INDICATOR.
19407
19408         Tests of module 'math' in C++ mode.
19409         * tests/test-math-c++.cc: New file.
19410         * modules/math-tests (Files): Add it and tests/signature.h.
19411         (Depends-on): Add ansi-c++-opt.
19412         (Makefile.am): Arrange to compile and run test-math-c++.
19413         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19414
19415         Tests of module 'locale' in C++ mode.
19416         * tests/test-locale-c++.cc: New file.
19417         * modules/locale-tests (Files): Add it and tests/signature.h.
19418         (Depends-on): Add ansi-c++-opt.
19419         (Makefile.am): Arrange to compile and run test-locale-c++.
19420         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
19421         gl_MODULE_INDICATOR.
19422
19423         Tests of module 'langinfo' in C++ mode.
19424         * tests/test-langinfo-c++.cc: New file.
19425         * modules/langinfo-tests (Files): Add it and tests/signature.h.
19426         (Depends-on): Add ansi-c++-opt.
19427         (Makefile.am): Arrange to compile and run test-langinfo-c++.
19428         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
19429         gl_MODULE_INDICATOR.
19430
19431         Tests of module 'iconv-h' in C++ mode.
19432         * tests/test-iconv-h-c++.cc: New file.
19433         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
19434         (Depends-on): Add ansi-c++-opt.
19435         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
19436
19437         Tests of module 'glob' in C++ mode.
19438         * tests/test-glob-c++.cc: New file.
19439         * modules/glob-tests (Files): Add it.
19440         (Depends-on): Add ansi-c++-opt.
19441         (Makefile.am): Arrange to compile and run test-glob-c++.
19442
19443         Tests of module 'fcntl-h' in C++ mode.
19444         * tests/test-fcntl-h-c++.cc: New file.
19445         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
19446         (Depends-on): Add ansi-c++-opt.
19447         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
19448         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
19449         gl_MODULE_INDICATOR.
19450
19451         Tests of module 'dirent' in C++ mode.
19452         * tests/test-dirent-c++.cc: New file.
19453         * modules/dirent-tests (Files): Add it and tests/signature.h.
19454         (Depends-on): Add ansi-c++-opt.
19455         (Makefile.am): Arrange to compile and run test-dirent-c++.
19456         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
19457         gl_MODULE_INDICATOR.
19458
19459         New module 'ansi-c++-opt'.
19460         * modules/ansi-c++-opt: New file.
19461         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
19462
19463         Document C++ namespace mode.
19464         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
19465
19466         wctype: Avoid #define replacements in C++ mode.
19467         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
19468         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
19469         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
19470         In C++, define a namespaced alias symbol.
19471         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
19472         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
19473         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
19474         rule.
19475
19476         wchar: Avoid #define replacements in C++ mode.
19477         * lib/wchar.in.h: Include c++defs.h.
19478         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
19479         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
19480         symbol.
19481         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
19482         * modules/wchar (Depends-on): Add c++defs.
19483         (Makefile.am): Update wchar.h rule.
19484
19485         unistd: Avoid #define replacements in C++ mode.
19486         * lib/unistd.in.h: Include c++defs.h.
19487         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
19488         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
19489         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
19490         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
19491         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
19492         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
19493         symbol.
19494         (environ): Update.
19495         * modules/unistd (Depends-on): Add c++defs.
19496         (Makefile.am): Update unistd.h rule.
19497
19498         time: Avoid #define replacements in C++ mode.
19499         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
19500         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
19501         define a namespaced alias symbol.
19502         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
19503         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
19504         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
19505         * modules/time (Depends-on): Add c++defs, warn-on-use.
19506         (Makefile.am): Update time.h rule.
19507         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
19508         * modules/nanosleep (configure.ac): Likewise.
19509         * modules/strptime (configure.ac): Likewise.
19510         * modules/timegm (configure.ac): Likewise.
19511
19512         sys_time: Avoid #define replacements in C++ mode.
19513         * lib/sys_time.in.h: Include c++defs.h.
19514         (gettimeofday): In C++, define a namespaced alias symbol.
19515         * modules/sys_time (Depends-on): Add c++defs.
19516         (Makefile.am): Update sys/time.h rule.
19517
19518         sys_stat: Avoid #define replacements in C++ mode.
19519         * lib/sys_stat.in.h: Include c++defs.h.
19520         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
19521         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
19522         namespaced alias symbol.
19523         In C++, define a namespaced alias symbol.
19524         * modules/sys_stat (Depends-on): Add c++defs.
19525         (Makefile.am): Update sys/stat.h rule.
19526
19527         sys_socket: Avoid #define replacements in C++ mode.
19528         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
19529         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
19530         definitions also when the system has a <sys/socket.h>.
19531         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
19532         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
19533         In C++, define a namespaced alias symbol.
19534         * modules/sys_socket (Depends-on): Add c++defs.
19535         (Makefile.am): Update sys/socket.h rule.
19536
19537         sys_select: Avoid #define replacements in C++ mode.
19538         * lib/sys_select.in.h: Include c++defs.h. Enable the function
19539         definitions also when the system has a <sys/select.h>.
19540         (select): In C++, define a namespaced alias symbol.
19541         * modules/sys_select (Depends-on): Add c++defs.
19542         (Makefile.am): Update sys/select.h rule.
19543
19544         sys_ioctl: Avoid #define replacements in C++ mode.
19545         * lib/sys_ioctl.in.h: Include c++defs.h.
19546         (ioctl): In C++, define a namespaced alias symbol.
19547         * modules/sys_ioctl (Depends-on): Add c++defs.
19548         (Makefile.am): Update sys/ioctl.h rule.
19549
19550         string: Avoid #define replacements in C++ mode.
19551         * lib/string.in.h: Include c++defs.h.
19552         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
19553         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19554         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19555         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
19556         strsignal, strverscmp): In C++, define a namespaced alias symbol.
19557         * modules/string (Depends-on): Add c++defs.
19558         (Makefile.am): Update string.h rule.
19559
19560         stdlib: Avoid #define replacements in C++ mode.
19561         * lib/stdlib.in.h: Include c++defs.h.
19562         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
19563         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
19564         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
19565         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
19566         symbol.
19567         * modules/stdlib (Depends-on): Add c++defs.
19568         (Makefile.am): Update stdlib.h rule.
19569
19570         stdio: Avoid #define replacements in C++ mode.
19571         * lib/stdio.in.h: Include c++defs.h.
19572         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
19573         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
19574         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
19575         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
19576         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
19577         namespaced alias symbol.
19578         * modules/stdio (Depends-on): Add c++defs.
19579         (Makefile.am): Update stdio.h rule.
19580
19581         spawn: Avoid #define replacements in C++ mode.
19582         * lib/spawn.in.h: Include c++defs.h.
19583         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19584         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19585         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19586         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19587         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19588         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19589         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19590         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19591         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19592         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19593         In C++, define a namespaced alias symbol.
19594         * modules/spawn (Depends-on): Add c++defs.
19595         (Makefile.am): Update spawn.h rule.
19596
19597         signal: Avoid #define replacements in C++ mode.
19598         * lib/signal.in.h: Include c++defs.h.
19599         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19600         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
19601         namespaced alias symbol.
19602         * modules/signal (Depends-on): Add c++defs.
19603         (Makefile.am): Update signal.h rule.
19604
19605         search: Avoid #define replacements in C++ mode.
19606         * lib/search.in.h: Include c++defs.h.
19607         (_gl_search_compar_fn, _gl_search_action_fn): New types.
19608         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
19609         symbol.
19610         * modules/search (Depends-on): Add c++defs.
19611         (Makefile.am): Update search.h rule.
19612
19613         math: Avoid #define replacements in C++ mode.
19614         * lib/math.in.h: Include c++defs.h.
19615         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
19616         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
19617         trunc, truncl): In C++, define a namespaced alias symbol.
19618         * modules/math (Depends-on): Add c++defs.
19619         (Makefile.am): Update math.h rule.
19620
19621         locale: Avoid #define replacements in C++ mode.
19622         * lib/locale.in.h: Include c++defs.h.
19623         (duplocale): In C++, define a namespaced alias symbol.
19624         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
19625         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
19626         * modules/locale (Depends-on): Add c++defs.
19627         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
19628
19629         langinfo: Avoid #define replacements in C++ mode.
19630         * lib/langinfo.in.h: Include c++defs.h.
19631         (nl_langinfo): In C++, define a namespaced alias symbol.
19632         * modules/langinfo (Depends-on): Add c++defs.
19633         (Makefile.am): Update langinfo.h rule.
19634
19635         iconv-h: Avoid #define replacements in C++ mode.
19636         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
19637         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
19638         symbol.
19639         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
19640         whenever iconv is present.
19641         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
19642         (Makefile.am): Update iconv.h rule.
19643
19644         glob: Avoid #define replacements in C++ mode.
19645         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
19646         (_gl_glob_errfunc_fn): New type.
19647         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
19648         symbol.
19649         * modules/glob (Depends-on): Add c++defs, warn-on-use.
19650         (Makefile.am): Update glob.h rule.
19651
19652         fcntl-h: Avoid #define replacements in C++ mode.
19653         * lib/fcntl.in.h: Include c++defs.h.
19654         (fcntl, open, openat): In C++, define a namespaced alias symbol.
19655         * modules/fcntl-h (Depends-on): Add c++defs.
19656         (Makefile.am): Update fcntl.h rule.
19657
19658         dirent: Avoid #define replacements in C++ mode.
19659         * lib/dirent.in.h: Include c++defs.h.
19660         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
19661         namespaced alias symbol.
19662         (dirfd): Update declaration.
19663         * modules/dirent (Depends-on): Add c++defs.
19664         (Makefile.am): Update dirent.h rule.
19665
19666         ctype: Make it usable in C++ code.
19667         * lib/ctype.in.h: Include c++defs.h.
19668         (isblank): Declare as extern "C".
19669         * modules/ctype (Depends-on): Add c++defs.
19670         (Makefile.am): Update ctype.h rule.
19671
19672         New module 'c++defs'.
19673         * modules/c++defs: New file.
19674         * build-aux/c++defs.h: New file.
19675         Reported by John W. Eaton <jwe@gnu.org>.
19676
19677 2010-03-07  Bruno Haible  <bruno@clisp.org>
19678
19679         logb: Provide missing declaration for Cygwin.
19680         * lib/math.in.h (logb): New declaration.
19681         * m4/logb.m4: New file.
19682         * modules/logb (Files): Add m4/logb.m4.
19683         (Depends-on): Add math.
19684         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
19685         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
19686         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
19687         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
19688         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
19689
19690 2010-03-07  Bruno Haible  <bruno@clisp.org>
19691
19692         Fix test-cond link error.
19693         * tests/test-cond.c: Include <stdio.h>.
19694
19695 2010-03-07  Bruno Haible  <bruno@clisp.org>
19696
19697         Fix test-dirent-safer link error.
19698         * modules/dirent-safer-tests (Makefile.am): Define
19699         test_dirent_safer_LDADD.
19700
19701 2010-03-07  Bruno Haible  <bruno@clisp.org>
19702
19703         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
19704         among default module list.
19705
19706 2010-03-07  Bruno Haible  <bruno@clisp.org>
19707
19708         Fix link error on platforms with GNU libiconv.
19709         * modules/unistr/u8-strcoll-tests (Makefile): Define
19710         test_u8_strcoll_LDADD.
19711         * modules/unistr/u16-strcoll-tests (Makefile): Define
19712         test_u16_strcoll_LDADD.
19713         * modules/unistr/u32-strcoll-tests (Makefile): Define
19714         test_u32_strcoll_LDADD.
19715
19716 2010-03-07  Bruno Haible  <bruno@clisp.org>
19717
19718         Use POSIX declarations for socket functions.
19719         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
19720         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
19721         rpl_sendto): Change declaration to match POSIX.
19722         * lib/connect.c (rpl_connect): Likewise.
19723         * lib/accept.c (rpl_accept): Likewise.
19724         * lib/bind.c (rpl_bind): Likewise.
19725         * lib/getpeername.c (rpl_getpeername): Likewise.
19726         * lib/getsockname.c (rpl_getsockname): Likewise.
19727         * lib/recv.c (rpl_recv): Likewise.
19728         * lib/send.c (rpl_send): Likewise.
19729         * lib/recvfrom.c (rpl_recvfrom): Likewise.
19730         * lib/sendto.c (rpl_sendto): Likewise.
19731
19732 2010-03-06  Bruno Haible  <bruno@clisp.org>
19733
19734         Clarify access, euidaccess, faccessat.
19735         * doc/posix-functions/faccessat.texi: Mention security problem under
19736         "Other problems", not "Portability problems".
19737         * doc/posix-functions/access.texi: Likewise. Mention a related security
19738         problem.
19739         * doc/glibc-functions/euidaccess.texi: Mention security problems.
19740         * lib/euidaccess.c: Add comments about platforms.
19741         * lib/unistd.in.h (access, euidaccess): Add warnings.
19742
19743 2010-03-07  Bruno Haible  <bruno@clisp.org>
19744
19745         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
19746         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
19747         (POSIX_SPAWN_SETSCHEDULER): Likewise.
19748         (POSIX_SPAWN_USEVFORK): Define in a way that works when
19749         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19750         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
19751         declare when POSIX_SPAWN_SETSCHEDULER is zero.
19752         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
19753         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
19754         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
19755         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
19756         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
19757         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
19758         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
19759         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
19760         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
19761         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
19762         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
19763         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
19764         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
19765         Likewise.
19766         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
19767         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
19768         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
19769         Likewise.
19770         * tests/test-spawn.c (main): Make it work when
19771         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19772
19773 2010-03-07  Bruno Haible  <bruno@clisp.org>
19774
19775         Fix incorrect Makefile.am generation in German locale.
19776         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19777         Execute sed command with character range in C locale.
19778
19779 2010-03-06  Bruno Haible  <bruno@clisp.org>
19780
19781         Tests for module 'iconv-h'.
19782         * modules/iconv-h-tests: New file.
19783         * tests/test-iconv-h.c: New file.
19784
19785         New module 'iconv-h'.
19786         * modules/iconv-h: New file.
19787         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
19788         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
19789         (configure.ac): Remove gl_ICONV_H.
19790         (Makefile.am): Remove rule for iconv.h.
19791
19792 2010-03-06  Bruno Haible  <bruno@clisp.org>
19793
19794         More consistent naming of *.m4 files.
19795         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
19796         * modules/wctype (Files): Update.
19797
19798         More consistent naming of *.m4 files.
19799         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
19800         * modules/wchar (Files): Update.
19801
19802 2010-03-06  Jim Meyering  <meyering@redhat.com>
19803
19804         euidaccess: relax license to LGPLv2+
19805         * modules/euidaccess (License): Relax to LGPLv2+.
19806
19807 2010-03-06  Bruno Haible  <bruno@clisp.org>
19808
19809         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
19810         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
19811         (Makefile.am): Augment lib_SOURCES instead.
19812
19813 2010-03-04  Jim Meyering  <meyering@redhat.com>
19814
19815         utime: remove obsolete module
19816         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
19817         unnecessary for years, and has been marked as obsolete for 10 months.
19818         * modules/utime: Remove file.
19819         * lib/utime.c: Remove file.
19820         * m4/utime.m4: Remove file.
19821         * m4/utimes-null.m4: Remove file.
19822         * doc/posix-functions/utime.texi (utime): Remove reference to
19823         the module.  Move the sole "fixed by gnulib" item into the
19824         "problems not fixed by Gnulib" list.
19825         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
19826
19827 2010-03-05  Simon Josefsson  <simon@josefsson.org>
19828
19829         * modules/exit (License): Relax license to LGPLv2+.
19830         (Status): Mark as obsolete.
19831         * NEWS: Mention deprecated 'exit' module.
19832         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
19833         of now obsolete 'exit'.
19834
19835 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19836
19837         fts-lgpl: remove unused module
19838         * modules/fts-lgpl: Remove.
19839         * MODULES.html.sh (func_all_modules): Adjust.
19840         * check-module (find_included_lib_files): Adjust.
19841         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
19842
19843 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
19844
19845         copy-acl: enhance Solaris ACL error handling
19846         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
19847         * lib/set-mode-acl.c (qset_acl): Likewise.
19848
19849 2010-03-02  Bruno Haible  <bruno@clisp.org>
19850
19851         spawn: Don't override the system defined values on FreeBSD 8.
19852         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
19853         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
19854         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
19855         if HAVE_POSIX_SPAWN is 1.
19856         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
19857
19858 2010-03-01  Bruno Haible  <bruno@clisp.org>
19859
19860         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
19861         regarding Automake.
19862
19863 2010-02-25  Bruno Haible  <bruno@clisp.org>
19864
19865         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
19866         * gnulib-tool: Define 'echo' as a function only before the ksh alias
19867         setting, not afterwards.
19868         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
19869
19870 2010-02-24  Eric Blake  <eblake@redhat.com>
19871
19872         bootstrap, git-version-gen: use timestamp
19873         * build-aux/git-version-gen (scriptversion): Force UTC.
19874         * build-aux/bootstrap (scriptversion): New variable.
19875
19876         bootstrap: allow older git
19877         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
19878         older than 1.6.4.  Requested by the libvirt project.
19879
19880 2010-02-23  Eric Blake  <eblake@redhat.com>
19881
19882         warn-on-use: work with old autoconf
19883         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
19884         AS_VAR semantics of autoconf 2.60.
19885         Reported by Bruno Haible.
19886
19887         bootstrap: improve some comments
19888         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
19889         clarification comments.
19890
19891         gettimeofday: provide correct function
19892         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
19893         when replacement is declared, otherwise provide gettimeofday.
19894         Reported by Michael Goffioul.
19895
19896 2010-02-23  Jim Meyering  <meyering@redhat.com>
19897
19898         lib-ignore: relax license to "unlimited", not LGPLv2+
19899         * modules/lib-ignore (License): Relax to "unlimited".
19900
19901 2010-02-23  Jim Meyering  <meyering@redhat.com>
19902
19903         lib-ignore: relax license to LGPLv2+
19904         * modules/lib-ignore (License): Relax to LGPLv2+.
19905
19906 2010-02-22  Eric Blake  <eblake@redhat.com>
19907
19908         lseek: avoid bash 3.2 broken pipe bug
19909         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
19910         warning from bash 3.2.
19911         Reported by Ben Pfaff, with analysis from Bruno Haible.
19912
19913         bootstrap: support non-FSF copyright holder
19914         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
19915         bootstrap.conf override of COPYRIGHT_HOLDER.
19916         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
19917
19918         bootstrap: interoperate with gettext 0.14.1
19919         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
19920
19921         bootstrap: allow for alternate submodule location
19922         * build-aux/bootstrap (gnulib_path): New variable; use instead of
19923         hardcoding submodule location.
19924         (gnulib_mk): Allow direct use of Makefile.am.
19925
19926         bootstrap: use GNULIB_SRCDIR to reduce disk usage
19927         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
19928         rather than reconfiguring where the submodule points.
19929
19930         gettimeofday: restore support for platforms that lack function
19931         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
19932         replacement if function is missing.
19933         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
19934         * modules/sys_time (Makefile.am): Substitute it.
19935         * lib/sys_time.in.h (gettimeofday): Check it.
19936         Reported by Michael Goffioul.
19937
19938 2010-02-21  Bruno Haible  <bruno@clisp.org>
19939
19940         * lib/stdio.in.h (obstack_printf): Fix typo.
19941
19942 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
19943
19944         vc-list-files: use bzr ls's -R option
19945         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
19946         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
19947
19948 2010-02-21  Jim Meyering  <meyering@redhat.com>
19949
19950         init.sh: fix EXEEXT shims to work also for names like test-prog
19951         * tests/init.sh: Re-exec a better shell, when needed.
19952         If the current shell lacks support for posix $(...), an init.sh-using
19953         test will now try to find a shell that supports that.  If EXEEXT is
19954         nonempty, we also require support for hyphen-in-alias-name and shell
19955         substitutions like ${var#glob}.  Failure to find such a shell results
19956         in a skipped test.
19957
19958 2010-02-21  Bruno Haible  <bruno@clisp.org>
19959
19960         Really work around around "broken pipe" error message from bash 3.2.
19961         * gnulib-tool (func_reset_sigpipe): Remove function.
19962         (echo): In bash 3.2, define to a function that uses printf.
19963         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
19964
19965 2010-02-20  Bruno Haible  <bruno@clisp.org>
19966
19967         Restore support for automake 1.9.6 with autoconf 2.61.
19968         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
19969         Reported by James Youngman <jay@gnu.org>.
19970
19971 2010-02-20  Bruno Haible  <bruno@clisp.org>
19972
19973         Improve *printf warning condition.
19974         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
19975         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
19976         and the function is overridden due to SIGPIPE emulation.
19977
19978 2010-02-20  Bruno Haible  <bruno@clisp.org>
19979
19980         * lib/stdio.in.h: Tweak comments.
19981
19982 2010-02-19  Bruno Haible  <bruno@clisp.org>
19983
19984         Make it easier to find modules. New gnulib-tool option '--find'.
19985         * gnulib-tool: New option --find.
19986         (func_usage): Document it.
19987         (func_sanitize_modulelist): New function, extracted from
19988         func_all_modules.
19989         (func_all_modules): Invoke it.
19990         * doc/gnulib-tool.texi (Which modules?): New node.
19991
19992 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
19993
19994         * lib/sys_select.in.h: Provide select replacement even if
19995         sys/select.h exists on a system, for Interix.
19996
19997 2010-02-18  Jim Meyering  <meyering@redhat.com>
19998
19999         init.sh: don't use $(...) just yet
20000         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
20001         to accommodate e.g., Solaris' /bin/sh.
20002
20003 2010-02-17  Bruno Haible  <bruno@clisp.org>
20004
20005         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
20006         Reported by Ludovic Courtès <ludo@gnu.org>.
20007
20008 2010-02-16  Simon Josefsson  <simon@josefsson.org>
20009
20010         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
20011         linking with -lintl.
20012
20013 2010-02-17  Simon Josefsson  <simon@josefsson.org>
20014
20015         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
20016         if not provided by the system's netdb.h.  Reported by
20017         ludo@gnu.org (Ludovic Courtès).
20018
20019 2010-02-15  Jim Meyering  <meyering@redhat.com>
20020
20021         init.sh: improve portability and efficiency
20022         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
20023         "dummy" in a for loop.
20024         Use '!', not '^' to select the complement of a character set used
20025         in a "case" statement.
20026         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
20027         Suggestions from Eric Blake.
20028
20029         init.sh: automatically accommodate programs with the .exe suffix
20030         Automatically arrange for an invocation of "prog" to execute the
20031         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
20032         may use the simpler "prog", yet still work when built on a system
20033         that requires specifying the added suffix.
20034         Do this by constructing a function named "prog" that invokes
20035         "prog.exe" for each .exe file in selected directories.
20036         * tests/init.sh (find_exe_basenames_): New function.
20037         (create_exe_shim_functions_): New function.
20038         (path_prepend_): Use it.
20039
20040         maint.mk: mark syntax-check sc_*.m rules as .PHONY
20041         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
20042         "make -t syntax-check" doesn't create a ton of sc_*.m files.
20043
20044 2010-02-14  Jim Meyering  <meyering@redhat.com>
20045
20046         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
20047         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
20048         (sc_prohibit_hash_pjw_without_use): New rule.
20049
20050         maint.mk: allow the default upload destination dir to be overridden
20051         * top/maint.mk (upload_dest_dir_): Define with a default that
20052         preserves the status quo.
20053         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
20054         Reported by Peter Simons.
20055
20056         maint.mk: prohibit inclusion of "hash.h" without_use
20057         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
20058
20059 2010-02-10  Jim Meyering  <meyering@redhat.com>
20060
20061         maint.mk: prohibit inclusion of "ignore-value.h" without_use
20062         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
20063
20064 2010-02-09  Eric Blake  <ebb9@byu.net>
20065         and Bruno Haible  <bruno@clisp.org>
20066
20067         obstack-printf-posix: ensure declaration
20068         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
20069         extracted from gl_FUNC_OBSTACK_PRINTF.
20070         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
20071         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
20072         Likewise.
20073         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
20074         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
20075         0.
20076
20077 2010-02-08  Bruno Haible  <bruno@clisp.org>
20078
20079         gnulib-tool: Fix typo in 2010-02-07 commit.
20080         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
20081         Reported by Eric Blake.
20082
20083 2010-02-07  Bruno Haible  <bruno@clisp.org>
20084
20085         gnulib-tool: Fix up caching patches.
20086         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
20087         option --no-cache. Use associative arrays when supported by the shell.
20088         (sed_comments): New variable.
20089         (modcache): Renamed from do_cache.
20090         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
20091         abbreviate unnecessarily.
20092         (have_associative): New variable.
20093         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
20094         way also for ksh and zsh.
20095         (func_init_sed_convert_to_cache_statements): New function, extracted
20096         from func_cache_lookup_module. Add support for associative arrays.
20097         Don't set the c_MODULE_cached variable here. Ignore all lines before
20098         the first field header. Remove only the final newline, not all trailing
20099         newlines. Support empty fields correctly. Limit the use of 'eval' to
20100         assignments.
20101         (func_get_description, func_get_status, func_get_notice,
20102         func_get_applicability, func_get_filelist, func_get_dependencies,
20103         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
20104         func_get_automake_snippet, func_get_include_directive,
20105         func_get_link_directive, func_get_license, func_get_maintainer):
20106         Update documentation. List the unoptimized code first. Add support for
20107         associative arrays. Limit the use of 'eval' to assignments.
20108         (func_get_applicability): Undo stylistic pessimisations.
20109         (func_get_automake_snippet, func_get_include_directive): Reduce code
20110         duplication.
20111         (func_modules_transitive_closure, func_modules_add_dummy,
20112         func_modules_notice, func_modules_to_filelist, func_add_file,
20113         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
20114         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
20115         func_create_testdir, func_create_megatestdir): Update documentation.
20116
20117 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20118
20119         * gnulib-tool (func_cache_lookup_module): Store the module name
20120         belonging to the cache variable; error out if two different
20121         module names map to the same cache variable name.
20122
20123 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20124
20125         gnulib-tool: Make caching optional.
20126         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
20127         Update matching short versions of --no-changelog.
20128         (func_usage): Update.
20129         (sed_extract_cache_prog): Renamed from ...
20130         (sed_extract_prog): ... this; revert to old extraction script.
20131         (func_get_description, func_get_status)
20132         (func_get_notice, func_get_applicability, func_get_filelist)
20133         (func_get_dependencies, func_get_autoconf_early_snippet)
20134         (func_get_autoconf_snippet, func_get_automake_snippet)
20135         (func_get_include_directive, func_get_link_directive)
20136         (func_get_license, func_get_maintainer): If $do_cache is false,
20137         use old, non-caching extraction scripts.
20138         Suggestion by Bruno Haible.
20139
20140 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20141
20142         gnulib-tool: cache module metainformation.
20143         * gnulib-tool (sed_extract_prog): Match newline before each
20144         header, and rewrite header to a shell variable suffix.
20145         (func_cache_var, func_cache_lookup_module): New functions,
20146         to turn a module name into a cache variable prefix, and to
20147         look up and cache module metainformation.
20148         (func_get_description, func_get_status)
20149         (func_get_notice, func_get_applicability, func_get_filelist)
20150         (func_get_dependencies, func_get_autoconf_early_snippet)
20151         (func_get_autoconf_snippet, func_get_automake_snippet)
20152         (func_get_include_directive, func_get_link_directive)
20153         (func_get_license, func_get_maintainer): Use
20154         func_cache_lookup_module.
20155
20156 2010-02-07  Bruno Haible  <bruno@clisp.org>
20157
20158         fnctl: Fix missing dependency.
20159         * modules/fcntl (Depends-on): Add getdtablesize.
20160         Reported by John W. Eaton <jwe@gnu.org>.
20161
20162 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20163
20164         Argp: fix recognition of short alias options.
20165
20166         * lib/argp-parse.c (convert_options): Fix improper use of
20167         `|' between character values.
20168         * tests/test-argp.c (group1_option): New alias option
20169         --read (-r).
20170         (group1_parser): Special handling for 'r'.
20171         (test15): New test case.
20172         (test_fun): Add test15.
20173         * tests/test-argp-2.sh: Update expected --help and --usage
20174         outputs.
20175
20176 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20177
20178         * tests/test-argp.c: Fix indentation.
20179
20180 2010-02-04  Eric Blake  <ebb9@byu.net>
20181
20182         gettimeofday: expose type of second argument
20183         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
20184         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
20185         * tests/test-gettimeofday.c: Use it to silence warning.
20186         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
20187         the issue.
20188
20189 2010-02-03  Jim Meyering  <meyering@redhat.com>
20190
20191         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
20192         * lib/regcomp.c (TYPE_SIGNED): Define.
20193         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
20194
20195         regcomp.c: avoid a new -Wshadow warning
20196         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
20197
20198 2010-02-01  Jim Meyering  <meyering@redhat.com>
20199
20200         removing useless parentheses in cpp #define directives
20201         For motivation, see commit c0221df4, "define STREQ(a,b)
20202         consistently, removing useless parentheses"
20203         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
20204         * lib/mountlist.c (MNT_IGNORE): Likewise.
20205         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
20206
20207 2010-02-01  Eric Blake  <ebb9@byu.net>
20208
20209         sys_time: use link-warning
20210         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
20211         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
20212         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
20213         * modules/sys_time (Depends-on): Add warn-on-use.
20214         (Makefile.am): Always build replacement.
20215         (configure.ac): Update substitutions.
20216         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
20217         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
20218         bother with SYS_TIME_H.
20219         * modules/gettimeofday (configure.ac): Declare indicator.
20220         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
20221         in use.
20222
20223         closein-tests: silence compiler warning
20224         * tests/test-closein.c (main): Ignore fread result.
20225         * modules/closein-tests (Depends-on): Add ignore-value.
20226
20227         tests: silence warning about system return
20228         * tests/test-areadlink-with-size.c (main): Ignore system result.
20229         * tests/test-areadlink.c (main): Likewise.
20230         * tests/test-areadlinkat-with-size.c (main): Likewise.
20231         * tests/test-areadlinkat.c (main): Likewise.
20232         * tests/test-canonicalize-lgpl.c (main): Likewise.
20233         * tests/test-canonicalize.c (main): Likewise.
20234         * tests/test-chown.c (main): Likewise.
20235         * tests/test-fchownat.c (main): Likewise.
20236         * tests/test-fdutimensat.c (main): Likewise.
20237         * tests/test-fstatat.c (main): Likewise.
20238         * tests/test-futimens.c (main): Likewise.
20239         * tests/test-lchown.c (main): Likewise.
20240         * tests/test-link.c (main): Likewise.
20241         * tests/test-linkat.c (main): Likewise.
20242         * tests/test-lstat.c (main): Likewise.
20243         * tests/test-mkdir.c (main): Likewise.
20244         * tests/test-mkdirat.c (main): Likewise.
20245         * tests/test-mkfifo.c (main): Likewise.
20246         * tests/test-mkfifoat.c (main): Likewise.
20247         * tests/test-mknod.c (main): Likewise.
20248         * tests/test-readlink.c (main): Likewise.
20249         * tests/test-remove.c (main): Likewise.
20250         * tests/test-rename.c (main): Likewise.
20251         * tests/test-renameat.c (main): Likewise.
20252         * tests/test-rmdir.c (main): Likewise.
20253         * tests/test-symlink.c (main): Likewise.
20254         * tests/test-symlinkat.c (main): Likewise.
20255         * tests/test-unlink.c (main): Likewise.
20256         * tests/test-unlinkat.c (main): Likewise.
20257         * tests/test-utimens.c (main): Likewise.
20258         * tests/test-utimensat.c (main): Likewise.
20259         * modules/areadlink-tests (Depends-on): Add ignore-value.
20260         * modules/areadlink-with-size-tests (Depends-on): Likewise.
20261         * modules/areadlinkat-tests (Depends-on): Likewise.
20262         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
20263         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
20264         * modules/canonicalize-tests (Depends-on): Likewise.
20265         * modules/chown-tests (Depends-on): Likewise.
20266         * modules/fdutimensat-tests (Depends-on): Likewise.
20267         * modules/futimens-tests (Depends-on): Likewise.
20268         * modules/lchown-tests (Depends-on): Likewise.
20269         * modules/link-tests (Depends-on): Likewise.
20270         * modules/linkat-tests (Depends-on): Likewise.
20271         * modules/lstat-tests (Depends-on): Likewise.
20272         * modules/mkdir-tests (Depends-on): Likewise.
20273         * modules/mkfifo-tests (Depends-on): Likewise.
20274         * modules/mkfifoat-tests (Depends-on): Likewise.
20275         * modules/mknod-tests (Depends-on): Likewise.
20276         * modules/openat-tests (Depends-on): Likewise.
20277         * modules/readlink-tests (Depends-on): Likewise.
20278         * modules/remove-tests (Depends-on): Likewise.
20279         * modules/rename-tests (Depends-on): Likewise.
20280         * modules/renameat-tests (Depends-on): Likewise.
20281         * modules/rmdir-tests (Depends-on): Likewise.
20282         * modules/symlink-tests (Depends-on): Likewise.
20283         * modules/symlinkat-tests (Depends-on): Likewise.
20284         * modules/unlink-tests (Depends-on): Likewise.
20285         * modules/utimens-tests (Depends-on): Likewise.
20286         * modules/utimensat-tests (Depends-on): Likewise.
20287
20288 2010-01-31  Bruno Haible  <bruno@clisp.org>
20289
20290         Perform the same test for many <math.h> functions.
20291         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
20292         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
20293         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
20294         of gl_MATHFUNC.
20295         * modules/acos (configure.ac): Likewise.
20296         * modules/asin (configure.ac): Likewise.
20297         * modules/atan (configure.ac): Likewise.
20298         * modules/atan2 (configure.ac): Likewise.
20299         * modules/cbrt (configure.ac): Likewise.
20300         * modules/copysign (configure.ac): Likewise.
20301         * modules/cos (configure.ac): Likewise.
20302         * modules/cosh (configure.ac): Likewise.
20303         * modules/erf (configure.ac): Likewise.
20304         * modules/erfc (configure.ac): Likewise.
20305         * modules/exp (configure.ac): Likewise.
20306         * modules/fmod (configure.ac): Likewise.
20307         * modules/hypot (configure.ac): Likewise.
20308         * modules/j0 (configure.ac): Likewise.
20309         * modules/j1 (configure.ac): Likewise.
20310         * modules/jn (configure.ac): Likewise.
20311         * modules/lgamma (configure.ac): Likewise.
20312         * modules/log (configure.ac): Likewise.
20313         * modules/log10 (configure.ac): Likewise.
20314         * modules/log1p (configure.ac): Likewise.
20315         * modules/pow (configure.ac): Likewise.
20316         * modules/remainder (configure.ac): Likewise.
20317         * modules/sin (configure.ac): Likewise.
20318         * modules/sinh (configure.ac): Likewise.
20319         * modules/tan (configure.ac): Likewise.
20320         * modules/tanh (configure.ac): Likewise.
20321         * modules/y0 (configure.ac): Likewise.
20322         * modules/y1 (configure.ac): Likewise.
20323         * modules/yn (configure.ac): Likewise.
20324         Suggested by Paolo Bonzini.
20325
20326 2010-01-31  Bruno Haible  <bruno@clisp.org>
20327
20328         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
20329
20330 2010-01-31  Bruno Haible  <bruno@clisp.org>
20331
20332         Work around getdelim() bug on FreeBSD 8.0.
20333         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
20334         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
20335         not work.
20336         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
20337         is 1.
20338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
20339         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
20340         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
20341         a non-zero size.
20342         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
20343
20344 2010-01-31  Bruno Haible  <bruno@clisp.org>
20345
20346         Work around getline() bug on FreeBSD 8.0.
20347         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
20348         and a non-zero size.
20349         * tests/test-getline.c (main): Likewise.
20350         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
20351         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
20352
20353 2010-01-28  Eric Blake  <ebb9@byu.net>
20354
20355         regex: fix build failure
20356         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
20357         platforms.
20358
20359 2010-01-28  Jim Meyering  <meyering@redhat.com>
20360
20361         regex: do not ignore memory allocation failure
20362         * lib/regex_internal.c (create_cd_newstate): Detect
20363         re_node_set_init_copy failure.   Extracted from glibc commit
20364         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20365
20366         regex: sync more white-space changes from libc
20367         * lib/regex_internal.c: White-space only changes.
20368         * lib/regexec.c: Likewise.
20369
20370         regex: add many uses of __attribute_warn_unused_result__
20371         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
20372         * lib/regexec.c: Likewise.
20373         Extracted from a messy glibc commit.
20374
20375         regcomp.c: spelling and merge-artifact from glibc
20376         * lib/regcomp.c: Merge remainder of glibc's
20377         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20378
20379         regcomp.c: sync white-space changes from glibc
20380         * lib/regcomp.c: Merge to accommodate white space
20381         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20382
20383         regcomp.c: do not ignore internal return values
20384         * lib/regcomp.c: Do not ignore internal return values.
20385         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
20386         but without its white-space changes and spelling fixes.
20387
20388         regex_internal.h: define __attribute_warn_unused_result__
20389         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
20390
20391         maint: add a syntax-check rule to check for vulnerable Makefile.in
20392         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
20393
20394 2010-01-27  Jim Meyering  <meyering@redhat.com>
20395
20396         ncftpput-ftp: clean up spaces
20397         * build-aux/ncftpput-ftp: Make Copyright line consistent.
20398         Remove trailing blanks.
20399
20400 2010-01-27  Simon Josefsson  <simon@josefsson.org>
20401
20402         * build-aux/git-version-gen: Fix copyright statement.
20403         * build-aux/gnupload: Likewise.
20404         * tests/test-arcfour.c: Likewise.
20405         * tests/test-arctwo.c: Likewise.
20406         * tests/test-count-one-bits.c: Likewise.
20407         * tests/test-crc.c: Likewise.
20408         * tests/test-des.c: Likewise.
20409         * tests/test-gc-arcfour.c: Likewise.
20410         * tests/test-gc-arctwo.c: Likewise.
20411         * tests/test-gc-des.c: Likewise.
20412         * tests/test-gc-hmac-md5.c: Likewise.
20413         * tests/test-gc-hmac-sha1.c: Likewise.
20414         * tests/test-gc-md2.c: Likewise.
20415         * tests/test-gc-md4.c: Likewise.
20416         * tests/test-gc-md5.c: Likewise.
20417         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20418         * tests/test-gc-rijndael.c: Likewise.
20419         * tests/test-gc-sha1.c: Likewise.
20420         * tests/test-gc.c: Likewise.
20421         * tests/test-gethostname.c: Likewise.
20422         * tests/test-gettimeofday.c: Likewise.
20423         * tests/test-hash.c: Likewise.
20424         * tests/test-hmac-md5.c: Likewise.
20425         * tests/test-hmac-sha1.c: Likewise.
20426         * tests/test-md2.c: Likewise.
20427         * tests/test-md4.c: Likewise.
20428         * tests/test-md5.c: Likewise.
20429         * tests/test-memchr.c: Likewise.
20430         * tests/test-memchr2.c: Likewise.
20431         * tests/test-memcmp.c: Likewise.
20432         * tests/test-memmem.c: Likewise.
20433         * tests/test-memrchr.c: Likewise.
20434         * tests/test-rawmemchr.c: Likewise.
20435         * tests/test-read-file.c: Likewise.
20436         * tests/test-rijndael.c: Likewise.
20437         * tests/test-sockets.c: Likewise.
20438         * tests/test-strchrnul.c: Likewise.
20439         * tests/test-strstr.c: Likewise.
20440         * tests/test-strtod.c: Likewise.
20441         * build-aux/ncftpput-ftp: Likewise.
20442
20443 2010-01-26  Eric Blake  <ebb9@byu.net>
20444
20445         ignore-value: update recommended header name
20446         * modules/ignore-value (Include): Only use <> for headers that
20447         exist in glibc.
20448
20449 2010-01-26  Jim Meyering  <meyering@redhat.com>
20450
20451         test-userspec.c: avoid compiler warnings
20452         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
20453         and "initialization discards qualifiers..." warnings.
20454         Put the first "uid" in its own scope, and make char* members "const".
20455
20456 2010-01-25  Bruno Haible  <bruno@clisp.org>
20457
20458         gnulib-tool: Make warning diagnostics consistent.
20459         * gnulib-tool (func_warning): New function.
20460         Use it everywhere where gnulib-tool produces output to stderr and it is
20461         not a fatal error.
20462
20463 2010-01-25  Bruno Haible  <bruno@clisp.org>
20464
20465         Fix test dependencies.
20466         * modules/xstrtol-tests (Depends-on): Add inttypes.
20467         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
20468
20469 2010-01-25 Pádraig Brady <P@draigBrady.com>
20470
20471         syntax-check: detect incorrect boolean macro values in config.h
20472         * modules/maintainer-makefile (configure.ac): Parameterize the location
20473         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
20474         The logic is from Eric Blake and the location indicated by Jim Meyering.
20475         Note the more natural CONFIG_HEADER name is prohibited by automake
20476         for backwards compatibility reasons.
20477         * top/maint.mk (sc_Wundef_boolean): New rule.
20478
20479 2010-01-25  Jim Meyering  <meyering@redhat.com>
20480
20481         bootstrap: detect MacOS 10.6's shasum, too
20482         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
20483         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
20484
20485 2010-01-23  Jim Meyering  <meyering@redhat.com>
20486
20487         xstrtoll: new module
20488         * modules/xstrtoll: New file.
20489         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
20490         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
20491         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
20492         ./configure fails if you use this module and lack "long long".
20493         * modules/xstrtoll-tests: New module.
20494         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
20495         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
20496         new init.sh-based test framework.
20497
20498 2010-01-24  Bruno Haible  <bruno@clisp.org>
20499
20500         Tests for module 'yn'.
20501         * modules/yn-tests: New file.
20502         * tests/test-yn.c: New file.
20503
20504         Tests for module 'y1'.
20505         * modules/y1-tests: New file.
20506         * tests/test-y1.c: New file.
20507
20508         Tests for module 'y0'.
20509         * modules/y0-tests: New file.
20510         * tests/test-y0.c: New file.
20511
20512         Tests for module 'tanh'.
20513         * modules/tanh-tests: New file.
20514         * tests/test-tanh.c: New file.
20515
20516         Tests for module 'tan'.
20517         * modules/tan-tests: New file.
20518         * tests/test-tan.c: New file.
20519
20520         Tests for module 'sqrt'.
20521         * modules/sqrt-tests: New file.
20522         * tests/test-sqrt.c: New file.
20523
20524         Tests for module 'sinh'.
20525         * modules/sinh-tests: New file.
20526         * tests/test-sinh.c: New file.
20527
20528         Tests for module 'sin'.
20529         * modules/sin-tests: New file.
20530         * tests/test-sin.c: New file.
20531
20532         Tests for module 'rint'.
20533         * modules/rint-tests: New file.
20534         * tests/test-rint.c: New file.
20535
20536         Tests for module 'remainder'.
20537         * modules/remainder-tests: New file.
20538         * tests/test-remainder.c: New file.
20539
20540         Tests for module 'pow'.
20541         * modules/pow-tests: New file.
20542         * tests/test-pow.c: New file.
20543
20544         Tests for module 'nextafter'.
20545         * modules/nextafter-tests: New file.
20546         * tests/test-nextafter.c: New file.
20547
20548         Tests for module 'modf'.
20549         * modules/modf-tests: New file.
20550         * tests/test-modf.c: New file.
20551
20552         Tests for module 'logb'.
20553         * modules/logb-tests: New file.
20554         * tests/test-logb.c: New file.
20555
20556         Tests for module 'log1p'.
20557         * modules/log1p-tests: New file.
20558         * tests/test-log1p.c: New file.
20559
20560         Tests for module 'log10'.
20561         * modules/log10-tests: New file.
20562         * tests/test-log10.c: New file.
20563
20564         Tests for module 'log'.
20565         * modules/log-tests: New file.
20566         * tests/test-log.c: New file.
20567
20568         Tests for module 'lgamma'.
20569         * modules/lgamma-tests: New file.
20570         * tests/test-lgamma.c: New file.
20571
20572         Tests for module 'ldexp'.
20573         * modules/ldexp-tests: New file.
20574         * tests/test-ldexp.c: New file.
20575
20576         Tests for module 'jn'.
20577         * modules/jn-tests: New file.
20578         * tests/test-jn.c: New file.
20579
20580         Tests for module 'j1'.
20581         * modules/j1-tests: New file.
20582         * tests/test-j1.c: New file.
20583
20584         Tests for module 'j0'.
20585         * modules/j0-tests: New file.
20586         * tests/test-j0.c: New file.
20587
20588         Tests for module 'hypot'.
20589         * modules/hypot-tests: New file.
20590         * tests/test-hypot.c: New file.
20591
20592         Tests for module 'fmod'.
20593         * modules/fmod-tests: New file.
20594         * tests/test-fmod.c: New file.
20595
20596         Tests for module 'fabs'.
20597         * modules/fabs-tests: New file.
20598         * tests/test-fabs.c: New file.
20599
20600         Tests for module 'exp'.
20601         * modules/exp-tests: New file.
20602         * tests/test-exp.c: New file.
20603
20604         Tests for module 'erfc'.
20605         * modules/erfc-tests: New file.
20606         * tests/test-erfc.c: New file.
20607
20608         Tests for module 'erf'.
20609         * modules/erf-tests: New file.
20610         * tests/test-erf.c: New file.
20611
20612         Tests for module 'cosh'.
20613         * modules/cosh-tests: New file.
20614         * tests/test-cosh.c: New file.
20615
20616         Tests for module 'cos'.
20617         * modules/cos-tests: New file.
20618         * tests/test-cos.c: New file.
20619
20620         Tests for module 'copysign'.
20621         * modules/copysign-tests: New file.
20622         * tests/test-copysign.c: New file.
20623
20624         Tests for module 'cbrt'.
20625         * modules/cbrt-tests: New file.
20626         * tests/test-cbrt.c: New file.
20627
20628         Tests for module 'atan2'.
20629         * modules/atan2-tests: New file.
20630         * tests/test-atan2.c: New file.
20631
20632         Tests for module 'atan'.
20633         * modules/atan-tests: New file.
20634         * tests/test-atan.c: New file.
20635
20636         Tests for module 'asin'.
20637         * modules/asin-tests: New file.
20638         * tests/test-asin.c: New file.
20639
20640         Tests for module 'acos'.
20641         * modules/acos-tests: New file.
20642         * tests/test-acos.c: New file.
20643
20644 2010-01-24  Bruno Haible  <bruno@clisp.org>
20645
20646         Fix tests for common <math.h> functions.
20647         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
20648         code snippet that references the function pointer, rather than merely
20649         calling the function. Substitute the FUNC_LIBM variable.
20650         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
20651         * modules/acos (configure.ac): Likewise.
20652         * modules/asin (configure.ac): Likewise.
20653         * modules/atan (configure.ac): Likewise.
20654         * modules/atan2 (configure.ac): Likewise.
20655         * modules/cbrt (configure.ac): Likewise.
20656         * modules/copysign (configure.ac): Likewise.
20657         * modules/cos (configure.ac): Likewise.
20658         * modules/cosh (configure.ac): Likewise.
20659         * modules/erf (configure.ac): Likewise.
20660         * modules/erfc (configure.ac): Likewise.
20661         * modules/exp (configure.ac): Likewise.
20662         * modules/fabs (configure.ac): Likewise.
20663         * modules/fmod (configure.ac): Likewise.
20664         * modules/hypot (configure.ac): Likewise.
20665         * modules/j0 (configure.ac): Likewise.
20666         * modules/j1 (configure.ac): Likewise.
20667         * modules/jn (configure.ac): Likewise.
20668         * modules/ldexp (configure.ac): Likewise.
20669         * modules/lgamma (configure.ac): Likewise.
20670         * modules/log (configure.ac): Likewise.
20671         * modules/log10 (configure.ac): Likewise.
20672         * modules/log1p (configure.ac): Likewise.
20673         * modules/logb (configure.ac): Likewise.
20674         * modules/modf (configure.ac): Likewise.
20675         * modules/nextafter (configure.ac): Likewise.
20676         * modules/pow (configure.ac): Likewise.
20677         * modules/remainder (configure.ac): Likewise.
20678         * modules/rint (configure.ac): Likewise.
20679         * modules/sin (configure.ac): Likewise.
20680         * modules/sinh (configure.ac): Likewise.
20681         * modules/tan (configure.ac): Likewise.
20682         * modules/tanh (configure.ac): Likewise.
20683         * modules/y0 (configure.ac): Likewise.
20684         * modules/y1 (configure.ac): Likewise.
20685         * modules/yn (configure.ac): Likewise.
20686
20687 2010-01-24  Bruno Haible  <bruno@clisp.org>
20688
20689         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
20690         * tests/test-acosl.c (x): New variable.
20691         (main): Store argument in x and fetch it from x.
20692         * tests/test-asinl.c (x): New variable.
20693         (main): Store argument in x and fetch it from x.
20694         * tests/test-atanl.c (x): New variable.
20695         (main): Store argument in x and fetch it from x.
20696         * tests/test-cosl.c (x): New variable.
20697         (main): Store argument in x and fetch it from x.
20698         * tests/test-expl.c (x): New variable.
20699         (main): Store argument in x and fetch it from x.
20700         * tests/test-logl.c (x): New variable.
20701         (main): Store argument in x and fetch it from x.
20702         * tests/test-sinl.c (x): New variable.
20703         (main): Store argument in x and fetch it from x.
20704         * tests/test-sqrtl.c (x): New variable.
20705         (main): Store argument in x and fetch it from x.
20706         * tests/test-tanl.c (x): New variable.
20707         (main): Store argument in x and fetch it from x.
20708
20709 2010-01-24  Bruno Haible  <bruno@clisp.org>
20710
20711         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
20712         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
20713         assignments to the initial TESTS_ENVIRONMENT.
20714         * doc/gnulib.texi (Unit test modules): Document it.
20715         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
20716         TESTS_ENVIRONMENT.
20717         * modules/btowc-tests (Makefile.am): Likewise.
20718         * modules/c-stack-tests (Makefile.am): Likewise.
20719         * modules/c-strcase-tests (Makefile.am): Likewise.
20720         * modules/copy-file-tests (Makefile.am): Likewise.
20721         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
20722         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
20723         * modules/mbrtowc-tests (Makefile.am): Likewise.
20724         * modules/mbscasecmp-tests (Makefile.am): Likewise.
20725         * modules/mbscasestr-tests (Makefile.am): Likewise.
20726         * modules/mbschr-tests (Makefile.am): Likewise.
20727         * modules/mbscspn-tests (Makefile.am): Likewise.
20728         * modules/mbsinit-tests (Makefile.am): Likewise.
20729         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
20730         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
20731         * modules/mbspbrk-tests (Makefile.am): Likewise.
20732         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
20733         * modules/mbsrchr-tests (Makefile.am): Likewise.
20734         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
20735         * modules/mbsspn-tests (Makefile.am): Likewise.
20736         * modules/mbsstr-tests (Makefile.am): Likewise.
20737         * modules/nl_langinfo-tests (Makefile.am): Likewise.
20738         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
20739         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
20740         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
20741         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
20742         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
20743         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
20744         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
20745         * modules/wcrtomb-tests (Makefile.am): Likewise.
20746         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
20747         * modules/wcsrtombs-tests (Makefile.am): Likewise.
20748         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
20749         assignments from TESTS_ENVIRONMENT.
20750         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
20751         augmentation.
20752         * modules/argp-version-etc-tests (Makefile.am): Likewise.
20753         * modules/atexit-tests (Makefile.am): Likewise.
20754         * modules/binary-io-tests (Makefile.am): Likewise.
20755         * modules/closein-tests (Makefile.am): Likewise.
20756         * modules/dprintf-posix-tests (Makefile.am): Likewise.
20757         * modules/exclude-tests (Makefile.am): Likewise.
20758         * modules/fflush-tests (Makefile.am): Likewise.
20759         * modules/fpending-tests (Makefile.am): Likewise.
20760         * modules/fprintf-posix-tests (Makefile.am): Likewise.
20761         * modules/freadahead-tests (Makefile.am): Likewise.
20762         * modules/freadptr-tests (Makefile.am): Likewise.
20763         * modules/freadseek-tests (Makefile.am): Likewise.
20764         * modules/fseek-tests (Makefile.am): Likewise.
20765         * modules/fseeko-tests (Makefile.am): Likewise.
20766         * modules/ftell-tests (Makefile.am): Likewise.
20767         * modules/ftello-tests (Makefile.am): Likewise.
20768         * modules/idpriv-drop-tests (Makefile.am): Likewise.
20769         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
20770         * modules/lseek-tests (Makefile.am): Likewise.
20771         * modules/parse-duration-tests (Makefile.am): Likewise.
20772         * modules/perror-tests (Makefile.am): Likewise.
20773         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
20774         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
20775         * modules/pipe-tests (Makefile.am): Likewise.
20776         * modules/pread-tests (Makefile.am): Likewise.
20777         * modules/printf-posix-tests (Makefile.am): Likewise.
20778         * modules/select-tests (Makefile.am): Likewise.
20779         * modules/sigpipe-tests (Makefile.am): Likewise.
20780         * modules/tsearch-tests (Makefile.am): Likewise.
20781         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
20782         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
20783         * modules/uniname/uniname-tests (Makefile.am): Likewise.
20784         * modules/uniwidth/width-tests (Makefile.am): Likewise.
20785         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
20786         * modules/version-etc-tests (Makefile.am): Likewise.
20787         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
20788         * modules/vprintf-posix-tests (Makefile.am): Likewise.
20789         * modules/xalloc-die-tests (Makefile.am): Likewise.
20790         * modules/xprintf-posix-tests (Makefile.am): Likewise.
20791         * modules/xstrtoimax-tests (Makefile.am): Likewise.
20792         * modules/xstrtol-tests (Makefile.am): Likewise.
20793         * modules/xstrtoumax-tests (Makefile.am): Likewise.
20794         * modules/yesno-tests (Makefile.am): Likewise.
20795         Suggested by Jim Meyering.
20796
20797 2010-01-24  Bruno Haible  <bruno@clisp.org>
20798
20799         More documentation.
20800         * doc/gnulib.texi (Writing modules): New chapter.
20801         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
20802         the new chapter.
20803
20804 2010-01-24  Jim Meyering  <meyering@redhat.com>
20805
20806         maint.mk: do not prepend "./" after filtering
20807         * top/maint.mk (_prepend_srcdir_prefix): New variable
20808         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
20809         "./" when $(srcdir) is ".".
20810
20811         define STREQ(a,b) consistently, removing useless parentheses
20812         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
20813         since the only risk is that "a" or "b" contains an unparenthesized
20814         comma, but if either did that, STREQ would have 3 or more arguments.
20815         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
20816         * lib/fts.c (STREQ): Remove unnecessary parentheses.
20817         * lib/hash-triple.c (STREQ): Likewise.
20818         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
20819         * lib/getugroups.c (STREQ): Likewise.
20820
20821 2010-01-23  Jim Meyering  <meyering@redhat.com>
20822
20823         maint.mk: fix syntax-check in a non-srcdir build directory
20824         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
20825         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
20826
20827 2010-01-22  Jim Meyering  <meyering@redhat.com>
20828
20829         userspec: add unit tests
20830         * tests/test-userspec.c: New file.
20831         * modules/userspec-tests: Likewise.
20832
20833 2010-01-21  Jim Meyering  <meyering@redhat.com>
20834
20835         maint.mk: handle source file names containing "." robustly
20836         * top/maint.mk (_dot_escaped_srcdir): Define.
20837         (VC_LIST): Use it in LHS of sed substitution.
20838
20839 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
20840
20841         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
20842         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
20843         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
20844         from a non-srcdir build.
20845
20846 2010-01-20  Eric Blake  <ebb9@byu.net>
20847
20848         warn-on-use: use instead of link-warning
20849         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
20850         * modules/unistd (Depends-on, Makefile.am): Likewise.
20851         * modules/arpa_inet (Depends-on): Replace link-warning with
20852         warn-on-use.
20853         (Makefile.am): Update rules accordingly.
20854         * modules/ctype (Depends-on, Makefile.am): Likewise.
20855         * modules/dirent (Depends-on, Makefile.am): Likewise.
20856         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
20857         * modules/inttypes (Depends-on, Makefile.am): Likewise.
20858         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20859         * modules/locale (Depends-on, Makefile.am): Likewise.
20860         * modules/math (Depends-on, Makefile.am): Likewise.
20861         * modules/search (Depends-on, Makefile.am): Likewise.
20862         * modules/signal (Depends-on, Makefile.am): Likewise.
20863         * modules/spawn (Depends-on, Makefile.am): Likewise.
20864         * modules/stdlib (Depends-on, Makefile.am): Likewise.
20865         * modules/string (Depends-on, Makefile.am): Likewise.
20866         * modules/strings (Depends-on, Makefile.am): Likewise.
20867         * modules/sys_file (Depends-on, Makefile.am): Likewise.
20868         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
20869         * modules/sys_select (Depends-on, Makefile.am): Likewise.
20870         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
20871         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
20872         * modules/sys_times (Depends-on, Makefile.am): Likewise.
20873         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20874         * modules/wchar (Depends-on, Makefile.am): Likewise.
20875         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
20876         should be poisoned.
20877         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
20878         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
20879         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
20880         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20881         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20882         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20883         * m4/math_h.m4 (gl_MATH_H): Likewise.
20884         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20885         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
20886         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20887         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20888         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20889         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
20890         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
20891         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
20892         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20893         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20894         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20895         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
20896         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20897         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
20898         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20899         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20900         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
20901         GL_LINK_WARNING.
20902         * lib/ctype.in.h: Likewise.
20903         * lib/dirent.in.h: Likewise.
20904         * lib/fcntl.in.h: Likewise.
20905         * lib/inttypes.in.h: Likewise.
20906         * lib/langinfo.in.h: Likewise.
20907         * lib/locale.in.h: Likewise.
20908         * lib/math.in.h: Likewise.
20909         * lib/search.in.h: Likewise.
20910         * lib/signal.in.h: Likewise.
20911         * lib/spawn.in.h: Likewise.
20912         * lib/stdio.in.h: Likewise.
20913         * lib/stdlib.in.h: Likewise.
20914         * lib/string.in.h: Likewise.
20915         * lib/strings.in.h: Likewise.
20916         * lib/sys_file.in.h: Likewise.
20917         * lib/sys_ioctl.in.h: Likewise.
20918         * lib/sys_select.in.h: Likewise.
20919         * lib/sys_socket.in.h: Likewise.
20920         * lib/sys_stat.in.h: Likewise.
20921         * lib/sys_times.in.h: Likewise.
20922         * lib/sys_utsname.in.h: Likewise.
20923         * lib/unistd.in.h: Likewise.
20924         * lib/wchar.in.h: Likewise.
20925
20926 2010-01-20  Bruno Haible  <bruno@clisp.org>
20927
20928         Avoid duplicate -lm.
20929         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
20930         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
20931         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
20932         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
20933         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
20934         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
20935         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
20936         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
20937         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
20938         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
20939         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
20940         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20941         Reported by Paolo Bonzini.
20942
20943 2010-01-19  Bruno Haible  <bruno@clisp.org>
20944
20945         langinfo, nl_langinfo: Relicense under LGPLv2+.
20946         * modules/langinfo (License): Change to LGPLv2+.
20947         * modules/nl_langinfo (License): Likewise.
20948         Patch by David Lutterkort <lutter@redhat.com>.
20949
20950 2010-01-19  Bruno Haible  <bruno@clisp.org>
20951
20952         Avoid compilation error with cc on OSF/1 5.1.
20953         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
20954         statement, not before.
20955         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20956
20957 2010-01-18  Bruno Haible  <bruno@clisp.org>
20958
20959         Avoid a link error due to the __printf__ symbol.
20960         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
20961         and 2.6.x.
20962         (__format__, __printf__): Remove definitions.
20963         * lib/argp-fmtstream.h: Likewise.
20964         * lib/argp.h: Likewise.
20965         * lib/error.h: Likewise.
20966         * lib/vasnprintf.h: Likewise.
20967         * lib/xprintf.h: Likewise.
20968         * lib/xvasprintf.h: Likewise.
20969         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20970
20971 2010-01-18  Bruno Haible  <bruno@clisp.org>
20972
20973         Tests for module 'tanl'.
20974         * modules/tanl-tests: New file.
20975         * tests/test-tanl.c: New file.
20976
20977         Tests for module 'sqrtl'.
20978         * modules/sqrtl-tests: New file.
20979         * tests/test-sqrtl.c: New file.
20980
20981         Tests for module 'sinl'.
20982         * modules/sinl-tests: New file.
20983         * tests/test-sinl.c: New file.
20984
20985         Tests for module 'logl'.
20986         * modules/logl-tests: New file.
20987         * tests/test-logl.c: New file.
20988
20989         Tests for module 'expl'.
20990         * modules/expl-tests: New file.
20991         * tests/test-expl.c: New file.
20992
20993         Tests for module 'cosl'.
20994         * modules/cosl-tests: New file.
20995         * tests/test-cosl.c: New file.
20996
20997         Tests for module 'atanl'.
20998         * modules/atanl-tests: New file.
20999         * tests/test-atanl.c: New file.
21000
21001         Tests for module 'asinl'.
21002         * modules/asinl-tests: New file.
21003         * tests/test-asinl.c: New file.
21004
21005         Tests for module 'acosl'.
21006         * modules/acosl-tests: New file.
21007         * tests/test-acosl.c: New file.
21008
21009         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
21010         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
21011         tanl): Use the standard gnulib idiom.
21012         * lib/cosl.c: Don't include trigl.c and sincosl.c.
21013         * lib/sinl.c: Likewise.
21014         * lib/tanl.c: Don't include trigl.c.
21015         (kernel_tanl): Make static.
21016         * lib/sincosl.c: Include trigl.h first.
21017         * lib/trigl.c: Likewise.
21018         * m4/acosl.m4: New file.
21019         * m4/asinl.m4: New file.
21020         * m4/atanl.m4: New file.
21021         * m4/cosl.m4: New file.
21022         * m4/expl.m4: New file.
21023         * m4/logl.m4: New file.
21024         * m4/sinl.m4: New file.
21025         * m4/sqrtl.m4: New file.
21026         * m4/tanl.m4: New file.
21027         * m4/mathl.m4: Remove file.
21028         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
21029         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
21030         Don't initialize GNULIB_MATHL.
21031         * modules/acosl: New file.
21032         * modules/asinl: New file.
21033         * modules/atanl: New file.
21034         * modules/cosl: New file.
21035         * modules/expl: New file.
21036         * modules/logl: New file.
21037         * modules/sinl: New file.
21038         * modules/sqrtl: New file.
21039         * modules/tanl: New file.
21040         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
21041         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
21042         substitute GNULIB_MATHL.
21043         * modules/mathl: Rewritten.
21044         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
21045         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
21046         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
21047         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
21048         * doc/posix-functions/expl.texi: Mention the 'expl' module.
21049         * doc/posix-functions/logl.texi: Mention the 'logl' module.
21050         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
21051         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
21052         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
21053
21054 2010-01-18  Bruno Haible  <bruno@clisp.org>
21055
21056         sqrt: Make gl_FUNC_SQRT requirable.
21057         * m4/sqrt.m4: New file.
21058         * modules/sqrt (Files): Add it.
21059         (configure.ac): Invoke gl_FUNC_SQRT.
21060
21061 2010-01-18  Bruno Haible  <bruno@clisp.org>
21062
21063         New modules for common <math.h> functions.
21064         * m4/mathfunc.m4: New file.
21065         * modules/acos: New file.
21066         * modules/asin: New file.
21067         * modules/atan: New file.
21068         * modules/atan2: New file.
21069         * modules/cbrt: New file.
21070         * modules/copysign: New file.
21071         * modules/cos: New file.
21072         * modules/cosh: New file.
21073         * modules/erf: New file.
21074         * modules/erfc: New file.
21075         * modules/exp: New file.
21076         * modules/fabs: New file.
21077         * modules/fmod: New file.
21078         * modules/hypot: New file.
21079         * modules/j0: New file.
21080         * modules/j1: New file.
21081         * modules/jn: New file.
21082         * modules/ldexp: New file.
21083         * modules/lgamma: New file.
21084         * modules/log: New file.
21085         * modules/log10: New file.
21086         * modules/log1p: New file.
21087         * modules/logb: New file.
21088         * modules/modf: New file.
21089         * modules/nextafter: New file.
21090         * modules/pow: New file.
21091         * modules/remainder: New file.
21092         * modules/rint: New file.
21093         * modules/sin: New file.
21094         * modules/sinh: New file.
21095         * modules/sqrt: New file.
21096         * modules/tan: New file.
21097         * modules/tanh: New file.
21098         * modules/y0: New file.
21099         * modules/y1: New file.
21100         * modules/yn: New file.
21101         * doc/posix-functions/acos.texi: Mention the 'acos' module.
21102         * doc/posix-functions/asin.texi: Mention the 'asin' module.
21103         * doc/posix-functions/atan.texi: Mention the 'atan' module.
21104         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
21105         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
21106         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
21107         * doc/posix-functions/cos.texi: Mention the 'cos' module.
21108         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
21109         * doc/posix-functions/erf.texi: Mention the 'erf' module.
21110         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
21111         * doc/posix-functions/exp.texi: Mention the 'exp' module.
21112         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
21113         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
21114         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
21115         * doc/posix-functions/j0.texi: Mention the 'j0' module.
21116         * doc/posix-functions/j1.texi: Mention the 'j1' module.
21117         * doc/posix-functions/jn.texi: Mention the 'jn' module.
21118         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
21119         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
21120         * doc/posix-functions/log.texi: Mention the 'log' module.
21121         * doc/posix-functions/log10.texi: Mention the 'log10' module.
21122         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
21123         * doc/posix-functions/logb.texi: Mention the 'logb' module.
21124         * doc/posix-functions/modf.texi: Mention the 'modf' module.
21125         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
21126         * doc/posix-functions/pow.texi: Mention the 'pow' module.
21127         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
21128         * doc/posix-functions/rint.texi: Mention the 'rint' module.
21129         * doc/posix-functions/sin.texi: Mention the 'sin' module.
21130         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
21131         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
21132         * doc/posix-functions/tan.texi: Mention the 'tan' module.
21133         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
21134         * doc/posix-functions/y0.texi: Mention the 'y0' module.
21135         * doc/posix-functions/y1.texi: Mention the 'y1' module.
21136         * doc/posix-functions/yn.texi: Mention the 'yn' module.
21137
21138 2010-01-18  Jim Meyering  <meyering@redhat.com>
21139
21140         ignore-value: relax license to LGPLv2+
21141         * modules/ignore-value (License): Relax to LGPLv2+.
21142
21143         getdate: don't leak when TZ contains two or more '"'s
21144         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
21145         double quote in TZ after the first one.
21146
21147         readtokens: do not leak internal token_lengths buffer
21148         * lib/readtokens.c (readtokens): Free the local, lengths,
21149         when the supplied "token_lengths" parameter is NULL.
21150
21151 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21152
21153         Fix a couple of missing LIBTHREAD link failures on AIX.
21154         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
21155         $(LIBTHREAD).
21156         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
21157
21158         Link test-poll against INET_PTON_LIB.
21159         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
21160         for inet_pton on Solaris 10.
21161
21162 2010-01-17  Bruno Haible  <bruno@clisp.org>
21163
21164         unistdio/*-sprintf: Fix typo in module description.
21165         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
21166         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
21167         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
21168         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
21169         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
21170         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
21171         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
21172         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21173
21174 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21175
21176         gnulib-tool: fix filelist for AIX, HP-UX ksh.
21177         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
21178         variables in shell case patterns, for AIX and HP-UX ksh.
21179
21180         Split large sed scripts, for HP-UX sed.
21181         * modules/stdio: Split sed scripts around 50 sed commands,
21182         to avoid HP-UX limit of 99 commands, in the near future.
21183         * modules/string: Likewise.
21184         * modules/unistd: Likewise.
21185
21186         gnulib-tool: avoid writing in the current directory.
21187         * gnulib-tool (func_emit_lib_Makefile_am)
21188         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
21189         not in the current directory, so concurrent gnulib-tool
21190         instances do not interfere.
21191
21192 2010-01-16  Jim Meyering  <meyering@redhat.com>
21193
21194         doc: update users.txt
21195         * users.txt: Add grep.
21196         (diffutils, gzip): Update URLs.
21197
21198 2010-01-12  Bruno Haible  <bruno@clisp.org>
21199
21200         posix_spawn: Avoid test failure on Cygwin.
21201         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
21202         characters.
21203         Reported by Simon Josefsson.
21204
21205 2010-01-12  Bruno Haible  <bruno@clisp.org>
21206
21207         * tests/test-cond.c (main): When skipping the test, show the reason.
21208
21209 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21210
21211         * lib/striconv.c (str_cd_iconv): Avoid if before free.
21212
21213 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21214
21215         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
21216         VC_LIST_ALWAYS_EXCLUDE_REGEX.
21217
21218 2010-01-12  Eric Blake  <ebb9@byu.net>
21219
21220         build: guarantee AS_VAR_IF
21221         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
21222         (gl_AS_VAR_IF): Move...
21223         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
21224         Reported by Simon Josefsson.
21225
21226 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21227
21228         * lib/stdio.in.h: Fix typo.
21229
21230 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21231
21232         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
21233         libgpg-error.
21234
21235 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21236
21237         * tests/test-xalloc-die.sh: Use $EXEEXT.
21238
21239 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21240             Bruno Haible  <bruno@clisp.org>
21241
21242         getlogin, getlogin_r: Avoid test failure.
21243         * tests/test-getlogin.c: Include <stdio.h>.
21244         (main): Skip the test when the function fails because stdin is not a
21245         tty.
21246         * tests/test-getlogin_r.c: Include <stdio.h>.
21247         (main): Skip the test when the function fails because stdin is not a
21248         tty.
21249
21250 2010-01-11  Eric Blake  <ebb9@byu.net>
21251
21252         tests: avoid more large file warnings
21253         * tests/test-fflush.c: Avoid warning about ftell use.
21254         * tests/test-fseek.c: Avoid warning about fseek use.
21255
21256 2010-01-10  Bruno Haible  <bruno@clisp.org>
21257
21258         nproc: Work better on Linux when /proc and /sys are not mounted.
21259         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
21260         as lower bound when, on glibc/Linux systems,
21261         sysconf (_SC_NPROCESSORS_CONF) returns 1.
21262         Suggested by Pádraig Brady <P@draigbrady.com>.
21263         Reported by Dmitry V. Levin <ldv@altlinux.org>.
21264
21265         nproc: Refactor.
21266         * lib/nproc.c (num_processors_via_affinity_mask): New function,
21267         extracted from num_processors.
21268         (num_processors): Call it.
21269
21270 2010-01-11  Jim Meyering  <meyering@redhat.com>
21271
21272         utimecmp: avoid new warning from upcoming gcc-4.5.0
21273         * lib/utimecmp.c (BILLION): Define using #define rather than an
21274         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
21275
21276 2010-01-11  Eric Blake  <ebb9@byu.net>
21277
21278         math: add portability warnings for classification macros
21279         * modules/math (Depends-on): Add warn-on-use.
21280         (Makefile.am): Provide new substitutions.
21281         * m4/math_h.m4 (gl_MATH_H): Require inline.
21282         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
21283         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
21284         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
21285         implement warnings.
21286
21287         unistd: warn on use of environ without module
21288         * modules/unistd (Depends-on): Add warn-on-use.
21289         (Makefile.am): Provide new substitutions.
21290         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
21291         * lib/unistd.in.h (environ): Wrap with a warning helper function.
21292
21293         stdio: warn on suspicious uses
21294         * modules/stdio (Depends-on): Add warn-on-use.
21295         (Makefile.am): Provide new substitutions.
21296         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
21297         fseeko.
21298         * lib/stdio.in.h (gets): Always warn on use.
21299         (fseek, ftell): Adjust when warnings are issued, and honor
21300         _GL_NO_LARGE_FILES as a way to silence the warning.
21301         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
21302         any warning about large file offsets.
21303         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
21304         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
21305         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
21306         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
21307         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
21308         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
21309         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
21310         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
21311
21312         warn-on-use: new module
21313         * modules/warn-on-use: New file.
21314         * build-aux/warn-on-use.h: Likewise.
21315         * m4/warn-on-use.m4: Likewise.
21316         * MODULES.html.sh (Support for building): Mention it.
21317
21318 2010-01-10  Bruno Haible  <bruno@clisp.org>
21319
21320         Tests for module 'unistr/u32-strdup'.
21321         * modules/unistr/u32-strdup-tests: New file.
21322         * tests/unistr/test-u32-strdup.c: New file.
21323
21324         Tests for module 'unistr/u16-strdup'.
21325         * modules/unistr/u16-strdup-tests: New file.
21326         * tests/unistr/test-u16-strdup.c: New file.
21327
21328         Tests for module 'unistr/u8-strdup'.
21329         * modules/unistr/u8-strdup-tests: New file.
21330         * tests/unistr/test-u8-strdup.c: New file.
21331         * tests/unistr/test-strdup.h: New file.
21332
21333         Tests for module 'unistr/u32-strncmp'.
21334         * modules/unistr/u32-strncmp-tests: New file.
21335         * tests/unistr/test-u32-strncmp.c: New file.
21336
21337         Tests for module 'unistr/u16-strncmp'.
21338         * modules/unistr/u16-strncmp-tests: New file.
21339         * tests/unistr/test-u16-strncmp.c: New file.
21340
21341         Tests for module 'unistr/u8-strncmp'.
21342         * modules/unistr/u8-strncmp-tests: New file.
21343         * tests/unistr/test-u8-strncmp.c: New file.
21344         * tests/unistr/test-strncmp.h: New file.
21345
21346         Tests for module 'unistr/u32-strcoll'.
21347         * modules/unistr/u32-strcoll-tests: New file.
21348         * tests/unistr/test-u32-strcoll.c: New file.
21349
21350         Tests for module 'unistr/u16-strcoll'.
21351         * modules/unistr/u16-strcoll-tests: New file.
21352         * tests/unistr/test-u16-strcoll.c: New file.
21353
21354         Tests for module 'unistr/u8-strcoll'.
21355         * modules/unistr/u8-strcoll-tests: New file.
21356         * tests/unistr/test-u8-strcoll.c: New file.
21357
21358         Tests for module 'unistr/u32-strcmp'.
21359         * modules/unistr/u32-strcmp-tests: New file.
21360         * tests/unistr/test-u32-strcmp.c: New file.
21361         * tests/unistr/test-u32-strcmp.h: New file.
21362
21363         Tests for module 'unistr/u16-strcmp'.
21364         * modules/unistr/u16-strcmp-tests: New file.
21365         * tests/unistr/test-u16-strcmp.c: New file.
21366         * tests/unistr/test-u16-strcmp.h: New file.
21367
21368         Tests for module 'unistr/u8-strcmp'.
21369         * modules/unistr/u8-strcmp-tests: New file.
21370         * tests/unistr/test-u8-strcmp.c: New file.
21371         * tests/unistr/test-u8-strcmp.h: New file.
21372         * tests/unistr/test-strcmp.h: New file.
21373
21374         Tests for module 'unistr/u32-strncat'.
21375         * modules/unistr/u32-strncat-tests: New file.
21376         * tests/unistr/test-u32-strncat.c: New file.
21377
21378         Tests for module 'unistr/u16-strncat'.
21379         * modules/unistr/u16-strncat-tests: New file.
21380         * tests/unistr/test-u16-strncat.c: New file.
21381
21382         Tests for module 'unistr/u8-strncat'.
21383         * modules/unistr/u8-strncat-tests: New file.
21384         * tests/unistr/test-u8-strncat.c: New file.
21385         * tests/unistr/test-strncat.h: New file.
21386
21387         Tests for module 'unistr/u32-strcat'.
21388         * modules/unistr/u32-strcat-tests: New file.
21389         * tests/unistr/test-u32-strcat.c: New file.
21390
21391         Tests for module 'unistr/u16-strcat'.
21392         * modules/unistr/u16-strcat-tests: New file.
21393         * tests/unistr/test-u16-strcat.c: New file.
21394
21395         Tests for module 'unistr/u8-strcat'.
21396         * modules/unistr/u8-strcat-tests: New file.
21397         * tests/unistr/test-u8-strcat.c: New file.
21398         * tests/unistr/test-strcat.h: New file.
21399
21400         Tests for module 'unistr/u32-stpncpy'.
21401         * modules/unistr/u32-stpncpy-tests: New file.
21402         * tests/unistr/test-u32-stpncpy.c: New file.
21403
21404         Tests for module 'unistr/u16-stpncpy'.
21405         * modules/unistr/u16-stpncpy-tests: New file.
21406         * tests/unistr/test-u16-stpncpy.c: New file.
21407
21408         Tests for module 'unistr/u8-stpncpy'.
21409         * modules/unistr/u8-stpncpy-tests: New file.
21410         * tests/unistr/test-u8-stpncpy.c: New file.
21411         * tests/unistr/test-stpncpy.h: New file.
21412
21413         Tests for module 'unistr/u32-strncpy'.
21414         * modules/unistr/u32-strncpy-tests: New file.
21415         * tests/unistr/test-u32-strncpy.c: New file.
21416
21417         Tests for module 'unistr/u16-strncpy'.
21418         * modules/unistr/u16-strncpy-tests: New file.
21419         * tests/unistr/test-u16-strncpy.c: New file.
21420
21421         Tests for module 'unistr/u8-strncpy'.
21422         * modules/unistr/u8-strncpy-tests: New file.
21423         * tests/unistr/test-u8-strncpy.c: New file.
21424         * tests/unistr/test-strncpy.h: New file.
21425
21426         Tests for module 'unistr/u32-stpcpy'.
21427         * modules/unistr/u32-stpcpy-tests: New file.
21428         * tests/unistr/test-u32-stpcpy.c: New file.
21429
21430         Tests for module 'unistr/u16-stpcpy'.
21431         * modules/unistr/u16-stpcpy-tests: New file.
21432         * tests/unistr/test-u16-stpcpy.c: New file.
21433
21434         Tests for module 'unistr/u8-stpcpy'.
21435         * modules/unistr/u8-stpcpy-tests: New file.
21436         * tests/unistr/test-u8-stpcpy.c: New file.
21437         * tests/unistr/test-stpcpy.h: New file.
21438
21439         Tests for module 'unistr/u32-strcpy'.
21440         * modules/unistr/u32-strcpy-tests: New file.
21441         * tests/unistr/test-u32-strcpy.c: New file.
21442
21443         Tests for module 'unistr/u16-strcpy'.
21444         * modules/unistr/u16-strcpy-tests: New file.
21445         * tests/unistr/test-u16-strcpy.c: New file.
21446
21447         Tests for module 'unistr/u8-strcpy'.
21448         * modules/unistr/u8-strcpy-tests: New file.
21449         * tests/unistr/test-u8-strcpy.c: New file.
21450         * tests/unistr/test-strcpy.h: New file.
21451
21452         Tests for module 'unistr/u32-strnlen'.
21453         * modules/unistr/u32-strnlen-tests: New file.
21454         * tests/unistr/test-u32-strnlen.c: New file.
21455
21456         Tests for module 'unistr/u16-strnlen'.
21457         * modules/unistr/u16-strnlen-tests: New file.
21458         * tests/unistr/test-u16-strnlen.c: New file.
21459
21460         Tests for module 'unistr/u8-strnlen'.
21461         * modules/unistr/u8-strnlen-tests: New file.
21462         * tests/unistr/test-u8-strnlen.c: New file.
21463         * tests/unistr/test-strnlen.h: New file.
21464
21465         Tests for module 'unistr/u32-strlen'.
21466         * modules/unistr/u32-strlen-tests: New file.
21467         * tests/unistr/test-u32-strlen.c: New file.
21468
21469         Tests for module 'unistr/u16-strlen'.
21470         * modules/unistr/u16-strlen-tests: New file.
21471         * tests/unistr/test-u16-strlen.c: New file.
21472
21473         Tests for module 'unistr/u8-strlen'.
21474         * modules/unistr/u8-strlen-tests: New file.
21475         * tests/unistr/test-u8-strlen.c: New file.
21476
21477         Tests for module 'unistr/u32-prev'.
21478         * modules/unistr/u32-prev-tests: New file.
21479         * tests/unistr/test-u32-prev.c: New file.
21480
21481         Tests for module 'unistr/u16-prev'.
21482         * modules/unistr/u16-prev-tests: New file.
21483         * tests/unistr/test-u16-prev.c: New file.
21484
21485         Tests for module 'unistr/u8-prev'.
21486         * modules/unistr/u8-prev-tests: New file.
21487         * tests/unistr/test-u8-prev.c: New file.
21488
21489         Tests for module 'unistr/u32-next'.
21490         * modules/unistr/u32-next-tests: New file.
21491         * tests/unistr/test-u32-next.c: New file.
21492
21493         Tests for module 'unistr/u16-next'.
21494         * modules/unistr/u16-next-tests: New file.
21495         * tests/unistr/test-u16-next.c: New file.
21496
21497         Tests for module 'unistr/u8-next'.
21498         * modules/unistr/u8-next-tests: New file.
21499         * tests/unistr/test-u8-next.c: New file.
21500
21501         Tests for module 'unistr/u32-strmbtouc'.
21502         * modules/unistr/u32-strmbtouc-tests: New file.
21503         * tests/unistr/test-u32-strmbtouc.c: New file.
21504
21505         Tests for module 'unistr/u16-strmbtouc'.
21506         * modules/unistr/u16-strmbtouc-tests: New file.
21507         * tests/unistr/test-u16-strmbtouc.c: New file.
21508
21509         Tests for module 'unistr/u8-strmbtouc'.
21510         * modules/unistr/u8-strmbtouc-tests: New file.
21511         * tests/unistr/test-u8-strmbtouc.c: New file.
21512
21513         Tests for module 'unistr/u32-strmblen'.
21514         * modules/unistr/u32-strmblen-tests: New file.
21515         * tests/unistr/test-u32-strmblen.c: New file.
21516
21517         Tests for module 'unistr/u16-strmblen'.
21518         * modules/unistr/u16-strmblen-tests: New file.
21519         * tests/unistr/test-u16-strmblen.c: New file.
21520
21521         Tests for module 'unistr/u8-strmblen'.
21522         * modules/unistr/u8-strmblen-tests: New file.
21523         * tests/unistr/test-u8-strmblen.c: New file.
21524
21525         Tests for module 'unistr/u32-cpy-alloc'.
21526         * modules/unistr/u32-cpy-alloc-tests: New file.
21527         * tests/unistr/test-u32-cpy-alloc.c: New file.
21528
21529         Tests for module 'unistr/u16-cpy-alloc'.
21530         * modules/unistr/u16-cpy-alloc-tests: New file.
21531         * tests/unistr/test-u16-cpy-alloc.c: New file.
21532
21533         Tests for module 'unistr/u8-cpy-alloc'.
21534         * modules/unistr/u8-cpy-alloc-tests: New file.
21535         * tests/unistr/test-u8-cpy-alloc.c: New file.
21536         * tests/unistr/test-cpy-alloc.h: New file.
21537
21538         Tests for module 'unistr/u32-mbsnlen'.
21539         * modules/unistr/u32-mbsnlen-tests: New file.
21540         * tests/unistr/test-u32-mbsnlen.c: New file.
21541
21542         Tests for module 'unistr/u16-mbsnlen'.
21543         * modules/unistr/u16-mbsnlen-tests: New file.
21544         * tests/unistr/test-u16-mbsnlen.c: New file.
21545
21546         Tests for module 'unistr/u8-mbsnlen'.
21547         * modules/unistr/u8-mbsnlen-tests: New file.
21548         * tests/unistr/test-u8-mbsnlen.c: New file.
21549
21550         Tests for module 'unistr/u32-chr'.
21551         * modules/unistr/u32-chr-tests: New file.
21552         * tests/unistr/test-u32-chr.c: New file.
21553
21554         Tests for module 'unistr/u16-chr'.
21555         * modules/unistr/u16-chr-tests: New file.
21556         * tests/unistr/test-u16-chr.c: New file.
21557
21558         Tests for module 'unistr/u8-chr'.
21559         * modules/unistr/u8-chr-tests: New file.
21560         * tests/unistr/test-u8-chr.c: New file.
21561         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
21562
21563         Tests for module 'unistr/u32-cmp2'.
21564         * modules/unistr/u32-cmp2-tests: New file.
21565         * tests/unistr/test-u32-cmp2.c: New file.
21566
21567         Tests for module 'unistr/u16-cmp2'.
21568         * modules/unistr/u16-cmp2-tests: New file.
21569         * tests/unistr/test-u16-cmp2.c: New file.
21570
21571         Tests for module 'unistr/u8-cmp2'.
21572         * modules/unistr/u8-cmp2-tests: New file.
21573         * tests/unistr/test-u8-cmp2.c: New file.
21574         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
21575
21576         Tests for module 'unistr/u32-cmp'.
21577         * modules/unistr/u32-cmp-tests: New file.
21578         * tests/unistr/test-u32-cmp.c: New file.
21579
21580         Tests for module 'unistr/u16-cmp'.
21581         * modules/unistr/u16-cmp-tests: New file.
21582         * tests/unistr/test-u16-cmp.c: New file.
21583
21584         Tests for module 'unistr/u8-cmp'.
21585         * modules/unistr/u8-cmp-tests: New file.
21586         * tests/unistr/test-u8-cmp.c: New file.
21587         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
21588
21589         Tests for module 'unistr/u32-set'.
21590         * modules/unistr/u32-set-tests: New file.
21591         * tests/unistr/test-u32-set.c: New file.
21592
21593         Tests for module 'unistr/u16-set'.
21594         * modules/unistr/u16-set-tests: New file.
21595         * tests/unistr/test-u16-set.c: New file.
21596
21597         Tests for module 'unistr/u8-set'.
21598         * modules/unistr/u8-set-tests: New file.
21599         * tests/unistr/test-u8-set.c: New file.
21600         * tests/unistr/test-set.h: New file.
21601
21602         Tests for module 'unistr/u32-move'.
21603         * modules/unistr/u32-move-tests: New file.
21604         * tests/unistr/test-u32-move.c: New file.
21605
21606         Tests for module 'unistr/u16-move'.
21607         * modules/unistr/u16-move-tests: New file.
21608         * tests/unistr/test-u16-move.c: New file.
21609
21610         Tests for module 'unistr/u8-move'.
21611         * modules/unistr/u8-move-tests: New file.
21612         * tests/unistr/test-u8-move.c: New file.
21613         * tests/unistr/test-move.h: New file.
21614
21615         Tests for module 'unistr/u32-cpy'.
21616         * modules/unistr/u32-cpy-tests: New file.
21617         * tests/unistr/test-u32-cpy.c: New file.
21618
21619         Tests for module 'unistr/u16-cpy'.
21620         * modules/unistr/u16-cpy-tests: New file.
21621         * tests/unistr/test-u16-cpy.c: New file.
21622
21623         Tests for module 'unistr/u8-cpy'.
21624         * modules/unistr/u8-cpy-tests: New file.
21625         * tests/unistr/test-u8-cpy.c: New file.
21626         * tests/unistr/test-cpy.h: New file.
21627
21628 2010-01-09  Bruno Haible  <bruno@clisp.org>
21629
21630         Tests for module 'unistr/u32-uctomb'.
21631         * modules/unistr/u32-uctomb-tests: New file.
21632         * tests/unistr/test-u32-uctomb.c: New file.
21633
21634         Tests for module 'unistr/u16-uctomb'.
21635         * modules/unistr/u16-uctomb-tests: New file.
21636         * tests/unistr/test-u16-uctomb.c: New file.
21637
21638         Tests for module 'unistr/u8-uctomb'.
21639         * modules/unistr/u8-uctomb-tests: New file.
21640         * tests/unistr/test-u8-uctomb.c: New file.
21641
21642         Tests for module 'unistr/u32-mbtoucr'.
21643         * modules/unistr/u32-mbtoucr-tests: New file.
21644         * tests/unistr/test-u32-mbtoucr.c: New file.
21645
21646         Tests for module 'unistr/u16-mbtoucr'.
21647         * modules/unistr/u16-mbtoucr-tests: New file.
21648         * tests/unistr/test-u16-mbtoucr.c: New file.
21649
21650         Tests for module 'unistr/u8-mbtoucr'.
21651         * modules/unistr/u8-mbtoucr-tests: New file.
21652         * tests/unistr/test-u8-mbtoucr.c: New file.
21653
21654         Tests for module 'unistr/u32-mbtouc'.
21655         * modules/unistr/u32-mbtouc-tests: New file.
21656         * tests/unistr/test-u32-mbtouc.c: New file.
21657
21658         Tests for module 'unistr/u16-mbtouc'.
21659         * modules/unistr/u16-mbtouc-tests: New file.
21660         * tests/unistr/test-u16-mbtouc.c: New file.
21661
21662         Tests for module 'unistr/u8-mbtouc'.
21663         * modules/unistr/u8-mbtouc-tests: New file.
21664         * tests/unistr/test-u8-mbtouc.c: New file.
21665
21666         Tests for module 'unistr/u32-mbtouc-unsafe'.
21667         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
21668         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
21669         * tests/unistr/test-u32-mbtouc.h: New file.
21670
21671         Tests for module 'unistr/u16-mbtouc-unsafe'.
21672         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
21673         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
21674         * tests/unistr/test-u16-mbtouc.h: New file.
21675
21676         Tests for module 'unistr/u8-mbtouc-unsafe'.
21677         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
21678         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
21679         * tests/unistr/test-u8-mbtouc.h: New file.
21680
21681         Tests for module 'unistr/u32-mblen'.
21682         * modules/unistr/u32-mblen-tests: New file.
21683         * tests/unistr/test-u32-mblen.c: New file.
21684
21685         Tests for module 'unistr/u16-mblen'.
21686         * modules/unistr/u16-mblen-tests: New file.
21687         * tests/unistr/test-u16-mblen.c: New file.
21688
21689         Tests for module 'unistr/u8-mblen'.
21690         * modules/unistr/u8-mblen-tests: New file.
21691         * tests/unistr/test-u8-mblen.c: New file.
21692
21693         Tests for module 'unistr/u32-to-u16'.
21694         * modules/unistr/u32-to-u16-tests: New file.
21695         * tests/unistr/test-u32-to-u16.c: New file.
21696
21697         Tests for module 'unistr/u32-to-u8'.
21698         * modules/unistr/u32-to-u8-tests: New file.
21699         * tests/unistr/test-u32-to-u8.c: New file.
21700
21701         Tests for module 'unistr/u16-to-u32'.
21702         * modules/unistr/u16-to-u32-tests: New file.
21703         * tests/unistr/test-u16-to-u32.c: New file.
21704
21705         Tests for module 'unistr/u16-to-u8'.
21706         * modules/unistr/u16-to-u8-tests: New file.
21707         * tests/unistr/test-u16-to-u8.c: New file.
21708
21709         Tests for module 'unistr/u8-to-u32'.
21710         * modules/unistr/u8-to-u32-tests: New file.
21711         * tests/unistr/test-u8-to-u32.c: New file.
21712
21713         Tests for module 'unistr/u8-to-u16'.
21714         * modules/unistr/u8-to-u16-tests: New file.
21715         * tests/unistr/test-u8-to-u16.c: New file.
21716
21717         Tests for module 'unistr/u32-check'.
21718         * modules/unistr/u32-check-tests: New file.
21719         * tests/unistr/test-u32-check.c: New file.
21720
21721         Tests for module 'unistr/u16-check'.
21722         * modules/unistr/u16-check-tests: New file.
21723         * tests/unistr/test-u16-check.c: New file.
21724
21725         Tests for module 'unistr/u8-check'.
21726         * modules/unistr/u8-check-tests: New file.
21727         * tests/unistr/test-u8-check.c: New file.
21728
21729         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
21730         (category_equals): New function.
21731         (main): Add more tests.
21732         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
21733
21734         * tests/unictype/test-bidi_byname.c (main): Add more tests.
21735
21736 2010-01-10  Bruno Haible  <bruno@clisp.org>
21737
21738         unistr/u*-strcoll: Try harder to distinguish different strings.
21739         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
21740         compare s1 and s2 to see if they are different.
21741
21742 2010-01-10  Bruno Haible  <bruno@clisp.org>
21743
21744         unistr/u*-stpncpy: Fix the return value.
21745         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
21746         description of the return value consistent with stpncpy in glibc.
21747         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
21748         written non-NUL unit.
21749
21750 2010-01-10  Bruno Haible  <bruno@clisp.org>
21751
21752         unistr/u*-next: Add missing dependencies.
21753         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
21754         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
21755         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
21756
21757 2010-01-10  Bruno Haible  <bruno@clisp.org>
21758
21759         unistr/u8-mbsnlen: Fix return value for incomplete character.
21760         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
21761         u8_mblen.
21762         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
21763         Remove unistr/u8-mblen.
21764         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
21765         u16_mblen.
21766         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
21767         Remove unistr/u16-mblen.
21768
21769 2010-01-10  Bruno Haible  <bruno@clisp.org>
21770
21771         wchar: Fix compilation error when <wchar.h> is used from coreutils.
21772         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
21773         Reported by Brian Gough <bjg@gnu.org> and
21774         Chris Clayton <chris2553@googlemail.com> via
21775         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
21776
21777 2010-01-09  Bruno Haible  <bruno@clisp.org>
21778
21779         unistr/u16-to-u32: Reject invalid input.
21780         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
21781         u16_mbtouc.
21782         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
21783         Remove unistr/u16-mbtouc.
21784
21785         unistr/u16-to-u8: Reject invalid input.
21786         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
21787         u16_mbtouc.
21788         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
21789         Remove unistr/u16-mbtouc.
21790
21791         unistr/u8-to-u32: Reject invalid input.
21792         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
21793         u8_mbtouc.
21794         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
21795         Remove unistr/u8-mbtouc.
21796
21797         unistr/u8-to-u16: Reject invalid input.
21798         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
21799         u8_mbtouc.
21800         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
21801         Remove unistr/u8-mbtouc.
21802
21803 2010-01-09  Bruno Haible  <bruno@clisp.org>
21804
21805         Tests for module 'getlogin'.
21806         * modules/getlogin-tests: New file.
21807         * tests/test-getlogin.c: New file.
21808
21809         New module 'getlogin'.
21810         * lib/unistd.in.h (getlogin): New declaration.
21811         * lib/getlogin.c: New file.
21812         * m4/getlogin.m4: New file.
21813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
21814         HAVE_GETLOGIN.
21815         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
21816         HAVE_GETLOGIN.
21817         * modules/getlogin: New file.
21818         * doc/posix-functions/getlogin.texi: Mention the new module.
21819         Reported by John W. Eaton <jwe@gnu.org>.
21820
21821 2010-01-09  Bruno Haible  <bruno@clisp.org>
21822
21823         getlogin_r: Support for native Windows.
21824         * lib/getlogin_r.c: Include <windows.h>
21825         (getlogin_r): Implement for native Windows.
21826         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
21827         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
21828         via John W. Eaton <jwe@gnu.org>.
21829
21830 2010-01-09  Bruno Haible  <bruno@clisp.org>
21831
21832         getlogin_r: Small fixes.
21833         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
21834         succeeds.
21835         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
21836         before testing whether getlogin_r is declared. No need to set
21837         HAVE_DECL_GETLOGIN_R to 1.
21838         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
21839
21840 2010-01-09  Bruno Haible  <bruno@clisp.org>
21841
21842         * lib/unistd.in.h (getlogin_r): Add comment.
21843
21844 2010-01-09  Bruno Haible  <bruno@clisp.org>
21845
21846         Tests for module 'getlogin_r'.
21847         * modules/getlogin_r-tests: New file.
21848         * tests/test-getlogin_r.c: New file.
21849
21850 2010-01-09  Jim Meyering  <meyering@redhat.com>
21851
21852         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
21853         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
21854         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
21855
21856 2010-01-08  Simon Josefsson  <simon@josefsson.org>
21857
21858         * lib/dup2.c (rpl_dup2): Improve comment.
21859
21860 2010-01-08  Eric Blake  <ebb9@byu.net>
21861
21862         maint.mk: allow packages to add makefile @@ exceptions
21863         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
21864         (sc_makefile_check): Rename...
21865         (sc_makefile_at_at_check): ...to this, and use hook.
21866
21867         dup2: work around mingw bug
21868         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
21869         Reported by Simon Josefsson.
21870
21871 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
21872
21873         glob: Fix C++ compilation.
21874         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
21875         C++.
21876
21877 2010-01-07  Bruno Haible  <bruno@clisp.org>
21878
21879         Fix indentation of wctype.in.h, broken since 2007-01-06.
21880         * lib/wctype.in.h: Fix indentation of preprocessor directives.
21881
21882 2010-01-07  Bruno Haible  <bruno@clisp.org>
21883
21884         mbslen: Avoid collision with system function.
21885         * lib/string.in.h [MirBSD]: Include <wchar.h>.
21886         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
21887         * m4/mbslen.m4: New file.
21888         * modules/mbslen (Files): Add it.
21889         (configure.ac): Invoke gl_MBSLEN.
21890         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
21891         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
21892         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
21893         via Ian Beckwith <ianb@erislabs.net>.
21894
21895 2010-01-07  Bruno Haible  <bruno@clisp.org>
21896
21897         dirent: Document the last fix.
21898         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
21899
21900 2010-01-07  Bruno Haible  <bruno@clisp.org>
21901
21902         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
21903         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
21904         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
21905         va_list are defined.
21906         * doc/posix-headers/stdio.texi: Document the bug of missing types.
21907         Reported by Eric Blake.
21908
21909 2010-01-07  Bruno Haible  <bruno@clisp.org>
21910
21911         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
21912         * modules/xlist (Depends-on): Add 'list',
21913         * modules/xoset (Depends-on): Add 'oset'.
21914         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21915
21916 2010-01-07  Bruno Haible  <bruno@clisp.org>
21917
21918         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
21919         * doc/posix-functions/strncasecmp.texi: Likewise.
21920
21921 2010-01-07  Bruno Haible  <bruno@clisp.org>
21922
21923         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
21924
21925 2010-01-07  John W. Eaton  <jwe@octave.org>
21926
21927         wctype: allow C++ use
21928         * lib/wctype.in.h: Add extern "C" block for C++.
21929
21930 2010-01-06  Eric Blake  <ebb9@byu.net>
21931
21932         maint.mk: detect incorrect GFDL usage
21933         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
21934
21935 2010-01-06  Jim Meyering  <meyering@redhat.com>
21936         and Eric Blake  <ebb9@byu.net>
21937
21938         maint.mk: ignore multi-line copyright in NEWS
21939         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
21940
21941 2010-01-06  Eric Blake  <ebb9@byu.net>
21942
21943         select: add missing dependency
21944         * modules/select-tests (Depends-on): Move sockets dependency...
21945         * modules/select (Depends-on): ...here.
21946         Reported by Ian Beckwith.
21947
21948         doc: regenerate INSTALL
21949         * doc/INSTALL: Reflect recent autoconf update.
21950         * doc/INSTALL.ISO: Likewise.
21951         * doc/INSTALL.UTF-8: Likewise.
21952
21953         pread: fix compilation on glibc
21954         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
21955         Reported by Ralf Wildenhues.
21956
21957         dirent: fix test failure
21958         * lib/dirent.in.h (includes): Guarantee ino_t.
21959         Reported by Ralf Wildenhues.
21960
21961 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
21962
21963         linkat, renameat: avoid bad free
21964         * lib/at-func2.c (at_func2): Fix typo.
21965         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
21966
21967 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21968
21969         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
21970         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
21971         to avoid failure of symlink test later.
21972
21973 2010-01-06  Eric Blake  <ebb9@byu.net>
21974
21975         stdio, unistd: guarantee ssize_t
21976         * lib/unistd.in.h (includes): Ensure that types required by POSIX
21977         2008 are exposed when needed.
21978         * lib/stdio.in.h (includes): Likewise.
21979         Reported by Ralf Wildenhues.
21980
21981 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
21982
21983         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
21984         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
21985         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
21986
21987 2010-01-06  Jim Meyering  <meyering@redhat.com>
21988
21989         readtokens: this module *does* require xalloc.h
21990         It uses only functions that were omitted by the old syntax-check rule.
21991         * lib/readtokens.c: Include "xalloc.h" once again.
21992         * modules/readtokens (Depends-on): Add xalloc.
21993         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
21994
21995 2010-01-05  Eric Blake  <ebb9@byu.net>
21996
21997         maint: support 'make announcement' from a VPATH build
21998         * top/maint.mk (announcement): Look for correct NEWS file.
21999
22000 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
22001
22002         utimens (fdutimens): ignore a negative FD, per contract
22003         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
22004         when we have a valid file descriptor.  Otherwise, using a brand
22005         new glibc (with just-patched futimens that now fails with EBADF)
22006         would cause this function to fail with ENOSYS.
22007         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
22008         See also http://bugzilla.redhat.com/552320.
22009
22010 2010-01-05  Eric Blake  <ebb9@byu.net>
22011
22012         strcase: document what it provides
22013         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
22014         gnulib module.
22015         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
22016         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
22017
22018 2010-01-05  Jim Meyering  <meyering@redhat.com>
22019
22020         maint: remove useless inclusions of "xalloc.h"
22021         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
22022         * lib/readtokens.c: Likewise.
22023         * lib/same.c: Likewise.
22024         * modules/getloadavg (Depends-on): Remove xalloc.
22025         * modules/readtokens: Likewise.
22026         * modules/same: Likewise.
22027
22028         maint.mk: include 4 more function names in alloca.h-checking regexp
22029         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
22030         regexp.  Before, we would give a false-positive (saying alloca.h
22031         is included unnecessarily) when the only uses involved omitted symbols.
22032
22033         xalloc.h: use consistent formatting
22034         * lib/xalloc.h: Move declarations to start in the first column.
22035
22036 2010-01-05  Eric Blake  <ebb9@byu.net>
22037
22038         mkdir: avoid xalloc
22039         * lib/mkdir.c (includes): Drop unused header.
22040         Reported by John W. Eaton.
22041
22042 2010-01-04  Jim Meyering  <meyering@redhat.com>
22043
22044         nl_langinfo: avoid configure-time syntax error
22045         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
22046         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
22047         the empty string.  Don't let that provoke a shell syntax error.
22048
22049         regcomp, regexec, fnmatch: avoid array bounds read error
22050         * lib/regcomp.c (build_equiv_class): From glibc:
22051         Use only the low 24 bits of a findidx return value as an index
22052         into the weights array.  Patch by Ulrich Drepper:
22053         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
22054         * lib/regexec.c (check_node_accept_bytes): Likewise.
22055         * lib/fnmatch_loop.c (FCT): Likewise.
22056
22057         regcomp: skip collseq lookup when there are no rules
22058         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
22059         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
22060
22061         regcomp: recognize ill-formed { } expressions
22062         * lib/regcomp.c (parse_dup_op): From glibc:
22063         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
22064
22065         regcomp: fix typo in comment
22066         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
22067         s/satisfy/satisfies/.
22068
22069         regcomp: sync from glibc: remove dead store
22070         * lib/regcomp.c (duplicate_node_closure): Remove useless
22071         search_duplicated_node call and dead store.
22072
22073         regcomp: sync from glibc; always use nl_langinfo
22074         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
22075         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
22076         * modules/regex (Depends-on): Add nl_langinfo.
22077
22078 2010-01-04  Eric Blake  <ebb9@byu.net>
22079
22080         fdopendir: fix configure test
22081         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
22082
22083 2010-01-01  Bruno Haible  <bruno@clisp.org>
22084
22085         wchar: Remove unused configure check.
22086         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
22087
22088 2010-01-01  Eric Blake  <ebb9@byu.net>
22089
22090         headers: make check of system header explicit
22091         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
22092         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
22093         ourselves.
22094         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22095         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22096         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
22097         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
22098         internals.
22099         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
22100         missing.
22101         Suggested by Bruno Haible.
22102
22103 2010-01-01  Jim Meyering  <meyering@redhat.com>
22104
22105         ChangeLog: tweak to eliminate unnecessary copyright line
22106         * ChangeLog: Remove a copyright line that was mistakenly updated
22107         by today's update-copyright run.  Reported by Eric Blake.
22108
22109         test-update-copyright: don't let envvar setting cause test failure
22110         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
22111
22112 2010-01-01  Bruno Haible  <bruno@clisp.org>
22113
22114         localename: Avoid gcc warning.
22115         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
22116         function if it is not used.
22117
22118 2010-01-01  Jim Meyering  <meyering@redhat.com>
22119
22120         update nearly all FSF copyright year lists to include 2010
22121         Use the same procedure as for 2009, outlined in
22122         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
22123
22124         version-etc: set COPYRIGHT_YEAR to 2010
22125         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
22126
22127 2009-12-31  Eric Blake  <ebb9@byu.net>
22128
22129         doc: correct availability of cygwin 1.5.x getopt
22130         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
22131         variables.
22132         * doc/posix-functions/opterr.texi (opterr): Likewise.
22133         * doc/posix-functions/optind.texi (optind): Likewise.
22134         * doc/posix-functions/optopt.texi (optopt): Likewise.
22135         * doc/posix-functions/tzname.texi (tzname): Likewise.
22136
22137         openat: update maintainer
22138         * modules/openat (Maintainer): Add myself.
22139
22140         utimens: avoid shadowing warning
22141         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
22142         buffers into one, to avoid shadowing, as well as avoiding a
22143         redundant stat.
22144         Reported by Jim Meyering.
22145
22146         test-dup2: avoid compiler warning
22147         * tests/test-dup2.c (is_inheritable): Only define if used.
22148
22149 2010-01-01  Bruno Haible  <bruno@clisp.org>
22150
22151         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
22152         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
22153         defined, use wctomb instead of wcrtomb.
22154
22155 2010-01-01  Bruno Haible  <bruno@clisp.org>
22156
22157         iconv: Reject native Solaris iconv.
22158         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
22159         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
22160
22161 2009-12-31  Bruno Haible  <bruno@clisp.org>
22162
22163         * tests/test-signal.c (main): Remove test of 'SIG'.
22164
22165 2009-12-31  Bruno Haible  <bruno@clisp.org>
22166
22167         spawn: Fix incomplete fix.
22168         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22169         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22170         warnings for GNULIB_POSIXCHECK again.
22171         Reported by Eric Blake.
22172
22173 2009-12-31  Bruno Haible  <bruno@clisp.org>
22174
22175         Avoid namespace pollution on glibc systems.
22176         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
22177         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
22178         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
22179         glibc systems.
22180
22181 2009-12-31  Bruno Haible  <bruno@clisp.org>
22182
22183         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
22184         (gl_REPLACE_WCHAR_H): Turn into a no-op.
22185         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
22186         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
22187         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
22188         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
22189         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
22190
22191 2009-12-31  Bruno Haible  <bruno@clisp.org>
22192
22193         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
22194         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
22195         afterwards.
22196
22197 2009-12-31  Bruno Haible  <bruno@clisp.org>
22198
22199         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
22200         SYS_UTSNAME_H.
22201
22202 2009-12-31  Bruno Haible  <bruno@clisp.org>
22203
22204         spawn: Fix misapplied patch.
22205         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22206         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22207         warnings for GNULIB_POSIXCHECK.
22208
22209 2009-12-31  Bruno Haible  <bruno@clisp.org>
22210
22211         times: Update after sys_times changed.
22212         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
22213         * modules/times (Files): Add it.
22214         (configure.ac): Invoke gl_FUNC_TIMES.
22215
22216 2009-12-31  Bruno Haible  <bruno@clisp.org>
22217
22218         Use AC_C_INLINE where necessary.
22219         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
22220         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
22221         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
22222         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
22223         * m4/mbfile.m4 (gl_MBFILE): Likewise.
22224         * m4/mbiter.m4 (gl_MBITER): Likewise.
22225         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
22226         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22227         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
22228         * modules/u64 (configure.ac): Likewise.
22229
22230 2009-12-31  Bruno Haible  <bruno@clisp.org>
22231
22232         Use AC_C_INLINE instead of module 'inline' where possible.
22233         * modules/inline (Description): Clarify purpose.
22234         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
22235         * modules/count-one-bits (Depends-on): Remove inline.
22236         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
22237         * modules/openat (Depends-on): Remove inline.
22238         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
22239         instead of depending on module 'inline'.
22240         * modules/filevercmp (Depends-on, configure.ac): Likewise.
22241         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
22242         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
22243         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
22244         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
22245         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
22246         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
22247         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
22248         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
22249         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
22250         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
22251         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
22252         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
22253         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
22254         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
22255         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
22256         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
22257         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
22258         Likewise.
22259         * modules/unictype/property-ascii-hex-digit (Depends-on,
22260         configure.ac): Likewise.
22261         * modules/unictype/property-bidi-arabic-digit (Depends-on,
22262         configure.ac): Likewise.
22263         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
22264         configure.ac): Likewise.
22265         * modules/unictype/property-bidi-block-separator (Depends-on,
22266         configure.ac): Likewise.
22267         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
22268         configure.ac): Likewise.
22269         * modules/unictype/property-bidi-common-separator (Depends-on,
22270         configure.ac): Likewise.
22271         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
22272         Likewise.
22273         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
22274         configure.ac): Likewise.
22275         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
22276         configure.ac): Likewise.
22277         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
22278         configure.ac): Likewise.
22279         * modules/unictype/property-bidi-european-digit (Depends-on,
22280         configure.ac): Likewise.
22281         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
22282         configure.ac): Likewise.
22283         * modules/unictype/property-bidi-left-to-right (Depends-on,
22284         configure.ac): Likewise.
22285         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
22286         configure.ac): Likewise.
22287         * modules/unictype/property-bidi-other-neutral (Depends-on,
22288         configure.ac): Likewise.
22289         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
22290         Likewise.
22291         * modules/unictype/property-bidi-segment-separator (Depends-on,
22292         configure.ac): Likewise.
22293         * modules/unictype/property-bidi-whitespace (Depends-on,
22294         configure.ac): Likewise.
22295         * modules/unictype/property-combining (Depends-on, configure.ac):
22296         Likewise.
22297         * modules/unictype/property-composite (Depends-on, configure.ac):
22298         Likewise.
22299         * modules/unictype/property-currency-symbol (Depends-on,
22300         configure.ac): Likewise.
22301         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
22302         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
22303         Likewise.
22304         * modules/unictype/property-default-ignorable-code-point (Depends-on,
22305         configure.ac): Likewise.
22306         * modules/unictype/property-deprecated (Depends-on, configure.ac):
22307         Likewise.
22308         * modules/unictype/property-diacritic (Depends-on, configure.ac):
22309         Likewise.
22310         * modules/unictype/property-extender (Depends-on, configure.ac):
22311         Likewise.
22312         * modules/unictype/property-format-control (Depends-on, configure.ac):
22313         Likewise.
22314         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
22315         Likewise.
22316         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
22317         Likewise.
22318         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
22319         Likewise.
22320         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
22321         Likewise.
22322         * modules/unictype/property-hyphen (Depends-on, configure.ac):
22323         Likewise.
22324         * modules/unictype/property-id-continue (Depends-on, configure.ac):
22325         Likewise.
22326         * modules/unictype/property-id-start (Depends-on, configure.ac):
22327         Likewise.
22328         * modules/unictype/property-ideographic (Depends-on, configure.ac):
22329         Likewise.
22330         * modules/unictype/property-ids-binary-operator (Depends-on,
22331         configure.ac): Likewise.
22332         * modules/unictype/property-ids-trinary-operator (Depends-on,
22333         configure.ac): Likewise.
22334         * modules/unictype/property-ignorable-control (Depends-on,
22335         configure.ac): Likewise.
22336         * modules/unictype/property-iso-control (Depends-on, configure.ac):
22337         Likewise.
22338         * modules/unictype/property-join-control (Depends-on, configure.ac):
22339         Likewise.
22340         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
22341         Likewise.
22342         * modules/unictype/property-line-separator (Depends-on, configure.ac):
22343         Likewise.
22344         * modules/unictype/property-logical-order-exception (Depends-on,
22345         configure.ac): Likewise.
22346         * modules/unictype/property-lowercase (Depends-on, configure.ac):
22347         Likewise.
22348         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
22349         * modules/unictype/property-non-break (Depends-on, configure.ac):
22350         Likewise.
22351         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
22352         Likewise.
22353         * modules/unictype/property-numeric (Depends-on, configure.ac):
22354         Likewise.
22355         * modules/unictype/property-other-alphabetic (Depends-on,
22356         configure.ac): Likewise.
22357         * modules/unictype/property-other-default-ignorable-code-point
22358         (Depends-on, configure.ac): Likewise.
22359         * modules/unictype/property-other-grapheme-extend (Depends-on,
22360         configure.ac): Likewise.
22361         * modules/unictype/property-other-id-continue (Depends-on,
22362         configure.ac): Likewise.
22363         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
22364         Likewise.
22365         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
22366         Likewise.
22367         * modules/unictype/property-other-math (Depends-on, configure.ac):
22368         Likewise.
22369         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
22370         Likewise.
22371         * modules/unictype/property-paired-punctuation (Depends-on,
22372         configure.ac): Likewise.
22373         * modules/unictype/property-paragraph-separator (Depends-on,
22374         configure.ac): Likewise.
22375         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
22376         Likewise.
22377         * modules/unictype/property-pattern-white-space (Depends-on,
22378         configure.ac): Likewise.
22379         * modules/unictype/property-private-use (Depends-on, configure.ac):
22380         Likewise.
22381         * modules/unictype/property-punctuation (Depends-on, configure.ac):
22382         Likewise.
22383         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
22384         Likewise.
22385         * modules/unictype/property-radical (Depends-on, configure.ac):
22386         Likewise.
22387         * modules/unictype/property-sentence-terminal (Depends-on,
22388         configure.ac): Likewise.
22389         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
22390         Likewise.
22391         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
22392         * modules/unictype/property-terminal-punctuation (Depends-on,
22393         configure.ac): Likewise.
22394         * modules/unictype/property-titlecase (Depends-on, configure.ac):
22395         Likewise.
22396         * modules/unictype/property-unassigned-code-value (Depends-on,
22397         configure.ac): Likewise.
22398         * modules/unictype/property-unified-ideograph (Depends-on,
22399         configure.ac): Likewise.
22400         * modules/unictype/property-uppercase (Depends-on, configure.ac):
22401         Likewise.
22402         * modules/unictype/property-variation-selector (Depends-on,
22403         configure.ac): Likewise.
22404         * modules/unictype/property-white-space (Depends-on, configure.ac):
22405         Likewise.
22406         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
22407         Likewise.
22408         * modules/unictype/property-xid-start (Depends-on, configure.ac):
22409         Likewise.
22410         * modules/unictype/property-zero-width (Depends-on, configure.ac):
22411         Likewise.
22412         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
22413         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
22414         Likewise.
22415
22416 2009-12-31  Bruno Haible  <bruno@clisp.org>
22417
22418         Remove unnecessary AC_C_INLINE invocation.
22419         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
22420         since 2009-08-21.
22421
22422 2009-12-31  Jim Meyering  <meyering@redhat.com>
22423
22424         maint.mk: don't require explicit gpg_key_ID in cfg.mk
22425         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
22426         With this change, we can all remove the gpg_key_ID = ... definition
22427         from our respective cfg.mk files.
22428
22429         maint.mk: create announcement template in ~/, not in /tmp
22430         * top/maint.mk (emit_upload_commands): Adjust.
22431         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
22432         Remove temporary file, .ci-msg.
22433
22434 2009-12-31  Eric Blake  <ebb9@byu.net>
22435
22436         link-warning: always build headers with link warnings
22437         * modules/arpa_inet (Makefile.am): Always build replacement
22438         header.
22439         * modules/ctype (Makefile.am): Likewise.
22440         * modules/dirent (Makefile.am): Likewise.
22441         * modules/inttypes (Makefile.am): Likewise.
22442         * modules/langinfo (Makefile.am): Likewise.
22443         * modules/locale (Makefile.am): Likewise.
22444         * modules/spawn (Makefile.am): Likewise.
22445         * modules/sys_file (Makefile.am): Likewise.
22446         * modules/sys_ioctl (Makefile.am): Likewise.
22447         * modules/sys_select (Makefile.am): Likewise.
22448         * modules/sys_socket (Makefile.am): Likewise.
22449         * modules/sys_times (Makefile.am): Likewise.
22450         * modules/sys_utsname (Makefile.am): Likewise.
22451         * modules/sys_wait (Makefile.am): Likewise.
22452         * modules/wchar (Makefile.am): Likewise.
22453         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
22454         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
22455         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
22456         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
22457         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
22458         Likewise.
22459         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
22460         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22461         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
22462         Likewise.
22463         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
22464         Likewise.
22465         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22466         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
22467         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
22468         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22469         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22470         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
22471         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
22472         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
22473         (gl_WCHAR_H_DEFAULTS): Likewise.
22474
22475 2009-12-31  Eric Blake  <ebb9@byu.net>
22476
22477         signal, spawn: use link warnings
22478         * lib/signal.in.h (sigset_t): Make unconditional.
22479         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
22480         (sigpending, sigprocmask, sigaction): Add link warnings.
22481         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
22482         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
22483         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
22484         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
22485         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
22486         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
22487         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
22488         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
22489         (posix_spawn_file_actions_destroy)
22490         (posix_spawn_file_actions_addopen)
22491         (posix_spawn_file_actions_addclose)
22492         (posix_spawn_file_actions_adddup2): Likewise.
22493         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
22494         * tests/test-signal.c (main): Enhance test.
22495
22496         spawn: improve wrapper support
22497         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
22498         (gl_SPAWN_H_DEFAULTS): New defaults.
22499         * modules/spawn (Makefile.am): Substitute them.
22500         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
22501         Only declare if missing or broken.
22502
22503         sys_times, sys_utsname: use include_next
22504         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
22505         header.
22506         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
22507         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
22508         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
22509         * modules/sys_times (Depends-on): Add include_next.
22510         (Makefile.am): Substitute additional values.
22511         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
22512         * lib/sys_times.in.h (includes): Include native header, if
22513         available.
22514         * lib/sys_utsname.in.h (includes): Likewise.
22515         * tests/test-sys_times.c (main): Enhance test.
22516
22517         fdutimensat: revert prior patch
22518         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
22519         utimens.h.
22520         Reported by Bruno Haible.
22521
22522 2009-12-30  Eric Blake  <ebb9@byu.net>
22523
22524         sys_wait: drop link-warning dependency
22525         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
22526         link-warning efforts.
22527         * lib/sys_wait.in.h: Likewise.
22528
22529         fdutimensat: remove bogus dependency
22530         * modules/fdutimensat (Depends-on): Drop inline.
22531
22532         unistd: fix typo
22533         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
22534
22535 2009-12-30  Bruno Haible  <bruno@clisp.org>
22536
22537         Fix compilation error with Solaris cc.
22538         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
22539         * lib/unicase/u16-is-invariant.c: Likewise.
22540         * lib/unicase/u32-is-invariant.c: Likewise.
22541         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
22542
22543 2009-12-30  Bruno Haible  <bruno@clisp.org>
22544
22545         Fix test crash.
22546         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
22547         locales.
22548         Reported by Simon Josefsson <simon@josefsson.org>.
22549
22550 2009-12-30  Bruno Haible  <bruno@clisp.org>
22551
22552         Fix compilation error on most platforms.
22553         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
22554         Reported by Simon Josefsson <simon@josefsson.org>
22555         and Nelson H. F. Beebe <beebe@math.utah.edu>.
22556
22557 2009-12-30  Eric Blake  <ebb9@byu.net>
22558
22559         futimens, utimensat: work around ntfs-3g bug
22560         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
22561         a ctime bug is present, and expand workaround to cover ntfs-3g.
22562         * lib/utimens.c (fdutimens, lutimens): Likewise.
22563         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
22564         (validate_timespec): Adjust return value.
22565         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
22566         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22567         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
22568
22569 2009-12-29  Eric Blake  <ebb9@byu.net>
22570
22571         link-warning: make usage consistent
22572         * modules/ctype (Depends-on): Add link-warning.
22573         (Makefile.am): Update rules accordingly.
22574         * modules/langinfo (Depends-on, Makefile.am): Likewise.
22575         * modules/locale (Depends-on, Makefile.am): Likewise.
22576         * modules/sys_file (Makefile.am): Likewise.
22577         * modules/getopt-posix (Makefile.am): Delete unused link warning
22578         efforts.
22579         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
22580         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
22581         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
22582         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
22583
22584         stdio: remove unused variables
22585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
22586         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
22587         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22588
22589         tests: test more substitute headers
22590         * modules/ctype-tests: New file.
22591         * modules/dirent-tests: Likewise.
22592         * modules/spawn-tests: Likewise.
22593         * modules/sys_file-tests: Likewise.
22594         * modules/sys_ioctl-tests: Likewise.
22595         * modules/sys_wait-tests: Likewise.
22596         * tests/test-ctype.c: Likewise.
22597         * tests/test-dirent.c: Likewise.
22598         * tests/test-spawn.c: Likewise.
22599         * tests/test-sys_file.c: Likewise.
22600         * tests/test-sys_ioctl.c: Likewise.
22601         * tests/test-sys_wait.c: Likewise.
22602         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
22603         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
22604         whether or not flock is in use.
22605
22606         tests: remove License section from module
22607         * modules/arpa_inet-tests: Remove unneeded section.
22608         * modules/byteswap-tests: Likewise.
22609         * modules/ceilf-tests: Likewise.
22610         * modules/ceill-tests: Likewise.
22611         * modules/crypto/des-tests: Likewise.
22612         * modules/crypto/gc-arcfour-tests: Likewise.
22613         * modules/crypto/gc-arctwo-tests: Likewise.
22614         * modules/crypto/gc-des-tests: Likewise.
22615         * modules/crypto/gc-hmac-md5-tests: Likewise.
22616         * modules/crypto/gc-hmac-sha1-tests: Likewise.
22617         * modules/crypto/gc-md2-tests: Likewise.
22618         * modules/crypto/gc-md4-tests: Likewise.
22619         * modules/crypto/gc-md5-tests: Likewise.
22620         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
22621         * modules/crypto/gc-rijndael-tests: Likewise.
22622         * modules/crypto/gc-sha1-tests: Likewise.
22623         * modules/crypto/gc-tests: Likewise.
22624         * modules/crypto/md2-tests: Likewise.
22625         * modules/crypto/md4-tests: Likewise.
22626         * modules/fcntl-h-tests: Likewise.
22627         * modules/floorf-tests: Likewise.
22628         * modules/floorl-tests: Likewise.
22629         * modules/frexp-nolibm-tests: Likewise.
22630         * modules/frexp-tests: Likewise.
22631         * modules/frexpl-nolibm-tests: Likewise.
22632         * modules/frexpl-tests: Likewise.
22633         * modules/getaddrinfo-tests: Likewise.
22634         * modules/inttypes-tests: Likewise.
22635         * modules/isfinite-tests: Likewise.
22636         * modules/isinf-tests: Likewise.
22637         * modules/ldexpl-tests: Likewise.
22638         * modules/locale-tests: Likewise.
22639         * modules/math-tests: Likewise.
22640         * modules/netdb-tests: Likewise.
22641         * modules/netinet_in-tests: Likewise.
22642         * modules/printf-frexp-tests: Likewise.
22643         * modules/printf-frexpl-tests: Likewise.
22644         * modules/priv-set-tests: Likewise.
22645         * modules/random_r-tests: Likewise.
22646         * modules/round-tests: Likewise.
22647         * modules/roundf-tests: Likewise.
22648         * modules/roundl-tests: Likewise.
22649         * modules/search-tests: Likewise.
22650         * modules/select-tests: Likewise.
22651         * modules/signal-tests: Likewise.
22652         * modules/stdbool-tests: Likewise.
22653         * modules/stddef-tests: Likewise.
22654         * modules/stdint-tests: Likewise.
22655         * modules/stdio-tests: Likewise.
22656         * modules/stdlib-tests: Likewise.
22657         * modules/string-tests: Likewise.
22658         * modules/strings-tests: Likewise.
22659         * modules/sys_select-tests: Likewise.
22660         * modules/sys_socket-tests: Likewise.
22661         * modules/sys_stat-tests: Likewise.
22662         * modules/sys_time-tests: Likewise.
22663         * modules/sys_utsname-tests: Likewise.
22664         * modules/sysexits-tests: Likewise.
22665         * modules/time-tests: Likewise.
22666         * modules/trunc-tests: Likewise.
22667         * modules/truncf-tests: Likewise.
22668         * modules/truncl-tests: Likewise.
22669         * modules/tsearch-tests: Likewise.
22670         * modules/unistd-tests: Likewise.
22671         * modules/wchar-tests: Likewise.
22672         * modules/wctype-tests: Likewise.
22673
22674         tests: fix license on several tests
22675         * tests/test-des.c: Update to GPLv3+.
22676         * tests/test-flock.c: Likewise.
22677         * tests/test-fsync.c: Likewise.
22678         * tests/test-futimens.h: Likewise.
22679         * tests/test-gc-arcfour.c: Likewise.
22680         * tests/test-gc-arctwo.c: Likewise.
22681         * tests/test-gc-des.c: Likewise.
22682         * tests/test-gc-hmac-md5.c: Likewise.
22683         * tests/test-gc-hmac-sha1.c: Likewise.
22684         * tests/test-gc-md2.c: Likewise.
22685         * tests/test-gc-md4.c: Likewise.
22686         * tests/test-gc-md5.c: Likewise.
22687         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22688         * tests/test-gc-rijndael.c: Likewise.
22689         * tests/test-gc-sha1.c: Likewise.
22690         * tests/test-gc.c: Likewise.
22691         * tests/test-getcwd.c: Likewise.
22692         * tests/test-link.c: Likewise.
22693         * tests/test-link.h: Likewise.
22694         * tests/test-lutimens.h: Likewise.
22695         * tests/test-md2.c: Likewise.
22696         * tests/test-md4.c: Likewise.
22697         * tests/test-mkdir.h: Likewise.
22698         * tests/test-rename.c: Likewise.
22699         * tests/test-rename.h: Likewise.
22700         * tests/test-safe-alloc.c: Likewise.
22701         * tests/test-utimens-common.h: Likewise.
22702         * tests/test-utimens.h: Likewise.
22703
22704         maint: sync license texts
22705         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
22706         * doc/gpl-3.0.texi: Revert copyright year update.
22707         * doc/lgpl-3.0.texi: Likewise.
22708
22709 2009-12-29  Jim Meyering  <meyering@redhat.com>
22710
22711         update nearly all FSF copyright year lists to include 2009
22712         The files named by the following are exempted:
22713             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
22714               test -f "$dst" && { echo "$dst"; continue; }
22715               test -d "$dst" || continue
22716               echo "$dst"/$(basename "$src")
22717             done > exempt
22718             git ls-files tests/unictype >> exempt
22719         In the remaining files, convert to all-interval notation if
22720         - there is already at least one year interval like 2000-2003
22721         - the file is maintained by me
22722         - the file is in lib/uni*/, where that style already prevails
22723         Otherwise, use update-copyright's default.
22724
22725 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22726         and Eric Blake  <ebb9@byu.net>
22727
22728         tests: don't require debug system() to pass
22729         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
22730         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22731         * tests/test-unlink.h (test_unlink_func): Likewise.
22732         * tests/test-fstatat.c (main): ...into callers.
22733         * tests/test-lstat.c (main): Likewise.
22734         * tests/test-rmdir.c (main): Likewise.
22735         * tests/test-unlink.c (main): Likewise.
22736         * tests/test-unlinkat.c (main): Likewise.
22737         * tests/test-areadlink-with-size.c (main): Don't require a
22738         debug-only system call to pass, aiding cross-testing to mingw.
22739         * tests/test-areadlink.c (main): Likewise.
22740         * tests/test-areadlinkat-with-size.c (main): Likewise.
22741         * tests/test-areadlinkat.c (main): Likewise.
22742         * tests/test-canonicalize-lgpl.c (main): Likewise.
22743         * tests/test-canonicalize.c (main): Likewise.
22744         * tests/test-chown.c (main): Likewise.
22745         * tests/test-fchownat.c (main): Likewise.
22746         * tests/test-lchown.c (main): Likewise.
22747         * tests/test-fdutimensat.c (main): Likewise.
22748         * tests/test-futimens.c (main): Likewise.
22749         * tests/test-link.c (main): Likewise.
22750         * tests/test-linkat.c (main): Likewise.
22751         * tests/test-mkdir.c (main): Likewise.
22752         * tests/test-mkdirat.c (main): Likewise.
22753         * tests/test-mkfifo.c (main): Likewise.
22754         * tests/test-mkfifoat.c (main): Likewise.
22755         * tests/test-mknod.c (main): Likewise.
22756         * tests/test-readlink.c (main): Likewise.
22757         * tests/test-remove.c (main): Likewise.
22758         * tests/test-rename.c (main): Likewise.
22759         * tests/test-renameat.c (main): Likewise.
22760         * tests/test-symlink.c (main): Likewise.
22761         * tests/test-symlinkat.c (main): Likewise.
22762         * tests/test-utimens.c (main): Likewise.
22763         * tests/test-utimensat.c (main): Likewise.
22764
22765 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22766
22767         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
22768         on $(UNUSED_PARAMETER_H) to avoid build failure.
22769
22770 2009-12-28  Jim Meyering  <meyering@redhat.com>
22771
22772         update-copyright: you may specify a max. line length other than 72
22773         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
22774
22775         maint: use consistent FSF copyright line syntax
22776         * lib/posixtm.c: Add missing comma in FSF copyright line.
22777         * lib/posixtm.h: Likewise.
22778         * lib/getugroups.c: Add missing ", Inc.".
22779
22780         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
22781         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
22782         FSF copyright line.  Remove trailing blanks.
22783
22784 2009-12-28  Eric Blake  <ebb9@byu.net>
22785
22786         test-dup2: reduce dependencies
22787         * modules/cloexec (Configure.ac): Set witness.
22788         * modules/dup2-tests (Depends-on): Drop cloexec.
22789         * tests/test-dup2.c (main): Skip portion of test if cloexec module
22790         not present.
22791         Suggested by Bruno Haible.
22792
22793 2009-12-26  Bruno Haible  <bruno@clisp.org>
22794
22795         Remove an unneeded dependency.
22796         * modules/fseterr (Depends-on): Remove dup2.
22797
22798 2009-12-26  Eric Blake  <ebb9@byu.net>
22799
22800         tests: use macros.h in more places
22801         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
22802         (ASSERT_STREAM): Provide default of stderr.
22803         * tests/test-dirent-safer.c: Include macros.h, using alternate
22804         stream for assertions.
22805         * tests/test-dup-safer.c: Likewise.
22806         * tests/test-freopen-safer.c: Likewise.
22807         * tests/test-getopt.c: Likewise.
22808         * tests/test-openat-safer.c: Likewise.
22809         * tests/test-pipe.c: Likewise.
22810         * tests/test-popen-safer.c: Likewise.
22811         * modules/dirent-safer-tests (Files): Include macros.h.
22812         * modules/unistd-safer-tests (Files): Likewise.
22813         * modules/freopen-safer-tests (Files): Likewise.
22814         * modules/getopt-posix-tests (Files): Likewise.
22815         * modules/openat-safer-tests (Files): Likewise.
22816         * modules/pipe-tests (Files): Likewise.
22817
22818 2009-12-26  Bruno Haible  <bruno@clisp.org>
22819
22820         javacomp: Portability fix.
22821         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
22822         that it also works on Solaris.
22823
22824 2009-12-26  Bruno Haible  <bruno@clisp.org>
22825
22826         localename: Fix storage allocation of gl_locale_name_thread's result.
22827         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
22828         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
22829         all platforms that have 'uselocale'.
22830         (gl_locale_name_thread_unsafe): New function, extracted from
22831         gl_locale_name_thread.
22832         (gl_locale_name_thread): Call struniq on all platforms that have
22833         'uselocale'.
22834         * tests/test-localename.c (test_locale_name_thread): Check that the
22835         resulting strings are permanently allocated.
22836         * modules/localename-tests (Depends-on): Add strdup.
22837
22838 2009-12-26  Bruno Haible  <bruno@clisp.org>
22839
22840         * tests/test-localename.c (categories): Fill in the strings.
22841
22842 2009-12-26  Jim Meyering  <meyering@redhat.com>
22843
22844         isdir: complete the removal of m4/isdir.m4
22845         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
22846
22847         isdir: clean up, since at least grep still uses it
22848         * lib/isdir.c: Include "isdir.h".
22849         (S_ISDIR): Remove now-unneeded definition.
22850         * modules/isdir (Files): Add lib/isdir.h.
22851         * lib/isdir.h: New file, with declaration.
22852         * m4/isdir.m4: Remove file -- unneeded.
22853
22854 2009-12-25  Bruno Haible  <bruno@clisp.org>
22855
22856         selinux-h: Make generated .h files standalone.
22857         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
22858         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
22859         * lib/se-selinux.in.h: Likewise.
22860         * modules/selinux-h (Depends-on): Add unused-parameter.
22861         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
22862         selinux/selinux.h and selinux/context.h.
22863         Suggested by Eric Blake.
22864
22865 2009-12-25  Bruno Haible  <bruno@clisp.org>
22866
22867         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
22868         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
22869         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
22870         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
22871         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
22872
22873 2009-12-24  Bruno Haible  <bruno@clisp.org>
22874
22875         openat: Fix warning.
22876         * lib/openat-proc.c: Include <unistd.h>.
22877
22878 2009-12-24  Bruno Haible  <bruno@clisp.org>
22879
22880         New module 'unused-parameter'.
22881         * build-aux/unused-parameter.h: New file, extracted from earlier
22882         gnulib-common.m4.
22883         * modules/unused-parameter: New file.
22884         * lib/unistr.h: Include unused-parameter.h.
22885         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
22886         _GL_UNUSED.
22887         * modules/unistr/base (Depends-on): Add unused-parameter.
22888
22889 2009-12-24  Bruno Haible  <bruno@clisp.org>
22890
22891         Add missing dependencies to 'extensions' module.
22892         * m4/extensions.m4: Add comment.
22893         * modules/accept4 (Depends-on): Add extensions.
22894         * modules/dup3 (Depends-on): Likewise.
22895         * modules/fcntl (Depends-on): Likewise.
22896         * modules/futimens (Depends-on): Likewise.
22897         * modules/mknod (Depends-on): Likewise.
22898         * modules/pipe2 (Depends-on): Likewise.
22899         * modules/stat-time (Depends-on): Likewise.
22900         * modules/strcasestr-simple (Depends-on): Likewise.
22901         * modules/strsignal (Depends-on): Likewise.
22902         * modules/utimensat (Depends-on): Likewise.
22903         * modules/localcharset (Depends-on): Likewise. Needed because of
22904         gl_FCNTL_O_FLAGS.
22905         * modules/wcrtomb (Depends-on): Likewise. Needed because of
22906         AC_TYPE_MBSTATE_T.
22907         * modules/wcsnrtombs (Depends-on): Likewise.
22908         * modules/wcsrtombs (Depends-on): Likewise.
22909
22910 2009-12-24  Bruno Haible  <bruno@clisp.org>
22911
22912         binary-io: Avoid gcc warning due to SET_BINARY.
22913         * lib/binary-io.h (SET_BINARY): Cast the result to void.
22914         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
22915
22916 2009-12-24  Bruno Haible  <bruno@clisp.org>
22917
22918         Avoid future namespace pollution on glibc systems.
22919         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
22920         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
22921         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
22922         glibc systems.
22923
22924 2009-12-24  Bruno Haible  <bruno@clisp.org>
22925
22926         Refactor common macros used in tests.
22927         * tests/macros.h: New file.
22928         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
22929         and/or <stdlib.h>, if appropriate.
22930         (ASSERT, SIZEOF): Remove macros.
22931         * tests/test-areadlink-with-size.c: Likewise.
22932         * tests/test-areadlinkat.c: Likewise.
22933         * tests/test-areadlinkat-with-size.c: Likewise.
22934         * tests/test-argmatch.c: Likewise.
22935         * tests/test-argv-iter.c: Likewise.
22936         * tests/test-array-mergesort.c: Likewise.
22937         * tests/test-array_list.c: Likewise.
22938         * tests/test-array_oset.c: Likewise.
22939         * tests/test-avltree_list.c: Likewise.
22940         * tests/test-avltree_oset.c: Likewise.
22941         * tests/test-avltreehash_list.c: Likewise.
22942         * tests/test-base64.c: Likewise.
22943         * tests/test-binary-io.c: Likewise.
22944         * tests/test-bitrotate.c: Likewise.
22945         * tests/test-btowc.c: Likewise.
22946         * tests/test-byteswap.c: Likewise.
22947         * tests/test-c-ctype.c: Likewise.
22948         * tests/test-c-stack.c: Likewise.
22949         * tests/test-c-strcasecmp.c: Likewise.
22950         * tests/test-c-strcasestr.c: Likewise.
22951         * tests/test-c-strncasecmp.c: Likewise.
22952         * tests/test-c-strstr.c: Likewise.
22953         * tests/test-canonicalize-lgpl.c: Likewise.
22954         * tests/test-canonicalize.c: Likewise.
22955         * tests/test-carray_list.c: Likewise.
22956         * tests/test-ceilf1.c: Likewise.
22957         * tests/test-ceilf2.c: Likewise.
22958         * tests/test-ceill.c: Likewise.
22959         * tests/test-chown.c: Likewise.
22960         * tests/test-cloexec.c: Likewise.
22961         * tests/test-copy-acl.c: Likewise.
22962         * tests/test-copy-file.c: Likewise.
22963         * tests/test-count-one-bits.c: Likewise.
22964         * tests/test-dprintf-posix.c: Likewise.
22965         * tests/test-dup2.c: Likewise.
22966         * tests/test-dup3.c: Likewise.
22967         * tests/test-duplocale.c: Likewise.
22968         * tests/test-fbufmode.c: Likewise.
22969         * tests/test-fchdir.c: Likewise.
22970         * tests/test-fchownat.c: Likewise.
22971         * tests/test-fcntl-safer.c: Likewise.
22972         * tests/test-fcntl.c: Likewise.
22973         * tests/test-fdopendir.c: Likewise.
22974         * tests/test-fdutimensat.c: Likewise.
22975         * tests/test-fflush2.c: Likewise.
22976         * tests/test-file-has-acl.c: Likewise.
22977         * tests/test-filevercmp.c: Likewise.
22978         * tests/test-flock.c: Likewise.
22979         * tests/test-floorf1.c: Likewise.
22980         * tests/test-floorf2.c: Likewise.
22981         * tests/test-floorl.c: Likewise.
22982         * tests/test-fnmatch.c: Likewise.
22983         * tests/test-fopen.h: Likewise.
22984         * tests/test-fpending.c: Likewise.
22985         * tests/test-fprintf-posix.c: Likewise.
22986         * tests/test-fpurge.c: Likewise.
22987         * tests/test-freadable.c: Likewise.
22988         * tests/test-freadahead.c: Likewise.
22989         * tests/test-freading.c: Likewise.
22990         * tests/test-freadptr.c: Likewise.
22991         * tests/test-freadptr2.c: Likewise.
22992         * tests/test-freadseek.c: Likewise.
22993         * tests/test-freopen.c: Likewise.
22994         * tests/test-frexp.c: Likewise.
22995         * tests/test-frexpl.c: Likewise.
22996         * tests/test-fseek.c: Likewise.
22997         * tests/test-fseeko.c: Likewise.
22998         * tests/test-fstatat.c: Likewise.
22999         * tests/test-fstrcmp.c: Likewise.
23000         * tests/test-fsync.c: Likewise.
23001         * tests/test-ftell.c: Likewise.
23002         * tests/test-ftello.c: Likewise.
23003         * tests/test-func.c: Likewise.
23004         * tests/test-futimens.c: Likewise.
23005         * tests/test-fwritable.c: Likewise.
23006         * tests/test-fwriting.c: Likewise.
23007         * tests/test-getcwd.c: Likewise.
23008         * tests/test-getdate.c: Likewise.
23009         * tests/test-getdelim.c: Likewise.
23010         * tests/test-getdtablesize.c: Likewise.
23011         * tests/test-getgroups.c: Likewise.
23012         * tests/test-getline.c: Likewise.
23013         * tests/test-getndelim2.c: Likewise.
23014         * tests/test-glob.c: Likewise.
23015         * tests/test-hash.c: Likewise.
23016         * tests/test-i-ring.c: Likewise.
23017         * tests/test-iconv-utf.c: Likewise.
23018         * tests/test-iconv.c: Likewise.
23019         * tests/test-idpriv-drop.c: Likewise.
23020         * tests/test-idpriv-droptemp.c: Likewise.
23021         * tests/test-inet_ntop.c: Likewise.
23022         * tests/test-inet_pton.c: Likewise.
23023         * tests/test-isblank.c: Likewise.
23024         * tests/test-isfinite.c: Likewise.
23025         * tests/test-isinf.c: Likewise.
23026         * tests/test-isnan.c: Likewise.
23027         * tests/test-isnand.h: Likewise.
23028         * tests/test-isnanf.h: Likewise.
23029         * tests/test-isnanl.h: Likewise.
23030         * tests/test-lchown.c: Likewise.
23031         * tests/test-ldexpl.c: Likewise.
23032         * tests/test-link.c: Likewise.
23033         * tests/test-linkat.c: Likewise.
23034         * tests/test-linked_list.c: Likewise.
23035         * tests/test-linkedhash_list.c: Likewise.
23036         * tests/test-localename.c: Likewise.
23037         * tests/test-lseek.c: Likewise.
23038         * tests/test-lstat.c: Likewise.
23039         * tests/test-mbmemcasecmp.c: Likewise.
23040         * tests/test-mbmemcasecoll.c: Likewise.
23041         * tests/test-mbrtowc.c: Likewise.
23042         * tests/test-mbscasecmp.c: Likewise.
23043         * tests/test-mbscasestr1.c: Likewise.
23044         * tests/test-mbscasestr2.c: Likewise.
23045         * tests/test-mbscasestr3.c: Likewise.
23046         * tests/test-mbscasestr4.c: Likewise.
23047         * tests/test-mbschr.c: Likewise.
23048         * tests/test-mbscspn.c: Likewise.
23049         * tests/test-mbsinit.c: Likewise.
23050         * tests/test-mbsncasecmp.c: Likewise.
23051         * tests/test-mbsnrtowcs.c: Likewise.
23052         * tests/test-mbspbrk.c: Likewise.
23053         * tests/test-mbspcasecmp.c: Likewise.
23054         * tests/test-mbsrchr.c: Likewise.
23055         * tests/test-mbsrtowcs.c: Likewise.
23056         * tests/test-mbsspn.c: Likewise.
23057         * tests/test-mbsstr1.c: Likewise.
23058         * tests/test-mbsstr2.c: Likewise.
23059         * tests/test-mbsstr3.c: Likewise.
23060         * tests/test-memchr.c: Likewise.
23061         * tests/test-memchr2.c: Likewise.
23062         * tests/test-memcmp.c: Likewise.
23063         * tests/test-memmem.c: Likewise.
23064         * tests/test-memrchr.c: Likewise.
23065         * tests/test-mkdir.c: Likewise.
23066         * tests/test-mkdirat.c: Likewise.
23067         * tests/test-mkfifo.c: Likewise.
23068         * tests/test-mkfifoat.c: Likewise.
23069         * tests/test-mknod.c: Likewise.
23070         * tests/test-nanosleep.c: Likewise.
23071         * tests/test-nl_langinfo.c: Likewise.
23072         * tests/test-obstack-printf.c: Likewise.
23073         * tests/test-open.c: Likewise.
23074         * tests/test-openat.c: Likewise.
23075         * tests/test-pipe-filter-gi1.c: Likewise.
23076         * tests/test-pipe-filter-gi2-main.c: Likewise.
23077         * tests/test-pipe-filter-ii1.c: Likewise.
23078         * tests/test-pipe-filter-ii2-main.c: Likewise.
23079         * tests/test-pipe2.c: Likewise.
23080         * tests/test-popen.h: Likewise.
23081         * tests/test-posixtm.c: Likewise.
23082         * tests/test-pread.c: Likewise.
23083         * tests/test-printf-frexp.c: Likewise.
23084         * tests/test-printf-frexpl.c: Likewise.
23085         * tests/test-printf-posix.c: Likewise.
23086         * tests/test-priv-set.c: Likewise.
23087         * tests/test-quotearg.c: Likewise.
23088         * tests/test-random_r.c: Likewise.
23089         * tests/test-rawmemchr.c: Likewise.
23090         * tests/test-rbtree_list.c: Likewise.
23091         * tests/test-rbtree_oset.c: Likewise.
23092         * tests/test-rbtreehash_list.c: Likewise.
23093         * tests/test-readlink.c: Likewise.
23094         * tests/test-remove.c: Likewise.
23095         * tests/test-rename.c: Likewise.
23096         * tests/test-renameat.c: Likewise.
23097         * tests/test-rmdir.c: Likewise.
23098         * tests/test-round1.c: Likewise.
23099         * tests/test-roundf1.c: Likewise.
23100         * tests/test-roundl.c: Likewise.
23101         * tests/test-safe-alloc.c: Likewise.
23102         * tests/test-sameacls.c: Likewise.
23103         * tests/test-set-mode-acl.c: Likewise.
23104         * tests/test-setenv.c: Likewise.
23105         * tests/test-sigaction.c: Likewise.
23106         * tests/test-signbit.c: Likewise.
23107         * tests/test-sleep.c: Likewise.
23108         * tests/test-snprintf-posix.c: Likewise.
23109         * tests/test-snprintf.c: Likewise.
23110         * tests/test-sprintf-posix.c: Likewise.
23111         * tests/test-stat-time.c: Likewise.
23112         * tests/test-stat.c: Likewise.
23113         * tests/test-strcasestr.c: Likewise.
23114         * tests/test-strchrnul.c: Likewise.
23115         * tests/test-strerror.c: Likewise.
23116         * tests/test-striconv.c: Likewise.
23117         * tests/test-striconveh.c: Likewise.
23118         * tests/test-striconveha.c: Likewise.
23119         * tests/test-strsignal.c: Likewise.
23120         * tests/test-strstr.c: Likewise.
23121         * tests/test-strtod.c: Likewise.
23122         * tests/test-strverscmp.c: Likewise.
23123         * tests/test-symlink.c: Likewise.
23124         * tests/test-symlinkat.c: Likewise.
23125         * tests/test-trunc1.c: Likewise.
23126         * tests/test-trunc2.c: Likewise.
23127         * tests/test-truncf1.c: Likewise.
23128         * tests/test-truncf2.c: Likewise.
23129         * tests/test-truncl.c: Likewise.
23130         * tests/test-uname.c: Likewise.
23131         * tests/test-unlink.c: Likewise.
23132         * tests/test-unlinkat.c: Likewise.
23133         * tests/test-unsetenv.c: Likewise.
23134         * tests/test-usleep.c: Likewise.
23135         * tests/test-utimens.c: Likewise.
23136         * tests/test-utimensat.c: Likewise.
23137         * tests/test-vasnprintf-posix.c: Likewise.
23138         * tests/test-vasnprintf-posix2.c: Likewise.
23139         * tests/test-vasnprintf.c: Likewise.
23140         * tests/test-vasprintf-posix.c: Likewise.
23141         * tests/test-vasprintf.c: Likewise.
23142         * tests/test-vdprintf-posix.c: Likewise.
23143         * tests/test-vfprintf-posix.c: Likewise.
23144         * tests/test-vprintf-posix.c: Likewise.
23145         * tests/test-vsnprintf-posix.c: Likewise.
23146         * tests/test-vsnprintf.c: Likewise.
23147         * tests/test-vsprintf-posix.c: Likewise.
23148         * tests/test-wcrtomb.c: Likewise.
23149         * tests/test-wcsnrtombs.c: Likewise.
23150         * tests/test-wcsrtombs.c: Likewise.
23151         * tests/test-wctype.c: Likewise.
23152         * tests/test-wcwidth.c: Likewise.
23153         * tests/test-xfprintf-posix.c: Likewise.
23154         * tests/test-xmemdup0.c: Likewise.
23155         * tests/test-xprintf-posix.c: Likewise.
23156         * tests/test-xvasprintf.c: Likewise.
23157         * tests/unicase/test-locale-language.c: Likewise.
23158         * tests/unicase/test-mapping-part1.h: Likewise.
23159         * tests/unicase/test-predicate-part1.h: Likewise.
23160         * tests/unicase/test-u8-casecmp.c: Likewise.
23161         * tests/unicase/test-u8-casecoll.c: Likewise.
23162         * tests/unicase/test-u8-casefold.c: Likewise.
23163         * tests/unicase/test-u8-is-cased.c: Likewise.
23164         * tests/unicase/test-u8-is-casefolded.c: Likewise.
23165         * tests/unicase/test-u8-is-lowercase.c: Likewise.
23166         * tests/unicase/test-u8-is-titlecase.c: Likewise.
23167         * tests/unicase/test-u8-is-uppercase.c: Likewise.
23168         * tests/unicase/test-u8-tolower.c: Likewise.
23169         * tests/unicase/test-u8-totitle.c: Likewise.
23170         * tests/unicase/test-u8-toupper.c: Likewise.
23171         * tests/unicase/test-u16-casecmp.c: Likewise.
23172         * tests/unicase/test-u16-casecoll.c: Likewise.
23173         * tests/unicase/test-u16-casefold.c: Likewise.
23174         * tests/unicase/test-u16-is-cased.c: Likewise.
23175         * tests/unicase/test-u16-is-casefolded.c: Likewise.
23176         * tests/unicase/test-u16-is-lowercase.c: Likewise.
23177         * tests/unicase/test-u16-is-titlecase.c: Likewise.
23178         * tests/unicase/test-u16-is-uppercase.c: Likewise.
23179         * tests/unicase/test-u16-tolower.c: Likewise.
23180         * tests/unicase/test-u16-totitle.c: Likewise.
23181         * tests/unicase/test-u16-toupper.c: Likewise.
23182         * tests/unicase/test-u32-casecmp.c: Likewise.
23183         * tests/unicase/test-u32-casecoll.c: Likewise.
23184         * tests/unicase/test-u32-casefold.c: Likewise.
23185         * tests/unicase/test-u32-is-cased.c: Likewise.
23186         * tests/unicase/test-u32-is-casefolded.c: Likewise.
23187         * tests/unicase/test-u32-is-lowercase.c: Likewise.
23188         * tests/unicase/test-u32-is-titlecase.c: Likewise.
23189         * tests/unicase/test-u32-is-uppercase.c: Likewise.
23190         * tests/unicase/test-u32-tolower.c: Likewise.
23191         * tests/unicase/test-u32-totitle.c: Likewise.
23192         * tests/unicase/test-u32-toupper.c: Likewise.
23193         * tests/unicase/test-ulc-casecmp.c: Likewise.
23194         * tests/unicase/test-ulc-casecoll.c: Likewise.
23195         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23196         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23197         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23198         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23199         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23200         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23201         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23202         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23203         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23204         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23205         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23206         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23207         * tests/unictype/test-bidi_byname.c: Likewise.
23208         * tests/unictype/test-bidi_name.c: Likewise.
23209         * tests/unictype/test-bidi_of.c: Likewise.
23210         * tests/unictype/test-bidi_test.c: Likewise.
23211         * tests/unictype/test-block_list.c: Likewise.
23212         * tests/unictype/test-block_of.c: Likewise.
23213         * tests/unictype/test-block_test.c: Likewise.
23214         * tests/unictype/test-categ_and.c: Likewise.
23215         * tests/unictype/test-categ_and_not.c: Likewise.
23216         * tests/unictype/test-categ_byname.c: Likewise.
23217         * tests/unictype/test-categ_name.c: Likewise.
23218         * tests/unictype/test-categ_none.c: Likewise.
23219         * tests/unictype/test-categ_of.c: Likewise.
23220         * tests/unictype/test-categ_or.c: Likewise.
23221         * tests/unictype/test-categ_test_withtable.c: Likewise.
23222         * tests/unictype/test-combining.c: Likewise.
23223         * tests/unictype/test-decdigit.c: Likewise.
23224         * tests/unictype/test-digit.c: Likewise.
23225         * tests/unictype/test-mirror.c: Likewise.
23226         * tests/unictype/test-numeric.c: Likewise.
23227         * tests/unictype/test-pr_byname.c: Likewise.
23228         * tests/unictype/test-pr_test.c: Likewise.
23229         * tests/unictype/test-predicate-part1.h: Likewise.
23230         * tests/unictype/test-scripts.c: Likewise.
23231         * tests/unictype/test-sy_c_ident.c: Likewise.
23232         * tests/unictype/test-sy_java_ident.c: Likewise.
23233         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
23234         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
23235         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
23236         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
23237         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
23238         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
23239         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
23240         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
23241         * tests/uninorm/test-canonical-decomposition.c: Likewise.
23242         * tests/uninorm/test-compat-decomposition.c: Likewise.
23243         * tests/uninorm/test-composition.c: Likewise.
23244         * tests/uninorm/test-decomposing-form.c: Likewise.
23245         * tests/uninorm/test-decomposition.c: Likewise.
23246         * tests/uninorm/test-u8-nfc.c: Likewise.
23247         * tests/uninorm/test-u8-nfd.c: Likewise.
23248         * tests/uninorm/test-u8-nfkc.c: Likewise.
23249         * tests/uninorm/test-u8-nfkd.c: Likewise.
23250         * tests/uninorm/test-u8-normcmp.c: Likewise.
23251         * tests/uninorm/test-u8-normcoll.c: Likewise.
23252         * tests/uninorm/test-u16-nfc.c: Likewise.
23253         * tests/uninorm/test-u16-nfd.c: Likewise.
23254         * tests/uninorm/test-u16-nfkc.c: Likewise.
23255         * tests/uninorm/test-u16-nfkd.c: Likewise.
23256         * tests/uninorm/test-u16-normcmp.c: Likewise.
23257         * tests/uninorm/test-u16-normcoll.c: Likewise.
23258         * tests/uninorm/test-u32-nfc.c: Likewise.
23259         * tests/uninorm/test-u32-nfd.c: Likewise.
23260         * tests/uninorm/test-u32-nfkc.c: Likewise.
23261         * tests/uninorm/test-u32-nfkd.c: Likewise.
23262         * tests/uninorm/test-u32-normalize-big.c: Likewise.
23263         * tests/uninorm/test-u32-normcmp.c: Likewise.
23264         * tests/uninorm/test-u32-normcoll.c: Likewise.
23265         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
23266         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23267         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23268         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23269         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23270         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23271         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23272         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23273         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23274         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23275         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23276         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23277         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23278         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23279         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23280         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23281         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23282         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23283         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23284         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23285         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23286         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23287         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23288         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23289         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23290         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23291         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23292         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23293         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23294         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
23295         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
23296         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
23297         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
23298         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23299         * tests/uniwidth/test-u8-width.c: Likewise.
23300         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23301         * tests/uniwidth/test-u16-width.c: Likewise.
23302         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23303         * tests/uniwidth/test-u32-width.c: Likewise.
23304         * tests/uniwidth/test-uc_width.c: Likewise.
23305         * tests/uniwidth/test-uc_width2.c: Likewise.
23306         * modules/acl-tests (Files): Add tests/macros.h.
23307         * modules/areadlink-tests (Files): Likewise.
23308         * modules/areadlink-with-size-tests (Files): Likewise.
23309         * modules/areadlinkat-tests (Files): Likewise.
23310         * modules/areadlinkat-with-size-tests (Files): Likewise.
23311         * modules/argmatch-tests (Files): Likewise.
23312         * modules/argv-iter-tests (Files): Likewise.
23313         * modules/array-list-tests (Files): Likewise.
23314         * modules/array-mergesort-tests (Files): Likewise.
23315         * modules/array-oset-tests (Files): Likewise.
23316         * modules/avltree-list-tests (Files): Likewise.
23317         * modules/avltree-oset-tests (Files): Likewise.
23318         * modules/avltreehash-list-tests (Files): Likewise.
23319         * modules/base64-tests (Files): Likewise.
23320         * modules/binary-io-tests (Files): Likewise.
23321         * modules/bitrotate-tests (Files): Likewise.
23322         * modules/btowc-tests (Files): Likewise.
23323         * modules/byteswap-tests (Files): Likewise.
23324         * modules/c-ctype-tests (Files): Likewise.
23325         * modules/c-stack-tests (Files): Likewise.
23326         * modules/c-strcase-tests (Files): Likewise.
23327         * modules/c-strcasestr-tests (Files): Likewise.
23328         * modules/c-strstr-tests (Files): Likewise.
23329         * modules/canonicalize-lgpl-tests (Files): Likewise.
23330         * modules/canonicalize-tests (Files): Likewise.
23331         * modules/carray-list-tests (Files): Likewise.
23332         * modules/ceilf-tests (Files): Likewise.
23333         * modules/ceill-tests (Files): Likewise.
23334         * modules/chown-tests (Files): Likewise.
23335         * modules/cloexec-tests (Files): Likewise.
23336         * modules/copy-file-tests (Files): Likewise.
23337         * modules/count-one-bits-tests (Files): Likewise.
23338         * modules/dprintf-posix-tests (Files): Likewise.
23339         * modules/dup2-tests (Files): Likewise.
23340         * modules/dup3-tests (Files): Likewise.
23341         * modules/duplocale-tests (Files): Likewise.
23342         * modules/fbufmode-tests (Files): Likewise.
23343         * modules/fchdir-tests (Files): Likewise.
23344         * modules/fcntl-safer-tests (Files): Likewise.
23345         * modules/fcntl-tests (Files): Likewise.
23346         * modules/fdopendir-tests (Files): Likewise.
23347         * modules/fdutimensat-tests (Files): Likewise.
23348         * modules/fflush-tests (Files): Likewise.
23349         * modules/filevercmp-tests (Files): Likewise.
23350         * modules/flock-tests (Files): Likewise.
23351         * modules/floorf-tests (Files): Likewise.
23352         * modules/floorl-tests (Files): Likewise.
23353         * modules/fnmatch-tests (Files): Likewise.
23354         * modules/fopen-safer-tests (Files): Likewise.
23355         * modules/fopen-tests (Files): Likewise.
23356         * modules/fpending-tests (Files): Likewise.
23357         * modules/fprintf-posix-tests (Files): Likewise.
23358         * modules/fpurge-tests (Files): Likewise.
23359         * modules/freadable-tests (Files): Likewise.
23360         * modules/freadahead-tests (Files): Likewise.
23361         * modules/freading-tests (Files): Likewise.
23362         * modules/freadptr-tests (Files): Likewise.
23363         * modules/freadseek-tests (Files): Likewise.
23364         * modules/freopen-tests (Files): Likewise.
23365         * modules/frexp-nolibm-tests (Files): Likewise.
23366         * modules/frexp-tests (Files): Likewise.
23367         * modules/frexpl-nolibm-tests (Files): Likewise.
23368         * modules/frexpl-tests (Files): Likewise.
23369         * modules/fseek-tests (Files): Likewise.
23370         * modules/fseeko-tests (Files): Likewise.
23371         * modules/fstrcmp-tests (Files): Likewise.
23372         * modules/fsync-tests (Files): Likewise.
23373         * modules/ftell-tests (Files): Likewise.
23374         * modules/ftello-tests (Files): Likewise.
23375         * modules/func-tests (Files): Likewise.
23376         * modules/futimens-tests (Files): Likewise.
23377         * modules/fwritable-tests (Files): Likewise.
23378         * modules/fwriting-tests (Files): Likewise.
23379         * modules/getcwd-tests (Files): Likewise.
23380         * modules/getdate-tests (Files): Likewise.
23381         * modules/getdelim-tests (Files): Likewise.
23382         * modules/getdtablesize-tests (Files): Likewise.
23383         * modules/getgroups-tests (Files): Likewise.
23384         * modules/getline-tests (Files): Likewise.
23385         * modules/getndelim2-tests (Files): Likewise.
23386         * modules/glob-tests (Files): Likewise.
23387         * modules/hash-tests (Files): Likewise.
23388         * modules/i-ring-tests (Files): Likewise.
23389         * modules/iconv-tests (Files): Likewise.
23390         * modules/iconv_open-utf-tests (Files): Likewise.
23391         * modules/idpriv-drop-tests (Files): Likewise.
23392         * modules/idpriv-droptemp-tests (Files): Likewise.
23393         * modules/inet_ntop-tests (Files): Likewise.
23394         * modules/inet_pton-tests (Files): Likewise.
23395         * modules/isblank-tests (Files): Likewise.
23396         * modules/isfinite-tests (Files): Likewise.
23397         * modules/isinf-tests (Files): Likewise.
23398         * modules/isnan-tests (Files): Likewise.
23399         * modules/isnand-nolibm-tests (Files): Likewise.
23400         * modules/isnand-tests (Files): Likewise.
23401         * modules/isnanf-nolibm-tests (Files): Likewise.
23402         * modules/isnanf-tests (Files): Likewise.
23403         * modules/isnanl-nolibm-tests (Files): Likewise.
23404         * modules/isnanl-tests (Files): Likewise.
23405         * modules/lchown-tests (Files): Likewise.
23406         * modules/ldexpl-tests (Files): Likewise.
23407         * modules/link-tests (Files): Likewise.
23408         * modules/linkat-tests (Files): Likewise.
23409         * modules/linked-list-tests (Files): Likewise.
23410         * modules/linkedhash-list-tests (Files): Likewise.
23411         * modules/localename-tests (Files): Likewise.
23412         * modules/lseek-tests (Files): Likewise.
23413         * modules/lstat-tests (Files): Likewise.
23414         * modules/mbmemcasecmp-tests (Files): Likewise.
23415         * modules/mbmemcasecoll-tests (Files): Likewise.
23416         * modules/mbrtowc-tests (Files): Likewise.
23417         * modules/mbscasecmp-tests (Files): Likewise.
23418         * modules/mbscasestr-tests (Files): Likewise.
23419         * modules/mbschr-tests (Files): Likewise.
23420         * modules/mbscspn-tests (Files): Likewise.
23421         * modules/mbsinit-tests (Files): Likewise.
23422         * modules/mbsncasecmp-tests (Files): Likewise.
23423         * modules/mbsnrtowcs-tests (Files): Likewise.
23424         * modules/mbspbrk-tests (Files): Likewise.
23425         * modules/mbspcasecmp-tests (Files): Likewise.
23426         * modules/mbsrchr-tests (Files): Likewise.
23427         * modules/mbsrtowcs-tests (Files): Likewise.
23428         * modules/mbsspn-tests (Files): Likewise.
23429         * modules/mbsstr-tests (Files): Likewise.
23430         * modules/memchr-tests (Files): Likewise.
23431         * modules/memchr2-tests (Files): Likewise.
23432         * modules/memcmp-tests (Files): Likewise.
23433         * modules/memmem-tests (Files): Likewise.
23434         * modules/memrchr-tests (Files): Likewise.
23435         * modules/mkdir-tests (Files): Likewise.
23436         * modules/mkfifo-tests (Files): Likewise.
23437         * modules/mkfifoat-tests (Files): Likewise.
23438         * modules/mknod-tests (Files): Likewise.
23439         * modules/nanosleep-tests (Files): Likewise.
23440         * modules/nl_langinfo-tests (Files): Likewise.
23441         * modules/obstack-printf-tests (Files): Likewise.
23442         * modules/open-tests (Files): Likewise.
23443         * modules/openat-tests (Files): Likewise.
23444         * modules/pipe-filter-gi-tests (Files): Likewise.
23445         * modules/pipe-filter-ii-tests (Files): Likewise.
23446         * modules/pipe2-tests (Files): Likewise.
23447         * modules/popen-safer-tests (Files): Likewise.
23448         * modules/popen-tests (Files): Likewise.
23449         * modules/posixtm-tests (Files): Likewise.
23450         * modules/pread-tests (Files): Likewise.
23451         * modules/printf-frexp-tests (Files): Likewise.
23452         * modules/printf-frexpl-tests (Files): Likewise.
23453         * modules/printf-posix-tests (Files): Likewise.
23454         * modules/priv-set-tests (Files): Likewise.
23455         * modules/quotearg-tests (Files): Likewise.
23456         * modules/random_r-tests (Files): Likewise.
23457         * modules/rawmemchr-tests (Files): Likewise.
23458         * modules/rbtree-list-tests (Files): Likewise.
23459         * modules/rbtree-oset-tests (Files): Likewise.
23460         * modules/rbtreehash-list-tests (Files): Likewise.
23461         * modules/readlink-tests (Files): Likewise.
23462         * modules/remove-tests (Files): Likewise.
23463         * modules/rename-tests (Files): Likewise.
23464         * modules/renameat-tests (Files): Likewise.
23465         * modules/rmdir-tests (Files): Likewise.
23466         * modules/round-tests (Files): Likewise.
23467         * modules/roundf-tests (Files): Likewise.
23468         * modules/roundl-tests (Files): Likewise.
23469         * modules/safe-alloc-tests (Files): Likewise.
23470         * modules/setenv-tests (Files): Likewise.
23471         * modules/sigaction-tests (Files): Likewise.
23472         * modules/signbit-tests (Files): Likewise.
23473         * modules/sleep-tests (Files): Likewise.
23474         * modules/snprintf-posix-tests (Files): Likewise.
23475         * modules/snprintf-tests (Files): Likewise.
23476         * modules/sprintf-posix-tests (Files): Likewise.
23477         * modules/stat-tests (Files): Likewise.
23478         * modules/stat-time-tests (Files): Likewise.
23479         * modules/strcasestr-tests (Files): Likewise.
23480         * modules/strchrnul-tests (Files): Likewise.
23481         * modules/strerror-tests (Files): Likewise.
23482         * modules/striconv-tests (Files): Likewise.
23483         * modules/striconveh-tests (Files): Likewise.
23484         * modules/striconveha-tests (Files): Likewise.
23485         * modules/strsignal-tests (Files): Likewise.
23486         * modules/strstr-tests (Files): Likewise.
23487         * modules/strtod-tests (Files): Likewise.
23488         * modules/strverscmp-tests (Files): Likewise.
23489         * modules/symlink-tests (Files): Likewise.
23490         * modules/symlinkat-tests (Files): Likewise.
23491         * modules/trunc-tests (Files): Likewise.
23492         * modules/truncf-tests (Files): Likewise.
23493         * modules/truncl-tests (Files): Likewise.
23494         * modules/uname-tests (Files): Likewise.
23495         * modules/unicase/cased-tests (Files): Likewise.
23496         * modules/unicase/ignorable-tests (Files): Likewise.
23497         * modules/unicase/locale-language-tests (Files): Likewise.
23498         * modules/unicase/tolower-tests (Files): Likewise.
23499         * modules/unicase/totitle-tests (Files): Likewise.
23500         * modules/unicase/toupper-tests (Files): Likewise.
23501         * modules/unicase/u8-casecmp-tests (Files): Likewise.
23502         * modules/unicase/u8-casecoll-tests (Files): Likewise.
23503         * modules/unicase/u8-casefold-tests (Files): Likewise.
23504         * modules/unicase/u8-is-cased-tests (Files): Likewise.
23505         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
23506         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
23507         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
23508         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
23509         * modules/unicase/u8-tolower-tests (Files): Likewise.
23510         * modules/unicase/u8-totitle-tests (Files): Likewise.
23511         * modules/unicase/u8-toupper-tests (Files): Likewise.
23512         * modules/unicase/u16-casecmp-tests (Files): Likewise.
23513         * modules/unicase/u16-casecoll-tests (Files): Likewise.
23514         * modules/unicase/u16-casefold-tests (Files): Likewise.
23515         * modules/unicase/u16-is-cased-tests (Files): Likewise.
23516         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
23517         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
23518         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
23519         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
23520         * modules/unicase/u16-tolower-tests (Files): Likewise.
23521         * modules/unicase/u16-totitle-tests (Files): Likewise.
23522         * modules/unicase/u16-toupper-tests (Files): Likewise.
23523         * modules/unicase/u32-casecmp-tests (Files): Likewise.
23524         * modules/unicase/u32-casecoll-tests (Files): Likewise.
23525         * modules/unicase/u32-casefold-tests (Files): Likewise.
23526         * modules/unicase/u32-is-cased-tests (Files): Likewise.
23527         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
23528         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
23529         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
23530         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
23531         * modules/unicase/u32-tolower-tests (Files): Likewise.
23532         * modules/unicase/u32-totitle-tests (Files): Likewise.
23533         * modules/unicase/u32-toupper-tests (Files): Likewise.
23534         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
23535         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
23536         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
23537         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
23538         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
23539         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
23540         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
23541         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
23542         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
23543         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
23544         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
23545         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
23546         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
23547         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
23548         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
23549         * modules/unictype/bidicategory-name-tests (Files): Likewise.
23550         * modules/unictype/bidicategory-of-tests (Files): Likewise.
23551         * modules/unictype/bidicategory-test-tests (Files): Likewise.
23552         * modules/unictype/block-list-tests (Files): Likewise.
23553         * modules/unictype/block-of-tests (Files): Likewise.
23554         * modules/unictype/block-test-tests (Files): Likewise.
23555         * modules/unictype/category-C-tests (Files): Likewise.
23556         * modules/unictype/category-Cc-tests (Files): Likewise.
23557         * modules/unictype/category-Cf-tests (Files): Likewise.
23558         * modules/unictype/category-Cn-tests (Files): Likewise.
23559         * modules/unictype/category-Co-tests (Files): Likewise.
23560         * modules/unictype/category-Cs-tests (Files): Likewise.
23561         * modules/unictype/category-L-tests (Files): Likewise.
23562         * modules/unictype/category-Ll-tests (Files): Likewise.
23563         * modules/unictype/category-Lm-tests (Files): Likewise.
23564         * modules/unictype/category-Lo-tests (Files): Likewise.
23565         * modules/unictype/category-Lt-tests (Files): Likewise.
23566         * modules/unictype/category-Lu-tests (Files): Likewise.
23567         * modules/unictype/category-M-tests (Files): Likewise.
23568         * modules/unictype/category-Mc-tests (Files): Likewise.
23569         * modules/unictype/category-Me-tests (Files): Likewise.
23570         * modules/unictype/category-Mn-tests (Files): Likewise.
23571         * modules/unictype/category-N-tests (Files): Likewise.
23572         * modules/unictype/category-Nd-tests (Files): Likewise.
23573         * modules/unictype/category-Nl-tests (Files): Likewise.
23574         * modules/unictype/category-No-tests (Files): Likewise.
23575         * modules/unictype/category-P-tests (Files): Likewise.
23576         * modules/unictype/category-Pc-tests (Files): Likewise.
23577         * modules/unictype/category-Pd-tests (Files): Likewise.
23578         * modules/unictype/category-Pe-tests (Files): Likewise.
23579         * modules/unictype/category-Pf-tests (Files): Likewise.
23580         * modules/unictype/category-Pi-tests (Files): Likewise.
23581         * modules/unictype/category-Po-tests (Files): Likewise.
23582         * modules/unictype/category-Ps-tests (Files): Likewise.
23583         * modules/unictype/category-S-tests (Files): Likewise.
23584         * modules/unictype/category-Sc-tests (Files): Likewise.
23585         * modules/unictype/category-Sk-tests (Files): Likewise.
23586         * modules/unictype/category-Sm-tests (Files): Likewise.
23587         * modules/unictype/category-So-tests (Files): Likewise.
23588         * modules/unictype/category-Z-tests (Files): Likewise.
23589         * modules/unictype/category-Zl-tests (Files): Likewise.
23590         * modules/unictype/category-Zp-tests (Files): Likewise.
23591         * modules/unictype/category-Zs-tests (Files): Likewise.
23592         * modules/unictype/category-and-not-tests (Files): Likewise.
23593         * modules/unictype/category-and-tests (Files): Likewise.
23594         * modules/unictype/category-byname-tests (Files): Likewise.
23595         * modules/unictype/category-name-tests (Files): Likewise.
23596         * modules/unictype/category-none-tests (Files): Likewise.
23597         * modules/unictype/category-of-tests (Files): Likewise.
23598         * modules/unictype/category-or-tests (Files): Likewise.
23599         * modules/unictype/category-test-withtable-tests (Files): Likewise.
23600         * modules/unictype/combining-class-tests (Files): Likewise.
23601         * modules/unictype/ctype-alnum-tests (Files): Likewise.
23602         * modules/unictype/ctype-alpha-tests (Files): Likewise.
23603         * modules/unictype/ctype-blank-tests (Files): Likewise.
23604         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
23605         * modules/unictype/ctype-digit-tests (Files): Likewise.
23606         * modules/unictype/ctype-graph-tests (Files): Likewise.
23607         * modules/unictype/ctype-lower-tests (Files): Likewise.
23608         * modules/unictype/ctype-print-tests (Files): Likewise.
23609         * modules/unictype/ctype-punct-tests (Files): Likewise.
23610         * modules/unictype/ctype-space-tests (Files): Likewise.
23611         * modules/unictype/ctype-upper-tests (Files): Likewise.
23612         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
23613         * modules/unictype/decimal-digit-tests (Files): Likewise.
23614         * modules/unictype/digit-tests (Files): Likewise.
23615         * modules/unictype/mirror-tests (Files): Likewise.
23616         * modules/unictype/numeric-tests (Files): Likewise.
23617         * modules/unictype/property-alphabetic-tests (Files): Likewise.
23618         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
23619         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
23620         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
23621         Likewise.
23622         * modules/unictype/property-bidi-block-separator-tests (Files):
23623         Likewise.
23624         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
23625         Likewise.
23626         * modules/unictype/property-bidi-common-separator-tests (Files):
23627         Likewise.
23628         * modules/unictype/property-bidi-control-tests (Files): Likewise.
23629         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
23630         Likewise.
23631         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
23632         Likewise.
23633         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
23634         Likewise.
23635         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
23636         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
23637         Likewise.
23638         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
23639         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
23640         Likewise.
23641         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
23642         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
23643         * modules/unictype/property-bidi-segment-separator-tests (Files):
23644         Likewise.
23645         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
23646         * modules/unictype/property-byname-tests (Files): Likewise.
23647         * modules/unictype/property-combining-tests (Files): Likewise.
23648         * modules/unictype/property-composite-tests (Files): Likewise.
23649         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
23650         * modules/unictype/property-dash-tests (Files): Likewise.
23651         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
23652         * modules/unictype/property-default-ignorable-code-point-tests (Files):
23653         Likewise.
23654         * modules/unictype/property-deprecated-tests (Files): Likewise.
23655         * modules/unictype/property-diacritic-tests (Files): Likewise.
23656         * modules/unictype/property-extender-tests (Files): Likewise.
23657         * modules/unictype/property-format-control-tests (Files): Likewise.
23658         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
23659         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
23660         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
23661         * modules/unictype/property-hex-digit-tests (Files): Likewise.
23662         * modules/unictype/property-hyphen-tests (Files): Likewise.
23663         * modules/unictype/property-id-continue-tests (Files): Likewise.
23664         * modules/unictype/property-id-start-tests (Files): Likewise.
23665         * modules/unictype/property-ideographic-tests (Files): Likewise.
23666         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
23667         * modules/unictype/property-ids-trinary-operator-tests (Files):
23668         Likewise.
23669         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
23670         * modules/unictype/property-iso-control-tests (Files): Likewise.
23671         * modules/unictype/property-join-control-tests (Files): Likewise.
23672         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
23673         * modules/unictype/property-line-separator-tests (Files): Likewise.
23674         * modules/unictype/property-logical-order-exception-tests (Files):
23675         Likewise.
23676         * modules/unictype/property-lowercase-tests (Files): Likewise.
23677         * modules/unictype/property-math-tests (Files): Likewise.
23678         * modules/unictype/property-non-break-tests (Files): Likewise.
23679         * modules/unictype/property-not-a-character-tests (Files): Likewise.
23680         * modules/unictype/property-numeric-tests (Files): Likewise.
23681         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
23682         * modules/unictype/property-other-default-ignorable-code-point-tests
23683         (Files): Likewise.
23684         * modules/unictype/property-other-grapheme-extend-tests (Files):
23685         Likewise.
23686         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
23687         * modules/unictype/property-other-id-start-tests (Files): Likewise.
23688         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
23689         * modules/unictype/property-other-math-tests (Files): Likewise.
23690         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
23691         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
23692         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
23693         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
23694         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
23695         * modules/unictype/property-private-use-tests (Files): Likewise.
23696         * modules/unictype/property-punctuation-tests (Files): Likewise.
23697         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
23698         * modules/unictype/property-radical-tests (Files): Likewise.
23699         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
23700         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
23701         * modules/unictype/property-space-tests (Files): Likewise.
23702         * modules/unictype/property-terminal-punctuation-tests (Files):
23703         Likewise.
23704         * modules/unictype/property-test-tests (Files): Likewise.
23705         * modules/unictype/property-titlecase-tests (Files): Likewise.
23706         * modules/unictype/property-unassigned-code-value-tests (Files):
23707         Likewise.
23708         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
23709         * modules/unictype/property-uppercase-tests (Files): Likewise.
23710         * modules/unictype/property-variation-selector-tests (Files): Likewise.
23711         * modules/unictype/property-white-space-tests (Files): Likewise.
23712         * modules/unictype/property-xid-continue-tests (Files): Likewise.
23713         * modules/unictype/property-xid-start-tests (Files): Likewise.
23714         * modules/unictype/property-zero-width-tests (Files): Likewise.
23715         * modules/unictype/scripts-tests (Files): Likewise.
23716         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
23717         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
23718         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
23719         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
23720         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
23721         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
23722         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
23723         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
23724         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
23725         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
23726         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
23727         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
23728         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
23729         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
23730         * modules/uninorm/composition-tests (Files): Likewise.
23731         * modules/uninorm/decomposing-form-tests (Files): Likewise.
23732         * modules/uninorm/decomposition-tests (Files): Likewise.
23733         * modules/uninorm/filter-tests (Files): Likewise.
23734         * modules/uninorm/nfc-tests (Files): Likewise.
23735         * modules/uninorm/nfd-tests (Files): Likewise.
23736         * modules/uninorm/nfkc-tests (Files): Likewise.
23737         * modules/uninorm/nfkd-tests (Files): Likewise.
23738         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
23739         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
23740         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
23741         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
23742         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
23743         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
23744         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
23745         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
23746         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
23747         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
23748         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
23749         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
23750         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
23751         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
23752         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
23753         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
23754         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
23755         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
23756         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
23757         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
23758         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
23759         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
23760         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
23761         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
23762         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
23763         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
23764         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
23765         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
23766         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
23767         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
23768         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
23769         * modules/uniwidth/u8-width-tests (Files): Likewise.
23770         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
23771         * modules/uniwidth/u16-width-tests (Files): Likewise.
23772         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
23773         * modules/uniwidth/u32-width-tests (Files): Likewise.
23774         * modules/uniwidth/width-tests (Files): Likewise.
23775         * modules/unlink-tests (Files): Likewise.
23776         * modules/unsetenv-tests (Files): Likewise.
23777         * modules/usleep-tests (Files): Likewise.
23778         * modules/utimens-tests (Files): Likewise.
23779         * modules/utimensat-tests (Files): Likewise.
23780         * modules/vasnprintf-posix-tests (Files): Likewise.
23781         * modules/vasnprintf-tests (Files): Likewise.
23782         * modules/vasprintf-posix-tests (Files): Likewise.
23783         * modules/vasprintf-tests (Files): Likewise.
23784         * modules/vdprintf-posix-tests (Files): Likewise.
23785         * modules/vfprintf-posix-tests (Files): Likewise.
23786         * modules/vprintf-posix-tests (Files): Likewise.
23787         * modules/vsnprintf-posix-tests (Files): Likewise.
23788         * modules/vsnprintf-tests (Files): Likewise.
23789         * modules/vsprintf-posix-tests (Files): Likewise.
23790         * modules/wcrtomb-tests (Files): Likewise.
23791         * modules/wcsnrtombs-tests (Files): Likewise.
23792         * modules/wcsrtombs-tests (Files): Likewise.
23793         * modules/wctype-tests (Files): Likewise.
23794         * modules/wcwidth-tests (Files): Likewise.
23795         * modules/xmemdup0-tests (Files): Likewise.
23796         * modules/xprintf-posix-tests (Files): Likewise.
23797         * modules/xvasprintf-tests (Files): Likewise.
23798
23799 2009-12-24  Eric Blake  <ebb9@byu.net>
23800
23801         test-nanosleep: fix typo
23802         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
23803         patch.
23804         Reported by Bruno Haible.
23805
23806 2009-12-24  Bruno Haible  <bruno@clisp.org>
23807
23808         Reduce namespace pollution on glibc systems.
23809         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
23810         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
23811         systems.
23812         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
23813         <getopt.h> on glibc systems.
23814         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
23815         systems.
23816         * lib/fcntl.c: Include <unistd.h> here instead.
23817
23818 2009-12-24  Bruno Haible  <bruno@clisp.org>
23819
23820         * lib/stdlib.in.h (includes): Fix typo in today's commit.
23821
23822 2009-12-24  Eric Blake  <ebb9@byu.net>
23823
23824         tests: add signature checks
23825         * tests/signature.h (SIGNATURE_CHECK): New file.
23826         * modules/atexit-tests (Files): Use it.
23827         * modules/btowc-tests (Files): Likewise.
23828         * modules/canonicalize-lgpl-tests (Files): Likewise.
23829         * modules/ceilf-tests (Files): Likewise.
23830         * modules/ceill-tests (Files): Likewise.
23831         * modules/chown-tests (Files): Likewise.
23832         * modules/dprintf-posix-tests (Files): Likewise.
23833         * modules/dup2-tests (Files): Likewise.
23834         * modules/dup3-tests (Files): Likewise.
23835         * modules/duplocale-tests (Files): Likewise.
23836         * modules/fchdir-tests (Files): Likewise.
23837         * modules/fcntl-tests (Files): Likewise.
23838         * modules/fdopendir-tests (Files): Likewise.
23839         * modules/fflush-tests (Files): Likewise.
23840         * modules/flock-tests (Files): Likewise.
23841         * modules/floorf-tests (Files): Likewise.
23842         * modules/floorl-tests (Files): Likewise.
23843         * modules/fnmatch-tests (Files): Likewise.
23844         * modules/fopen-tests (Files): Likewise.
23845         * modules/fprintf-posix-tests (Files): Likewise.
23846         * modules/freopen-tests (Files): Likewise.
23847         * modules/frexp-nolibm-tests (Files): Likewise.
23848         * modules/frexp-tests (Files): Likewise.
23849         * modules/frexpl-nolibm-tests (Files): Likewise.
23850         * modules/frexpl-tests (Files): Likewise.
23851         * modules/fseek-tests (Files): Likewise.
23852         * modules/fseeko-tests (Files): Likewise.
23853         * modules/fsync-tests (Files): Likewise.
23854         * modules/ftell-tests (Files): Likewise.
23855         * modules/ftello-tests (Files): Likewise.
23856         * modules/futimens-tests (Files): Likewise.
23857         * modules/getaddrinfo-tests (Files): Likewise.
23858         * modules/getcwd-tests (Files): Likewise.
23859         * modules/getdelim-tests (Files): Likewise.
23860         * modules/getdtablesize-tests (Files): Likewise.
23861         * modules/getgroups-tests (Files): Likewise.
23862         * modules/gethostname-tests (Files): Likewise.
23863         * modules/getline-tests (Files): Likewise.
23864         * modules/getopt-posix-tests (Files): Likewise.
23865         * modules/gettimeofday-tests (Files): Likewise.
23866         * modules/glob-tests (Files): Likewise.
23867         * modules/iconv-tests (Files): Likewise.
23868         * modules/inet_ntop-tests (Files): Likewise.
23869         * modules/inet_pton-tests (Files): Likewise.
23870         * modules/isblank-tests (Files): Likewise.
23871         * modules/lchown-tests (Files): Likewise.
23872         * modules/ldexpl-tests (Files): Likewise.
23873         * modules/link-tests (Files): Likewise.
23874         * modules/linkat-tests (Files): Likewise.
23875         * modules/lseek-tests (Files): Likewise.
23876         * modules/lstat-tests (Files): Likewise.
23877         * modules/mbrtowc-tests (Files): Likewise.
23878         * modules/mbsinit-tests (Files): Likewise.
23879         * modules/mbsnrtowcs-tests (Files): Likewise.
23880         * modules/mbsrtowcs-tests (Files): Likewise.
23881         * modules/memchr-tests (Files): Likewise.
23882         * modules/memcmp-tests (Files): Likewise.
23883         * modules/memmem-tests (Files): Likewise.
23884         * modules/memrchr-tests (Files): Likewise.
23885         * modules/mkdir-tests (Files): Likewise.
23886         * modules/mkfifo-tests (Files): Likewise.
23887         * modules/mkfifoat-tests (Files): Likewise.
23888         * modules/mknod-tests (Files): Likewise.
23889         * modules/nanosleep-tests (Files): Likewise.
23890         * modules/nl_langinfo-tests (Files): Likewise.
23891         * modules/obstack-printf-tests (Files): Likewise.
23892         * modules/open-tests (Files): Likewise.
23893         * modules/openat-tests (Files): Likewise.
23894         * modules/perror-tests (Files): Likewise.
23895         * modules/pipe2-tests (Files): Likewise.
23896         * modules/poll-tests (Files): Likewise.
23897         * modules/popen-tests (Files): Likewise.
23898         * modules/posix_spawn-tests (Files): Likewise.
23899         * modules/posix_spawnp-tests (Files): Likewise.
23900         * modules/pread-tests (Files): Likewise.
23901         * modules/printf-posix-tests (Files): Likewise.
23902         * modules/pty-tests (Files): Likewise.
23903         * modules/random_r-tests (Files): Likewise.
23904         * modules/rawmemchr-tests (Files): Likewise.
23905         * modules/readlink-tests (Files): Likewise.
23906         * modules/remove-tests (Files): Likewise.
23907         * modules/rename-tests (Files): Likewise.
23908         * modules/renameat-tests (Files): Likewise.
23909         * modules/rmdir-tests (Files): Likewise.
23910         * modules/round-tests (Files): Likewise.
23911         * modules/roundf-tests (Files): Likewise.
23912         * modules/roundl-tests (Files): Likewise.
23913         * modules/select-tests (Files): Likewise.
23914         * modules/setenv-tests (Files): Likewise.
23915         * modules/sigaction-tests (Files): Likewise.
23916         * modules/sleep-tests (Files): Likewise.
23917         * modules/snprintf-posix-tests (Files): Likewise.
23918         * modules/snprintf-tests (Files): Likewise.
23919         * modules/sprintf-posix-tests (Files): Likewise.
23920         * modules/stat-tests (Files): Likewise.
23921         * modules/strcasestr-tests (Files): Likewise.
23922         * modules/strchrnul-tests (Files): Likewise.
23923         * modules/strerror-tests (Files): Likewise.
23924         * modules/strsignal-tests (Files): Likewise.
23925         * modules/strstr-tests (Files): Likewise.
23926         * modules/strtod-tests (Files): Likewise.
23927         * modules/strverscmp-tests (Files): Likewise.
23928         * modules/symlink-tests (Files): Likewise.
23929         * modules/symlinkat-tests (Files): Likewise.
23930         * modules/times-tests (Files): Likewise.
23931         * modules/trunc-tests (Files): Likewise.
23932         * modules/truncf-tests (Files): Likewise.
23933         * modules/truncl-tests (Files): Likewise.
23934         * modules/tsearch-tests (Files): Likewise.
23935         * modules/uname-tests (Files): Likewise.
23936         * modules/unlink-tests (Files): Likewise.
23937         * modules/unsetenv-tests (Files): Likewise.
23938         * modules/usleep-tests (Files): Likewise.
23939         * modules/utimensat-tests (Files): Likewise.
23940         * modules/vasprintf-tests (Files): Likewise.
23941         * modules/vdprintf-posix-tests (Files): Likewise.
23942         * modules/vfprintf-posix-tests (Files): Likewise.
23943         * modules/vprintf-posix-tests (Files): Likewise.
23944         * modules/vsnprintf-posix-tests (Files): Likewise.
23945         * modules/vsnprintf-tests (Files): Likewise.
23946         * modules/vsprintf-posix-tests (Files): Likewise.
23947         * modules/wcrtomb-tests (Files): Likewise.
23948         * modules/wcsnrtombs-tests (Files): Likewise.
23949         * modules/wcsrtombs-tests (Files): Likewise.
23950         * modules/wcwidth-tests (Files): Likewise.
23951         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
23952         * tests/test-isinf.c (isinf): Likewise.
23953         * tests/test-isnan.c (isnan): Likewise.
23954         * tests/test-signbit.c (signbit): Likewise.
23955         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
23956         declaration, either as macro or with correct signature.
23957         (select): Ensure function under test is declared with correct
23958         signature in correct header.
23959         * tests/test-atexit.c (atexit): Likewise.
23960         * tests/test-btowc.c (btowc): Likewise.
23961         * tests/test-canonicalize-lgpl.c (realpath)
23962         (canonicalize_file_name): Likewise.
23963         * tests/test-ceilf1.c (ceilf): Likewise.
23964         * tests/test-ceill.c (ceill): Likewise.
23965         * tests/test-chown.c (chown): Likewise.
23966         * tests/test-dprintf-posix.c (dprintf): Likewise.
23967         * tests/test-dup2.c (dup2): Likewise.
23968         * tests/test-dup3.c (dup3): Likewise.
23969         * tests/test-duplocale.c (duplocale): Likewise.
23970         * tests/test-fchdir.c (fchdir): Likewise.
23971         * tests/test-fchownat.c (fchownat): Likewise.
23972         * tests/test-fcntl.c (fcntl): Likewise.
23973         * tests/test-fdopendir.c (fdopendir): Likewise.
23974         * tests/test-fflush.c (fflush): Likewise.
23975         * tests/test-flock.c (flock): Likewise.
23976         * tests/test-floorf1.c (floorf): Likewise.
23977         * tests/test-floorl.c (floorl): Likewise.
23978         * tests/test-fnmatch.c (fnmatch): Likewise.
23979         * tests/test-fopen.c (fopen): Likewise.
23980         * tests/test-fprintf-posix.c (fprintf): Likewise.
23981         * tests/test-freopen.c (freopen): Likewise.
23982         * tests/test-frexp.c (frexp): Likewise.
23983         * tests/test-frexpl.c (frexpl): Likewise.
23984         * tests/test-fseek.c (fseek): Likewise.
23985         * tests/test-fseeko.c (fseeko): Likewise.
23986         * tests/test-fstatat.c (fstatat): Likewise.
23987         * tests/test-fsync.c (fsync): Likewise.
23988         * tests/test-ftell.c (ftell): Likewise.
23989         * tests/test-ftello.c (ftello): Likewise.
23990         * tests/test-futimens.c (futimens): Likewise.
23991         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
23992         (gai_strerror): Likewise.
23993         * tests/test-getcwd.c (getcwd): Likewise.
23994         * tests/test-getdelim.c (getdelim): Likewise.
23995         * tests/test-getdtablesize.c (getdtablesize): Likewise.
23996         * tests/test-getgroups.c (getgroups): Likewise.
23997         * tests/test-gethostname.c (gethostname): Likewise.
23998         * tests/test-getline.c (getline): Likewise.
23999         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
24000         Likewise.
24001         * tests/test-gettimeofday.c (gettimeofday): Likewise.
24002         * tests/test-glob.c (glob, globfree): Likewise.
24003         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
24004         * tests/test-inet_ntop.c (inet_ntop): Likewise.
24005         * tests/test-inet_pton.c (inet_pton): Likewise.
24006         * tests/test-isblank.c (isblank): Likewise.
24007         * tests/test-lchown.c (lchown): Likewise.
24008         * tests/test-ldexpl.c (ldexpl): Likewise.
24009         * tests/test-link.c (link): Likewise.
24010         * tests/test-linkat.c (linkat): Likewise.
24011         * tests/test-lseek.c (lseek): Likewise.
24012         * tests/test-lstat.c (lstat): Likewise.
24013         * tests/test-mbrtowc.c (mbrtowc): Likewise.
24014         * tests/test-mbsinit.c (mbsinit): Likewise.
24015         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
24016         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
24017         * tests/test-memchr.c (memchr): Likewise.
24018         * tests/test-memcmp.c (memcmp): Likewise.
24019         * tests/test-memmem.c (memmem): Likewise.
24020         * tests/test-memrchr.c (memrchr): Likewise.
24021         * tests/test-mkdir.c (mkdir): Likewise.
24022         * tests/test-mkdirat.c (mkdirat): Likewise.
24023         * tests/test-mkfifo.c (mkfifo): Likewise.
24024         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
24025         * tests/test-mknod.c (mknod): Likewise.
24026         * tests/test-nanosleep.c (nanosleep): Likewise.
24027         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
24028         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
24029         Likewise.
24030         * tests/test-open.c (open): Likewise.
24031         * tests/test-openat.c (openat): Likewise.
24032         * tests/test-perror.c (perror): Likewise.
24033         * tests/test-pipe2.c (pipe2): Likewise.
24034         * tests/test-poll.c (poll): Likewise.
24035         * tests/test-popen.c (popen, pclose): Likewise.
24036         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
24037         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
24038         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
24039         (posix_spawn_file_actions_destroy)
24040         (posix_spawn_file_actions_addclose)
24041         (posix_spawn_file_actions_addopen)
24042         (posix_spawn_file_actions_adddup2): Likewise.
24043         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
24044         * tests/test-pread.c (pread): Likewise.
24045         * tests/test-printf-posix.c (printf): Likewise.
24046         * tests/test-pty.c (openpty, forkpty): Likewise.
24047         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
24048         (random_r): Likewise.
24049         * tests/test-rawmemchr.c (rawmemchr): Likewise.
24050         * tests/test-readlink.c (readlink): Likewise.
24051         * tests/test-remove.c (remove): Likewise.
24052         * tests/test-rename.c (rename): Likewise.
24053         * tests/test-renameat.c (renameat): Likewise.
24054         * tests/test-rmdir.c (rmdir): Likewise.
24055         * tests/test-round1.c (round): Likewise.
24056         * tests/test-roundf1.c (roundf): Likewise.
24057         * tests/test-roundl.c (roundl): Likewise.
24058         * tests/test-setenv.c (setenv): Likewise.
24059         * tests/test-sigaction.c (sigaction): Likewise.
24060         * tests/test-sleep.c (sleep): Likewise.
24061         * tests/test-snprintf.c (snprintf): Likewise.
24062         * tests/test-sprintf-posix.c (sprintf): Likewise.
24063         * tests/test-stat.c (stat): Likewise.
24064         * tests/test-stpncpy.c (stpncpy): Likewise.
24065         * tests/test-strcasestr.c (strcasestr): Likewise.
24066         * tests/test-strchrnul.c (strchrnul): Likewise.
24067         * tests/test-strerror.c (strerror): Likewise.
24068         * tests/test-strsignal.c (strsignal): Likewise.
24069         * tests/test-strstr.c (strstr): Likewise.
24070         * tests/test-strtod.c (strtod): Likewise.
24071         * tests/test-strverscmp.c (strverscmp): Likewise.
24072         * tests/test-symlink.c (symlink): Likewise.
24073         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
24074         * tests/test-times.c (times): Likewise.
24075         * tests/test-trunc1.c (trunc): Likewise.
24076         * tests/test-truncf1.c (truncf): Likewise.
24077         * tests/test-truncl.c (truncl): Likewise.
24078         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
24079         Likewise.
24080         * tests/test-uname.c (uname): Likewise.
24081         * tests/test-unlink.c (unlink): Likewise.
24082         * tests/test-unlinkat.c (unlinkat): Likewise.
24083         * tests/test-unsetenv.c (unsetenv): Likewise.
24084         * tests/test-usleep.c (usleep): Likewise.
24085         * tests/test-utimensat.c (utimensat): Likewise.
24086         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
24087         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
24088         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
24089         * tests/test-vprintf-posix.c (vprintf): Likewise.
24090         * tests/test-vsnprintf.c (vsnprintf): Likewise.
24091         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
24092         * tests/test-wcrtomb.c (wcrtomb): Likewise.
24093         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
24094         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
24095         * tests/test-wcwidth.c (wcwidth): Likewise.
24096
24097         build: pull in conditional headers during GNULIB_POSIXCHECK
24098         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
24099         definitions from any conditionally-included headers.
24100         * lib/stdlib.in.h (includes): Likewise.
24101         * lib/unistd.in.h (includes): Likewise.
24102
24103 2009-12-24  Bruno Haible  <bruno@clisp.org>
24104
24105         * tests/test-argv-iter.c: Include header file being tested immediately
24106         after config.h.
24107         * tests/test-base64.c: Likewise.
24108         * tests/test-flock.c: Likewise.
24109         * tests/test-fsync.c: Likewise.
24110         * tests/test-getdate.c: Likewise.
24111         * tests/test-getndelim2.c: Likewise.
24112         * tests/test-isfinite.c: Likewise.
24113         * tests/test-isinf.c: Likewise.
24114         * tests/test-strerror.c: Likewise.
24115         * tests/test-strsignal.c: Likewise.
24116
24117 2009-12-23  Eric Blake  <ebb9@byu.net>
24118
24119         unistd: work around cygwin bug
24120         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
24121         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
24122         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24123
24124 2009-12-23  Bruno Haible  <bruno@clisp.org>
24125
24126         localename: More tests.
24127         * tests/test-localename.c (SIZEOF): New macro.
24128         (categories): New variable.
24129         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
24130         test_locale_name_default): Add test w.r.t. thread locale.
24131         (test_locale_name_thread): New function.
24132         (main): Invoke it.
24133
24134         localename: Make aware of thread locale.
24135         * lib/localename.h (gl_locale_name_thread): New declaration.
24136         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
24137         behaviour with respect to thread locale.
24138         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
24139         <langinfo.h>, glthread/lock.h.
24140         (SIZE_BITS): New macro.
24141         (string_hash): New function.
24142         (struct hash_node): New type.
24143         (HASH_TABLE_SIZE): New macro.
24144         (struniq_hash_table, struniq_lock): New variables.
24145         (struniq): New function.
24146         (gl_locale_name_thread): New function.
24147         (gl_locale_name): Invoke it.
24148         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
24149         * modules/localename (Depends-on): Add lock.
24150         Reported by Mike Gran <spk121@yahoo.com>.
24151
24152 2009-12-23  Eric Blake  <ebb9@byu.net>
24153
24154         va-args: new module
24155         * modules/va-args: New file.
24156         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
24157         * MODULES.html.sh (Core language properties): Mention it.
24158
24159         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
24160         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
24161         named alias for __attribute__((__unused__)).
24162         * lib/chown.c: Update client.
24163         * lib/fchmodat.c: Likewise.
24164         * lib/fts.c: Likewise.
24165         * lib/getdate.y: Likewise.
24166         * lib/getgroups.c: Likewise.
24167         * lib/getopt.c: Likewise.
24168         * lib/getugroups.c: Likewise.
24169         * lib/mkdir.c: Likewise.
24170         * lib/mkfifo.c: Likewise.
24171         * lib/mkfifoat.c: Likewise.
24172         * lib/mknod.c: Likewise.
24173         * lib/mknodat.c: Likewise.
24174         * lib/readlink.c: Likewise.
24175         * lib/se-context.in.h: Likewise.
24176         * lib/se-selinux.in.h: Likewise.
24177         * lib/sockets.c: Likewise.
24178         * lib/symlink.c: Likewise.
24179         * lib/symlinkat.c: Likewise.
24180         * lib/unicodeio.c: Likewise.
24181         * lib/unistr.h: Likewise.
24182         * tests/test-areadlink.c: Likewise.
24183         * tests/test-areadlinkat.c: Likewise.
24184         * tests/test-filenamecat.c: Likewise.
24185         * tests/test-fseeko.c: Likewise.
24186         * tests/test-ftello.c: Likewise.
24187         * tests/test-getdate.c: Likewise.
24188         * tests/test-getgroups.c: Likewise.
24189         * tests/test-gethostname.c: Likewise.
24190         * tests/test-quotearg.c: Likewise.
24191         * tests/test-version-etc.c: Likewise.
24192         * tests/test-xalloc-die.c: Likewise.
24193         * tests/test-xfprintf-posix.c: Likewise.
24194         * tests/test-xprintf-posix.c: Likewise.
24195         * tests/test-xvasprintf.c: Likewise.
24196
24197         tests: avoid compiler warnings
24198         * tests/test-fcntl.c (main): Delete unused parameters.
24199         * tests/test-freopen-safer.c (main): Likewise.
24200         * tests/test-xalloc-die.c (main): Mark unused parameters.
24201         * tests/test-fseeko.c (main): Likewise.
24202         * tests/test-ftello.c (main): Likewise.
24203         * tests/test-nanosleep.c (main): Avoid declaration warning.
24204         * tests/test-sleep.c (main): Likewise.
24205         * tests/test-unsetenv.c (main): Silence warning about string
24206         literal.
24207         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24208
24209 2009-12-23  Bruno Haible  <bruno@clisp.org>
24210
24211         * tests/test-localename.c (test_locale_name): New function, extracted
24212         from main. Also test mixed situations.
24213         (test_locale_name_posix, test_locale_name_environ,
24214         test_locale_name_default): New functions.
24215         (main): Invoke them all.
24216         * modules/localename-tests (configure.ac): Test for newlocale.
24217
24218 2009-12-23  Bruno Haible  <bruno@clisp.org>
24219
24220         unistd: Ensure getcwd gets declared before being overridden.
24221         * lib/unistd.in.h: Conditionally include <io.h>.
24222
24223 2009-12-22  Bruno Haible  <bruno@clisp.org>
24224
24225         wchar: Diagnose broken combination of glibc and gcc versions and flags.
24226         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
24227         (gl_WCHAR_H): Invoke it.
24228         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
24229         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
24230         Reported by Karl Berry <karl@freefriends.org>.
24231
24232 2009-12-22  Eric Blake  <ebb9@byu.net>
24233
24234         math, unistd: avoid redundant includes
24235         * lib/math.in.h (isnan): No need to re-include <math.h>.
24236         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
24237
24238         getsubopt: work around cygwin bug
24239         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
24240         avoid conflicting with system getsubopt.
24241         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
24242         bug.
24243
24244         getopt: synchronize from glibc
24245         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
24246         parameter order.  Adjust all callers.
24247         (_getopt_internal_r, main): Adjust quoting in error messages.
24248         Drop considerations for outdated POSIX 1003.2 error message.
24249         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
24250         callers.
24251         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
24252
24253         test-getopt: test stderr behavior
24254         * modules/getopt-posix-tests (Depends-on): Add dup2.
24255         * tests/test-getopt.c (ASSERT): Avoid stderr.
24256         (main): Move stderr to a temporary file.
24257         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
24258         Instead, add parameter to inform caller if output occurred.
24259         (test_getopt): Adjust all existing tests to expect silence, and
24260         add new tests of leading ":".
24261         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
24262         glibc shortcomings with leading "-:" or "+:" in optstring.
24263         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24264         Likewise.
24265         * doc/posix-functions/getopt.texi (getopt): Likewise.
24266
24267         test-getopt: enhance test
24268         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
24269         supports optind=0.
24270         * tests/test-getopt.c (OPTIND_MIN): Move...
24271         * tests/test-getopt.h (OPTIND_MIN): ...here.
24272         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
24273         Require that optind=0 works, since modern BSD supports it in
24274         addition to optreset, and since coreutils expects it.
24275         (test_getopt_long_only): New test.
24276         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
24277         glibc shortcomings with 'W;', and enforcement of optind=0.
24278         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24279         Likewise.
24280
24281 2009-12-21  Bruno Haible  <bruno@clisp.org>
24282
24283         localename: Improvements for MacOS X and Cygwin.
24284         * lib/localename.h (gl_locale_name_environ): New declaration.
24285         * lib/localename.c (gl_locale_name_environ): New function, extracted from
24286         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
24287         (gl_locale_name_posix): Invoke it.
24288         (gl_locale_name_default): Add comments. Use Windows native API also on
24289         Cygwin.
24290
24291 2009-12-21  Bruno Haible  <bruno@clisp.org>
24292
24293         Update list of Win32 locale ids.
24294         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
24295         (LANG_SAMI): Renamed from LANG_SAAMI.
24296         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
24297         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
24298         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
24299         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
24300         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
24301         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
24302         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
24303         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
24304         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
24305         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
24306         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
24307         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
24308         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
24309         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
24310         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
24311         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
24312         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
24313         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
24314         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
24315         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
24316         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
24317         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
24318         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
24319         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
24320         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
24321         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
24322         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
24323         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
24324         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
24325         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
24326         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
24327         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
24328         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
24329         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
24330         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
24331         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
24332         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
24333         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
24334         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
24335         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
24336         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
24337         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
24338         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
24339         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
24340         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
24341         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
24342         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
24343         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
24344         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
24345         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
24346         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
24347         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
24348         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
24349         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
24350         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
24351         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
24352         Add more languages and countries for Sami, Sorbian. Add more countries
24353         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
24354         for Pashto. Change country for Syriac, Tswana.
24355
24356 2009-12-21  Eric Blake  <ebb9@byu.net>
24357
24358         test-utimens: avoid spurious failure
24359         * tests/test-chown.h (nap): Factor...
24360         * tests/nap.h: ...into new file.
24361         * tests/test-lchown.h (nap): Avoid duplication.
24362         * tests/test-utimens-common.h (nap): Use shared implementation,
24363         necessary on file systems with 1-second resolution.
24364         * modules/chown-tests (Files): Include new file.
24365         * modules/fdutimensat-tests (Files): Likewise.
24366         * modules/futimens-tests (Files): Likewise.
24367         * modules/lchown-tests (Files): Likewise.
24368         * modules/openat-tests (Files): Likewise.
24369         * modules/utimens-tests (Files): Likewise.
24370         * modules/utimensat-tests (Files): Likewise.
24371
24372 2009-12-19  Eric Blake  <ebb9@byu.net>
24373
24374         futimens, utimensat: work around Linux bug
24375         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
24376         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24377         * lib/utimensat.c (rpl_utimensat): Work around it.
24378         * lib/futimens.c (rpl_futimens): Adjust comment.
24379
24380         utimens: work around Linux ctime bug
24381         * lib/utimens.c (detect_ctime_bug): New helper function.
24382         (update_timespec): Differentiate between workaround needed for
24383         this bug vs. what is needed for systems that lack utimensat.
24384         (fdutimens, lutimens): Work around bug.
24385
24386         utimens: check for ctime update
24387         * tests/test-utimens-common.h (check_ctime): Define.
24388         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
24389         * tests/test-futimens.h (test_futimens): Likewise.
24390         * tests/test-lutimens.h (test_lutimens): Likewise.
24391         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24392         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24393
24394 2009-12-19  Bruno Haible  <bruno@clisp.org>
24395
24396         dprintf-posix: Check against memory leak fixed on 2009-12-15.
24397         * tests/test-dprintf-posix2.sh: New file.
24398         * tests/test-dprintf-posix2.c: New file.
24399         * modules/dprintf-posix-tests (Files): Add them.
24400         (configure.ac): Check for getrlimit and setrlimit.
24401         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
24402
24403 2009-12-19  Bruno Haible  <bruno@clisp.org>
24404
24405         fprintf-posix: Check against memory leak fixed on 2009-12-15.
24406         * tests/test-fprintf-posix3.sh: New file.
24407         * tests/test-fprintf-posix3.c: New file.
24408         * modules/fprintf-posix-tests (Files): Add them.
24409         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
24410
24411 2009-12-19  Eric Blake  <ebb9@byu.net>
24412
24413         dirfd: fix prototype
24414         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
24415         * lib/dirfd.c (dirfd): Likewise.
24416
24417         canonicalize: reduce memory usage
24418         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
24419         allocation to size.
24420         Reported by Solar Designer <solar@openwall.com>.
24421
24422 2009-12-19  Bruno Haible  <bruno@clisp.org>
24423
24424         New module attribute 'Applicability'.
24425         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
24426         * gnulib-tool: New option --extract-applicability.
24427         (func_usage): Document it.
24428         (sed_extract_prog): Recognize it.
24429         (func_get_applicability): New function.
24430         (func_import): Generalize handling of 'link-warning' module.
24431         * modules/link-warning (Applicability): New section.
24432         * modules/arg-nonnull (Applicability): New section.
24433         Repoted by Simon Josefsson <simon@josefsson.org>.
24434
24435 2009-12-19  Bruno Haible  <bruno@clisp.org>
24436
24437         fflush: tweak
24438         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
24439         * lib/fseeko.c (rpl_fseeko): Likewise.
24440
24441 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
24442
24443         * lib/gl_list.h: Fix typo in comment.
24444
24445 2009-12-16  Eric Blake  <ebb9@byu.net>
24446
24447         fcntl: use to simplify other modules
24448         * modules/cloexec (Depends-on): Add fcntl.
24449         * modules/fchdir (Depends-on): Likewise.
24450         * modules/fd-safer-flag (Depends-on): Likewise.
24451         * modules/unistd-safer (Depends-on): Likewise.
24452         * modules/dup3 (configure.ac): Set module indicator.
24453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
24454         missing.
24455         * lib/fchdir.c (_gl_register_dup): Fix comment.
24456         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
24457         * lib/dup-safer.c (dup_safer): Likewise.
24458         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
24459         * lib/dup3.c (dup3): Likewise.
24460         * tests/test-fchdir.c (main): Enhance test.
24461         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
24462
24463         fcntl: port portions of fcntl to mingw
24464         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
24465         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
24466         replacement for mingw.
24467         * modules/fcntl (Description): Update.
24468         (Depends-on): Add dup2.
24469         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
24470         * modules/fcntl-h (Makefile.am): Substitute it.
24471         * lib/fcntl.in.h (fcntl): Update declaration.
24472         (F_DUPFD, F_GETFD): New macros, when needed.
24473         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24474         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
24475         * tests/test-fcntl.c (check_flags, main): Enhance test for items
24476         we now guarantee.
24477
24478         fcntl: work around cygwin bug in F_DUPFD
24479         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
24480         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
24481         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
24482         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
24483         * doc/posix-functions/fcntl.texi (fcntl): Document it.
24484
24485         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
24486         * modules/fcntl (Files): List new files.
24487         (configure.ac): Run a test.
24488         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
24489         * lib/fcntl.c (rpl_fcntl): Likewise.
24490         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
24491         (gl_FCNTL_H): Always replace fcntl.h.
24492         * modules/fcntl-h (Makefile.am): Substitute witnesses.
24493         * lib/fcntl.in.h (fcntl): Declare replacement.
24494         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
24495         needed, plus a witness.
24496         * doc/posix-functions/fcntl.texi (fcntl): Document this.
24497         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
24498         * tests/test-fcntl.c: New file.
24499         * modules/fcntl-tests: Likewise.
24500
24501         binary-io: avoid potential compilation warning
24502         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
24503         directives.
24504
24505         fflush: avoid compilation error on NetBSD
24506         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
24507         between off_t and fpos_t, since the latter is sometimes a struct.
24508         * lib/fseeko.c (rpl_fseeko): Likewise.
24509         Reported by Alexander Nasonov <alnsn@yandex.ru>.
24510
24511 2009-12-15  Eric Blake  <ebb9@byu.net>
24512
24513         fcntl-h, stdio, sys_ioctl: fix declarations
24514         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
24515         function must not take arguments.
24516         * lib/sys_ioctl.in.h (ioctl): Likewise.
24517         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
24518         (open): Add a link warning.
24519
24520 2009-12-15  Jim Meyering  <meyering@redhat.com>
24521
24522         areadlink, areadlink-with-size: relax license to LGPLv2+
24523         * modules/areadlink (License): Relax to LGPLv2+.
24524         * modules/areadlink-with-size (License): Likewise.
24525
24526 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
24527             Bruno Haible  <bruno@clisp.org>
24528
24529         *printf: Fix memory leak.
24530         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
24531         * lib/vfprintf.c (vfprintf): Likewise.
24532         * lib/dprintf.c (dprintf): Likewise.
24533         * lib/vdprintf.c (vdprintf): Likewise.
24534
24535 2009-12-14  Eric Blake  <ebb9@byu.net>
24536
24537         accept4: adjust module dependencies
24538         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
24539
24540         utimens: one more try at avoiding compiler warning
24541         * lib/utimens.c (lutimens): Lower scope of result.
24542
24543 2009-12-13  Bruno Haible  <bruno@clisp.org>
24544
24545         Move the malloc checking from module 'list' to new module 'xlist'.
24546         * modules/xlist: New file.
24547         * lib/gl_xlist.h: New file.
24548         * lib/gl_xlist.c: New file.
24549         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
24550         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
24551         gl_list_add_last, gl_list_add_before, gl_list_add_after,
24552         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
24553         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
24554         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
24555         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
24556         gl_sortedlist_nx_add): New declarations.
24557         (struct gl_list_implementation): Rename and change methods accordingly.
24558         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
24559         (gl_list_nx_create): Renamed from gl_list_create.
24560         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
24561         (gl_list_nx_set_at): Renamed from gl_list_set_at.
24562         (gl_list_nx_add_first): Renamed from gl_list_add_first.
24563         (gl_list_nx_add_last): Renamed from gl_list_add_last.
24564         (gl_list_nx_add_before): Renamed from gl_list_add_before.
24565         (gl_list_nx_add_after): Renamed from gl_list_add_after.
24566         (gl_list_nx_add_at): Renamed from gl_list_add_at.
24567         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
24568         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
24569         gl_list_create_empty.
24570         (gl_list_nx_create): Renamed from gl_list_create.
24571         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
24572         (gl_list_nx_set_at): Renamed from gl_list_set_at.
24573         (gl_list_nx_add_first): Renamed from gl_list_add_first.
24574         (gl_list_nx_add_last): Renamed from gl_list_add_last.
24575         (gl_list_nx_add_before): Renamed from gl_list_add_before.
24576         (gl_list_nx_add_after): Renamed from gl_list_add_after.
24577         (gl_list_nx_add_at): Renamed from gl_list_add_at.
24578         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
24579         * lib/gl_array_list.c: Don't include xalloc.h.
24580         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
24581         NULL upon out-of-memory.
24582         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
24583         out-of-memory.
24584         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
24585         Change return type to 'int'.
24586         (gl_array_nx_set_at): Renamed from gl_array_set_at.
24587         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
24588         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
24589         upon out-of-memory.
24590         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
24591         upon out-of-memory.
24592         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
24593         upon out-of-memory.
24594         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
24595         upon out-of-memory.
24596         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
24597         out-of-memory.
24598         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
24599         Update.
24600         (gl_array_list_implementation): Update.
24601         * lib/gl_carray_list.c: Don't include xalloc.h.
24602         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
24603         Return NULL upon out-of-memory.
24604         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
24605         out-of-memory.
24606         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
24607         Change return type to 'int'.
24608         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
24609         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
24610         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
24611         upon out-of-memory.
24612         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
24613         upon out-of-memory.
24614         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
24615         out-of-memory.
24616         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
24617         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
24618         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
24619         Update.
24620         (gl_carray_list_implementation): Update.
24621         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
24622         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
24623         gl_linked_create_empty. Return NULL upon out-of-memory.
24624         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
24625         out-of-memory.
24626         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
24627         Change return type to 'int'. Return -1 upon out-of-memory.
24628         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
24629         out-of-memory.
24630         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
24631         upon out-of-memory.
24632         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
24633         upon out-of-memory.
24634         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
24635         NULL upon out-of-memory.
24636         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
24637         upon out-of-memory.
24638         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
24639         out-of-memory.
24640         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
24641         Update.
24642         * lib/gl_linked_list.c: Don't include xalloc.h.
24643         (gl_linked_list_implementation): Update.
24644         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
24645         (add_to_bucket): Change return type to 'int'.
24646         (gl_linkedhash_list_implementation): Update.
24647         * lib/gl_anytree_list1.h (free_subtree): New function.
24648         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
24649         gl_tree_create_empty. Return NULL upon out-of-memory.
24650         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
24651         Change return type to 'int'. Return -1 upon out-of-memory.
24652         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
24653         out-of-memory.
24654         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
24655         (gl_tree_remove_node): New function, moved here from
24656         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
24657         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
24658         Update.
24659         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
24660         malloc, not xmalloc. Return NULL upon out-of-memory.
24661         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
24662         out-of-memory.
24663         (gl_tree_remove_node_from_tree): New function, extracted from
24664         gl_tree_remove_node.
24665         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
24666         upon out-of-memory.
24667         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
24668         out-of-memory.
24669         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
24670         upon out-of-memory.
24671         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
24672         upon out-of-memory.
24673         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24674         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
24675         not xmalloc. Return NULL upon out-of-memory.
24676         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
24677         out-of-memory.
24678         (gl_tree_remove_node_from_tree): New function, extracted from
24679         gl_tree_remove_node.
24680         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
24681         upon out-of-memory.
24682         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
24683         out-of-memory.
24684         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
24685         upon out-of-memory.
24686         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
24687         upon out-of-memory.
24688         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24689         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
24690         gl_anytree_list1.h before gl_anyavltree_list2.h.
24691         (gl_avltree_list_implementation): Update.
24692         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
24693         gl_anytree_list1.h before gl_anyavltree_list2.h.
24694         (gl_rbtree_list_implementation): Update.
24695         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
24696         Change return type to 'int'. Return -1 upon out-of-memory. Use
24697         __builtin_expect.
24698         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
24699         (gl_avltreehash_list_implementation): Update.
24700         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
24701         (gl_rbtreehash_list_implementation): Update.
24702         * modules/array-list (Depends-on): Remove xalloc.
24703         * modules/carray-list (Depends-on): Likewise.
24704         * modules/linked-list (Depends-on): Likewise.
24705         * modules/linkedhash-list (Depends-on): Likewise.
24706         * modules/avltree-list (Depends-on): Likewise.
24707         * modules/rbtree-list (Depends-on): Likewise.
24708         * modules/avltreehash-list (Depends-on): Likewise.
24709         * modules/rbtreehash-list (Depends-on): Likewise.
24710
24711         * modules/xsublist: New file.
24712         * lib/gl_xsublist.h: New file.
24713         * lib/gl_xsublist.c: New file.
24714         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
24715         (gl_sublist_nx_create): New declaration.
24716         * lib/gl_sublist.c: Don't include xalloc.h.
24717         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
24718         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
24719         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
24720         Change return type to 'int'. Return -1 upon out-of-memory.
24721         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
24722         upon out-of-memory.
24723         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
24724         NULL upon out-of-memory.
24725         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
24726         upon out-of-memory.
24727         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
24728         NULL upon out-of-memory.
24729         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
24730         NULL upon out-of-memory.
24731         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
24732         upon out-of-memory.
24733         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
24734         (gl_sublist_list_implementation): Update.
24735         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
24736         upon out-of-memory.
24737         * modules/sublist (Depends-on): Remove xalloc.
24738
24739         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
24740         * tests/test-carray_list.c: Likewise.
24741         * tests/test-linked_list.c: Likewise.
24742         * tests/test-linkedhash_list.c: Likewise.
24743         * tests/test-avltree_list.c: Likewise.
24744         * tests/test-rbtree_list.c: Likewise.
24745         * tests/test-avltreehash_list.c: Likewise.
24746         * tests/test-rbtreehash_list.c: Likewise.
24747         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
24748         * modules/carray-list-tests (Makefile.am): Likewise.
24749         * modules/linked-list-tests (Makefile.am): Likewise.
24750         * modules/linkedhash-list-tests (Makefile.am): Likewise.
24751         * modules/avltree-list-tests (Makefile.am): Likewise.
24752         * modules/rbtree-list-tests (Makefile.am): Likewise.
24753         * modules/avltreehash-list-tests (Makefile.am): Likewise.
24754         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
24755
24756         * NEWS: Mention the changes.
24757
24758         * lib/clean-temp.c: Include gl_xlist.h.
24759         * modules/clean-temp (Depends-on): Add xlist.
24760
24761         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
24762         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
24763
24764         * tests/test-array_oset.c: Include gl_xlist.h.
24765         * modules/array-oset-tests (Depends-on): Add xlist.
24766
24767         Reported by José E. Marchesi <jemarch@gnu.org>.
24768
24769 2009-12-13  Bruno Haible  <bruno@clisp.org>
24770
24771         Move the malloc checking from module 'oset' to new module 'xoset'.
24772         * modules/xoset: New file.
24773         * lib/gl_xoset.h: New file.
24774         * lib/gl_xoset.c: New file.
24775         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
24776         declarations.
24777         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
24778         (struct gl_oset_implementation): Rename and change methods accordingly.
24779         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
24780         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24781         'int'. Mark as __warn_unused_result__.
24782         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
24783         gl_oset_create_empty.
24784         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24785         'int'.
24786         * lib/gl_array_oset.c: Don't include xalloc.h.
24787         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
24788         malloc, not xmalloc.
24789         (grow): Change return type to 'int'. Don't call xalloc_die.
24790         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
24791         to 'int'.
24792         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
24793         'int'.
24794         (gl_array_oset_implementation): Update.
24795         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
24796         gl_tree_create_empty.
24797         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
24798         'int'.
24799         * lib/gl_avltree_oset.c: Don't include xalloc.h.
24800         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24801         xmalloc.
24802         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24803         not xmalloc.
24804         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24805         xmalloc.
24806         (gl_avltree_oset_implementation): Update.
24807         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
24808         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24809         xmalloc.
24810         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24811         not xmalloc.
24812         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24813         xmalloc.
24814         (gl_rbtree_oset_implementation): Update.
24815         * modules/array-oset (Depends-on): Remove xalloc.
24816         * modules/avltree-oset (Depends-on): Likewise.
24817         * modules/rbtree-oset (Depends-on): Likewise.
24818         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
24819         * tests/test-avltree_oset.c: Likewise.
24820         * tests/test-rbtree_oset.c: Likewise.
24821         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
24822         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
24823         * modules/rbtree-oset-tests (Makefile.am): Likewise.
24824         * NEWS: Mention the change.
24825
24826 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
24827
24828         maint.mk: allow a project to override release-prep commands
24829         * top/maint.mk (alpha, beta, stable): Move release-preparatory
24830         commands into a new rule.
24831         (release-prep): New rule.
24832         (release-prep-hook): New overridable variable.
24833
24834 2009-12-13  Bruno Haible  <bruno@clisp.org>
24835
24836         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
24837
24838 2009-12-13  Jim Meyering  <meyering@redhat.com>
24839
24840         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
24841         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
24842
24843 2009-12-12  Bruno Haible  <bruno@clisp.org>
24844
24845         duplocale: Tweak.
24846         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
24847
24848 2009-12-12  Karl Berry  <karl@gnu.org>
24849
24850         * config/srclist.txt (strtoll.c): tab changes, no more sync.
24851
24852 2009-12-12  Bruno Haible  <bruno@clisp.org>
24853
24854         * m4/po.m4: Undo incorrect untabification.
24855
24856 2009-12-12  Bruno Haible  <bruno@clisp.org>
24857
24858         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
24859         * modules/c-strtod (Depends-on): Add locale.
24860         * modules/c-strtold (Depends-on): Likewise.
24861
24862 2009-12-12  Bruno Haible  <bruno@clisp.org>
24863
24864         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
24865
24866 2009-12-11  Eric Blake  <ebb9@byu.net>
24867
24868         setenv: relax requirement in light of POSIX ruling
24869         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
24870         not NULL.
24871         * tests/test-setenv.c (main): Relax test.
24872         * tests/test-unsetenv.c (main): Likewise.
24873         * doc/posix-functions/setenv.texi (setenv): Document this.
24874         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
24875
24876 2009-12-11  Bruno Haible  <bruno@clisp.org>
24877
24878         New module 'fd-safer-flag'.
24879         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
24880         * lib/dup-safer.c (dup_safer_flag): Remove function.
24881         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
24882         * lib/fd-safer.c (fd_safer_flag): Remove function.
24883         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
24884         * modules/cloexec (configure.ac): Drop indicator macro.
24885         * modules/fd-safer-flag: New file.
24886         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
24887         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
24888         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
24889
24890 2009-12-11  Bruno Haible  <bruno@clisp.org>
24891
24892         Tests for module 'nl_langinfo'.
24893         * modules/nl_langinfo-tests: New file.
24894         * tests/test-nl_langinfo.sh: New file.
24895         * tests/test-nl_langinfo.c: New file.
24896
24897         New module 'nl_langinfo'.
24898         * lib/nl_langinfo.c: New file.
24899         * m4/nl_langinfo.m4: New file.
24900         * modules/nl_langinfo: New file.
24901         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
24902
24903 2009-12-11  Bruno Haible  <bruno@clisp.org>
24904
24905         Tests for module 'langinfo'.
24906         * modules/langinfo-tests: New file.
24907         * tests/test-langinfo.c: New file.
24908
24909         New module 'langinfo'.
24910         * lib/langinfo.in.h: New file.
24911         * m4/langinfo_h.m4: New file.
24912         * modules/langinfo: New file.
24913         * doc/posix-headers/langinfo.texi: Mention the new module.
24914
24915 2009-12-11  Bruno Haible  <bruno@clisp.org>
24916
24917         * lib/config.charset: Untabify.
24918
24919 2009-12-11  Bruno Haible  <bruno@clisp.org>
24920
24921         * modules/unistd-safer (configure.ac): Drop indicator macro.
24922
24923 2009-12-11  Bruno Haible  <bruno@clisp.org>
24924
24925         Move pipe2-safer code to its own file.
24926         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
24927         * lib/pipe-safer.c (pipe2_safer): Remove function.
24928         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
24929         (Makefile.am): Add it to lib_SOURCES.
24930
24931 2009-12-10  Bruno Haible  <bruno@clisp.org>
24932
24933         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
24934
24935 2009-12-10  Bruno Haible  <bruno@clisp.org>
24936
24937         Declare which arguments expect non-NULL values, for GCC and clang.
24938         * build-aux/arg-nonnull.h: New file.
24939         * modules/arg-nonnull: New file.
24940         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
24941         (inet_ntop, inet_pton): Use it.
24942         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
24943         (closedir, dirfd, opendir, scandir, alphasort): Use it.
24944         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
24945         (open, openat): Use it.
24946         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
24947         (fnmatch): Use it.
24948         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
24949         (getopt, getopt_long, getopt_long_only): Use it.
24950         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
24951         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
24952         Use it.
24953         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
24954         (iconv_open): Use it.
24955         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
24956         (strtoimax, strtoumax): Use it.
24957         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
24958         (duplocale): Use it.
24959         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
24960         (frexp, frexpl): Use it.
24961         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
24962         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
24963         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
24964         (tsearch, tfind, tdelete, twalk): Use it.
24965         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
24966         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
24967         sigpending): Use it.
24968         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
24969         (posix_spawn, posix_spawnp, posix_spawnattr_init,
24970         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
24971         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
24972         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
24973         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
24974         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
24975         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
24976         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
24977         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
24978         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
24979         Use it.
24980         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
24981         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
24982         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
24983         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
24984         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
24985         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
24986         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
24987         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
24988         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
24989         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
24990         strtoull, unsetenv): Use it.
24991         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
24992         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
24993         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
24994         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
24995         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
24996         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
24997         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
24998         (strcasecmp, strncasecmp): Use it.
24999         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
25000         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
25001         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
25002         rpl_setsockopt): Use it.
25003         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
25004         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
25005         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
25006         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
25007         (gettimeofday): Use it.
25008         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
25009         (times): Use it.
25010         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
25011         (uname): Use it.
25012         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
25013         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
25014         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
25015         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
25016         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
25017         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
25018         unlinkat, write): Use it.
25019         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
25020         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
25021         * lib/argv-iter.h: Include arg-nonnull.h.
25022         (_ATTRIBUTE_NONNULL_): Remove macro.
25023         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
25024         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
25025         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
25026         optimization.
25027         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
25028         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
25029         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
25030         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
25031         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
25032         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
25033         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
25034         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
25035         * modules/arpa_inet (Depends-on): Add arg-nonnull.
25036         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
25037         * modules/dirent (Depends-on): Add arg-nonnull.
25038         (Makefile.am): Insert arg-nonnull.h into dirent.h.
25039         * modules/fcntl-h (Depends-on): Add arg-nonnull.
25040         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
25041         * modules/fnmatch (Depends-on): Add arg-nonnull.
25042         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
25043         * modules/getopt-posix (Depends-on): Add arg-nonnull.
25044         (Makefile.am): Insert arg-nonnull.h into getopt.h.
25045         * modules/glob (Depends-on): Add arg-nonnull.
25046         (Makefile.am): Insert arg-nonnull.h into glob.h.
25047         * modules/iconv_open (Depends-on): Add arg-nonnull.
25048         (Makefile.am): Insert arg-nonnull.h into iconv.h.
25049         * modules/inttypes (Depends-on): Add arg-nonnull.
25050         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
25051         * modules/locale (Depends-on): Add arg-nonnull.
25052         (Makefile.am): Insert arg-nonnull.h into locale.h.
25053         * modules/math (Depends-on): Add arg-nonnull.
25054         (Makefile.am): Insert arg-nonnull.h into math.h.
25055         * modules/netdb (Depends-on): Add arg-nonnull.
25056         (Makefile.am): Insert arg-nonnull.h into netdb.h.
25057         * modules/search (Depends-on): Add arg-nonnull.
25058         (Makefile.am): Insert arg-nonnull.h into search.h.
25059         * modules/signal (Depends-on): Add arg-nonnull.
25060         (Makefile.am): Insert arg-nonnull.h into signal.h.
25061         * modules/spawn (Depends-on): Add arg-nonnull.
25062         (Makefile.am): Insert arg-nonnull.h into spawn.h.
25063         * modules/stdio (Depends-on): Add arg-nonnull.
25064         (Makefile.am): Insert arg-nonnull.h into stdio.h.
25065         * modules/stdlib (Depends-on): Add arg-nonnull.
25066         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
25067         * modules/string (Depends-on): Add arg-nonnull.
25068         (Makefile.am): Insert arg-nonnull.h into string.h.
25069         * modules/strings (Depends-on): Add arg-nonnull.
25070         (Makefile.am): Insert arg-nonnull.h into strings.h.
25071         * modules/sys_socket (Depends-on): Add arg-nonnull.
25072         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
25073         * modules/sys_stat (Depends-on): Add arg-nonnull.
25074         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
25075         * modules/sys_time (Depends-on): Add arg-nonnull.
25076         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
25077         * modules/sys_times (Depends-on): Add arg-nonnull.
25078         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
25079         * modules/sys_utsname (Depends-on): Add arg-nonnull.
25080         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
25081         * modules/time (Depends-on): Add arg-nonnull.
25082         (Makefile.am): Insert arg-nonnull.h into time.h.
25083         * modules/unistd (Depends-on): Add arg-nonnull.
25084         (Makefile.am): Insert arg-nonnull.h into unistd.h.
25085         * modules/wchar (Depends-on): Add arg-nonnull.
25086         (Makefile.am): Insert arg-nonnull.h into wchar.h.
25087         * modules/argv-iter (Depends-on): Add arg-nonnull.
25088         * tests/test-canonicalize.c (null_ptr): New function.
25089         (main): Use it.
25090         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
25091         (main): Use it.
25092         * tests/test-memmem.c (null_ptr): New function.
25093         (main): Use it.
25094         Reported by Jim Meyering.
25095
25096 2009-12-10  Bruno Haible  <bruno@clisp.org>
25097
25098         Use spaces for indentation, not tabs.
25099         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25100         * m4/*.m4: Untabify.
25101         * build-aux/*.h: Untabify.
25102         * tests/**/*.[hc]: Untabify.
25103         * README: New section "Indent with spaces, not TABs", based on
25104         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
25105         * NEWS: Mention the change.
25106
25107 2009-12-10  Bruno Haible  <bruno@clisp.org>
25108
25109         pty test: Fix link error.
25110         * modules/pty-tests (Makefile.am): Add the default LDADD value to
25111         test_pty_LDADD.
25112
25113 2009-12-07  Simon Josefsson  <simon@josefsson.org>
25114
25115         * modules/pty: New file.
25116         * modules/pty-tests: New file.
25117         * m4/pty.m4: New file.
25118         * tests/test-pty.c: New file.
25119         * doc/glibc-headers/pty.texi: Modified.
25120         * doc/glibc-functions/forkpty.texi: Modified.
25121         * doc/glibc-functions/openpty.texi: Modified.
25122
25123 2009-12-10  Bruno Haible  <bruno@clisp.org>
25124
25125         Avoid syntax error in C++ mode.
25126         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
25127
25128 2009-12-10  Bruno Haible  <bruno@clisp.org>
25129
25130         Use sed with option -e.
25131         * gnulib-tool (func_version, func_emit_copyright_notice,
25132         func_emit_initmacro_end, func_import, func_create_testdir): Pass
25133         option -e to sed.
25134         * modules/link-warning (Makefile.am): Likewise.
25135
25136 2009-12-10  Jim Meyering  <meyering@redhat.com>
25137
25138         mgetgroups: do not write bytes beyond end of malloc'd buffer
25139         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
25140         username, we call getgroups with a one-element-shorter buffer,
25141         but still told it the length was original, max_n_groups.
25142
25143 2009-12-09  Eric Blake  <ebb9@byu.net>
25144
25145         cloexec: relax license
25146         * modules/cloexec (Maintainer): Add myself.
25147         (License): Use LGPL, not GPL.
25148
25149         link-warning: optimize generation
25150         * modules/link-warning (Makefile.am): Reduce process usage.
25151
25152 2009-12-09  Bruno Haible  <bruno@clisp.org>
25153
25154         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
25155         workaround was added on 2009-11-17.
25156
25157 2009-12-09  Jim Meyering  <meyering@redhat.com>
25158             Bruno Haible  <bruno@clisp.org>
25159
25160         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
25161         * modules/link-warning (Makefile.am): Make the comment-removing sed
25162         command more robust in the face of bootstrap-prepended comment lines.
25163
25164 2009-12-09  Bruno Haible  <bruno@clisp.org>
25165
25166         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
25167         most one group.
25168
25169 2009-12-09  Simon Josefsson <simon@josefsson.org>
25170             Bruno Haible  <bruno@clisp.org>
25171
25172         * build-aux/link-warning.h: Add copyright notice.
25173         * modules/link-warning (Makefile.am): Generate link-warning.h from
25174         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
25175         * NEWS: Mention change in link-warning module.
25176         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
25177         * modules/dirent (Makefile.am): Add dependency to dirent.h.
25178         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
25179         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
25180         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
25181         * modules/math (Makefile.am): Add dependency to math.h.
25182         * modules/search (Makefile.am): Add dependency to search.h.
25183         * modules/signal (Makefile.am): Add dependency to signal.h.
25184         * modules/spawn (Makefile.am): Add dependency to spawn.h.
25185         * modules/stdio (Makefile.am): Add dependency to stdio.h.
25186         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
25187         * modules/string (Makefile.am): Add dependency to string.h.
25188         * modules/strings (Makefile.am): Add dependency to strings.h.
25189         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
25190         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
25191         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
25192         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
25193         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
25194         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
25195         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
25196         * modules/unistd (Makefile.am): Add dependency to unistd.h.
25197         * modules/wchar (Makefile.am): Add dependency to wchar.h.
25198
25199 2009-12-09  Bruno Haible  <bruno@clisp.org>
25200
25201         fchdir: Optimize away rpl_fstat when possible.
25202         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
25203         REPLACE_OPEN_DIRECTORY.
25204         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
25205
25206 2009-12-09  Bruno Haible  <bruno@clisp.org>
25207
25208         * lib/fchdir.c: Update comment.
25209
25210 2009-12-09  Bruno Haible  <bruno@clisp.org>
25211
25212         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
25213
25214 2009-12-08  Eric Blake  <ebb9@byu.net>
25215
25216         fchdir: avoid memory leak on re-registration.
25217         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
25218
25219 2009-12-08  Jim Meyering  <meyering@redhat.com>
25220
25221         init.sh: avoid Solaris 10 /bin/sh portability problem
25222         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
25223         sourced script:
25224           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
25225           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
25226           bar
25227         tests/init.sh relied on that, accepting a --set-path=DIR argument,
25228         and two tests used that idiom.
25229         * tests/init.sh: Update suggested usage comments.
25230         (path_prepend_): New function, to be used in place
25231         of the --src-path=DIR option.
25232         (setup_): Move PATH-prepending code into path_prepend_.
25233         * tests/test-pread.sh: Adapt to new usage.
25234         * tests/test-xalloc-die.sh: Likewise.
25235
25236 2009-12-08  Simon Josefsson  <simon@josefsson.org>
25237
25238         * doc/gnulib.texi (Glibc pty.h): Add.
25239         * doc/glibc-functions/forkpty.texi: Add.
25240         * doc/glibc-functions/openpty.texi: Add.
25241         Suggested by Bruno Haible.
25242
25243 2009-12-08  Eric Blake  <ebb9@byu.net>
25244
25245         fchdir: fix logic bugs
25246         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
25247         * tests/test-fchdir.c (main): Enhance test.
25248         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
25249         is in use.
25250
25251         dup2: fix logic bugs
25252         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
25253         REPLACE_DUP2 to decide when rpl_dup2 is needed.
25254         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
25255         exists.
25256         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
25257
25258 2009-12-07  Eric Blake  <ebb9@byu.net>
25259
25260         unlink: fix m4 detection
25261         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
25262
25263         unistd-safer: add unit test
25264         * modules/unistd-safer-tests: New file.
25265         * tests/test-dup-safer.c: Likewise.
25266         * tests/test-cloexec.c (setmode): Avoid compiler warning.
25267         * tests/test-dup2.c (setmode): Likewise.
25268         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
25269
25270         cloexec: preserve text vs. binary across dup_cloexec
25271         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
25272         mode.
25273         * modules/dup2-tests (Depends-on): Add binary-io.
25274         * modules/cloexec-tests (Depends-on): Likewise.
25275         * tests/test-dup2.c (setmode, is_mode): New helpers.
25276         (main): Add tests that translation mode is preserved.
25277         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
25278         Reported by Bruno Haible.
25279
25280         mgetgroups: reduce duplicate listings
25281         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
25282         resulting array.
25283         * tests/test-chown.h (test_chown): Simplify client.
25284         * tests/test-lchown.h (test_lchown): Likewise.
25285
25286 2009-12-06  Bruno Haible  <bruno@clisp.org>
25287
25288         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
25289         value.
25290
25291 2009-12-06  Bruno Haible  <bruno@clisp.org>
25292
25293         * lib/progname.c: Include stdio.h, stdlib.h.
25294         (set_program_name): Reject a NULL argument.
25295
25296 2009-12-05  Eric Blake  <ebb9@byu.net>
25297
25298         pipe2-safer: new module
25299         * modules/pipe2-safer: New file.
25300         * lib/unistd-safer.h (pipe2_safer): New prototype.
25301         * lib/unistd--.h (pipe2): New wrapper.
25302         * lib/pipe-safer.c (pipe2_safer): New function.
25303         * modules/pipe (Depends-on): Add pipe2-safer.
25304         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
25305
25306         stdlib-safer: preserve cloexec flag for mkostemp[s]
25307         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
25308         fd_safer_flag.
25309
25310         unistd-safer: allow preservation of cloexec status via flag
25311         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
25312         prototypes.
25313         * lib/dup-safer.c (dup_safer_flag): New function.
25314         * lib/fd-safer.c (fd_safer_flag): Likewise.
25315         * modules/cloexec (configure.ac): Set witness.
25316
25317         test-dup2: enhance test
25318         * modules/dup2-tests (Depends-on): Add cloexec.
25319         * tests/test-dup2.c (main): Enhance test.
25320
25321         cloexec: add dup_cloexec
25322         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
25323         header and comments.
25324         * lib/cloexec.c (set_cloexec_flag): Add comments.
25325         (dup_cloexec): New function, with mingw implementation borrowed
25326         from...
25327         * lib/w32spawn.h (dup_noinherit): ...here.
25328         * modules/execute (Depends-on): Add cloexec.
25329         * modules/pipe (Depends-on): Likewise.
25330         * modules/cloexec (Depends-on): Add dup2.
25331         * modules/cloexec-tests (Files): New file.
25332         * tests/test-cloexec.c: Likewise.
25333
25334         test-xalloc-die: fix test for mingw
25335         * modules/xalloc-die-tests (Files): Add tests/init.sh.
25336         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
25337         directory and .exe suffix off argv[0] output.
25338
25339         test-fseeko: fix test for mingw
25340         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
25341         than undefining fseek, so test will pass on mingw.
25342
25343 2009-12-05  Bruno Haible  <bruno@clisp.org>
25344
25345         * lib/progname.h (set_program_name): Clarify specification.
25346         * lib/progname.c (set_program_name): Likewise.
25347         Reported by Jim Meyering.
25348
25349 2009-12-05  Jim Meyering  <meyering@redhat.com>
25350
25351         maint.mk: backslash-escape parens in default regexp
25352         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
25353         backslash-escape the literal parentheses.
25354
25355         maint.mk: news-date-check: use grep -E
25356         * top/maint.mk (today): Define a Make variable, not a...
25357         (news-date-check): ...shell variable.
25358         (news-date-regexp): Use the Make variable.
25359         Use grep's -E option.  Change the failing diagnostic to mention
25360         the variable, $(news-date-regexp).
25361
25362 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
25363
25364         maintainer-makefile: allow customization of NEWS entry format
25365         * top/maint.mk (news-date-regexp): New overridable variable.
25366         (news-date-check): Use it.
25367
25368 2009-12-04  Eric Blake  <ebb9@byu.net>
25369
25370         mgetgroups: add xgetgroups, and avoid ENOSYS failures
25371         * lib/mgetgroups.h (xgetgroups): New prototype.
25372         * lib/mgetgroups.c (xgetgroups): New wrapper.
25373         (mgetgroups): Handle ENOSYS.
25374         * modules/mgetgroups (Depends-on): Add realloc.
25375         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
25376
25377         mgetgroups: avoid argument promotion issues with -1
25378         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
25379         for invalid gid_t.
25380         * tests/test-chown.h (getegid, test_chown): Likewise.
25381         * tests/test-lchown.h (getegid, test_lchown): Likewise.
25382
25383 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
25384
25385         exclude: Fix header file problems.
25386         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
25387
25388 2009-12-01  Jim Meyering  <meyering@redhat.com>
25389
25390         fts: fts_open: do not let an empty string cause immediate failure
25391         This is required in support of GNU rm, for which the command
25392         "rm A '' B" must process and remove both A and B, in spite of
25393         the empty string argument.
25394         * lib/fts.c (fts_open): Do not let the presence of an empty string
25395         cause fts_open to fail immediately.  Most fts-using tools must be
25396         able to process all arguments, in order, and can be expected to
25397         diagnose such arguments themselves.
25398
25399 2009-11-30  Eric Blake  <ebb9@byu.net>
25400
25401         utimens: fix compilation error
25402         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
25403         Declare variable at right scope.
25404
25405 2009-11-29  Jim Meyering  <meyering@redhat.com>
25406
25407         bootstrap: handle perl-5.11's changed --version output
25408         * build-aux/bootstrap (get_version): Handle perl separately,
25409         since perl-5.11's --version output is different.
25410
25411 2009-11-28  Jim Meyering  <meyering@redhat.com>
25412
25413         userspec: depend on the inttostr module, too
25414         * modules/userspec (Depends-on): Add inttostr.
25415
25416         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
25417         * lib/userspec.c (parse_with_separator): Do not accept a user ID
25418         number of MAXUID when it evaluates to (uid_t) -1.
25419         Likewise for group ID.  Reported by Matt McCutchen in
25420         <http://savannah.gnu.org/bugs/?28113>
25421
25422         userspec: reformat to use spaces, not TABs
25423         * lib/userspec.c: Expand TABs to spaces.
25424         Add Emacs' "indent-tabs-mode: nil" hint.
25425
25426 2009-11-27  Eric Blake  <ebb9@byu.net>
25427
25428         getopt-gnu: flush out another BSD bug
25429         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
25430         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
25431         flush out BSD bug.
25432         * tests/test-getopt.h (test_getopt): End lists with NULL.
25433         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25434         (test_getopt_long_posix): Enhance test.
25435         * modules/getopt-posix-tests (Depends-on): Add stdbool.
25436         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
25437         getopt-gnu.
25438         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25439         Likewise.
25440
25441 2009-11-27  Simon Josefsson  <simon@josefsson.org>
25442
25443         * modules/idpriv-droptemp-tests (Notice): Fix text.
25444
25445 2009-11-27  Jim Meyering  <meyering@redhat.com>
25446
25447         test-xalloc-die: avoid spurious failure due to libtool argv difference
25448         In a libtool-enabled project, this test would fail due to a difference
25449         in the emitted program name, e.g.,
25450         -test-xalloc-die: memory exhausted
25451         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
25452         Use program to avoid that.
25453         * modules/xalloc-die-tests (Depends-on): Add progname.
25454         * tests/test-xalloc-die.c: Include progname.h".
25455         (program_name): Remove decl.
25456         (main): Call set_program_name.
25457         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
25458
25459 2009-11-26  Richard Jones  <rjones@redhat.com>
25460
25461         w32sock: leave win32 error in place.
25462         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
25463
25464 2009-11-26  Eric Blake  <ebb9@byu.net>
25465
25466         init.sh: suggest to use skip_ and fail_ functions in comments
25467         * tests/init.sh: Add a sentence.
25468
25469 2009-11-25  Bruno Haible  <bruno@clisp.org>
25470
25471         init.sh: add documentation in comments
25472         * tests/init.sh: Add some developer and user documentation.
25473
25474 2009-11-26  Jim Meyering  <meyering@redhat.com>
25475
25476         init.sh: accommodate even those who specify bogus srcdir manually
25477         * tests/init.sh: Normally, srcdir is guaranteed by automake and
25478         configure-time tests to be sanitized, so that there is no need to
25479         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
25480         (with no double quotes) suffices.  However, since tests may be
25481         invoked manually, and since you may explicitly set srcdir to the
25482         name of a directory containing spaces, do quote its uses here.
25483         * tests/test-pread.sh: Likewise.
25484         Suggested by Bruno Haible.
25485
25486         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
25487         * tests/test-pread.sh: Write no data into the pipe, because
25488         test-pread actually reads none.  This avoids a diagnostic,
25489         "bash: echo: write error: Broken pipe", that arises in the unusual
25490         event something is ignoring SIGPIPE, and might be interpreted
25491         as some sort of failure.  Reported by Bruno Haible.
25492
25493 2009-11-25  Jim Meyering  <meyering@redhat.com>
25494
25495         test-pread: cover failure with ESPIPE and EINVAL
25496         * tests/test-pread.c (main): Test for failure, too.
25497         * tests/test-pread.sh: Invoke with stdin on a pipe.
25498         Suggested by Eric Blake.
25499
25500         pread: improvement and fix
25501         * modules/pread (Depends-on): Depend on lseek, for portability to
25502         e.g., mingw.  Suggested by Eric Blake.
25503         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
25504
25505         unistd.in.h: correct declaration of pread
25506         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
25507         Reported by Richard W.M. Jones.
25508
25509         test-pread.sh: distribute the test script
25510         * modules/pread-tests (Files): Include test-pread.sh.
25511
25512         test-pread.sh: clean up
25513         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
25514         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
25515         That is unnecessary, since it's always ".".
25516         Suggestion from Eric Blake.
25517
25518         test-pread.sh: make executable
25519         * tests/test-pread.sh: Set executable bit.
25520         Reported by Eric Blake.
25521
25522         correct typo in test-pread.sh
25523         * tests/test-pread.sh: Add #! line.
25524
25525         test pread
25526         * tests/test-pread.c: New file.
25527         * tests/test-pread.sh: Likewise.
25528         * modules/pread-tests: Likewise.
25529
25530         pread: new module
25531         * modules/pread: New file.
25532         * lib/unistd.in.h (pread): Define/declare.
25533         * lib/pread.c (pread): New file.
25534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
25535         * modules/unistd (Makefile.am): Substitute witnesses.
25536         * doc/posix-functions/pread.texi (pread): Update.
25537         * MODULES.html.sh: Add pread.
25538
25539 2009-11-25  Jim Meyering  <meyering@redhat.com>
25540
25541         tests/init.sh: new file to be used via most *.sh tests
25542         * tests/init.sh: New file.
25543
25544 2009-11-25  Eric Blake  <ebb9@byu.net>
25545
25546         utimens: work around older Linux failure with symlinks
25547         * lib/utimens.c (lutimensat_works_really): New variable.
25548         (fdutimens, lutimens): Use it to manage kernels that support
25549         nanosecond times on files, but not on symlinks.
25550         Reported by OndÅ™ej Vašík.
25551
25552         utimes: fix configure grammar
25553         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
25554
25555 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
25556
25557         regex: Fix fastmap for multibyte character ranges.
25558         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
25559         characters when a multibyte character range is included.
25560
25561 2009-11-22  Andy Wingo  <wingo@pobox.com>
25562
25563         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
25564         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
25565
25566 2009-11-24  Bruno Haible  <bruno@clisp.org>
25567
25568         doc: Most *_l functions exist in MacOS X 10.5.
25569         * doc/posix-functions/duplocale.texi: Update platforms list.
25570         * doc/posix-functions/freelocale.texi: Likewise.
25571         * doc/posix-functions/newlocale.texi: Likewise.
25572         * doc/posix-functions/uselocale.texi: Likewise.
25573         * doc/posix-functions/isalnum_l.texi: Likewise.
25574         * doc/posix-functions/isalpha_l.texi: Likewise.
25575         * doc/posix-functions/isblank_l.texi: Likewise.
25576         * doc/posix-functions/iscntrl_l.texi: Likewise.
25577         * doc/posix-functions/isdigit_l.texi: Likewise.
25578         * doc/posix-functions/isgraph_l.texi: Likewise.
25579         * doc/posix-functions/islower_l.texi: Likewise.
25580         * doc/posix-functions/isprint_l.texi: Likewise.
25581         * doc/posix-functions/ispunct_l.texi: Likewise.
25582         * doc/posix-functions/isspace_l.texi: Likewise.
25583         * doc/posix-functions/isupper_l.texi: Likewise.
25584         * doc/posix-functions/iswalnum_l.texi: Likewise.
25585         * doc/posix-functions/iswalpha_l.texi: Likewise.
25586         * doc/posix-functions/iswblank_l.texi: Likewise.
25587         * doc/posix-functions/iswcntrl_l.texi: Likewise.
25588         * doc/posix-functions/iswctype_l.texi: Likewise.
25589         * doc/posix-functions/iswdigit_l.texi: Likewise.
25590         * doc/posix-functions/iswgraph_l.texi: Likewise.
25591         * doc/posix-functions/iswlower_l.texi: Likewise.
25592         * doc/posix-functions/iswprint_l.texi: Likewise.
25593         * doc/posix-functions/iswpunct_l.texi: Likewise.
25594         * doc/posix-functions/iswspace_l.texi: Likewise.
25595         * doc/posix-functions/iswupper_l.texi: Likewise.
25596         * doc/posix-functions/iswxdigit_l.texi: Likewise.
25597         * doc/posix-functions/isxdigit_l.texi: Likewise.
25598         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
25599         * doc/posix-functions/strcasecmp_l.texi: Likewise.
25600         * doc/posix-functions/strcoll_l.texi: Likewise.
25601         * doc/posix-functions/strfmon_l.texi: Likewise.
25602         * doc/posix-functions/strftime_l.texi: Likewise.
25603         * doc/posix-functions/strncasecmp_l.texi: Likewise.
25604         * doc/posix-functions/strxfrm_l.texi: Likewise.
25605         * doc/posix-functions/tolower_l.texi: Likewise.
25606         * doc/posix-functions/toupper_l.texi: Likewise.
25607         * doc/posix-functions/towctrans_l.texi: Likewise.
25608         * doc/posix-functions/towlower_l.texi: Likewise.
25609         * doc/posix-functions/towupper_l.texi: Likewise.
25610         * doc/posix-functions/wcscoll_l.texi: Likewise.
25611         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
25612         * doc/posix-functions/wctrans_l.texi: Likewise.
25613         * doc/posix-functions/wctype_l.texi: Likewise.
25614         * doc/glibc-functions/strptime_l.texi: Likewise.
25615         * doc/glibc-functions/strtod_l.texi: Likewise.
25616         * doc/glibc-functions/strtof_l.texi: Likewise.
25617         * doc/glibc-functions/strtol_l.texi: Likewise.
25618         * doc/glibc-functions/strtold_l.texi: Likewise.
25619         * doc/glibc-functions/strtoll_l.texi: Likewise.
25620         * doc/glibc-functions/strtoul_l.texi: Likewise.
25621         * doc/glibc-functions/strtoull_l.texi: Likewise.
25622         * doc/glibc-functions/wcsftime_l.texi: Likewise.
25623         * doc/glibc-functions/wcstod_l.texi: Likewise.
25624         * doc/glibc-functions/wcstof_l.texi: Likewise.
25625         * doc/glibc-functions/wcstol_l.texi: Likewise.
25626         * doc/glibc-functions/wcstold_l.texi: Likewise.
25627         * doc/glibc-functions/wcstoll_l.texi: Likewise.
25628         * doc/glibc-functions/wcstoul_l.texi: Likewise.
25629         * doc/glibc-functions/wcstoull_l.texi: Likewise.
25630
25631 2009-11-24  Bruno Haible  <bruno@clisp.org>
25632
25633         duplocale: Fix logic bug.
25634         * lib/duplocale.c: Don't include <langinfo.h>.
25635         (_NL_LOCALE_NAME): Remove macro.
25636         (rpl_duplocale): Use setlocale instead of nl_langinfo.
25637         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
25638
25639 2009-11-23  Jim Meyering  <meyering@redhat.com>
25640
25641         test-update-copyright: don't hard-code /usr/bin/perl
25642         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
25643         perl to print the current year.  Gilles Espinasse reported that
25644         the replaced use of perl was hard-coded as /usr/bin/perl.
25645
25646 2009-11-23  Bruno Haible  <bruno@clisp.org>
25647
25648         duplocale: Add support for glibc 2.3.x.
25649         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
25650
25651 2009-11-22  Bruno Haible  <bruno@clisp.org>
25652
25653         vasnprintf: Tiny optimization.
25654         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
25655         MacOS X.
25656
25657 2009-11-22  Bruno Haible  <bruno@clisp.org>
25658
25659         Tests for module 'duplocale'.
25660         * modules/duplocale-tests: New file.
25661         * tests/test-duplocale.c: New file.
25662
25663         New module 'duplocale'.
25664         * m4/duplocale.m4: New file.
25665         * lib/locale.in.h (duplocale): New declaration.
25666         * lib/duplocale.c: New file.
25667         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
25668         gl_LOCALE_H_DEFAULTS): New macros.
25669         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
25670         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
25671         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
25672         REPLACE_DUPLOCALE.
25673         * modules/duplocale: New file.
25674         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
25675
25676 2009-11-22  Bruno Haible  <bruno@clisp.org>
25677
25678         * modules/locale-tests (configure.ac): Test for newlocale function.
25679         * tests/test-locale.c: When the system has extended locale functions,
25680         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
25681
25682         locale: Make locale_t available when possible.
25683         * lib/locale.in.h: Include <xlocale.h> when it exists.
25684         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
25685         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
25686         * modules/locale (Depends-on): Add extensions.
25687         (Makefile.am): Also substitute HAVE_XLOCALE_H.
25688         * doc/posix-headers/locale.texi: Document the problem with locale_t.
25689
25690 2009-11-22  Bruno Haible  <bruno@clisp.org>
25691
25692         Add comments.
25693         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
25694         invocation.
25695         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25696         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25697         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25698
25699 2009-11-22  Bruno Haible  <bruno@clisp.org>
25700
25701         error: account for the possibility of freopen (stdout).
25702         * lib/error.c: Include <unistd.h>.
25703         (flush_stdout): New function, extracted from error and error_at_line.
25704         Determine stdout's fd dynamically.
25705         (error, error_at_line): Invoke flush_stdout.
25706         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
25707         * modules/error (Depends-on): Add unistd.
25708
25709 2009-11-22  Bruno Haible  <bruno@clisp.org>
25710
25711         diffseq: Add comment.
25712         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
25713
25714 2009-11-22  Jim Meyering  <meyering@redhat.com>
25715
25716         c-stack: avoid defining an unused static function
25717         * lib/c-stack.c (find_stack_direction): Do not define this function
25718         when it will not be used.
25719
25720         diffseq: avoid spurious gcc warnings
25721         * lib/diffseq.h (IF_LINT2): Define.
25722         (compareseq): Use it to initialize two members of "part".
25723         This avoids two used-uninitialized warnings.
25724
25725 2009-11-21  Jim Meyering  <meyering@redhat.com>
25726
25727         c-stack: avoid "ignoring return value of `write'" warning
25728         * lib/c-stack.c: Include "ignore-value.h".
25729         (die): Explicitly ignore each write return value.
25730         * modules/c-stack (Depends-on): Add ignore-value.
25731
25732 2009-11-21  Bruno Haible  <bruno@clisp.org>
25733
25734         diffseq: reduce scope of variable 'best'.
25735         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
25736         variable, earlier used for two different purposes.
25737
25738 2009-11-21  Jim Meyering  <meyering@redhat.com>
25739
25740         diffseq: remove useless assignment to "best"
25741         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
25742         assignment.  At that point "best" is already guaranteed to be zero.
25743
25744 2009-11-20  Eric Blake  <ebb9@byu.net>
25745
25746         build: mention ftp redirector in release announcements
25747         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
25748         values that used to come from cfg.mk; mention FTP redirect URL.
25749         * build-aux/announce-gen: Mention the mirror list.
25750         Suggested by Karl Berry.
25751
25752         nanosleep: improve port to mingw
25753         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
25754         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
25755         LIB_NANOSLEEP, but only when needed.
25756         * modules/select (Link): Document LIBSOCKET.
25757         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
25758         enough.
25759
25760         nanosleep: work around cygwin bug
25761         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
25762         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
25763         bug.
25764         (getnow): Delete, not needed.
25765         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
25766         LIB_CLOCK_GETTIME.
25767         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
25768         clock-time, gettime.
25769         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
25770         bug.
25771         * modules/nanosleep-tests: New test.
25772         * tests/test-nanosleep.c: New file.
25773
25774         sleep: work around cygwin bug
25775         * lib/sleep.c (rpl_sleep): Work around the bug.
25776         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
25777         (gl_PREREQ_SLEEP): Delete unused macro.
25778         * modules/sleep (Depends-on): Add verify.
25779         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
25780         * modules/unistd (Makefile.am): Substitute witness.
25781         * lib/unistd.in.h (sleep): Update prototype.
25782         * doc/posix-functions/sleep.texi (sleep): Document the bug.
25783         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
25784         * modules/sleep-tests (Depends-on): Check for alarm.
25785
25786 2009-11-20  Jim Meyering  <meyering@redhat.com>
25787
25788         maint.mk: improve sc_prohibit_magic_number_exit
25789         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
25790         so it does not match uses like System.exit(1).
25791         Add comments showing how to correct all offenders.
25792
25793 2009-11-19  Eric Blake  <ebb9@byu.net>
25794
25795         xalloc-die-tests: add missing library
25796         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
25797
25798         test-xvasprintf: silence compiler warnings
25799         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
25800         empty string from gcc.
25801
25802 2009-11-19  Jim Meyering  <meyering@redhat.com>
25803
25804         xfreopen: new module, from coreutils
25805         * modules/xfreopen: New module.
25806         * lib/xfreopen.c: New file.
25807         * lib/xfreopen.h: New file.
25808         * MODULES.html.sh (File stream based Input/Output"): Add it.
25809
25810 2009-11-19  Eric Blake  <ebb9@byu.net>
25811
25812         manywarnings: depend on warnings
25813         * modules/manywarnings (Depends-on): Add warnings.
25814
25815         build: avoid compiler warnings
25816         * lib/select.c (rpl_select): Delete unused variable.
25817         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
25818
25819 2009-11-18  Eric Blake  <ebb9@byu.net>
25820
25821         tests: avoid false negative with --with-packager
25822         * tests/test-version-etc.sh: Discard packager information.
25823         * tests/test-argp-version-etc-1.sh: Likewise.
25824         Reported by Mike Frysinger.
25825
25826         utimens: fix regression on Solaris
25827         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
25828         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
25829         can only change fd timestamps via futimesat.  Instead, use an
25830         additional witness macro to avoid BSD bug.
25831         Reported by Jim Meyering.
25832
25833 2009-11-17  Eric Blake  <ebb9@byu.net>
25834
25835         usleep: use it to simplify tests
25836         * modules/stat-time-tests (Depends-on): Add usleep.
25837         (configure.ac): Drop usleep check.
25838         * modules/chown-tests (Depends-on, configure.ac): Likewise.
25839         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
25840         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
25841         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
25842         * modules/openat-tests (Depends-on, configure.ac): Likewise.
25843         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
25844         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
25845         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
25846         Likewise.
25847         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
25848         * tests/test-lchown.h (nap): Likewise.
25849         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
25850         * tests/test-stat-time.c (nap): Likewise.
25851         * tests/test-utimens-common.h (nap): Update comments.
25852
25853         usleep: new module
25854         * modules/usleep: New file.
25855         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
25856         * lib/usleep.c (usleep): Likewise.
25857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25858         * modules/unistd (Makefile.am): Substitute witnesses.
25859         * lib/unistd.in.h (usleep): Add declaration.
25860         * doc/pastposix-functions/usleep.texi (usleep): Document this.
25861         * MODULES.html.sh (Date and time): Likewise.
25862         * modules/usleep-tests (Depends-on): New test.
25863         * tests/test-usleep.c: New file.
25864
25865         chown: work around OpenBSD bug
25866         * lib/chown.c (rpl_chown): Work around the bug.
25867         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
25868         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
25869         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
25870         * modules/chown (Depends-on): Add stdbool.
25871         * modules/lchown (Depends-on): Likewise.
25872         * doc/posix-functions/chown.texi (chown): Document the bug.
25873         * doc/posix-functions/lchown.texi (lchown): Likewise.
25874         * tests/test-lchown.h (test_chown): Relax test.
25875
25876         mkstemp: avoid conflict with C++ keyword template
25877         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
25878         * lib/mkostemp.c (mkostemp): Likewise.
25879         * lib/mkostemps.c (mkostemps): Likewise.
25880         * lib/mkstemp.c (mkstemp): Likewise.
25881         * lib/mkstemps.c (mkstemps): Likewise.
25882
25883         xalloc-die-tests: optimize
25884         * tests/test-xalloc-die.sh: Reduce number of processes.
25885
25886 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25887
25888         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
25889         patch from ludo@gnu.org (Ludovic Courtès).
25890
25891 2009-11-17  Jim Meyering  <meyering@redhat.com>
25892
25893         version-etc: use proper license string
25894         * modules/version-etc (License): Use LGPL, not LGPLv3+.
25895         * modules/version-etc-fsf: Likewise.
25896
25897 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25898
25899         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
25900         printed to stdout.  Deal with EOL differences.
25901
25902 2009-11-17  Eric Blake  <ebb9@byu.net>
25903
25904         unsetenv: work around Solaris bug
25905         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
25906         * lib/unsetenv.c (rpl_unsetenv): Work around it.
25907         Reported by Jim Meyering.
25908
25909         vasnprintf: avoid compiler warnings
25910         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
25911         variables.
25912         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
25913
25914 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25915
25916         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
25917         settings since xalloc-die is no longer the self test,
25918         xalloc-die.sh is.
25919
25920 2009-11-17  Jim Meyering  <meyering@redhat.com>
25921
25922         test-xalloc-die.sh: make the code agree with the commit log
25923         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
25924         at the end, just in case you happen to have a test-xalloc-die
25925         program in some other PATH directory.
25926
25927         test-xalloc-die.sh: fix a portability bug
25928         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
25929         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
25930         Otherwise, argv[0] (as often seen in diagnostics) would be too
25931         system-dependent, sometimes with, and sometimes without the leading "./".
25932
25933         version-etc-fsf: relax license to LGPLv3+
25934         * modules/version-etc-fsf (License): Relax license.
25935
25936 2009-11-16  Eric Blake  <ebb9@byu.net>
25937
25938         xalloc-die-tests: avoid printing null pointer
25939         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
25940         shell script.
25941         * tests/test-xalloc-die.c (program_name): Declare.
25942         * tests/test-xalloc-die.sh (tmpfiles): New file.
25943
25944         setenv, unsetenv: work around various bugs
25945         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
25946         (setenv) [HAVE_SETENV]: Work around bugs.
25947         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
25948         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
25949         for bugs.
25950         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
25951         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
25952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
25953         * modules/stdlib (Makefile.am): Update substitutions.
25954         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
25955         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
25956         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
25957         * modules/setenv-tests: New test.
25958         * modules/unsetenv-tests: Likewise.
25959         * tests/test-setenv.c: New file.
25960         * tests/test-unsetenv.c: Likewise.
25961
25962 2009-11-16  Jim Meyering  <meyering@redhat.com>
25963
25964         version-etc: relax license to LGPLv3+
25965         * modules/version-etc (License): Relax license.
25966
25967         better AC_REQUIRE expanded-before-required-warning avoidance
25968         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
25969         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
25970         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
25971         which is no longer needed.
25972
25973 2009-11-16  Eric Blake  <ebb9@byu.net>
25974
25975         test-freading: clean up temporary file
25976         * tests/test-freading.c (main): Remove file on success, and use
25977         ASSERT more liberally.
25978         Reported by Jim Meyering.
25979
25980 2009-11-16  Jim Meyering  <meyering@redhat.com>
25981
25982         avoid new AC_REQUIRE expanded-before-required warnings
25983         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
25984         merely using it.
25985         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
25986         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
25987
25988 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25989
25990         * tests/test-xalloc-die.c: New file.
25991         * modules/xalloc-die-tests: New file.
25992         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
25993         XFAIL_TESTS so it can be appended by modules.
25994
25995 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25996
25997         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
25998         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
25999
26000 2009-11-14  Eric Blake  <ebb9@byu.net>
26001
26002         fnmatch: avoid compiler warning
26003         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
26004         to silence compiler warning about mismatch signedness in ?:.
26005         Reported by Robert Millan.
26006
26007         intprops: add double-inclusion guard
26008         * lib/intprops.h: Allow idempotent includes.
26009         Suggested by Bruce Korb.
26010
26011         openat: detect Solaris fchownat bug
26012         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
26013         penalizing glibc chownat when only lchownat is broken.
26014         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
26015         trailing slash bugs.
26016         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
26017         * modules/openat-tests (Files): Include more files.
26018         (Depends-on): Add mgetgroups, sleep, stat-time.
26019         (configure.ac): Add additional checks.
26020         (Makefile.am): Build new test.
26021         * tests/test-fchownat.c: New file.
26022
26023         lchown: detect Solaris and FreeBSD bug
26024         * lib/lchown.c (rpl_lchown): Work around bug.
26025         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
26026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26027         * modules/unistd (Makefile.am): Populate it.
26028         * lib/unistd.in.h (lchown): Update declaration.
26029         * doc/posix-functions/lchown.texi (lchown): Document the bug.
26030         * modules/lchown-tests: New file.
26031         * tests/test-lchown.h (test_lchown): Likewise.
26032         * tests/test-lchown.c (main): Likewise.
26033
26034         chown: detect Solaris and FreeBSD bug
26035         * lib/chown.c (rpl_chown): Work around bug.
26036         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
26037         (gl_PREREQ_CHOWN): Delete.
26038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26039         * modules/unistd (Makefile.am): Populate it.
26040         * lib/unistd.in.h (chown): Update declaration.
26041         * lib/lchown.c (chown): Update client.
26042         * modules/lchown (Depends-on): Add lstat.
26043         * doc/posix-functions/chown.texi (chown): Document the bug.
26044         * doc/posix-functions/getgroups.texi (getgroups): Document
26045         getgroups pitfall.
26046         * modules/chown-tests: New file.
26047         * tests/test-chown.h (test_chown): Likewise.
26048         * tests/test-chown.c (main): Likewise.
26049
26050 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
26051
26052         gnulib-tool: correctly detect absence of m4 directories
26053         * gnulib-tool: Avoid extra newline on data passed to wc -l.
26054
26055 2009-11-14  Jim Meyering  <meyering@redhat.com>
26056
26057         maint.mk: Prohibit inclusion of "xalloc.h" without use.
26058         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
26059
26060 2009-11-14  John W. Eaton  <jwe@gnu.org>
26061
26062         strftime.h: wrap funtion declaration in extern "C" block
26063         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
26064
26065 2009-11-13  Eric Blake  <ebb9@byu.net>
26066
26067         getgroups: avoid compiler warning
26068         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
26069
26070         getgroups: work around FreeBSD bug
26071         * lib/getgroups.c (rpl_getgroups): Work around the bug.
26072         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
26073         * doc/posix-functions/getgroups.texi (getgroups): Document it.
26074         * tests/test-getgroups.c (main): Fix buffer overrun.
26075
26076         getgroups: avoid compilation failure
26077         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
26078         * modules/getgroups (Depends-on): Add stdint.
26079
26080 2009-11-13  Jim Meyering  <meyering@redhat.com>
26081
26082         test-getgroups: avoid compilation failure
26083         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
26084
26085 2009-11-13  Eric Blake  <ebb9@byu.net>
26086
26087         mgetgroups: new module, taken from coreutils
26088         * modules/mgetgroups: New file.
26089         * lib/mgetgroups.h: Likewise.
26090         * lib/mgetgroups.c (mgetgroups): Likewise.
26091         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
26092         * MODULES.html.sh (Users and groups): Mention it.
26093
26094         getgroups: don't expose GETGROUPS_T to user
26095         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
26096         an element at a time if GETGROUPS_T is wrong size.
26097         * lib/getugroups.h (getugroups): Change signature.
26098         * lib/unistd.in.h (getgroups): Likewise.
26099         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
26100         signature needs fixing.
26101         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
26102         AC_TYPE_GETGROUPS.
26103         * modules/group-member (Depends-on): Add getgroups.
26104         * lib/group-member.c (group_info, get_group_info): Use gid_t.
26105         (group_member): Rely on getgroups replacement.
26106         * lib/getugroups.c (getugroups): Use gid_t.
26107         * tests/test-getgroups.c (main): Likewise.
26108         * NEWS: Mention the signature change.
26109         * doc/posix-functions/getgroups.texi (getgroups): Mention the
26110         problem with signature.
26111         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
26112         GETGROUPS_T is still useful for setgroups.
26113
26114         getgroups, getugroups: provide stubs for mingw
26115         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
26116         * lib/getugroups.c (getugroups): Likewise.
26117         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
26118         function.  Modernize replacement scheme.
26119         (gl_PREREQ_GETGROUPS): Delete.
26120         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
26121         * modules/getgroups (configure.ac): Declare witness.
26122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
26123         * modules/unistd (Depends-on): Substitute witness.
26124         * lib/unistd.in.h (getgroups): Declare replacement.
26125
26126         getgroups: avoid calling exit
26127         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
26128         drop xalloc.
26129         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
26130         dependencies.
26131         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
26132         exiting, in the rare case of malloc failure.
26133
26134         getgroups: fix logic error
26135         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
26136         has more than 20 groups.
26137         * modules/getgroups-tests: New test.
26138         * tests/test-getgroups.c: New file.
26139
26140 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26141
26142         * tests/test-base64.c: Improve.
26143
26144 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26145
26146         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
26147         Blake <ebb9@byu.net>.
26148
26149 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26150
26151         * tests/test-xvasprintf.c: Add %s%s related checks.
26152
26153 2009-11-12  Eric Blake  <ebb9@byu.net>
26154
26155         version-etc: match standards.texi style
26156         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
26157         and use <> only for URLs.
26158
26159 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
26160
26161         fts: do not fail on a submount during traversal
26162         * lib/fts.c (fts_build): Read the stat info again after opening
26163         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
26164         Original report at http://bugzilla.redhat.com/501848.
26165
26166 2009-11-12  Jim Meyering  <meyering@redhat.com>
26167
26168         bootstrap: sync from coreutils
26169         * build-aux/bootstrap (bootstrap_epilogue): New function.
26170         Use git_modules_config in one more place.  This make bootstrap's
26171         --gnulib-srcdir option more useful for testing.
26172
26173         bootstrap: generalize autoheader check
26174         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
26175         AC_CONFIG_HEADERS.
26176
26177 2009-11-11  Eric Blake  <ebb9@byu.net>
26178
26179         mkfifoat: use new modules for Solaris and BSD bugs
26180         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
26181         * lib/mkfifoat.c (mknodat): Split...
26182         * lib/mknodat.c (mknodat): ...into new file.
26183         * modules/mkfifoat (Files): Ship new file.
26184         (Depends-on): Add mkfifo, mknod.
26185         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
26186         (Depends-on): Add symlink.
26187         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
26188         redundant with test_mkfifo.h.
26189         (do_mkfifoat, do_mknodat): New helpers.
26190
26191         mknod: new module
26192         * modules/mknod: New file.
26193         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
26194         * lib/mknod.c (mknod): Likewise.
26195         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26196         defaults.
26197         * modules/sys_stat (Makefile.am): Substitute them.
26198         * lib/sys_stat.in.h (mknod): Declare replacement.
26199         * MODULES.html.sh (Support for systems lacking POSIX:2008):
26200         Document it.
26201         * doc/posix-functions/mknod.texi (mknod): Likewise.
26202         * modules/mknod-tests: New test.
26203         * tests/test-mknod.c: Likewise.
26204
26205         mkfifo: new module
26206         * modules/mkfifo: New file.
26207         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
26208         * lib/mkfifo.c (mkfifo): Likewise.
26209         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26210         defaults.
26211         * modules/sys_stat (Makefile.am): Substitute them.
26212         * lib/sys_stat.in.h (mkfifo): Declare replacement.
26213         * MODULES.html.sh (Support for systems lacking POSIX:2008):
26214         Document it.
26215         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
26216         * modules/mkfifo-tests: New test.
26217         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
26218         from test-mkfifoat.c.
26219         * tests/test-mkfifo.c: New file.
26220
26221         readlink: detect FreeBSD bug
26222         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
26223         slash on symlink.
26224         * doc/posix-functions/readlink.texi (readlink): Document the bug.
26225         * tests/test-readlink.h (test_readlink): Enhance test.
26226
26227         symlink: detect FreeBSD bug
26228         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
26229         slash on symlink.
26230         * doc/posix-functions/symlink.texi (symlink): Document the bug.
26231         * tests/test-symlink.h (test_symlink): Enhance test.
26232
26233 2009-11-10  Eric Blake  <ebb9@byu.net>
26234
26235         link: detect FreeBSD bug
26236         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
26237         symlink.
26238         * doc/posix-functions/link.texi (link): Document the bug.
26239         * tests/test-link.h (test_link): Enhance test.
26240         * tests/test-linkat.c (main): Update caller.
26241
26242         unlink, remove: detect FreeBSD bug
26243         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
26244         slash on symlink.
26245         * doc/posix-functions/unlink.texi (unlink): Document the bug.
26246         * doc/posix-functions/remove.texi (remove): Likewise.
26247         * tests/test-unlink.h (test_unlink): Enhance test.
26248         * tests/test-remove.c (main): Likewise.
26249
26250 2009-11-09  Eric Blake  <ebb9@byu.net>
26251
26252         rename: detect FreeBSD bug
26253         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
26254         slash on symlink.
26255         * modules/renameat-tests (Depends-on): Add filenamecat.
26256         * tests/test-rename.h (test_rename): Allow one more errno.
26257         * tests/test-renameat.c (main): Likewise.
26258         * doc/posix-functions/rename.texi (rename): Document the bug.
26259
26260         open: detect FreeBSD bug
26261         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
26262         symlink.
26263         * doc/posix-functions/open.texi (open): Document the bug.
26264         * doc/posix-functions/utimes.texi (utimes): Likewise.
26265         * tests/test-open.h (test_open): Add parameters, and test symlink
26266         handling.
26267         * tests/test-open.c (main): Adjust caller.
26268         * tests/test-fcntl-safer.c (main): Likewise.
26269         * modules/open-tests (Depends-on): Add stdbool, symlink.
26270         * modules/fcntl-safer-tests (Depends-on): Likewise.
26271         * tests/test-openat.c (main): Add test-open tests.
26272
26273         stat: detect FreeBSD bug
26274         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
26275         symlink.
26276         * doc/posix-functions/stat.texi (stat): Document the bug.
26277         * tests/test-stat.h (test_stat_func): Add argument.
26278         * tests/test-stat.c (main): Adjust caller.
26279         * tests/test-fstatat.c (main): Likewise.
26280         * modules/stat-tests (Depends-on): Add stdbool, symlink.
26281         Reported by Jim Meyering.
26282
26283 2009-11-09  James Youngman  <jay@gnu.org>
26284
26285         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
26286         * lib/strftime.c: Correct placement of #include "ignore-value.h".
26287
26288 2009-11-08  Jim Meyering  <meyering@redhat.com>
26289
26290         utimens: remove invalid futimesat call
26291         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
26292         It used the file descriptor of the target file as the DIR_FD
26293         parameter and NULL as the file name.  That caused failure with
26294         errno == EFAULT on FreeBSD-8.0-rc2
26295
26296 2009-11-07  Eric Blake  <ebb9@byu.net>
26297
26298         fflush, freadseek: use fseeko, not fseek
26299         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
26300         (clear_ungetc_buffer): Avoid potential problems on large files.
26301         * lib/freadseek.c (freadseek): Likewise.
26302         * modules/freadseek (Depends-on): Add fseeko.
26303         * modules/fseek (configure.ac): Set a witness.
26304         * tests/test-fflush.c (main): Use fseeko.
26305         * tests/test-fpurge.c (fseek): Disable link warning.
26306         * tests/test-freadable.c (fseek): Likewise.
26307         * tests/test-freading.c (fseek): Likewise.
26308         * tests/test-fseeko.c (fseek): Likewise.
26309         * tests/test-ftell.c (fseek): Likewise.
26310         * tests/test-ftello.c (fseek): Likewise.
26311         * tests/test-fwritable.c (fseek): Likewise.
26312         * tests/test-fwriting.c (fseek): Likewise.
26313
26314 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26315
26316         * modules/memchr (Depends-on): Drop getpagesize dependency.
26317
26318 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26319
26320         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
26321         Reported by Ludovic Courtès.
26322         * build-aux/pmccabe2html: Improve example usage.
26323         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
26324
26325 2009-11-06  Jim Meyering  <meyering@redhat.com>
26326
26327         do-release-commit-and-tag: New module.
26328         Automate the release-commit and tag process.
26329         * build-aux/do-release-commit-and-tag: New script, from coreutils.
26330         * modules/do-release-commit-and-tag: New file.
26331         * MODULES.html.sh (Support for maintaining and releasing): Add it.
26332
26333 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26334
26335         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
26336         because test-select.c uses inet_pton.
26337
26338 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26339
26340         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
26341         GETADDRINFO_LIB.  Bump serial number.
26342         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
26343         Suggested by Eric Blake <ebb9@byu.net>.
26344
26345 2009-11-05  Eric Blake  <ebb9@byu.net>
26346
26347         strtod: detect darwin bug
26348         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
26349         Reported by Leo Davis.
26350
26351         freopen-safer: new module
26352         * modules/freopen-safer: New module.
26353         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
26354         * lib/freopen-safer.c (freopen_safer): New file.
26355         * lib/stdio-safer.h (freopen_safer): New declaration.
26356         * lib/stdio--.h (freopen): New override.
26357         * MODULES.html.sh (File stream based Input/Output): Mention it.
26358         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
26359         freopen-safer module.
26360         * doc/posix-functions/stderr.texi (stderr): Likewise.
26361         * doc/posix-functions/stdin.texi (stdin): Likewise.
26362         * doc/posix-functions/stdout.texi (stdout): Likewise.
26363         * modules/freopen-safer-tests: New test.
26364         * tests/test-reopen-safer.c: New file.
26365
26366 2009-11-05  Jim Meyering  <meyering@redhat.com>
26367
26368         maint.mk: Prohibit inclusion of "close-stream.h" without use.
26369         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
26370
26371 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26372
26373         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
26374
26375 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26376
26377         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
26378
26379 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26380
26381         Fix link error.
26382         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
26383         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26384
26385 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26386
26387         * tests/test-func.c: Also test value of __func__.
26388
26389 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26390
26391         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
26392         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
26393
26394 2009-11-05  Bruno Haible  <bruno@clisp.org>
26395
26396         Fix link error.
26397         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
26398         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26399         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
26400
26401 2009-11-05  Bruno Haible  <bruno@clisp.org>
26402
26403         Tests for module 'inet_pton'.
26404         * modules/inet_pton-tests: New file.
26405         * tests/test-inet_pton.c: New file.
26406
26407 2009-11-05  Bruno Haible  <bruno@clisp.org>
26408
26409         Tests for module 'inet_ntop'.
26410         * modules/inet_ntop-tests: New file.
26411         * tests/test-inet_ntop.c: New file.
26412
26413 2009-11-04  Eric Blake  <ebb9@byu.net>
26414
26415         stdlib-safer: wrap all mkstemp variants
26416         * modules/mkostemp (configure.ac): Set witness.
26417         * modules/mkostemps (configure.ac): Likewise.
26418         * modules/mkstemps (configure.ac): Likewise.
26419         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
26420         (mkstemps_safer): Wrap more functions.
26421         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
26422         wrapping.
26423         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
26424         (mkstemps_safer): Implement the wrappers.
26425
26426         mkstemps, mkostemps: new modules
26427         * modules/mkostemps: New module.
26428         * modules/mkstemps: Likewise.
26429         * lib/mkostemps.c (mkostemps): New file.
26430         * lib/mkstemps.c (mkstemps): Likewise.
26431         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
26432         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
26433         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
26434         * modules/stdlib (Makefile.am): Substitute them.
26435         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
26436         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
26437         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26438         * doc/gnulib.texi (Glibc stdlib.h): Include them.
26439         * MODULES.html.sh (File system functions): Mention them.
26440
26441         tempname: resync from glibc
26442         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
26443         same values for __GT_FILE as glibc.  Abort even when assertions
26444         are disabled.
26445         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
26446         match its value otherwise.  Allow idempotent inclusion.
26447         * lib/mkdtemp.c (mkdtemp): Adjust caller.
26448         * lib/mkostemp.c (mkostemp): Likewise.
26449         * lib/mkstemp.c (mkstemp): Likewise.
26450         * lib/tmpfile.c (tmpfile): Likewise.
26451         * NEWS: Document this.
26452
26453         utimens: fix use of futimens on older Linux
26454         * lib/utimens.c (fdutimens): Use updated, rather than original,
26455         timespec to avoid bug in older Linux kernel.
26456         Reported by Simon Josefsson.
26457
26458 2009-11-04  Bruno Haible  <bruno@clisp.org>
26459
26460         Make num_processors more flexible and consistent.
26461         * lib/nproc.h (enum nproc_query): New type.
26462         (num_processors): Add a 'query' argument.
26463         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
26464         (num_processors): Add a 'query' argument. Test the value of the
26465         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
26466         mingw, count the number of CPUs available for the current process.
26467         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
26468         Check for sched_getaffinity and sched_getaffinity_np.
26469         * modules/nproc (Depends-on): Add c-ctype, extensions.
26470         * NEWS: Mention the change.
26471
26472 2009-11-03  Bruno Haible  <bruno@clisp.org>
26473
26474         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
26475
26476 2009-11-03  Jim Meyering  <meyering@redhat.com>
26477
26478         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
26479         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
26480         if it is defined.
26481
26482 2009-11-02  Eric Blake  <ebb9@byu.net>
26483
26484         mktime, timegm: share common declaration
26485         * lib/mktime-internal.h: New file.
26486         * lib/mktime.c: Use it rather than open-coding a declaration.
26487         * lib/timegm.c: Likewise.
26488         * modules/mktime (Files): Ship it.
26489         * modules/timegm (Files): Likewise.
26490         Suggested by Bruno Haible.
26491
26492         test-update-copyright: update test to match script changes
26493         * tests/test-update-copyright.sh: Avoid hard-coding perl
26494         location.  Don't update *.bak created by earlier runs.
26495
26496 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26497             Simon Josefsson  <simon@josefsson.org>
26498             Bruno Haible  <bruno@clisp.org>
26499
26500         Fix link error on Solaris 8.
26501         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
26502         also in libnsl. Define also INET_PTON_LIB.
26503         * modules/inet_pton (Link): New section.
26504
26505 2009-11-02  Simon Josefsson  <simon@josefsson.org>
26506             Bruno Haible  <bruno@clisp.org>
26507
26508         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
26509         * modules/inet_ntop (Link): New section.
26510         Reported by Boyan Kasarov <bkasarov@gmail.com>.
26511
26512 2009-11-02  Eric Blake  <ebb9@byu.net>
26513
26514         maint: avoid compiler warnings in m4 macros
26515         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
26516         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
26517
26518 2009-11-02  Simon Josefsson  <simon@josefsson.org>
26519
26520         * m4/pmccabe2html.m4: Remove file.
26521         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
26522         function.  Change maintainer.
26523         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
26524         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
26525         Courtès).
26526
26527 2009-10-31  Eric Blake  <ebb9@byu.net>
26528
26529         fseeko: fix m4 regression
26530         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
26531         regression from 2009-10-27.
26532         Reported by Ralf Wildenhues.
26533
26534 2009-10-31  Jim Meyering  <meyering@redhat.com>
26535
26536         inttostr: aesthetics and improved (compile-time) safety
26537         Define inttype_is_signed rather than inttype_is_unsigned,
26538         since the sole use is via "#if inttype_is_signed".
26539         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
26540         inttype_is_unsigned.
26541         * lib/offtostr.c (inttype_is_signed): Likewise.
26542         * lib/uinttostr.c (inttype_is_signed): Likewise.
26543         * lib/umaxtostr.c (inttype_is_signed): Likewise.
26544         * lib/inttostr.c (inttostr): Use verify to cross-check the
26545         inttype_is_signed value and the signedness of the actual type.
26546         * modules/inttostr (Depends-on): Add verify.
26547
26548 2009-10-30  Eric Blake  <ebb9@byu.net>
26549
26550         build: avoid compiler warnings
26551         * lib/fchmodat.c (lchmod): Mark unused variables.
26552         * lib/getopt.c (_getopt_initialize): Likewise.
26553         * lib/mktime.c (__mktime_internal): Provide prototype.
26554         * lib/inttostr.c (inttostr): Avoid compiler warning even with
26555         older gcc that do not understand #pragma GCC diagnostic.
26556         * lib/uinttostr.c (inttype_is_unsigned): Define.
26557         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
26558
26559 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
26560
26561         stat: fix compilation on AIX
26562         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
26563         only see struct stat64.
26564
26565 2009-10-30  Eric Blake  <ebb9@byu.net>
26566
26567         exclude: make more robust
26568         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
26569         rather than masking a coding bug.
26570         Suggested by Bruno Haible.
26571
26572 2009-10-30  Jim Meyering  <meyering@redhat.com>
26573
26574         perl scripts: remove #!/usr/bin/perl in favor of more portable...
26575         Rather than putting #!/usr/bin/perl on the first line,
26576         start with a variant of what's recommended by "man perlrun" that
26577         invokes the first "perl" program from your shell's search path.
26578         * build-aux/gitlog-to-changelog: Replace #!... as above.
26579         Add a "Local Variables" perl mode setting.
26580         Prompted by a patch from Ludovic Courtès.
26581         Improved by Eric Blake.
26582         * build-aux/useless-if-before-free: Likewise.
26583         * build-aux/announce-gen: Likewise.
26584         * build-aux/update-copyright: Likewise.
26585
26586 2009-10-29  Eric Blake  <ebb9@byu.net>
26587
26588         filenamecat-lgpl: adjust clients
26589         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
26590         filenamecat.
26591         * modules/renameat (Depends-on): Likewise.
26592
26593         filenamecat: split into filenamecat-lgpl
26594         * modules/filenamecat-lgpl: New module.
26595         * modules/filenamecat (Files): Move library-safe files into
26596         filenamecat-lgpl.
26597         (Depends-on): Add filenamecat-lgpl.
26598         (configure.ac): Declare witness.
26599         * lib/filenamecat.h (file_name_concat): Only declare when using
26600         GPL module.
26601         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
26602         Move...
26603         * lib/filenamecat-lgpl.c: ...into new file.
26604         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
26605         (gl_FILE_NAME_CONCAT): Use it.
26606         * MODULES.html.sh (File system functions): Mention new module.
26607
26608         argp: avoid memory leak
26609         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
26610         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
26611         base_name, since the latter malloc()s and can call exit().
26612         Leak introduced 2006-07-03.
26613
26614         dirname-lgpl: adjust clients that don't need full dirname
26615         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
26616         * modules/filenamecat (Depends-on): Likewise.
26617         * modules/linkat (Depends-on): Likewise.
26618         * modules/mkancesdirs (Depends-on): Likewise.
26619         * modules/mkdir (Depends-on): Likewise.
26620         * modules/openat (Depends-on): Likewise.
26621         * modules/savewd (Depends-on): Likewise.
26622         * modules/rename (Depends-on): Likewise.
26623         (License): Relax license.
26624         * modules/mkdir-tests (Depends-on): Drop progname.
26625         (Makefile.am): Delete unneeded LDADD.
26626         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
26627
26628         dirname: split into dirname-lgpl
26629         * modules/dirname-lgpl: New module.
26630         * modules/dirname (Files): Move library-safe files into
26631         dirname-lgpl.
26632         (Depends-on): Add dirname-lgpl.
26633         (configure.ac): Declare witness.
26634         * modules/double-slash-root (License): Relax license.
26635         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
26636         module.
26637         * lib/dirname.c (dir_len, mdir_name): Move...
26638         * lib/dirname-lgpl.c: ...into new file.
26639         * lib/basename.c (last_component, base_len): Move...
26640         * lib/basename-lgpl.c: ...into new file.
26641         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
26642         (gl_DIRNAME): Use it.
26643         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
26644         Mention new module.
26645         * modules/dirname-tests (Depends-on): Add progname.
26646         * tests/test-dirname.c (program_name): Delete.
26647
26648         mkdir: make safe for libraries
26649         * modules/mkdir (Depends-on): Drop xalloc.
26650         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
26651         exit.
26652
26653         tests: avoid some compiler warnings
26654         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
26655         literals.
26656         * tests/test-memchr.c (main): Avoid type mismatch.
26657         * tests/test-arpa_inet.c (main): Avoid unused parameters.
26658         * tests/test-base64.c (main): Likewise.
26659         * tests/test-getdelim.c (main): Likewise.
26660         * tests/test-gethostname.c (main): Likewise.
26661         * tests/test-getline.c (main): Likewise.
26662         * tests/test-netinet_in.c (main): Likewise.
26663         * tests/test-select.c (open_server_socket, main): Likewise.
26664         * tests/test-select-stdin.c (main): Likewise.
26665         * tests/test-sockets.c (main): Likewise.
26666         * tests/test-strsignal.c (main): Likewise.
26667         * tests/test-sys_select.c (main): Likewise.
26668         * tests/test-sys_socket.c (main): Likewise.
26669         * tests/test-u64.c (main): Likewise.
26670         * tests/test-xfprintf-posix.c (main): Likewise.
26671         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
26672
26673         sockets: avoid compiler warning
26674         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
26675
26676         maint: detect usage(1) and other suspicious exits
26677         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
26678
26679 2009-10-29  Jim Meyering  <meyering@redhat.com>
26680
26681         timespec: long-to-int truncation could make timespec_cmp malfunction
26682         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
26683         a multiple of 2^32 nanoseconds as no difference.
26684
26685 2009-10-28  Jim Meyering  <meyering@redhat.com>
26686
26687         fprintftime: wrap macro code argument in "do {...} while(0)"
26688         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
26689         cpy macro must be a statement that can be followed by a semicolon.
26690         Now that the else clause contains a comment and is hence longer
26691         than one line, I require curly braces.  That in turn requires
26692         that we wrap this code block in the standard do...while(0).
26693
26694         fprintftime: remove stray semicolon from previous change
26695         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
26696
26697         fprintftime: avoid a warning about ignored fwrite return value
26698         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
26699         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
26700         that is unsafe.
26701         * modules/fprintftime (Depends-on): Add ignore-value.
26702
26703         exclude: avoid an unwarranted warning
26704         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
26705
26706 2009-10-27  Eric Blake  <ebb9@byu.net>
26707
26708         fseek: avoid compilation failure when fflush is replaced
26709         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
26710         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
26711         module is in use.
26712         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
26713         module is not in use; since REPLACE_FSEEK worked otherwise.
26714         (GNULIB_FTELLO): Likewise for ftell.
26715         Reported by Ian Beckwith and others.
26716
26717 2009-10-27  Bruno Haible  <bruno@clisp.org>
26718
26719         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
26720         Reported by Jim Meyering.
26721
26722 2009-10-27  Jim Meyering  <jim@meyering.net>
26723             Bruno Haible  <bruno@clisp.org>
26724
26725         Avoid warning despite dropping the return value of fwrite.
26726         * lib/unicodeio.c: Include ignore-value.h.
26727         (fwrite_success_callback): Explicitly ignore fwrite's return value.
26728         * modules/unicodeio (Depends-on): Add ignore-value.
26729
26730 2009-10-26  Eric Blake  <ebb9@byu.net>
26731
26732         areadlinkat: fix fallback path
26733         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
26734         pointer and zero.
26735
26736 2009-10-22  Pádraig Brady  <P@draigBrady.com>
26737
26738         Use a better IO block size for modern systems
26739         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
26740         * lib/md2.c: Likewise.
26741         * lib/md4.c: Likewise.
26742         * lib/md5.c: Likewise.
26743         * lib/sha1.c: Likewise.
26744         * lib/sha256.c: Likewise.
26745         * lib/sha512.c: Likewise.
26746
26747 2009-10-22  Eric Blake  <ebb9@byu.net>
26748
26749         tests: avoid several compiler warnings
26750         * tests/test-getcwd.c (main): Avoid buffer underflow.
26751         * tests/test-getdate.c (main): String literals are not safe with
26752         putenv, so use setenv.  Declare unused argument.
26753         * modules/getdate-tests (Depends-on): Add setenv.
26754         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
26755         problems with string literals in char *.
26756         * tests/test-hash.c (main): Avoid shadowing declaration.
26757         (insert_new): Treat string literals as char const *.
26758         * tests/test-getopt.h (test_getopt): Likewise.
26759         (getopt_loop): Alter types to minimize casting elsewhere.
26760         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
26761         (test_getopt_long_posix): Likewise.
26762         (do_getopt_long): Add wrapper to minimize casting.
26763         * tests/test-atexit.c (clear_temp_file): Use void.
26764         * tests/test-areadlink-with-size.c (main): Declare unused
26765         arguments.
26766         * tests/test-areadlink.c (main): Likewise.
26767         * tests/test-areadlinkat-with-size.c (main): Likewise.
26768         * tests/test-areadlinkat.c (main): Likewise.
26769         * tests/test-canonicalize-lgpl.c (main): Likewise.
26770         * tests/test-canonicalize.c (main): Likewise.
26771         * tests/test-dirent-safer.c (main): Likewise.
26772         * tests/test-dirname.c (main): Likewise.
26773         * tests/test-dup2.c (main): Likewise.
26774         * tests/test-fchdir.c (main): Likewise.
26775         * tests/test-fcntl-h.c (main): Likewise.
26776         * tests/test-fcntl-safer.c (main): Likewise.
26777         * tests/test-fdopendir.c (main): Likewise.
26778         * tests/test-fdutimensat.c (main): Likewise.
26779         * tests/test-fflush.c (main): Likewise.
26780         * tests/test-filenamecat.c (main): Likewise.
26781         * tests/test-filevercmp.c (main): Likewise.
26782         * tests/test-fopen-safer.c (main): Likewise.
26783         * tests/test-fopen.c (main): Likewise.
26784         * tests/test-fpending.c (main): Likewise.
26785         * tests/test-fpurge.c (main): Likewise.
26786         * tests/test-freading.c (main): Likewise.
26787         * tests/test-fstatat.c (main): Likewise.
26788         * tests/test-fsync.c (main): Likewise.
26789         * tests/test-futimens.c (main): Likewise.
26790         * tests/test-getndelim2.c (main): Likewise.
26791         * tests/test-gettimeofday.c (main): Likewise.
26792         * tests/test-getopt.c (main): Likewise.
26793         * tests/test-i-ring.c (main): Likewise.
26794         * tests/test-inttypes.c (main): Likewise.
26795         * tests/test-link.c (main): Likewise.
26796         * tests/test-lstat.c (main): Likewise.
26797         * tests/test-math.c (main): Likewise.
26798         * tests/test-md5.c (main): Likewise.
26799         * tests/test-memchr2.c (main): Likewise.
26800         * tests/test-memrchr.c (main): Likewise.
26801         * tests/test-mkdir.c (main): Likewise.
26802         * tests/test-mkdirat.c (main): Likewise.
26803         * tests/test-mkfifoat.c (main): Likewise.
26804         * tests/test-open.c (main): Likewise.
26805         * tests/test-openat-safer.c (main): Likewise.
26806         * tests/test-openat.c (main): Likewise.
26807         * tests/test-quotearg.c (main): Likewise.
26808         * tests/test-rawmemchr.c (main): Likewise.
26809         * tests/test-readlink.c (main): Likewise.
26810         * tests/test-remove.c (main): Likewise.
26811         * tests/test-rename.c (main): Likewise.
26812         * tests/test-renameat.c (main): Likewise.
26813         * tests/test-rmdir.c (main): Likewise.
26814         * tests/test-sha1.c (main): Likewise.
26815         * tests/test-signal.c (main): Likewise.
26816         * tests/test-sigaction.c (main): Likewise.
26817         * tests/test-stat.c (main): Likewise.
26818         * tests/test-stat-time.c (main): Likewise.
26819         * tests/test-stddef.c (main): Likewise.
26820         * tests/test-stdint.c (main): Likewise.
26821         * tests/test-stdio.c (main): Likewise.
26822         * tests/test-stdlib.c (main): Likewise.
26823         * tests/test-strchrnul.c (main): Likewise.
26824         * tests/test-strerror.c (main): Likewise.
26825         * tests/test-string.c (main): Likewise.
26826         * tests/test-strtod.c (main): Likewise.
26827         * tests/test-strverscmp.c (main): Likewise.
26828         * tests/test-symlink.c (main): Likewise.
26829         * tests/test-symlinkat.c (main): Likewise.
26830         * tests/test-sys_stat.c (main): Likewise.
26831         * tests/test-sys_time.c (main): Likewise.
26832         * tests/test-time.c (main): Likewise.
26833         * tests/test-unistd.c (main): Likewise.
26834         * tests/test-unlink.c (main): Likewise.
26835         * tests/test-unlinkat.c (main): Likewise.
26836         * tests/test-utimens.c (main): Likewise.
26837         * tests/test-utimensat.c (main): Likewise.
26838         * tests/test-version-etc.c (main): Likewise.
26839         * tests/test-wchar.c (main): Likewise.
26840         * tests/test-wctype.c (main): Likewise.
26841         * tests/test-xprintf-posix.c (main): Likewise.
26842         * tests/test-posixtm.c (main): Likewise.
26843         (STREQ): Delete unused macro.
26844         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
26845         shadowed variables.
26846         * tests/test-memchr.c (main): Likewise.
26847
26848 2009-10-21  Eric Blake  <ebb9@byu.net>
26849
26850         areadlinkat: avoid failure on older glibc
26851         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
26852         rather than mis-comparing 0 against FUNC_RESULT of char*.
26853
26854 2009-10-21  Bruno Haible  <bruno@clisp.org>
26855
26856         * modules/stpncpy (License): Relicense under LGPLv2+.
26857         Reported by David Lutterkort <lutter@redhat.com>.
26858
26859 2009-10-20  Eric Blake  <ebb9@byu.net>
26860
26861         utimensat: work around Solaris 9 bug
26862         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
26863         has trailing slash bugs.
26864         * tests/test-lutimens.h (test_lutimens): Enhance test.
26865         * tests/test-utimens.h (test_utimens): Likewise.
26866         * doc/posix-functions/utime.texi (utime): Enhance documentation.
26867         * doc/posix-functions/utimes.texi (utimes): Likewise.
26868         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26869         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
26870         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
26871         * doc/posix-functions/futimens.texi (futimens): Likewise.
26872
26873         fdutimensat: new module
26874         * modules/fdutimensat: New file.
26875         * lib/fdutimensat.c (fdutimensat): Likewise.
26876         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
26877         * MODULES.html.sh (File system functions): Mention module.
26878         * modules/fdutimensat-tests: New test.
26879         * tests/test-fdutimensat.c: Likewise.
26880
26881         doc: regenerate INSTALL
26882         * doc/INSTALL: Reflect recent autoconf update.
26883         * doc/INSTALL.ISO: Likewise.
26884         * doc/INSTALL.UTF-8: Likewise.
26885
26886 2009-10-20  Pádraig Brady  <P@draigBrady.com>
26887
26888         acl: warn if ACL support is not detected
26889         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
26890
26891 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
26892
26893         * lib/nproc.h: Add extern "C" block for C++.
26894
26895 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
26896             Bruno Haible  <bruno@clisp.org>
26897
26898         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
26899         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
26900         * doc/posix-functions/isalpha.texi: Likewise.
26901         * doc/posix-functions/isblank.texi: Likewise.
26902         * doc/posix-functions/iscntrl.texi: Likewise.
26903         * doc/posix-functions/isdigit.texi: Likewise.
26904         * doc/posix-functions/isgraph.texi: Likewise.
26905         * doc/posix-functions/islower.texi: Likewise.
26906         * doc/posix-functions/isprint.texi: Likewise.
26907         * doc/posix-functions/ispunct.texi: Likewise.
26908         * doc/posix-functions/isspace.texi: Likewise.
26909         * doc/posix-functions/isupper.texi: Likewise.
26910         * doc/posix-functions/isxdigit.texi: Likewise.
26911
26912 2009-10-18  Bruno Haible  <bruno@clisp.org>
26913
26914         Tests for module 'isblank'.
26915         * modules/isblank-tests: New file.
26916         * tests/test-isblank.c: New file.
26917
26918         New module 'isblank'.
26919         * lib/isblank.c: New file.
26920         * m4/isblank.m4: New file.
26921         * modules/isblank: New file.
26922         * doc/posix-functions/isblank.texi: Mention the new module.
26923
26924 2009-10-18  Bruno Haible  <bruno@clisp.org>
26925
26926         New module 'ctype'.
26927         * lib/ctype.in.h: New file.
26928         * m4/ctype.m4: New file.
26929         * modules/ctype: New file.
26930         * doc/posix-headers/ctype.texi: Mention the new module.
26931
26932 2009-10-18  Jim Meyering  <meyering@redhat.com>
26933
26934         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
26935         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
26936         right after its initialization, rather than farther down.
26937         Keeping these in close proximity makes it easier to ensure
26938         that each such variable is initialized.  E.g.,
26939
26940             LIB_CLOCK_GETTIME=
26941             AC_SUBST([LIB_CLOCK_GETTIME])
26942
26943         This change also increments these serial numbers.
26944         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
26945         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26946         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26947
26948 2009-10-18  Bruno Haible  <bruno@clisp.org>
26949
26950         Don't let environment variables perturb build.
26951         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
26952         (gl_PREREQ_GETHRXTIME): ... not here.
26953
26954 2009-10-18  Bruno Haible  <bruno@clisp.org>
26955
26956         Avoid symlink attack in localcharset module.
26957         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
26958         (O_NOFOLLOW): Define fallback.
26959         (get_charset_aliases): Don't open the file if it is a symbolic link.
26960         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
26961         gl_FCNTL_H.
26962         (gl_FCNTL_H): Require it.
26963         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
26964         * modules/localcharset (Files): Add m4/fcntl_h.m4.
26965         Reported by Fergal Glynn <fglynn@veracode.com>.
26966
26967 2009-10-18  Bruno Haible  <bruno@clisp.org>
26968
26969         Implement nproc for mingw.
26970         * lib/nproc.c: Include <windows.h>
26971         (num_processors): On native Windows platforms, try GetSystemInfo.
26972
26973 2009-10-18  Bruno Haible  <bruno@clisp.org>
26974
26975         Implement nproc for IRIX.
26976         * lib/nproc.c: Include <sys/sysmp.h>.
26977         (num_processors): On IRIX systems, try sysmp.
26978         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
26979
26980 2009-10-18  Bruno Haible  <bruno@clisp.org>
26981
26982         Implement nproc for HP-UX.
26983         * lib/nproc.c: Include <sys/pstat.h>
26984         (num_processors): On HP-UX systems, try pstat_getdynamic.
26985         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
26986         pstat_getdynamic.
26987
26988 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
26989             Bruno Haible  <bruno@clisp.org>
26990
26991         Implement nproc for NetBSD, OpenBSD.
26992         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
26993         (ARRAY_SIZE): New macro.
26994         (num_processors): On BSD systems, try sysctl of HW_NCPU.
26995         * m4/nproc.m4: New file.
26996         * modules/nproc (Files): Add m4/nproc.m4.
26997         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
26998         (Makefile.am): Instead, augment lib_SOURCES.
26999
27000 2009-10-18  Bruno Haible  <bruno@clisp.org>
27001
27002         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
27003         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
27004         sys/param.h.
27005
27006 2009-10-16  Eric Blake  <ebb9@byu.net>
27007
27008         utimensat: new module
27009         * modules/utimensat: New file.
27010         * lib/utimensat.c (utimensat): Likewise.
27011         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27012         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
27013         so we can work around Linux bugs.
27014         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27015         * modules/sys_stat (Makefile.am): Substitute them.
27016         * lib/sys_stat.in.h (utimensat): Declare it.
27017         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27018         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27019         * modules/utimensat-tests: New test.
27020         * tests/test-utimensat.c: Likewise.
27021
27022         utimens: let lutimens work on non-symlinks
27023         * lib/utimens.c (lutimens): Fall back to utimens rather than
27024         failing with ENOSYS, when file is not a symlink.
27025         (utimens): Reduce redirection.
27026         * tests/test-lutimens.h (test_lutimens): Update test to cover
27027         non-symlinks.
27028         * tests/test-utimens.h (test_utimens): Update test to cover
27029         symlinks.
27030         * tests/test-utimens.c (main): Update caller.
27031
27032         utimens: cache whether utimensat syscall works
27033         * lib/utimens.c (utimensat_works_really): New cache variable.
27034         (fdutimens, lutimens): Use it to avoid failing syscall.
27035
27036         test-stat-time, test-utimens: improve portability
27037         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
27038         ext4 on alpha, and for cygwin.
27039         * tests/test-utimens-common.h: New file.
27040         (nap): Factor delays into single function.
27041         * tests/test-lutimens.h (test_lutimens): Use new header.
27042         * tests/test-futimens.h (test_futimens): Likewise.
27043         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
27044         timestamps to occur from same machine, as was done previously for
27045         test_utimens.
27046         * modules/utimens-tests (Files): Ship new file.
27047         * modules/futimens-tests (Files): Likewise.
27048         Reported in part by Jim Meyering.
27049
27050         sys_stat: sort replacement declarations
27051         * lib/sys_stat.in.h: Sort declarations.
27052         * lib/futimens.c (futimens): Fix typo.
27053
27054 2009-10-15  Jim Meyering  <meyering@redhat.com>
27055
27056         don't let environment settings perturb build
27057         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
27058         could cause a configure-time and/or build-time malfunction.
27059         Typically, a configure-time function-in-library test is performed
27060         via code like this:
27061
27062           LIB_VAR=
27063           AC_SUBST([LIB_VAR])
27064           prefix_saved_LIBS=$LIBS
27065             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
27066                        [test "$ac_cv_search_FUNC" = "none required" ||
27067                         LIB_VAR=$ac_cv_search_FUNC])
27068           LIBS=$prefix_saved_LIBS
27069
27070         However, in each of the files affected by this change, the LIB_VAR=
27071         initialization was omitted.  Thus, when set in the environment, its
27072         value would propagate into generated Makefiles when FUNC is not found
27073         in LIB_NAME.
27074         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
27075         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
27076         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27077
27078 2009-10-14  Eric Blake  <ebb9@byu.net>
27079
27080         fchdir: avoid infinite recursion in mingw
27081         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
27082         recursing.
27083
27084         test-stat-time: port to mingw
27085         * tests/test-stat-time.c (force_unlink): Return a value.
27086         (test_ctime) [W32]: Fix compilation error.
27087         (nap): Don't call usleep with too large an argument.  Use
27088         force_unlink.
27089         * doc/pastposix-functions/usleep.texi (usleep): Document the
27090         portability issue.
27091
27092 2009-10-13  Jim Meyering  <meyering@redhat.com>
27093
27094         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
27095         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
27096         * modules/pipe-filter-ii: Likewise.
27097         * modules/sys_socket-tests: Likewise.
27098         * modules/tsearch-tests: Likewise.
27099         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
27100         (check): Depend on it.
27101
27102 2009-10-12  Eric Blake  <ebb9@byu.net>
27103
27104         utimens-tests: port to NFS file systems
27105         * tests/test-utimens.h (test_utimens): Refactor utimecmp
27106         comparisons to avoid spurious failures from timestamp drift
27107         between NFS machines.
27108
27109 2009-10-12  Eric Blake  <ebb9@byu.net>
27110
27111         stat-time-tests: minor cleanups
27112         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
27113         * tests/test-stat-time.c (nap): Separate assignment from call.
27114         Suggested by Paolo Bonzini and Bruno Haible.
27115
27116         sys_stat: guarantee struct timespec
27117         * lib/sys_stat.in.h (includes): Always include <time.h>
27118         * modules/sys_stat (Depends-on): Add time.
27119         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
27120         mode_t permission values.
27121         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
27122         get at subsecond timestamps.
27123
27124 2009-10-10  Eric Blake  <ebb9@byu.net>
27125
27126         futimens: new module
27127         * modules/futimens: New file.
27128         * lib/futimens.c (futimens): Likewise.
27129         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
27130         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
27131         we can work around Linux bugs.
27132         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27133         * modules/sys_stat (Makefile.am): Substitute them.
27134         * lib/sys_stat.in.h (futimens): Declare it.
27135         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27136         * doc/posix-functions/futimens.texi (futimens): Likewise.
27137         * modules/futimens-tests: New test.
27138         * tests/test-futimens.c: Likewise.
27139
27140         utimens: introduce fdutimens
27141         * lib/utimens.h (fdutimens): New prototype.
27142         * lib/utimens.c (gl_futimens): Move guts...
27143         (fdutimens): ...to new interface.
27144         * tests/test-utimens.c (do_fdutimens): Use it.
27145
27146         utimens: add UTIME_NOW and UTIME_OMIT support
27147         * lib/utimens.c (validate_timespec, update_timespec): New helper
27148         functions.
27149         (gl_futimens, lutimens): Use them.
27150         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
27151         stdbool, sys_stat.
27152         (Link): Mention resulting library dependency.
27153         * modules/utimecmp (Link): Likewise.
27154         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
27155         (Makefile.am): Pick up library dependency.
27156         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
27157         definition.
27158         * tests/test-sys_stat.c: Test the definitions.
27159         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
27160         * NEWS: Document library dependency.
27161
27162         utimecmp: support symlink timestamps
27163         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
27164         hashing when possible.  Use pathconf when available.
27165         (SYSCALL_RESOLUTION): Recognize tighter resolution.
27166         * modules/utimecmp (Depends-on): Add lstat.
27167
27168         utimens: add lutimens interface
27169         * lib/utimens.c (lutimens): New function.
27170         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
27171         * lib/utimens.h (lutimens): Declare new interface.
27172         * tests/test-utimens.c (main): Enhance test.
27173         * tests/test-lutimens.h (test_lutimens): New file.
27174         * modules/utimens-tests (Files): Distribute it.
27175         (Depends-on): Add symlink.
27176         (configure.ac): Check for usleep.
27177
27178         utimens: validate futimens usage
27179         * lib/utimens.c (gl_futimens): Require valid fd up front, using
27180         fewer syscalls on failure later on.  Avoid compiler warning on
27181         mingw.
27182         * modules/utimens (Depends-on): Add dup2.
27183
27184         utimens: add test
27185         * modules/utimens-tests: New test.
27186         * tests/test-utimens.h: New file.
27187         * tests/test-futimens.h: Likewise.
27188         * tests/test-utimens.c: Likewise.
27189
27190         doc: mention timestamp portability issues
27191         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
27192         instead.
27193         * doc/posix-functions/utime.texi (utime): Likewise.
27194         * doc/posix-functions/utimes.texi (utimes): Likewise.
27195         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
27196         instead.
27197         * doc/posix-functions/futimens.texi (futimens): Mention utimens
27198         module.
27199         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27200         Mention weakness with symlink timestamps.
27201         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
27202         to utimensat/futimens instead.
27203         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
27204
27205         test-dup2: enhance test
27206         * tests/test-dup2.c (main): Also check AT_FDCWD.
27207
27208         test-stat-time: avoid more spurious failures
27209         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
27210         xfs; and avoid race if the two timestamps cross quantization edge.
27211
27212         relocatable: prefer 'file system' over 'filesystem'
27213         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
27214         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
27215         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
27216         * doc/relocatable.texi (Enabling Relocatability): Likewise.
27217         * lib/relocatable.c (compute_curr_prefix): Likewise.
27218
27219 2009-10-10  Jim Meyering  <meyering@redhat.com>
27220
27221         stat-time-tests: check for the usleep function
27222         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
27223
27224 2009-10-10  Bruno Haible  <bruno@clisp.org>
27225
27226         * modules/xnanosleep: Put the Link section after the Include section.
27227
27228 2009-10-09  Eric Blake  <ebb9@byu.net>
27229
27230         dup2: work around FreeBSD 6.1 bug
27231         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
27232         * doc/posix-functions/dup2.texi (dup2): Document it.
27233         Reported by Nelson H. F. Beebe and Jim Meyering.
27234
27235         test-stat-time: port to buggy NFS clients
27236         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
27237         (test_ctime): Also skip test if mtime and ctime are skewed.
27238
27239         maint: prefer 'file system' over 'filesystem'
27240         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
27241         * doc/posix-functions/lstat.texi (lstat): Likewise.
27242         * lib/file-has-acl.c (file_has_acl): Likewise.
27243         * lib/fwriteerror.c [TEST]: Likewise.
27244         * tests/test-areadlink.h (test_areadlink): Likewise.
27245         * tests/test-areadlinkat-with-size.c (main): Likewise.
27246         * tests/test-areadlinkat.c (main): Likewise.
27247         * tests/test-canonicalize-lgpl.c (main): Likewise.
27248         * tests/test-canonicalize.c (main): Likewise.
27249         * tests/test-fstatat.c (main): Likewise.
27250         * tests/test-linkat.c (main): Likewise.
27251         * tests/test-lstat.h (test_lstat_func): Likewise.
27252         * tests/test-mkdir.h (test_mkdir): Likewise.
27253         * tests/test-readlink.h (test_readlink): Likewise.
27254         * tests/test-remove.c (main): Likewise.
27255         * tests/test-rename.h (test_rename): Likewise.
27256         * tests/test-renameat.c (main): Likewise.
27257         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27258         * tests/test-symlink.h (test_symlink): Likewise.
27259         * tests/test-symlinkat.c (main): Likewise.
27260         * tests/test-unlink.h (test_unlink_func): Likewise.
27261         * tests/test-unlinkat.c (main): Likewise.
27262
27263         maint: make realtime library usage explicit
27264         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
27265         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
27266         * modules/settime (Link): Likewise.
27267         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
27268
27269         test-stat-time: speed up execution
27270         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
27271         warning on mingw.
27272         (nap): New helper function.
27273         (prepare_test): Use it to reduce sleep time.
27274         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
27275         execution.
27276         * modules/stat-time-tests (configure.ac): Check for usleep.
27277
27278 2009-10-09  Jim Meyering  <meyering@redhat.com>
27279
27280         selinux-h: always use getfilecon wrappers
27281         * lib/getfilecon.c: New file.
27282         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
27283         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
27284         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
27285         (fgetfilecon): Provide a stub.
27286         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
27287         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
27288         file unconditionally.
27289         When <selinux/selinux.h> is found, arrange to use wrappers.
27290         * modules/selinux-h (Files): Add getfilecon.c.
27291         (Makefile.am): Substitute include-next-related bits
27292         into the now-always-generated selinux/selinux.h file.
27293         * doc/glibc-functions/lgetfilecon.texi: New file.
27294         * doc/glibc-functions/fgetfilecon.texi: New file.
27295         * doc/glibc-functions/getfilecon.texi: New file.
27296         * doc/glibc-functions/getfilecon-desc.texi: New file.
27297         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
27298         which to pull in the new files.
27299         * MODULES.html.sh (Misc): Add selinux-h.
27300
27301 2009-10-08  Jim Meyering  <meyering@redhat.com>
27302
27303         unistd: fix comment typo
27304         * lib/unistd.in.h (euidaccess): Fix a comment typo.
27305
27306 2009-10-08  Eric Blake  <ebb9@byu.net>
27307
27308         areadlink: use SIZE_MAX consistently
27309         * modules/areadlink (Depends-on): Add stdint.
27310         * modules/areadlink-with-size (Depends-on): Likewise.
27311         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
27312         gives NULL; drop sys/types, since unistd gives size_t; and add
27313         stdint for SIZE_MAX.
27314         (SIZE_MAX): Rely on headers.
27315         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
27316         and add stdint.
27317         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
27318         (SIZE_MAX): Likewise.
27319         (INITIAL_BUF_SIZE): Turn into enum.
27320         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
27321
27322 2009-10-08  Jim Meyering  <meyering@redhat.com>
27323
27324         areadlinkat: avoid compilation failure
27325         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
27326         Fix typo in comment.
27327
27328 2009-10-07  Eric Blake  <ebb9@byu.net>
27329
27330         areadlinkat-with-size: new module
27331         * modules/areadlinkat-with-size: New module.
27332         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
27333         * lib/areadlink.h (areadlinkat): Declare it.
27334         * MODULES.html.sh (File system functions): Mention it.
27335         * modules/areadlinkat-with-size-tests: New test.
27336         * tests/test-areadlinkat-with-size.c: New file.
27337
27338         xreadlinkat: new module
27339         * modules/xreadlinkat: New module.
27340         * lib/xreadlinkat.c (xreadlinkat): New file.
27341         * lib/xreadlink.h (xreadlinkat): Declare it.
27342         * MODULES.html.sh (File system functions): Mention it.
27343
27344         areadlinkat: new module
27345         * lib/at-func.c (FUNC_FAIL): New define.
27346         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
27347         * modules/areadlinkat: New module.
27348         * lib/linkat.c (areadlinkat): Move...
27349         * lib/areadlinkat.c (areadlinkat): ...to new file.
27350         * lib/areadlink.h (areadlinkat): Declare it.
27351         * modules/linkat (Depends-on): Add areadlinkat.
27352         * MODULES.html.sh (File system functions): Mention it.
27353         * modules/areadlinkat-tests: New test.
27354         * tests/test-areadlinkat.c: New file.
27355
27356         areadlink, areadlink-with-size: add tests
27357         * modules/areadlink-tests: New test.
27358         * modules/areadlink-with-size-tests: Likewise.
27359         * tests/test-areadlink.h: New file.
27360         * tests/test-areadlink.c: Likewise.
27361         * tests/test-areadlink-with-size.c: Likewise.
27362
27363         maint: minor cleanups
27364         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
27365         _UNUSED_PARAMETER_ instead.
27366         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
27367         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
27368         * modules/linkat-tests (Files): Distribute test-link.h.
27369
27370         openat, utimens: whitespace cleanup
27371         * lib/openat.c: Prefer space throughout, rather than mix of 8
27372         spaces vs. tabs.
27373         * lib/at-func.c: Likewise.
27374         * lib/utimens.c: Likewise.
27375
27376         openat: avoid using wrong fd
27377         * lib/openat.c (openat_permissive): Reject user's fd if saving the
27378         working directory chooses same fd.
27379         * lib/at-func.c (AT_FUNC_NAME): Likewise.
27380
27381         mkdir, mkdirat: fix cygwin 1.5.x bug
27382         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
27383         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
27384         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
27385         bug.
27386         (gl_PREREQ_MKDIR): Delete unused macro.
27387         * modules/mkdir (Files): Track file rename.
27388         (configure.ac): Update macro name.
27389         * modules/openat (Depends-on): Add mkdir.
27390         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
27391
27392         mkdir, mkdirat: add tests
27393         * modules/mkdir-tests: New test.
27394         * tests/test-mkdir.h: New file.
27395         * tests/test-mkdir.c: Likewise.
27396         * tests/test-mkdirat.c: Likewise.
27397         * modules/openat-tests (Files): Add new files.
27398         (Makefile.am): Run new test.
27399
27400 2009-10-06  Eric Blake  <ebb9@byu.net>
27401
27402         doc: tweak *at function documentation
27403         * doc/posix-functions/faccessat.texi (faccessat): Mention
27404         known issue with replacement.
27405         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
27406         * doc/posix-functions/linkat.texi (linkat): Likewise.
27407         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
27408         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
27409         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27410         * doc/posix-functions/renameat.texi (renameat): Likewise.
27411         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
27412
27413         openat: fix GNU/Hurd bug in unlinkat
27414         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
27415         broken.
27416         * doc/posix-functions/unlink.texi (unlink): Document this.
27417         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
27418
27419         fdopendir: fix GNU/Hurd bug
27420         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
27421         allowing non-directory fds.
27422         * lib/fdopendir.c (rpl_fdopendir): Work around it.
27423         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27424         * modules/dirent (Makefile.am): Substitute it.
27425         * lib/dirent.in.h (fdopendir): Declare replacement.
27426         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
27427         * tests/test-fdopendir.c (main): Test something other than
27428         /dev/null, since on Hurd that behaves like a directory.
27429
27430         test-symlink: port to GNU/Hurd
27431         * tests/test-symlink.h (test_symlink): Relax expected errno.
27432
27433         doc: tweak more cygwin information
27434         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
27435         now compatible with glibc.
27436         * doc/posix-functions/getopt.texi (getopt): Likewise.
27437
27438         getopt-gnu: add another test
27439         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
27440         guarantee behavior relied on by m4.
27441         * tests/test-getopt.c (main): Use it.
27442         * modules/getopt-posix-tests (Depends-on): Add setenv.
27443         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
27444
27445         getopt: fix compilation on darwin
27446         * lib/getopt.in.h (includes): Leave breadcrumbs during system
27447         include.
27448         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
27449         Reported by Ludovic Courtès.
27450
27451 2009-10-06  Bruno Haible  <bruno@clisp.org>
27452
27453         * modules/size_max (Description): Discourage its use.
27454         Reported by Simon Josefsson.
27455
27456 2009-10-06  Jim Meyering  <meyering@redhat.com>
27457
27458         linkat: avoid compilation failure
27459         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
27460
27461 2009-10-05  Eric Blake  <ebb9@byu.net>
27462
27463         linkat: support Linux 2.6.17
27464         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
27465         linkat on Linux, but allow cache variable override.
27466         * lib/linkat.c (rpl_linkat): Define override.
27467         * modules/linkat (Depends-on): Add symlinkat.
27468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
27469         * modules/unistd (Makefile.am): Substitute it.
27470         * lib/unistd.in.h (linkat): Declare replacement.
27471         Reported by Pádraig Brady.
27472
27473         quotearg: port test to systems with C.UTF-8 locale
27474         * tests/test-quotearg.c (struct result_strings): Add another
27475         member, differentiating between C.ASCII and C.UTF-8 handling.
27476         (compare_strings): Add parameter.
27477         (main): Adjust all callers.
27478
27479         getopt: avoid clash with FreeBSD _getopt_internal
27480         * lib/getopt.in.h (_getopt_internal): Override the name.
27481         * lib/getopt_int.h (includes): Pick up any overrides.
27482         Reported by Reuben Thomas.
27483
27484         hash: allow C89 compilation
27485         * lib/hash.c (check_tuning): Move declaration before statement.
27486         Reported by Reuben Thomas.
27487
27488 2009-10-05  Karl Berry  <karl@gnu.org>
27489
27490         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
27491
27492 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
27493             Bruno Haible  <bruno@clisp.org>
27494
27495         * lib/uname.c (uname): Use a table-driven algorithm to compute
27496         Windows NT versions.
27497
27498 2009-10-04  Bruno Haible  <bruno@clisp.org>
27499
27500         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
27501         program_invocation_short_name.
27502         * modules/progname (configure.ac): Test for presence of
27503         program_invocation_short_name.
27504         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
27505
27506 2009-10-04  Bruno Haible  <bruno@clisp.org>
27507
27508         * lib/progname.c (set_program_name): Fix comment.
27509         Reported by Jim Meyering.
27510
27511 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
27512             Bruno Haible  <bruno@clisp.org>
27513
27514         * lib/uname.c: Include <string.h>.
27515         (uname): Do only one call to GetVersionEx in the common case.
27516
27517 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
27518             Bruno Haible  <bruno@clisp.org>
27519
27520         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
27521         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
27522         (uname): Add support for Windows CE and various non-x86 CPU types.
27523
27524 2009-10-03  Bruno Haible  <bruno@clisp.org>
27525
27526         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
27527         invocation to tests/configure.ac.
27528         Reported by Ian Beckwith <ianb@erislabs.net>.
27529
27530 2009-10-02  Eric Blake  <ebb9@byu.net>
27531
27532         fchdir: avoid compiler warning
27533         * lib/fchdir.c (canonicalize_file_name)
27534         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
27535
27536         test-open: support mingw errno values
27537         * tests/test-open.h (test_open): Relax test.
27538         * tests/test-fopen.h (test_fopen): Likewise.
27539         * tests/test-openat-safer.c (main): Likewise.
27540
27541         open: fix opening directory on mingw
27542         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
27543
27544         test-open: on GNU/Hurd, /dev/null is a directory
27545         * tests/test-fopen.h (main): Rename...
27546         (test_fopen): ...to this.  Use a guaranteed non-directory when
27547         confirming open behavior on trailing slash.
27548         * tests/test-openat-safer.c (main): Likewise.
27549         * tests/test-open.h (main): Likewise....
27550         (test_open): ...to this.
27551         * tests/test-fopen.c (main): Adjust caller.
27552         * tests/test-fopen-safer.c (main): Likewise.
27553         * tests/test-open.c (main): Likewise.
27554         * tests/test-fcntl-safer.c (main): Likewise.
27555         Reported by Samuel Thibault.
27556
27557         rename, fchdir: don't ignore chdir failure
27558         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
27559         * lib/rename.c (rpl_rename) [W32]: Likewise.
27560         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
27561         an empty destination directory if source cannot be renamed,
27562         although there is still possibility for failure.
27563         * doc/posix-functions/rename.texi (rename): Document the race.
27564         Reported by Jim Meyering.
27565
27566         maint: cleanup whitespace in recent commits
27567         * lib/rename.c (rpl_rename): Remove tabs.
27568         * tests/test-link.h (test_link): Likewise.
27569         * lib/fchdir.c (get_name): Likewise.
27570         Reported by Jim Meyering.
27571
27572 2009-10-02  Ben Pfaff  <blp@gnu.org>
27573
27574         relocatable-prog-wrapper: Add missing dependency on
27575         double-slash-root.
27576         * modules/relocatable-prog-wrapper: Add dependency.
27577         Reported by Ian Beckwith <ianb@erislabs.net>.
27578
27579 2009-10-02  Eric Blake  <ebb9@byu.net>
27580
27581         renameat: fix Solaris bugs
27582         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
27583         needed fixing.
27584         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
27585         * modules/stdio (Makefile.am): Substitute it.
27586         * lib/stdio.in.h (renameat): Declare replacement.
27587         * lib/renameat.c (rpl_renameat): Implement fix.
27588
27589         renameat: new module
27590         * modules/renameat: New file.
27591         * lib/renameat.c (renameat): Likewise.
27592         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
27593         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
27594         * modules/stdio (Makefile.am): Substitute them.
27595         * lib/stdio.in.h (renameat): Declare it.
27596         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27597         * doc/posix-functions/renameat.texi (renameat): Likewise.
27598         * modules/renameat-tests: New test.
27599         * tests/test-renameat.c: Likewise.
27600
27601         rename: fix mingw bugs
27602         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
27603         directory overwrite bugs.
27604
27605         rename: fix another cygwin 1.5 bug
27606         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
27607         checks.
27608         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
27609         unnecessary cygwin workarounds.  Also work around bug with moving
27610         full directory onto an empty one.
27611         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
27612
27613         rename-dest-slash: merge into rename module
27614         * modules/rename-dest-slash (Status): Mark obsolete.
27615         (Depends-on): Add rename.
27616         (Files): Let rename do it all.
27617         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
27618         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
27619         * m4/rename-dest-slash.m4: ...so this file can be deleted.
27620         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
27621         * lib/rename.c (rpl_rename): Update comments.
27622
27623         rename: fix cygwin 1.5.x bugs
27624         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
27625         * lib/rename.c (rpl_rename): Work around them.
27626         * modules/rename (Depends-on): Add same-inode.
27627
27628         rename: fix Solaris 10 bug
27629         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
27630         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
27631         was the only bug.
27632
27633         rename: fix Solaris 9 bug
27634         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
27635         on non-directory.  Avoid calling exit.
27636         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
27637         strdup.
27638         * modules/rename-tests (Depends-on): Drop lstat.
27639         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
27640         (gl_PREREQ_RENAME): Delete unused macro.
27641
27642         rename-dest-slash: fix NetBSD bug
27643         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
27644         links.
27645         * modules/rename-dest-slash (Depends-on): Add same-inode.
27646
27647         rename-tests: new test, exposes several platform bugs
27648         * modules/rename-tests: New file.
27649         * tests/test-rename.h: Likewise.
27650         * tests/test-rename.c: Likewise.
27651         * doc/posix-functions/rename.texi (rename): Improve documentation,
27652         including bugs that will eventually be fixed in gnulib.
27653
27654 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
27655
27656         * lib/uname.c: Include <stdlib.h>
27657         (uname): Assume version info is available.
27658
27659 2009-10-02  Jim Meyering  <meyering@redhat.com>
27660
27661         gnu-web-doc-update: correct --help output
27662         * build-aux/gnu-web-doc-update: Make --help output relevant.
27663
27664         gnu-web-doc-update: add standard options
27665         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
27666
27667         gnu-web-doc-update: New module.
27668         Use this script to automatically update the on-line web documentation
27669         for your GNU project at http://www.gnu.org/software/$pkg/manual/
27670         * modules/gnu-web-doc-update: New file, from coreutils.
27671         * build-aux/gnu-web-doc-update: New script.
27672
27673 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
27674
27675         link: LoadLibrary is not needed.
27676         * lib/link.c: Use GetModuleHandle.
27677
27678 2009-10-01  Eric Blake  <ebb9@byu.net>
27679
27680         getopt: bump serial number
27681         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
27682         change.
27683
27684         tests: tighten link, rmdir, and remove tests
27685         * tests/test-link.h (includes): No need to use <config.h> here.
27686         Clean up if directory hard link was created, otherwise test for
27687         trailing '.'.
27688         * tests/test-linkat.c (main): Simplify.
27689         * tests/test-remove.c (main): Enhance test for trailing '.'.
27690         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27691
27692 2009-10-01  Jim Meyering  <meyering@redhat.com>
27693
27694         maint.mk: requiring "make major" was annoying, for a "minor" release.
27695         What is intended is "stable", to contrast with alpha and beta,
27696         so require "make stable", not "make major".
27697         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
27698         (get_tool_versions): Likewise.
27699         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
27700
27701 2009-09-30  Ben Pfaff  <blp@gnu.org>
27702
27703         Fix broken build of replacement for Windows tmpfile().
27704         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
27705         flags argument added along with the 'mkostemp' module.
27706
27707 2009-09-28  Bruno Haible  <bruno@clisp.org>
27708
27709         Avoid identifier clash with POSIX function 'remove' defined as a macro.
27710         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
27711         to 'remove_elt'.
27712         (gl_list_remove): Update.
27713         * lib/gl_list.c (gl_list_remove): Update.
27714         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
27715         to 'remove_elt'.
27716         (gl_oset_remove): Update.
27717         * lib/gl_list.c (gl_oset_remove): Update.
27718         Reported by Eric Blake.
27719
27720 2009-09-28  Eric Blake  <ebb9@byu.net>
27721
27722         doc: mention yet more cygwin 1.7 status
27723         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
27724         cygwin.
27725         * doc/glibc-functions/execvpe.texi (execvpe): New file.
27726         * doc/gnulib.texi (Glibc unistd.h): Mention it.
27727
27728         argp: fix test failure
27729         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
27730         that are not upper-case.  Pass correct range to tolower.
27731
27732 2009-09-27  Jim Meyering  <meyering@redhat.com>
27733
27734         test-yesno: work around sparc-dash here-document infelicity
27735         Without this change, the literal \177 byte in a here document
27736         would make dash 0.5.5.1-3 access uninitialized memory.
27737         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
27738         Instead, use a marker, "@", and filter through tr to create the desired
27739         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
27740
27741 2009-09-27  Bruno Haible  <bruno@clisp.org>
27742
27743         Disable untested support for new flavours of ACLs on AIX.
27744         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
27745         progress.
27746         * lib/set-mode-acl.c (qset_acl): Likewise.
27747
27748 2008-12-07  Bruno Haible  <bruno@clisp.org>
27749
27750         Add support for new flavours of ACLs on AIX. (Untested.)
27751         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
27752         (file_has_acl): Add support for newer AIX.
27753         * lib/set-mode-acl.c (qset_acl): Likewise.
27754         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
27755         Rainer Tammer <tammer@tammer.net>.
27756
27757 2009-09-26  Eric Blake  <ebb9@byu.net>
27758
27759         argp: fix compilation of getopt
27760         * lib/getopt.in.h (includes): Use different guard than glibc.
27761         Reported by Sergey Poznyakoff.
27762
27763         doc: mention more cygwin 1.7 status
27764         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
27765         bug.
27766         * doc/posix-functions/execl.texi (execl): Likewise.
27767         * doc/posix-functions/execle.texi (execle): Likewise.
27768         * doc/posix-functions/execlp.texi (execlp): Likewise.
27769         * doc/posix-functions/execv.texi (execv): Likewise.
27770         * doc/posix-functions/execve.texi (execve): Likewise.
27771         * doc/posix-functions/execvp.texi (execvp): Likewise.
27772         * doc/glibc-functions/canonicalize_file_name.texi
27773         (canonicalize_file_name): Cygwin 1.7 now provides this.
27774         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
27775         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
27776         on AT_SYMLINK_NOFOLLOW.
27777
27778 2009-09-24  Eric Blake  <ebb9@byu.net>
27779
27780         test-linkat: make test more robust
27781         * tests/test-linkat.c (main): Avoid collision with EEXIST.
27782
27783         getopt: fix inclusion guards for cygwin
27784         * modules/getopt-posix (Depends-on): Add include-next.
27785         (Makefile.am): Substitute more items in replacement header.
27786         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
27787         <getopt.h>.
27788         * lib/getopt.in.h (includes): Use split inclusion guard, and
27789         prefer <getopt.h> over include <unistd.h> when one is present.
27790         (option): Also override name of 'struct option'.
27791
27792         same-inode: revert prior change; it is not yet ready
27793         * NEWS: Undo mention of this change.
27794         * lib/same-inode.h (same-inode.h): Undo tri-state change.
27795         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27796         * lib/cycle-check.c (cycle_check): Likewise.
27797         * lib/same.c (same_name): Likewise.
27798         * lib/at-func2.c (at_func2): Likewise.
27799
27800 2009-09-23  Eric Blake  <ebb9@byu.net>
27801
27802         linkat: new module
27803         * modules/linkat: New file.
27804         * lib/at-func2.c (at_func2): Likewise.
27805         * lib/linkat.c (linkat): Likewise.
27806         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27807         * lib/openat-priv.h (at_func2): Add declaration.
27808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27809         * modules/unistd (Makefile.am): Substitute them.
27810         * lib/unistd.in.h (linkat): Declare it.
27811         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27812         * doc/posix-functions/linkat.texi (linkat): Likewise.
27813         * doc/posix-functions/link.texi (link): Tweak wording.
27814         * tests/test-link.c (main): Move guts...
27815         * tests/test-link.h (test_link): ...into new file.
27816         * modules/linkat-tests: New test.
27817         * tests/test-linkat.c: Likewise.
27818         * modules/link-tests (Files): Ship new file.
27819         (Depends-on): Add stdbool.
27820
27821         dirname: add library-safe mdir_name
27822         * lib/dirname.h (mdir_name): New prototype.
27823         * lib/dirname.c (dir_name): Move guts...
27824         (mdir_name): ...to new function that avoids xalloc_die.
27825
27826         fchdir: another mingw fix
27827         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
27828         * lib/fchdir.c (get_name): New helper method; skips canonicalize
27829         on mingw (where it has not yet been ported), and make it optional
27830         elsewhere.
27831         (_gl_register_fd): Use it.
27832
27833         same-inode: make SAME_INODE tri-state, to port to mingw
27834         * NEWS: Mention this change.
27835         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
27836         st_ino always being 0.
27837         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27838         * lib/cycle-check.c (cycle_check): Likewise.
27839         * lib/same.c (same_name): Likewise.
27840
27841         lstat: avoid mingw compilation error
27842         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
27843         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
27844         lstat ourselves.
27845         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
27846         was adequate.
27847         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
27848         the checks for lstat.
27849         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
27850
27851         link: fix test failure on Solaris 9
27852         * lib/link.c (rpl_link): Don't assume link will catch bogus
27853         trailing slash on source.
27854
27855         test-symlinkat: enhance test
27856         * tests/test-readlink.c (main): Move guts...
27857         * tests/test-readlink.h (test_readlink): ...into new file.
27858         * tests/test-symlink.c (main): Move guts...
27859         * tests/test-symlink.h (test_symlink): ...into new file.
27860         * tests/test-symlinkat.c (main): Use new files for further
27861         coverage.
27862         (do_symlink, do_readlink): New helper functions.
27863         * modules/symlink-tests (Files): Ship new file.
27864         (Depends-on): Add stdbool.
27865         * modules/readlink-tests (Files): Ship new file.
27866         (Depends-on): Add stdbool.
27867         * modules/symlinkat-tests (Files): Use new files.
27868
27869 2009-09-23  Eric Blake  <ebb9@byu.net>
27870
27871         readlink: document portability issue with symlink length
27872         * doc/posix-functions/lstat.texi (lstat): Mention that some file
27873         systems have bogus st_size on symlinks, and mention the
27874         areadlink-with-size module.
27875         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
27876         * doc/posix-functions/readlink.texi (readlink): Mention the
27877         areadlink module, and ERANGE failure.
27878         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27879         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
27880
27881         readlink: fix Solaris 9 bug with trailing slash
27882         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
27883         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
27884         * doc/posix-functions/readlink.texi (readlink): Document this.
27885         * modules/readlink-tests: New test.
27886         * tests/test-readlink.c: Likewise.
27887
27888         readlink: fix cygwin 1.5.x bug with return type
27889         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
27890         * lib/unistd.in.h (readlink): Use ssize_t.
27891         * lib/readlink.c (readlink): Likewise.
27892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27893         * modules/unistd (Makefile.am): Substitute it.
27894         * lib/unistd.in.h (readlink): Declare replacement.
27895         * doc/posix-functions/readlink.texi (readlink): Document this.
27896
27897         symlink: use throughout gnulib
27898         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
27899         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
27900         symlink is not used.
27901         * modules/symlinkat (Depends-on): Add symlink.
27902         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27903         * modules/canonicalize-tests (Depends-on): Likewise.
27904         * modules/lstat-tests (Depends-on): Likewise.
27905         * modules/openat-tests (Depends-on): Likewise.
27906         * modules/remove-tests (Depends-on): Likewise.
27907         * modules/rmdir-tests (Depends-on): Likewise.
27908         * modules/unlink-tests (Depends-on): Likewise.
27909         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
27910         * tests/test-canonicalize.c (symlink): Likewise.
27911         * tests/test-fstatat.c (symlink): Likewise.
27912         * tests/test-lstat.c (symlink): Likewise.
27913         * tests/test-remove.c (symlink): Likewise.
27914         * tests/test-rmdir.c (symlink): Likewise.
27915         * tests/test-unlink.c (symlink): Likewise.
27916         * tests/test-unlinkat.c (symlink): Likewise.
27917
27918         symlink: new module, for Solaris 9 bug
27919         * modules/symlink: New file.
27920         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27921         * lib/symlink.c: Likewise.
27922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
27923         * modules/unistd (Makefile.am): Substitute them.
27924         * lib/unistd.in.h (symlink): Declare replacement.
27925         * MODULES.html.sh (File system functions): Mention it.
27926         * doc/posix-functions/symlink.texi (symlink): Likewise.
27927         * modules/symlink-tests: New test.
27928         * tests/test-symlink.c: Likewise.
27929
27930 2009-09-23  Bruno Haible  <bruno@clisp.org>
27931
27932         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
27933         when needed.
27934         Test case: gnulib-tool --import --with-tests atexit inttypes.
27935         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
27936
27937 2009-09-23  Bruno Haible  <bruno@clisp.org>
27938
27939         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
27940         subcommand, not in a subshell.
27941
27942 2009-09-22  Eric Blake  <ebb9@byu.net>
27943
27944         unistd: sort replacement declarations
27945         * lib/unistd.in.h: Sort declarations.
27946
27947         open, openat: minor optimization
27948         * lib/open.c (open): If open succeeded, len is non-zero.
27949         * lib/openat.c (rpl_openat): Likewise.
27950
27951         link-follow: ensure correct result
27952         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
27953         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
27954         distinguish between possible failures.
27955
27956 2009-09-21  Eric Blake  <ebb9@byu.net>
27957
27958         fts: avoid compiler warning
27959         * lib/fts.c (dirent_inode_sort_may_be_useful)
27960         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
27961
27962 2009-09-19  Bruno Haible  <bruno@clisp.org>
27963
27964         * lib/progreloc.c (canonicalize_file_name): New declaration.
27965
27966 2009-09-19  Eric Blake  <ebb9@byu.net>
27967
27968         link: fix quoting
27969         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
27970
27971         openat: fix openat bugs on Solaris 9
27972         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
27973         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
27974         * modules/openat (Depends-on): Add open.
27975         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
27976         * modules/fcntl-h (Makefile.am): Substitute it.
27977         * lib/fcntl.in.h (openat): Declare replacement.
27978         * doc/posix-functions/openat.texi (openat): Document this.
27979
27980         openat: move fstatat and unlinkat into correct files
27981         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
27982         compiled.
27983         * lib/openat.c (fstatat, unlinkat): Move...
27984         * lib/fstatat.c (fstatat): ...into correct files.
27985         * lib/unlinkat.c (unlinkat): Likewise.
27986
27987         openat: fix unlinkat bugs on Solaris 9
27988         * lib/unlinkat.c (unlinkat): New file.
27989         * modules/openat (Depends-on): Add unlink.
27990         (Files): Distribute it.
27991         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
27992         trailing slash behavior is broken.
27993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27994         * modules/unistd (Makefile.am): Substitute it.
27995         * lib/unistd.in.h (unlinkat): Declare replacement.
27996         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
27997
27998         openat: fix fstatat bugs on Solaris 9
27999         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
28000         stat.
28001         * doc/posix-functions/fstatat.texi (fstatat): Document this.
28002
28003         test-unlinkat: enhance test, to expose Solaris 9 bug
28004         * tests/test-unlink.c (main): Factor guts...
28005         * tests/test-unlink.h (test_rmdir_func): ...into new file.
28006         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
28007         * tests/test-rmdir.c (main): Adjust caller.
28008         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
28009         (unlinker): New helper function.
28010         (rmdirat): Enhance check.
28011         * modules/rmdir-tests (Depends-on): Add stdbool.
28012         * modules/unlink-tests (Depends-on): Likewise.
28013         (Files): Add test-unlink.h.
28014         * modules/openat-tests (Files): Likewise.
28015         (Depends-on): Add unlinkdir.
28016
28017         test-fstatat: new test, to expose Solaris 9 bugs
28018         * tests/test-stat.c (main): Factor guts...
28019         * tests/test-stat.h (test_stat_func): ...into new file.
28020         * tests/test-lstat.c (main): Factor guts...
28021         * tests/test-lstat.h (test_lstat_func): ...into new file.
28022         * tests/test-fstatat.c: New file.
28023         * modules/stat-tests (Files): Add test-stat.h.
28024         * modules/lstat-tests (Files): Add test-lstat.h.
28025         (Depends-on): Add stdbool.
28026         * modules/openat-tests (Depends-on): Add pathmax.
28027         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
28028         (Makefile.am): Run new test.
28029
28030         remove: new module, for mingw and Solaris 9 bugs
28031         * modules/remove: New file.
28032         * lib/remove.c: Likewise.
28033         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
28034         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
28035         * modules/stdio (Makefile.am): Use them.
28036         * lib/stdio.in.h (remove): Declare replacement.
28037         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28038         * doc/posix-functions/remove.texi (remove): Likewise.
28039         * modules/remove-tests: New test.
28040         * tests/test-remove.c: Likewise.
28041
28042         unlink: new module, for Solaris 9 bug
28043         * modules/unlink: New file.
28044         * lib/unlink.c: Likewise.
28045         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28046         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28047         * modules/unistd (Makefile.am): Use them.
28048         * lib/unistd.in.h (stat): Declare replacement.
28049         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28050         * doc/posix-functions/unlink.texi (unlink): Likewise.
28051         * modules/unlink-tests: New test.
28052         * tests/test-unlink.c: Likewise.
28053
28054         lstat: fix Solaris 9 bug
28055         * lib/lstat.c (lstat): Also check for trailing slash on
28056         non-symlink, non-directories.  Use stat module to simplify logic.
28057         * doc/posix-functions/lstat.texi (lstat): Document it.
28058         * modules/lstat-tests (Depends-on): Add errno, same-inode.
28059         (configure.ac): Check for symlink.
28060         * tests/test-lstat.c (main): Add more tests.
28061
28062         stat: add as dependency to other modules
28063         * modules/chown (Depends-on): Add stat.
28064         * modules/euidaccess (Depends-on): Likewise.
28065         * modules/fchdir (Depends-on): Likewise.
28066         * modules/isdir (Depends-on): Likewise.
28067         * modules/link (Depends-on): Likewise.
28068         * modules/lstat (Depends-on): Likewise.
28069         * modules/mkdir-p (Depends-on): Likewise.
28070         * modules/modechange (Depends-on): Likewise.
28071         * modules/open (Depends-on): Likewise.
28072         * modules/readlink (Depends-on): Likewise.
28073         * modules/same (Depends-on): Likewise.
28074
28075         stat: fix Solaris 9 bug
28076         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
28077         slash.
28078         * lib/stat.c (rpl_stat): Work around it.
28079         * doc/posix-functions/stat.texi (stat): Update documentation.
28080
28081         stat: new module, for mingw bug
28082         * modules/stat: New file.
28083         * lib/stat.c: Likewise.
28084         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28085         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28086         * modules/sys_stat (Makefile.am): Use them.
28087         * lib/sys_stat.in.h (stat): Declare replacement.
28088         * lib/openat.c (fstatat): Deal with lstat and stat being function
28089         macros.
28090         * modules/openat (Depends-on): Add inline.
28091         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28092         * doc/posix-functions/stat.texi (stat): Likewise.
28093         * modules/stat-tests: New test.
28094         * tests/test-stat.c: Likewise.
28095
28096 2009-09-19  Jim Meyering  <meyering@redhat.com>
28097
28098         syntax-check: detect unnecessary inclusion of canonicalize.h
28099         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
28100
28101 2009-09-19  Eric Blake  <ebb9@byu.net>
28102
28103         canonicalize-lgpl: adjust clients to use correct header
28104         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28105         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
28106         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
28107         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
28108         * lib/progreloc.c (includes): Likewise.
28109
28110 2009-09-19  Jim Meyering  <meyering@redhat.com>
28111
28112         test-posixtm.c: correct a comment
28113         * tests/test-posixtm.c: Correct first-line comment.
28114         Spotted by Eric Blake.
28115
28116 2009-09-16  Jim Meyering  <meyering@redhat.com>
28117
28118         posixtm-tests: make T const-correct; add a test case
28119         * tests/test-posixtm.c (T): Declare const.
28120         Add a test for -(2^31+1).
28121         Remove useless can-succeed-only-in-2002 test.
28122
28123         posixtm-tests: adjust the sole failing test
28124         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
28125         expected output matches what mktime now produces.  Cross-checked via
28126         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
28127
28128         posixtm: move #ifdef'd tests into a new module
28129         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
28130         * tests/test-posixtm.c: ... this new file.
28131         * modules/posixtm-tests: New module.
28132
28133 2009-09-19  Eric Blake  <ebb9@byu.net>
28134
28135         openat: simplify use of at-func.c
28136         * lib/at-func.c (includes): Include prerequisites here, to
28137         simplify requirements on client files.
28138         * lib/openat-priv.h: Add double-inclusion guard.
28139         * lib/faccessat.c (includes): Simplify.
28140         * lib/fchmodat.c (includes): Likewise.
28141         * lib/fchownat.c (includes): Likewise.
28142         * lib/mkdirat.c (includes): Likewise.
28143         * lib/mkfifoat.c (includes): Likewise.
28144         * lib/symlinkat.c (includes): Likewise.
28145
28146         openat: allow return of fd 0
28147         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
28148         * modules/save-cwd (Depends-on): Replace fcntl-safer with
28149         unistd-safer.
28150         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
28151         <fcntl.h>; this module does not leak fds.
28152         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
28153         must be allowed to return 0, leaving openat_safer to add the
28154         safety.
28155         (openat_permissive): Avoid writing to just-opened fd 2 if
28156         restoring the current directory fails.
28157         * lib/openat-die.c (openat_restore_fail): Add comment.
28158         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
28159         (save_cwd): Guarantee safe fd, but without use of open_safer.
28160         * tests/test-openat.c: New test.
28161         * modules/openat-tests (Files, Makefile.am): Distribute and build
28162         new file.
28163
28164         relocatable-prog-wrapper: fix build
28165         * modules/relocatable-prog-wrapper (Files): Update name of
28166         canonicalize m4 file, broken on 2009-09-17.
28167         Reported by emad hajjar <aleppos@hotmail.com>.
28168
28169 2009-09-19  Bruno Haible  <bruno@clisp.org>
28170
28171         * lib/safe-alloc.h: Use the standard header with GPL copyright.
28172         * lib/safe-alloc.c: Likewise.
28173         Reported by Ian Beckwith <ianb@erislabs.net>.
28174
28175 2009-09-18  Bruno Haible  <bruno@clisp.org>
28176
28177         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
28178         Reported by <erobles@sensacd.com.mx>.
28179
28180 2009-09-17  Eric Blake  <ebb9@byu.net>
28181
28182         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
28183         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
28184         slashes when checking if last component is missing.
28185         * tests/test-canonicalize.c (main): Test this.
28186
28187         canonicalize, canonicalize-lgpl: honor // if distinct from /
28188         * modules/canonicalize (Files): Add double-slash-root.m4.
28189         * modules/canonicalize-lgpl (Files): Likewise.
28190         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28191         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
28192         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
28193         fallback definition.
28194         (canonicalize_filename_mode): Use it to protect //.
28195         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
28196         (__realpath): Likewise.
28197         * tests/test-canonicalize.c (main): Test this.
28198         * tests/test-canonicalize-lgpl.c (main): Likewise.
28199         * modules/canonicalize-tests (Depends-on): Add same-inode.
28200         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
28201
28202         canonicalize-lgpl: fix glibc bug with trailing slash
28203         * m4/canonicalize-lgpl.m4: Move contents...
28204         * m4/canonicalize.m4: ...here.
28205         (gl_CANONICALIZE_LGPL): Factor realpath check...
28206         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
28207         glibc 2.3.5 bug, fixed 2005-04-27.
28208         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
28209         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
28210         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
28211         * modules/canonicalize-lgpl (Files): Manage file rename.
28212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
28213         * modules/stdlib (Makefile.am): Substitute witness.
28214         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
28215         is needed.
28216         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
28217         replacement is required.
28218         * lib/canonicalize.c (canonicalize_file_name): Likewise.
28219         * doc/glibc-functions/canonicalize_file_name.texi
28220         (canonicalize_file_name): Document this.
28221         * doc/posix-functions/realpath.texi (realpath): Likewise.
28222
28223         canonicalize-lgpl: reject non-directory with trailing slash
28224         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
28225         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
28226         catches failures in glibc 2.3.5.
28227         * tests/test-canonicalize.c (main): Likewise.
28228
28229         canonicalize-lgpl: use native realpath if it works
28230         * lib/canonicalize-lgpl.c (realpath): Guard with
28231         FUNC_REALPATH_WORKS.
28232         * lib/stdlib.in.h (realpath): Make declaration optional based on
28233         HAVE_REALPATH.
28234         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
28235         native realpath works.
28236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
28237         * modules/stdlib (Makefile.am): Substitute witness.
28238
28239         canonicalize, canonicalize-lgpl: use <stdlib.h>
28240         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
28241         (Include): Mention <stdlib.h>.
28242         (configure.ac): Mention functions we provide.
28243         * modules/canonicalize (configure.ac): Likewise.
28244         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
28245         realpath if canonicalize_file_name is missing.
28246         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
28247         * modules/stdlib (Makefile.am): Substitute witnesses.
28248         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
28249         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
28250         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
28251         * NEWS: Document this.
28252         * doc/glibc-functions/canonicalize_file_name.texi
28253         (canonicalize_file_name): Likewise.
28254         * doc/posix-functions/realpath.texi (realpath): Likewise.
28255         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
28256
28257         test-canonicalize: consolidate into single C program
28258         * tests/test-canonicalize.sh: Delete; move setup into...
28259         * tests/test-canonicalize.c (main): ...the program, making it
28260         easier to run in debugger.  Add some tests.
28261         * modules/canonicalize-tests (Files): Remove unused file.
28262         (Depends-on): Add progname.
28263         (configure.ac, Makefile.am): Simplify.
28264
28265         test-canonicalize-lgpl: consolidate into single C program
28266         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
28267         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
28268         easier to run in debugger.  Add some tests.
28269         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
28270         (configure.ac, Makefile.am): Simplify.
28271
28272         canonicalize: avoid resolvepath
28273         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
28274         unnecessary checks.
28275         * lib/canonicalize.c (includes): Simplify.
28276         (canonicalize_file_name): Drop resolvepath implementation.
28277         * modules/canonicalize (Depends-on): Drop filenamecat.
28278
28279         canonicalize: don't lose errno
28280         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
28281         over calls to free.
28282
28283         canonicalize: simplify errno handling
28284         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
28285         assignment.
28286
28287         canonicalize, canonicalize-lgpl: update module dependencies
28288         * modules/canonicalize (Depends-on): Add extensions, lstat,
28289         pathmax, stdlib.
28290         (Files): Drop pathmax.h.
28291         (configure.ac): Adjust macro name.
28292         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
28293         lstat, stdlib, sys_stat.
28294         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
28295         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
28296         extensions.
28297         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
28298         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
28299         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
28300         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
28301         declaration, if available.
28302         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
28303         we can rely on the readlink module.
28304         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
28305         (includes): Use <unistd.h> unconditionally.
28306
28307 2009-09-17  Eric Blake  <ebb9@byu.net>
28308
28309         maint: make Include sections of modules consistent
28310         * modules/alloca: Use only header name; no need to list #include.
28311         * modules/alloca-opt: Likewise.
28312         * modules/arpa_inet: Likewise.
28313         * modules/canon-host: Likewise.
28314         * modules/configmake: Likewise.
28315         * modules/dirent: Likewise.
28316         * modules/eealloc: Likewise.
28317         * modules/environ: Likewise.
28318         * modules/fchdir: Likewise.
28319         * modules/fcntl: Likewise.
28320         * modules/fcntl-h: Likewise.
28321         * modules/gethrxtime: Likewise.
28322         * modules/gettime: Likewise.
28323         * modules/ignore-value: Likewise.
28324         * modules/inet_ntop: Likewise.
28325         * modules/inet_pton: Likewise.
28326         * modules/inttypes: Likewise.
28327         * modules/isnand-nolibm: Likewise.
28328         * modules/isnanf-nolibm: Likewise.
28329         * modules/mbchar: Likewise.
28330         * modules/mbfile: Likewise.
28331         * modules/mbiter: Likewise.
28332         * modules/mbuiter: Likewise.
28333         * modules/netdb: Likewise.
28334         * modules/netinet_in: Likewise.
28335         * modules/nproc: Likewise.
28336         * modules/pagealign_alloc: Likewise.
28337         * modules/poll: Likewise.
28338         * modules/printf-frexp: Likewise.
28339         * modules/pthread: Likewise.
28340         * modules/putenv: Likewise.
28341         * modules/random_r: Likewise.
28342         * modules/relocatable-prog: Likewise.
28343         * modules/search: Likewise.
28344         * modules/select: Likewise.
28345         * modules/selinux-h: Likewise.
28346         * modules/settime: Likewise.
28347         * modules/signal: Likewise.
28348         * modules/size_max: Likewise.
28349         * modules/socklen: Likewise.
28350         * modules/ssize_t: Likewise.
28351         * modules/stdarg: Likewise.
28352         * modules/stdbool: Likewise.
28353         * modules/stddef: Likewise.
28354         * modules/stdint: Likewise.
28355         * modules/stdio: Likewise.
28356         * modules/stdlib: Likewise.
28357         * modules/string: Likewise.
28358         * modules/strings: Likewise.
28359         * modules/sys_file: Likewise.
28360         * modules/sys_ioctl: Likewise.
28361         * modules/sys_select: Likewise.
28362         * modules/sys_socket: Likewise.
28363         * modules/sys_stat: Likewise.
28364         * modules/sys_time: Likewise.
28365         * modules/sys_times: Likewise.
28366         * modules/sys_utsname: Likewise.
28367         * modules/sys_wait: Likewise.
28368         * modules/sysexits: Likewise.
28369         * modules/time: Likewise.
28370         * modules/times: Likewise.
28371         * modules/tmpfile: Likewise.
28372         * modules/trim: Likewise.
28373         * modules/unistd: Likewise.
28374         * modules/wchar: Likewise.
28375         * modules/wctype: Likewise.
28376
28377 2009-09-17  Bruno Haible  <bruno@clisp.org>
28378
28379         Make getdate.y compile on QNX and NetBSD 5 / i386.
28380         * m4/getdate.m4 (gl_GETDATE): Conditionally define
28381         TIME_T_FITS_IN_LONG_INT.
28382         * lib/getdate.y (long_time_t): New type.
28383         (relative_time): Change type of 'seconds' field to long_time_t.
28384         (get_date): Update types of local variables. Check against overflow
28385         during conversion from long_time_t to time_t.
28386         Reported by Matt Kraai <kraai@ftbfs.org>
28387         and Hasso Tepper <hasso@netbsd.org>.
28388
28389 2009-09-17  Bruno Haible  <bruno@clisp.org>
28390
28391         * modules/COPYING: Update copyright years.
28392         * modules/README: Likeiwse.
28393         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
28394         Reported by Ian Beckwith <ianb@erislabs.net>.
28395
28396 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
28397
28398         * users.txt: Update references for gnuit package.
28399
28400 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
28401
28402         * m4/getdelim.m4: Fix typo in copyright line.
28403
28404 2009-09-17  Bruno Haible  <bruno@clisp.org>
28405
28406         * lib/atoll.c: Use the standard header with GPL copyright.
28407         * lib/argz.in.h: Likewise.
28408         * lib/glob.c: Likewise.
28409         * lib/glob-libc.h: Likewise.
28410         * lib/random_r.c: Likewise.
28411         * lib/siglist.h: Likewise.
28412         * lib/strsignal.c: Likewise.
28413         Reported by Ian Beckwith <ianb@erislabs.net>.
28414
28415 2009-09-17  Eric Blake  <ebb9@byu.net>
28416
28417         rmdir: ensure correct dependency order
28418         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
28419
28420 2009-09-17  Bruno Haible  <bruno@clisp.org>
28421
28422         Disable assertion that fails on NetBSD 5 / i386.
28423         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
28424         Reported by Sam Steingold <sds@gnu.org>
28425         and Hasso Tepper <hasso@netbsd.org>.
28426
28427 2009-09-16  Eric Blake  <ebb9@byu.net>
28428
28429         unlinkdir: port to mingw
28430         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
28431         on which no one can unlink a directory.
28432
28433         stdlib: sort witness names
28434         * modules/stdlib (Makefile.am): Sort replacements.
28435         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
28436         * lib/stdlib.in.h: Likewise.
28437
28438         parse-duration-tests: avoid link failure
28439         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
28440         LIBINTL.
28441         Reported by Tom G. Christensen.
28442
28443         openat-tests: ensure unlinkat behaves like rmdir
28444         * tests/test-rmdir.c (main): Factor guts...
28445         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
28446         * modules/rmdir-tests (Files): Ship new file.
28447         * modules/openat-tests: New test.
28448         * tests/test-unlinkat.c: Likewise.
28449
28450         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
28451         * modules/rmdir-errno (Status, Notice): Now obsolete.
28452
28453         rmdir: work around cygwin 1.5.x and mingw bugs
28454         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
28455         * lib/rmdir.c (rmdir): Work around it.
28456         * modules/rmdir (Status, Notice): No longer obsolete.
28457         (Files): Add dos.m4.
28458         (Depends-on): Add unistd.
28459         (configure.ac): Set witnesses.
28460         (License): Relax to LGPLv2+.
28461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
28462         * modules/unistd (Makefile.am): Substitute witnesses.
28463         * lib/unistd.in.h (rmdir): Declare replacement.
28464         * doc/posix-functions/rmdir.texi (rmdir): Document this.
28465         * modules/rmdir-tests: New tests.
28466         * tests/test-rmdir.c: Likewise.
28467
28468 2009-09-15  Eric Blake  <ebb9@byu.net>
28469
28470         fchdir: improve use of replacement functions
28471         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
28472         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
28473         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
28474         REPLACE_CLOSEDIR.
28475         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
28476         * modules/sys_stat (Makefile.am): Substitute correct witness.
28477         * modules/dirent (Makefile.am): Likewise.
28478         * modules/unistd (Makefile.am): Likewise.
28479         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
28480         * lib/unistd.in.h (dup): Likewise.
28481         * lib/sys_stat.in.h (fstat): Likewise.
28482
28483         maint: ignore gnulib-tool temp files
28484         * .gitignore: Ignore files created during gnulib-tool --test.
28485
28486 2009-09-13  Jim Meyering  <meyering@redhat.com>
28487
28488         posixtm: don't reject a time that specify "60" as the number of seconds
28489         * lib/posixtm.c (posixtime): The code to reject invalid dates
28490         would also reject a time specified with the .60 suffix.
28491         But POSIX allows that, in order to accommodate leap seconds.
28492         So don't reject it.
28493         (main): Adjust tests accordingly.
28494         * modules/posixtm (Depends-on): Add stpcpy.
28495
28496 2009-09-11  Jim Meyering  <meyering@redhat.com>
28497
28498         announce-gen: include [$release_type] in emitted Subject:
28499         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
28500         e.g., [stable] in the emitted Subject: line.
28501
28502 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28503
28504         Remove obsolete macros from several modules.
28505         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
28506         obsolete Autoconf macros with their modern counterparts.
28507         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
28508         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
28509         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
28510         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
28511         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
28512         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28513         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28514         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28515         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28516         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
28517         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
28518         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
28519         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
28520         * m4/sockets.m4 (gl_SOCKETS): Likewise.
28521         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
28522         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
28523         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
28524         * m4/time_r.m4 (gl_TIME_R): Likewise.
28525         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28526         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
28527         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
28528
28529         Fix copyright header in build-aux scripts.
28530         * build-aux/git-version-gen: Fix copyright header to match GPLv3
28531         recommendation.
28532         * build-aux/ncftpput-ftp: Likewise.
28533         * build-aux/update-copyright: Likewise.
28534
28535 2009-09-09  Eric Blake  <ebb9@byu.net>
28536
28537         test-link: allow Linux choice of errno
28538         * tests/test-link.c (main): Relax test for alternate error.
28539
28540         strndup: fix improper m4 caching
28541         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
28542         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
28543         (gl_PREREQ_STRNDUP): Delete.
28544         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
28545         * modules/string (Makefile.am): Substitute it.
28546         * lib/string.in.h (strndup): Modernize prototype.
28547
28548         getcwd: port to mingw
28549         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
28550         different from the POSIX assumptions made throughout the getcwd
28551         module; fortunately, the mingw getcwd does not need replacement.
28552         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
28553         * modules/getcwd-tests: New test.
28554         * tests/test-getcwd.c: Likewise.
28555
28556         link: fix platform bugs
28557         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
28558         * lib/link.c (link): Work around them.  Fix related mingw bug.
28559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
28560         * modules/unistd (Makefile.am): Substitute it.
28561         * lib/unistd.in.h (link): Declare replacement.
28562         * doc/posix-functions/link.texi (link): Document this.
28563         * modules/link (Depends-on): Add strdup-posix, sys_stat.
28564
28565         test-link: consolidate into single C program, test more cases
28566         * tests/test-link.sh: Delete.
28567         * tests/test-link.c: Test more error conditions.  Exposes bugs on
28568         at least Cygwin and Solaris.
28569         * modules/link-tests (Files): Remove unused file.
28570         (Depends-on): Add errno, sys_stat.
28571         (Makefile.am): Simplify.
28572
28573 2009-09-08  Bruno Haible  <bruno@clisp.org>
28574
28575         Work around towlower, towupper bug on mingw.
28576         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
28577         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
28578         * doc/posix-functions/towlower.texi: Mention the mingw bug.
28579         * doc/posix-functions/towupper.texi: Likewise.
28580         Reported by Eric Blake.
28581
28582 2009-09-08  Jim Meyering  <meyering@redhat.com>
28583
28584         build: don't try to run autoheader if we don't use it
28585         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
28586         is not used in configure.ac.
28587
28588 2009-09-08  Eric Blake  <ebb9@byu.net>
28589
28590         euidaccess: fix compilation error
28591         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
28592
28593         rawmemchr: relax license
28594         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
28595         okay.
28596         Reported by Jim Meyering.
28597
28598         mkfifoat: new module
28599         * modules/mkfifoat: New file.
28600         * lib/mkfifoat.c: Likewise.
28601         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
28602         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28603         * modules/sys_stat (Makefile.am): Use them.
28604         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
28605         * MODULES.html.sh (File system functions): Mention module.
28606         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
28607         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
28608         * modules/mkfifoat-tests: New test.
28609         * tests/test-mkfifoat.c: Likewise.
28610
28611         strchrnul: relax license
28612         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
28613         okay.
28614         Reported by Jim Meyering.
28615
28616 2009-09-08  Eric Blake  <ebb9@byu.net>
28617
28618         fstatat: fix compilation on Solaris
28619         * lib/fstatat.c (includes): Add fcntl.h.
28620         Reported by Pádraig Brady.
28621
28622 2009-09-07  Eric Blake  <ebb9@byu.net>
28623
28624         rename: modernize replacement
28625         * modules/rename (Depends-on): Add stdio.
28626         (configure.ac): Declare witness.
28627         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
28628         stdio take care of replacement.
28629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
28630         * modules/stdio (Makefile.am): Substitute them.
28631         * lib/stdio.in.h (rename): Declare replacement.
28632         * lib/rename.c (includes): Allow cross-compilation to non-windows
28633         machines.
28634         * doc/posix-functions/rename.texi (rename): Improve
28635         documentation.
28636
28637         stdio: sort witness names
28638         * modules/stdio (Makefile.am): Sort replacements.
28639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28640         * lib/stdio.in.h: Likewise.
28641
28642         getcwd: minor cleanups
28643         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
28644         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
28645
28646         openat: provide more convenience names
28647         * modules/faccessat (configure.ac): Add C witness.
28648         * lib/unistd.in.h (readlinkat): Fix typo.
28649         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
28650         convenience wrappers.
28651         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
28652         wrappers in syntax checks.
28653
28654 2009-09-06  Eric Blake  <ebb9@byu.net>
28655
28656         doc: fix comments in recent patches
28657         * lib/faccessat.c: Mention correct function.
28658         * lib/fchmodat.c: Likewise.
28659         * lib/fchownat.c: Likewise.
28660         * lib/symlinkat.c: Likewise.
28661         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
28662         constants.
28663
28664         faccessat, symlinkat: continue cleanup of previous patch
28665         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
28666         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
28667         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
28668         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
28669         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
28670         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
28671         set.
28672
28673 2009-09-06  Bruno Haible  <bruno@clisp.org>
28674
28675         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
28676         (fstatat): Declare if GNULIB_FSTATAT is set.
28677         (mkdirat): Declare if GNULIB_MKDIRAT is set.
28678         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
28679         (unlinkat): Declare if GNULIB_UNLINKAT is set.
28680         * modules/fcntl-h (Files): Remove m4/openat.m4.
28681         * modules/sys_stat (Files): Remove m4/openat.m4.
28682         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
28683         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
28684         * modules/unistd (Files): Remove m4/openat.m4.
28685         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
28686         GNULIB_OPENAT.
28687         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
28688         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
28689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
28690         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
28691         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
28692         gl_OPENAT_DEFAULTS.
28693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
28694         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
28695         Don't require gl_OPENAT_DEFAULTS.
28696         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
28697         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
28698         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
28699         (gl_OPENAT_DEFAULTS): Remove macro.
28700
28701 2009-09-06  Bruno Haible  <bruno@clisp.org>
28702
28703         * modules/openat (configure.ac): Remove unneeded witness.
28704
28705 2009-09-06  Bruno Haible  <bruno@clisp.org>
28706
28707         Set errno to ENOSYS when a function is entirely unsupported.
28708         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
28709         EOPNOTSUPP.
28710         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
28711         * modules/chown (Depends-on): Remove errno.
28712
28713 2009-09-06  Bruno Haible  <bruno@clisp.org>
28714
28715         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
28716
28717 2009-09-06  Bruno Haible  <bruno@clisp.org>
28718
28719         * lib/sys_stat.in.h: Fix preprocessor command indentation.
28720
28721 2009-09-06  Ben Pfaff  <blp@gnu.org>
28722             Bruno Haible  <bruno@clisp.org>
28723
28724         Work around a glibc bug in strtok_r.
28725         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
28726         Undefine if UNDEFINE_STRTOK_R is set.
28727         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
28728         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28729         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
28730         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
28731         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
28732         UNDEFINE_STRTOK_R.
28733         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
28734
28735 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
28736
28737         exclude: minor fix
28738         * lib/exclude.c: Include wctype.h
28739
28740 2009-09-06  Akim Demaille  <demaille@gostai.com>
28741
28742         bootstrap: improve error message
28743         * build-aux/bootstrap (find_tool): Upon failure, report the list
28744         of candidates.
28745         Honor the initial value of the envvar.
28746
28747 2009-09-05  Eric Blake  <ebb9@byu.net>
28748
28749         symlinkat: new module
28750         * modules/symlinkat: New file.
28751         * lib/symlinkat.c: Likewise.
28752         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
28753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28754         * modules/unistd (Makefile.am): Use them.
28755         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
28756         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
28757         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
28758         * MODULES.html.sh (File system functions): Mention module.
28759         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28760         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28761         * modules/symlinkat-tests: New test.
28762         * tests/test-symlinkat.c: Likewise.
28763
28764         test-openat-safer: add more checks
28765         * tests/test-openat-safer.c (main): Check more code paths.
28766
28767 2009-09-05  Jim Meyering  <meyering@redhat.com>
28768
28769         syntax-check: detect unnecessary inclusion of openat.h
28770         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
28771
28772 2009-09-05  Bruno Haible  <bruno@clisp.org>
28773
28774         Support towlower, towupper.
28775         * doc/posix-functions/towlower.texi: Mention module wctype.
28776         * doc/posix-functions/towupper.texi: Likewise.
28777         * lib/wctype.in.h (towlower, towupper): New functions.
28778         * tests/test-wctype.c: Include stdio.h, stdlib.h.
28779         (ASSERT): New macro.
28780         (e): New variable.
28781         (main): Test also towlower, towupper. Test WEOF argument.
28782         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28783
28784 2009-09-05  Bruno Haible  <bruno@clisp.org>
28785
28786         Fix conversion behaviour when the input is invalid.
28787         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
28788         mark occurring in first pass of indirect conversion.
28789         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
28790         input.
28791         Found by clang's static analyzer.
28792
28793 2009-09-05  Bruno Haible  <bruno@clisp.org>
28794
28795         * tests/test-striconveh.c (main): Test indirect conversion on platforms
28796         where direct conversion is possible.
28797
28798 2009-09-04  Eric Blake  <ebb9@byu.net>
28799
28800         openat: fail with ENOENT on empty name
28801         * lib/openat-proc.c (openat_proc_name): Special-case the empty
28802         buffer.
28803
28804         link-follow: fix logic bug in prior patch
28805         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
28806         reversed sense of yes and no in prior patch.  Avoid confusing
28807         compilation failure with desired semantics.
28808
28809         link-follow: accomodate mingw and cross-compilation
28810         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
28811         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
28812         cross-compilation results to -1, to make linkat easier to
28813         implement when cross-compiling.  Trivially support mingw.
28814         * modules/link-follow (configure.ac): Call new name.
28815         * NEWS: Mention this.
28816
28817 2009-09-03  Eric Blake  <ebb9@byu.net>
28818
28819         faccessat: compile replacement
28820         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
28821         needed.
28822
28823         fts: fix compilation error
28824         * lib/fts.c (includes): Re-add "openat.h", for
28825         openat_needs_fchdir.
28826
28827         faccessat: new module
28828         * modules/faccessat: New file.
28829         * lib/faccessat.c: Likewise.
28830         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
28831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28832         * modules/unistd (Makefile.am): Use it.
28833         * lib/unistd.in.h (faccessat): Declare it.
28834         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
28835         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
28836         * MODULES.html.sh (File system functions): Mention it.
28837         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
28838         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
28839
28840         euidaccess: prefer POSIX over non-standard implementation
28841         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
28842         * lib/euidaccess.c (euidaccess): Use it if available.
28843
28844         openat: make template easier to use
28845         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
28846         AT_FUNC_F2 to be undefined.
28847         (VALIDATE_FLAG): New macro; use it to reject bad flags.
28848         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
28849         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
28850         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
28851         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
28852         Likewise.
28853         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
28854         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
28855         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
28856         Likewise.
28857
28858         openat: declare in POSIX headers
28859         * NEWS: Mention this.
28860         * modules/openat (configure.ac): Declare witnesses.
28861         (Depends-on): Add fcntl-h, sys_stat, unistd.
28862         (Include): Mention correct headers.
28863         * modules/fcntl-h (Depends-on): Add link-warning.
28864         (Files): Add openat.m4.
28865         (Makefile.am): Substitute witnesses.
28866         * modules/sys_stat (Files, Makefile.am): Likewise.
28867         * modules/unistd (Files, Makefile.am): Likewise.
28868         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
28869         (gl_OPENAT_DEFAULTS): New macro.
28870         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
28871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
28872         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
28873         (SYS_STAT_H): Remove unused variable.
28874         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
28875         * lib/fcntl--.h (includes): Remove unneeded header.
28876         * lib/openat-safer.c (includes): Likewise.
28877         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
28878         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
28879         appropriate headers.
28880         (__OPENAT_PREFIX): Delete.
28881         * lib/fcntl.in.h (openat): Provide declaration.
28882         (AT_FDCWD): Fix Solaris bug.
28883         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
28884         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
28885         * lib/fchmodat.c (includes):  Adjust to find declaration.
28886         * lib/fchownat.c (includes): Likewise.
28887         * lib/mkdirat.c (includes): Likewise.
28888         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
28889         still visible.
28890
28891 2009-09-02  Eric Blake  <ebb9@byu.net>
28892
28893         errno: use consistently
28894         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
28895         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
28896         * lib/canonicalize.c (ELOOP): Likewise.
28897         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
28898         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
28899         * lib/lchown.c (EOPNOTSUPP): Likewise.
28900         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
28901         * lib/savewd.c (ESTALE): Likewise.
28902         * lib/settime.c (ENOSYS): Likewise.
28903         * lib/utimens.c (ENOSYS): Likewise.
28904         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
28905         * lib/chdir-safer.c (ELOOP): Likewise.
28906         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
28907         * modules/c-stack (Depends-on): Add errno.
28908         * modules/canonicalize (Depends-on): Likewise.
28909         * modules/chdir-safer (Depends-on): Likewise.
28910         * modules/fdopendir (Depends-on): Likewise.
28911         * modules/inet_ntop (Depends-on): Likewise.
28912         * modules/inet_pton (Depends-on): Likewise.
28913         * modules/lchown (Depends-on): Likewise.
28914         * modules/openat (Depends-on): Likewise.
28915         * modules/savewd (Depends-on): Likewise.
28916         * modules/settime (Depends-on): Likewise.
28917         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
28918
28919         fts: avoid leaking fds
28920         * modules/fts (Depends-on): Add cloexec.
28921         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
28922         flag.
28923
28924         fts: make directory fds more robust
28925         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
28926         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
28927
28928         backupfile, chdir-long, fts, savedir: make safer
28929         * lib/backupfile.c (includes): Use "dirent--.h", since
28930         numbered_backup can write to stderr during readdir.
28931         * lib/savedir.c (includes): Likewise.
28932         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
28933         emulation can write to stderr on failure.
28934         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
28935         * lib/getcwd.c: Document why opendir_safer is unused.
28936         * lib/glob.c: Likewise.
28937         * lib/scandir.c: Likewise.
28938         * lib/openat-proc.c: Likewise, for open_safer.
28939         * modules/backupfile (Depends-on): Add dirent-safer.
28940         * modules/savedir (Depends-on): Likewise.
28941         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
28942         * modules/chdir-long (Depends-on): Add openat-safer.
28943
28944         openat-safer: new module
28945         * modules/openat-safer: New file.
28946         * lib/openat-safer.c: Likewise.
28947         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
28948         * lib/fcntl-safer.h (openat_safer): Declare.
28949         * lib/fcntl--.h (openat): Override.
28950         * MODULES.html.sh (File descriptor based I/O): Mention it.
28951         * lib/openat.h: Add double-inclusion guards.
28952         * lib/openat.c (includes): Only include "fcntl-safer.h", not
28953         "fcntl--.h", so we can implement openat.
28954         * modules/openat-safer-tests: New test.
28955         * tests/test-openat-safer.c: New file.
28956
28957         dirent-safer: new module
28958         * modules/dirent-safer: New file.
28959         * lib/dirent--.h: Likewise.
28960         * lib/dirent-safer.h: Likewise.
28961         * lib/opendir-safer.c: Likewise.
28962         * m4/dirent-safer.m4: Likewise.
28963         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
28964         * modules/dirent-safer-tests: New test.
28965         * tests/test-dirent-safer.c: New file.
28966         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
28967
28968         fdopendir: optimize on mingw
28969         * lib/unistd.in.h (_gl_directory_name): New prototype.
28970         * lib/fchdir.c (_gl_directory_name): Implement it.
28971         (fchdir): Use it to simplify implementation.
28972         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
28973         fchdir, when available, to avoid calling [f]chdir().
28974
28975         fdopendir: split into its own module
28976         * lib/openat.c (fdopendir): Move...
28977         * lib/fdopendir.c: ...into new file.
28978         * modules/fdopendir: New module.
28979         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
28980         * modules/openat (Depends-on): Add fdopendir.
28981         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
28982         fdopendir here.
28983         * modules/savedir (Depends-on): Only need fdopendir, not full
28984         openat.
28985         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
28986         * lib/openat.h (fdopendir): Drop prototype.
28987         * lib/dirent.in.h (fdopendir): Provide prototype.
28988         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
28989         * modules/dirent (Makefile.am): Substitute them.
28990         * MODULES.html.sh (File system functions): Mention it.
28991         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
28992         * modules/fdopendir-tests: New file.
28993         * tests/test-fdopendir.c: Likewise.
28994
28995         fchdir: use more consistent macro convention
28996         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
28997         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
28998         REPLACE_FCHDIR, rather than relying on config.h macros.
28999         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
29000         inside a single make-time REPLACE_FCHDIR block, rather than using
29001         the config.h FCHDIR_REPLACEMENT.
29002         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
29003         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
29004         Manage fstat replacement.
29005         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
29006         REPLACE_FCHDIR.
29007         * modules/sys_stat (Files): Add m4/unistd_h.m4.
29008         (Makefile.am): Substitute REPLACE_FCHDIR.
29009         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
29010         FCHDIR_REPLACEMENT.
29011         * lib/dup-safer.c (dup_safer): Likewise.
29012         * lib/dup2.c (rpl_dup2): Likewise.
29013         * lib/dup3.c (rpl_dup3): Likewise.
29014         * lib/open.c (rpl_open): Likewise.
29015
29016         fchdir: simplify error handling, and support dup3
29017         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
29018         stdbool, malloc-posix, realloc-posix.
29019         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
29020         (ensure_dirs_slot): Return false on allocation failure.
29021         (rpl_dup2): Delete.
29022         (_gl_register_dup): New function.
29023         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
29024         (_gl_register_fd): Close fd on allocation failure.
29025         * lib/fcntl.in.h (_gl_register_fd): Update signature.
29026         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
29027         prototype.
29028         (rpl_dup2_fchdir): Delete prototype.
29029         * lib/open.c (open): Update caller.
29030         * lib/dup2.c (dup2): Track fchdir metadata.
29031         * lib/dup3.c (dup3): Likewise.
29032         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
29033         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
29034
29035 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29036
29037         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
29038         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
29039         don't pass arguments to AC_OUTPUT.
29040
29041 2009-09-02  Bruno Haible  <bruno@clisp.org>
29042
29043         * modules/mkdtemp (License): Relicense under LGPLv2+.
29044         Reported by Paolo Bonzini.
29045
29046 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29047
29048         Replace uses of obsolete autoconf macros in Jim's modules.
29049         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
29050         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
29051         can evoke a warning from autoconf when run with -Wobsolete
29052         enabled.  They were declared obsolete for good reasons (see
29053         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
29054         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
29055         should not continue using the deprecated macros.
29056         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
29057         obsolete Autoconf macros with modern counterparts.
29058         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29059         * m4/dos.m4 (gl_AC_DOS): Likewise.
29060         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
29061         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
29062         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
29063         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
29064         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
29065         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
29066         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
29067         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
29068         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
29069         Likewise.
29070         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
29071         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
29072         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
29073         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
29074         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
29075         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
29076
29077 2009-09-01  Eric Blake  <ebb9@byu.net>
29078
29079         fchdir: fix off-by-one bug in previous patch
29080         * lib/fchdir.c (rpl_fstat): Use correct bounds.
29081         (_gl_unregister_fd): Delete useless if.
29082
29083 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
29084
29085         maint.mk: sort the list of syntax-check rules
29086         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
29087         easier to get a sense of progress when the rules are run sequentially
29088         and take a long time.
29089
29090 2009-09-01  Simon Josefsson  <simon@josefsson.org>
29091
29092         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
29093         * modules/netinet_in: Likewise.
29094         * modules/sys_file: Likewise.
29095         * modules/sys_ioctl: Likewise.
29096         * modules/sys_select: Likewise.
29097         * modules/sys_socket: Likewise.
29098         * modules/sys_stat: Likewise.
29099         * modules/sys_time: Likewise.
29100         * modules/sys_times: Likewise.
29101         * modules/sys_utsname: Likewise.
29102         * modules/sys_wait: Likewise.
29103
29104 2009-09-01  Jim Meyering  <meyering@redhat.com>
29105
29106         fts: help ensure that return values are not ignored
29107         * lib/fts_.h (__GNUC_PREREQ): Define.
29108         (__attribute_warn_unused_result__): Define.
29109         (fts_children, fts_close, fts_open, fts_read): Declare with
29110         __attribute_warn_unused_result__.
29111
29112         fts: fts_close now fails also when closing a dir file descriptor fails
29113         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
29114         and propagate to caller, along with errno.
29115
29116         announce-gen: correct formatting in --help output
29117         * build-aux/announce-gen (usage): Move the one-line description in
29118         --help output "up", to where it belongs, just after Usage:.
29119
29120 2009-08-31  Eric Blake  <ebb9@byu.net>
29121
29122         fchdir: port to mingw
29123         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
29124         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
29125         opened, then use a substitute.
29126         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
29127         replacement.
29128         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
29129         (_gl_register_fd): No need to check stat if open already filters
29130         all directories.
29131         (fchdir): Fix error condition to match POSIX.
29132         * modules/fchdir (Depends-on): Add sys_stat.
29133         * doc/posix-functions/open.texi (open): Document the limitation.
29134         * modules/fchdir-tests: New file.
29135         * tests/test-fchdir.c: Likewise.
29136
29137         canonicalize: allow cross-testing from cygwin to mingw
29138         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
29139         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
29140         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
29141         Likewise.
29142         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
29143         target does not support symlinks.
29144         * tests/test-canonicalize-lgpl.sh: Likewise.
29145
29146         chown: avoid compilation warning on mingw
29147         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
29148         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
29149         mingw.
29150         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
29151         * modules/chown (Depends-on): Add errno.
29152
29153 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
29154
29155         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
29156         command.
29157
29158 2009-08-31  Jim Meyering  <meyering@redhat.com>
29159
29160         canonicalize: remove useless initialization
29161         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
29162         initialization of local, "end".
29163
29164 2009-08-30  Bruno Haible  <bruno@clisp.org>
29165
29166         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
29167         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
29168         ENOSYS.
29169
29170 2009-08-30  Bruno Haible  <bruno@clisp.org>
29171
29172         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
29173         /usr/xpg4/bin/tr when it exists.
29174         * tests/test-pipe-filter-gi1.sh: Likewise.
29175
29176 2009-08-30  Bruno Haible  <bruno@clisp.org>
29177
29178         Work around deficient /usr/bin/id program on Solaris.
29179         * tests/test-file-has-acl.sh (ID): New variable.
29180         * tests/test-set-mode-acl.sh (ID): Likewise.
29181         * tests/test-copy-acl.sh (ID): Likewise.
29182         * tests/test-copy-file.sh (ID): Likewise.
29183
29184 2009-08-30  Bruno Haible  <bruno@clisp.org>
29185
29186         New module 'xstriconveh'.
29187         * lib/xstriconveh.h: New file.
29188         * lib/xstriconveh.c: New file.
29189         * modules/xstriconveh: New file.
29190
29191 2009-08-30  Bruno Haible  <bruno@clisp.org>
29192
29193         Make it easier to use mem_cd_iconveh.
29194         * lib/striconveh.h (iconveh_t): New type.
29195         (iconveh_open, iconveh_close): New declarations.
29196         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29197         with a single 'const iconveh_t *' argument.
29198         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
29199         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29200         with a single 'const iconveh_t *' argument.
29201         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
29202         * tests/test-striconveh.c (main): Update.
29203         * NEWS: Mention the change.
29204
29205 2009-08-30  Bruno Haible  <bruno@clisp.org>
29206
29207         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
29208         problem.
29209
29210 2009-08-30  Bruno Haible  <bruno@clisp.org>
29211
29212         Work around iconv_open problem on Solaris.
29213         * lib/iconv_open-solaris.gperf: New file.
29214         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
29215         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
29216         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
29217         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
29218         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
29219         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
29220
29221 2009-08-29  Jim Meyering  <meyering@redhat.com>
29222
29223         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
29224         * top/maint.mk (cvs-check): Remove target; it was just an alias
29225         to the better-named vc-diff-check.
29226         (maintainer-distcheck): Remove rule.  It was used only from
29227         the (alpha/beta/major) target, and all of its commands but one
29228         were coreutils-specific.
29229         (vc-dist): Remove rule.
29230         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
29231         Run vc-diff-check, not vc-dist.
29232         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
29233
29234 2009-08-27  Bruno Haible  <bruno@clisp.org>
29235
29236         * tests/test-bitrotate.c (main): Remove test that uses a shift count
29237         of 0.
29238
29239 2009-08-27  Bruno Haible  <bruno@clisp.org>
29240
29241         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
29242         compilers.
29243         * doc/func.texi: Document the SunPRO C bug.
29244
29245 2009-08-27  Bruno Haible  <bruno@clisp.org>
29246
29247         Fix link error on Solaris.
29248         * tests/test-parse-duration.c (xstrdup): Remove function.
29249
29250 2009-08-26  Pádraig Brady  <P@draigbrady.com>
29251
29252         ignore-value: handle pointer types, too
29253         * lib/ignore-value.h (__attribute__): Remove definition.
29254         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
29255         of a more concise and more-often effective "(void) i" statement.
29256         (ignore_ptr): New function to suppress warnings from functions that
29257         return pointers, and to make it explicit that one function doesn't
29258         handle all cases.
29259
29260 2009-08-25  Bruno Haible  <bruno@clisp.org>
29261
29262         dup2: work around a Linux bug.
29263         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
29264         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
29265         * doc/posix-functions/dup2.texi: Mention the Linux bug.
29266         Reported by Simon Josefsson.
29267
29268 2009-08-25  Jim Meyering  <meyering@redhat.com>
29269
29270         libguestfs uses gnulib
29271         * users.txt: Add libguestfs.
29272
29273 2009-08-24  Eric Blake  <ebb9@byu.net>
29274
29275         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
29276         * lib/pipe2.c (includes): Add binary-io.h.
29277         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
29278
29279 2009-08-24  Bruno Haible  <bruno@clisp.org>
29280
29281         Tolerate declared but missing accept4 syscall.
29282         * lib/accept4.c (accept4): Invoke original accept4 function first, if
29283         available.
29284         * lib/sys_socket.in.h (accept4): If the function is already present,
29285         override it.
29286         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
29287         * modules/accept4 (Makefile.am): Compile accept4.c always.
29288         Reported by Paolo Bonzini and Eric Blake.
29289
29290 2009-08-23  Bruno Haible  <bruno@clisp.org>
29291
29292         New module 'accept4'.
29293         * lib/sys_socket.in.h (accept4): New declaration.
29294         * lib/accept4.c: New file.
29295         * m4/accept4.m4: New file.
29296         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
29297         GNULIB_ACCEPT4, HAVE_ACCEPT4.
29298         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
29299         HAVE_ACCEPT4.
29300         * modules/accept4: New file.
29301         * doc/glibc-functions/accept4.texi: Mention the new module.
29302
29303 2009-08-24  Jim Meyering  <meyering@redhat.com>
29304
29305         progname: also set global program_invocation_name, when possible
29306         Before this change, a libtool-enabled program that calls glibc's
29307         error function would report the program name as
29308         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
29309         * modules/progname (configure.ac): Check for a declaration of
29310         program_invocation_name.
29311         * lib/progname.c:  Include <errno.h>.
29312         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
29313         Set program_invocation_name.
29314
29315 2009-08-23  Bruno Haible  <bruno@clisp.org>
29316
29317         * lib/dup3.c: Include <string.h>.
29318
29319 2009-08-23  Bruno Haible  <bruno@clisp.org>
29320
29321         * lib/dup3.c (dup3): Test only once whether the system actually exists.
29322         * lib/pipe2.c (pipe2): Likewise.
29323         Suggested by Eric Blake.
29324
29325 2009-08-23  Bruno Haible  <bruno@clisp.org>
29326
29327         Tolerate declared but missing dup3 syscall.
29328         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
29329         * lib/unistd.in.h (dup3): If the function is already present,
29330         override it.
29331         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
29332         * modules/dup3 (Makefile.am): Compile dup3.c always.
29333         Reported by Paolo Bonzini.
29334
29335 2009-08-23  Bruno Haible  <bruno@clisp.org>
29336
29337         Tolerate declared but missing pipe2 syscall.
29338         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
29339         available.
29340         * lib/unistd.in.h (pipe2): If the function is already present,
29341         override it.
29342         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
29343         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
29344         Reported by Paolo Bonzini.
29345
29346 2009-08-23  Bruno Haible  <bruno@clisp.org>
29347
29348         * lib/pipe2.c (pipe2): Move #ifs inside function.
29349
29350 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29351
29352         quotearg: document limitations of quote_these_too
29353         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
29354         those limitations are created.
29355         * lib/quotearg.h (set_char_quoting): Document that digits and
29356         letters that are special after backslash are not permitted.
29357         (quotearg_char): Cross-reference set_char_quoting documentation.
29358
29359 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
29360
29361         quotearg: implement custom_quoting_style
29362         * lib/quotearg.c: (struct quoting_options): Add left_quote and
29363         right_quote fields.
29364         (set_custom_quoting): New public function.
29365         (quotearg_buffer_restyled): Add left_quote and right_quote
29366         arguments, handle them very much like locale quoting, and update
29367         all uses.
29368         (quotearg_n_custom): New public function.
29369         (quotearg_n_custom_mem): New public function.
29370         (quotearg_custom): New public function.
29371         (quotearg_custom_mem): New public function.
29372         * lib/quotearg.h: Prototype and document new public functions.
29373         (enum quoting_style): For escape_quoting_style and
29374         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
29375         ignored even though they're otherwise like c_quoting_style.
29376         Add custom_quoting_style member and document with comparison to
29377         clocale_quoting_style.
29378         * tests/test-quotearg.c (custom_quotes): New array.
29379         (custom_results): New array.
29380         (main): Extend to test custom quoting.
29381
29382 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29383
29384         quotearg: fix right quote escaping when it's in quote_these_too
29385         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
29386         quote, be sure to prepend only one backslash.
29387         * tests/test-quotearg.c (use_quote_double_quotes): New function.
29388         (main): Test it.
29389
29390 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29391
29392         quotearg-tests: test escaping of embedded locale quotes
29393         * tests/test-quotearg.c (struct result_strings): Add member for
29394         new input.
29395         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
29396         (inputs): Add new input.
29397         (results_g): Add expected results.
29398         (flag_results): Likewise.
29399         (locale_results): Likewise.
29400         (compare_strings): Check those.
29401
29402 2009-08-23  Bruno Haible  <bruno@clisp.org>
29403
29404         Tests for module 'dup3'.
29405         * modules/dup3-tests: New file.
29406         * tests/test-dup3.c: New file.
29407
29408         New module 'dup3'.
29409         * lib/unistd.in.h (dup3): New declaration.
29410         * lib/dup3.c: New file.
29411         * m4/dup3.m4: New file.
29412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
29413         HAVE_DUP3.
29414         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
29415         * modules/dup3: New file.
29416         * doc/glibc-functions/dup3.texi: Mention the new module.
29417
29418 2009-08-23  Bruno Haible  <bruno@clisp.org>
29419
29420         Tweak the dup2 test.
29421         * tests/test-dup2.c (main): Create the test file empty. Verify that an
29422         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
29423         the test file is still empty. Fix argument order of lseek.
29424
29425 2009-08-23  Bruno Haible  <bruno@clisp.org>
29426
29427         Avoid test link errors when the modules getopt-gnu, gettext are used.
29428         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
29429         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29430
29431 2009-08-23  Bruno Haible  <bruno@clisp.org>
29432
29433         Fix getdtablesize() on mingw.
29434         * lib/getdtablesize.c (getdtablesize): Implement differently.
29435         * lib/unistd.in.h (getdtablesize): Improve comment.
29436
29437 2009-08-23  Bruno Haible  <bruno@clisp.org>
29438
29439         New module 'mkostemp'.
29440         Based on Ulrich Drepper's 2007-08-10 change in glibc.
29441         * lib/stdlib.in.h (mksotemp): New declaration.
29442         * lib/mkostemp.c: New file, from glibc with modifications.
29443         * lib/tempname.h (GT_FILE): Remove outdated comment.
29444         (gen_tempname): Add flags argument.
29445         * lib/tempname.c (__GT_BIGFILE): Remove macro.
29446         (__GT_FILE): Map to 1.
29447         (small_open, large_open): Remove macros.
29448         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
29449         * lib/mkstemp.c (mkstemp): Update.
29450         * lib/mkdtemp.c (mkdtemp): Likewise.
29451         * m4/mkostemp.m4: New file.
29452         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
29453         HAVE_MKOSTEMP.
29454         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
29455         HAVE_MKOSTEMP.
29456         * modules/mkostemp: New file, based on modules/mkstemp.
29457         * doc/glibc-functions/mkostemp.texi: Mention the new module.
29458         * NEWS: Mention the change.
29459
29460 2009-08-23  Bruno Haible  <bruno@clisp.org>
29461
29462         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
29463         Reported by Eric Blake.
29464
29465 2009-08-23  Bruno Haible  <bruno@clisp.org>
29466
29467         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
29468         Reported by Eric Blake.
29469
29470 2009-08-23  Bruno Haible  <bruno@clisp.org>
29471
29472         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
29473         * modules/pipe2 (Depends-on): Likewise.
29474
29475 2009-08-23  Eric Blake  <ebb9@byu.net>
29476
29477         fcntl-h: add O_TTY_INIT support
29478         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
29479         * tests/test-fcntl-h.c (o): Test it.
29480         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
29481
29482         fcntl-h: rename from fcntl, in preparation for fcntl(2)
29483         * modules/fcntl: Move <fcntl.h> header replacement...
29484         * modules/fcntl-h: ...to new name, so as not to collide with
29485         like-named function.
29486         * tests/test-fcntl.c: Rename...
29487         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
29488         * modules/fcntl-tests: Rename...
29489         * modules/fcntl-h-tests: ...to this.  Update test file name.
29490         * modules/chdir-long (Depends-on): Update clients.
29491         * modules/chdir-safer (Depends-on): Likewise.
29492         * modules/fcntl-safer (Depends-on): Likewise.
29493         * modules/fts (Depends-on): Likewise.
29494         * modules/mkancesdirs (Depends-on): Likewise.
29495         * modules/mkdir-p (Depends-on): Likewise.
29496         * modules/open (Depends-on): Likewise.
29497         * modules/savewd (Depends-on): Likewise.
29498         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
29499         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
29500
29501 2009-08-22  Bruno Haible  <bruno@clisp.org>
29502
29503         * modules/binary-io (License): Relicense under LGPL.
29504         * modules/pipe2 (License): Likewise.
29505
29506 2009-08-22  Bruno Haible  <bruno@clisp.org>
29507
29508         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
29509         return value.
29510         * lib/pipe-filter-gi.c (filter_init): Likewise.
29511         Reported by Eric Blake.
29512
29513 2009-08-22  Bruno Haible  <bruno@clisp.org>
29514
29515         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
29516         * modules/pipe (Depends-on): Add pipe2.
29517
29518 2009-08-22  Bruno Haible  <bruno@clisp.org>
29519
29520         Tests for module 'pipe2'.
29521         * modules/pipe2-tests: New file.
29522         * tests/test-pipe2.c: New file.
29523
29524         New module 'pipe2'.
29525         * lib/unistd.in.h (pipe2): New declaration.
29526         * lib/pipe2.c: New file.
29527         * m4/pipe2.m4: New file.
29528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
29529         HAVE_PIPE2.
29530         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
29531         * modules/pipe2: New file.
29532         * doc/glibc-functions/pipe2.texi: Mention the new module.
29533
29534 2009-08-22  Bruno Haible  <bruno@clisp.org>
29535
29536         Reference some new glibc functions.
29537         * doc/glibc-functions/accept4.texi: New file.
29538         * doc/glibc-functions/dup3.texi: New file.
29539         * doc/glibc-functions/mkostemp.texi: New file.
29540         * doc/glibc-functions/pipe2.texi: New file.
29541         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
29542         (Glibc sys/socket.h): Refer to accept4.
29543         (Glibc unistd.h): Refer to dup3, pipe2.
29544         Reported by Eric Blake.
29545
29546 2009-08-22  Jim Meyering  <meyering@redhat.com>
29547             Bruno Haible  <bruno@clisp.org>
29548
29549         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
29550         This makes it so packages using automake-1.11's silent-rules option
29551         can print e.g., a single "GEN    configmake.h" line, rather than
29552         the 30+ statements that perform the job.  If you want to see the
29553         actual commands, you can still run "make V=1".
29554         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
29555         so that make output is abbreviated when those variables are defined
29556         appropriately.
29557         * modules/argz: Likewise.
29558         * modules/arpa_inet: Likewise.
29559         * modules/byteswap: Likewise.
29560         * modules/configmake: Likewise.
29561         * modules/dirent: Likewise.
29562         * modules/errno: Likewise.
29563         * modules/fcntl: Likewise.
29564         * modules/float: Likewise.
29565         * modules/fnmatch: Likewise.
29566         * modules/getopt-posix: Likewise.
29567         * modules/glob: Likewise.
29568         * modules/iconv_open: Likewise.
29569         * modules/inttypes: Likewise.
29570         * modules/localcharset: Likewise.
29571         * modules/locale: Likewise.
29572         * modules/math: Likewise.
29573         * modules/netdb: Likewise.
29574         * modules/netinet_in: Likewise.
29575         * modules/poll: Likewise.
29576         * modules/posix_spawnp-tests: Likewise.
29577         * modules/sched: Likewise.
29578         * modules/search: Likewise.
29579         * modules/selinux-h: Likewise.
29580         * modules/signal: Likewise.
29581         * modules/spawn: Likewise.
29582         * modules/stdarg: Likewise.
29583         * modules/stdbool: Likewise.
29584         * modules/stddef: Likewise.
29585         * modules/stdint: Likewise.
29586         * modules/stdio: Likewise.
29587         * modules/stdlib: Likewise.
29588         * modules/string: Likewise.
29589         * modules/strings: Likewise.
29590         * modules/sys_file: Likewise.
29591         * modules/sys_ioctl: Likewise.
29592         * modules/sys_select: Likewise.
29593         * modules/sys_socket: Likewise.
29594         * modules/sys_stat: Likewise.
29595         * modules/sys_time: Likewise.
29596         * modules/sys_times: Likewise.
29597         * modules/sys_utsname: Likewise.
29598         * modules/sys_wait: Likewise.
29599         * modules/sysexits: Likewise.
29600         * modules/time: Likewise.
29601         * modules/unistd: Likewise.
29602         * modules/wchar: Likewise.
29603         * modules/wctype: Likewise.
29604
29605 2009-08-22  Jim Meyering  <meyering@redhat.com>
29606
29607         announce-gen: detect write failure
29608         * build-aux/announce-gen: Add Coda at end.
29609         Remove equivalent-but-more-verbose block at top.
29610
29611 2009-08-19  Akim Demaille  <demaille@gostai.com>
29612
29613         bootstrap: --help to stdout.
29614         * bootstrap (usage): Don't send --help to stderr.
29615         Use a here doc instead of a long string.
29616
29617 2009-08-21  Eric Blake  <ebb9@byu.net>
29618
29619         test-popen-safer: split from test-popen
29620         * tests/test-popen.c (main): Move...
29621         * tests/test-popen.h: ...into new file.
29622         * tests/test-popen-safer2.c: New file.
29623         * modules/popen-tests (Files): Add test-popen.h.
29624         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
29625         Suggested by Bruno Haible.
29626
29627         test-fcntl-safer: split from test-open
29628         * tests/test-open.c (main): Move...
29629         * tests/test-open.h: ...into new file.
29630         * tests/test-fcntl-safer.c: New file.
29631         * modules/open-tests (Files): Add test-open.h.
29632         * modules/fcntl-safer-tests: New file.
29633         Suggested by Bruno Haible.
29634
29635         test-fopen-safer: split from test-fopen
29636         * tests/test-fopen.c (main): Move...
29637         * tests/test-fopen.h: ...into new file.
29638         * tests/test-fopen-safer.c: New file.
29639         * modules/fopen-tests (Files): Add test-fopen.h.
29640         * modules/fopen-safer-tests: New file.
29641         Suggested by Bruno Haible.
29642
29643 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
29644
29645         popen-safer: test O_CLOEXEC at run-time.
29646         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
29647
29648 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
29649
29650         fcntl: move more flags to the header
29651         * lib/cloexec.c: Do not define FD_CLOEXEC here.
29652         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
29653         * lib/fcntl.in.h: Do both things here.
29654
29655 2009-08-21  Jim Meyering  <meyering@redhat.com>
29656
29657         consistently remove $@-t before redirecting to it
29658         * modules/argz: Remove $@-t and $@ before redirecting to the former.
29659         * modules/alloca-opt: Likewise.
29660         * modules/byteswap: Likewise.
29661         * modules/fnmatch: Likewise.
29662         * modules/getopt-posix: Likewise.
29663         * modules/glob: Likewise.
29664         * modules/poll: Likewise.
29665         * modules/posix_spawnp-tests: Likewise.
29666         * modules/sys_socket: Likewise.
29667         * modules/sysexits: Likewise.
29668
29669 2009-08-21  Eric Blake  <ebb9@byu.net>
29670
29671         popen: simplify access to original popen
29672         * lib/popen.c (rpl_popen): No need to worry about popen being a
29673         macro.
29674         Reported by Bruno Haible.
29675
29676 2009-08-20  Eric Blake  <ebb9@byu.net>
29677
29678         build: avoid some compiler warnings
29679         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
29680         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
29681         type.
29682         (new_exclude_segment, excluded_file_pattern_p)
29683         (excluded_file_name_p): Reduce scope.
29684         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
29685         old-style declaration.
29686
29687 2009-08-20  Simon Josefsson  <simon@josefsson.org>
29688
29689         * tests/test-exclude1.sh: Handle Windows EOL.
29690         * tests/test-exclude2.sh: Likewise.
29691         * tests/test-exclude3.sh: Likewise.
29692         * tests/test-exclude4.sh: Likewise.
29693         * tests/test-exclude5.sh: Likewise.
29694         * tests/test-exclude6.sh: Likewise.
29695         * tests/test-exclude7.sh: Likewise.
29696
29697 2009-08-19  Akim Demaille  <demaille@gostai.com>
29698
29699         bootstrap: find sha1sum when named gsha1sum.
29700         * bootstrap (find_tool): New.
29701         ($SHA1SUM): New.
29702         Use it.
29703
29704 2009-08-20  Jim Meyering  <meyering@redhat.com>
29705
29706         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
29707         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
29708         expression that converts "." in a file name to "\." in the resulting
29709         regexp.  Start with a dummy statement, so that prior shell variable
29710         definitions are expanded portably.  Reported by Simon Josefsson.
29711
29712 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
29713
29714         Fix polling for writeability of a screen buffer.
29715         * lib/poll.c: Distinguish input and screen buffers for the
29716         Win32 implementation.
29717         * lib/select.c: Likewise.
29718
29719 2009-08-19  Eric Blake  <ebb9@byu.net>
29720
29721         popen-safer: prevent popen from clobbering std descriptors
29722         * modules/popen-safer: New file.
29723         * lib/popen-safer.c: Likewise.
29724         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
29725         * lib/stdio--.h (popen): Provide override.
29726         * lib/stdio-safer.h (popen_safer): Provide declaration.
29727         * tests/test-popen.c (includes): Partially test this.
29728         * modules/popen-safer-tests: New file, for more tests.
29729         * tests/test-popen-safer.c: Likewise.
29730         * MODULES.html.sh (file stream based Input/Output): Mention it.
29731
29732         tests: test some of the *-safer modules
29733         * modules/fopen-safer (Depends-on): Add fopen.
29734         * modules/fcntl-safer (Depends-on): Add fcntl.
29735         * modules/stdlib-safer (Depends-on): Add stdlib.
29736         (configure.ac): Set indicator.
29737         * modules/unistd-safer (configure.ac): Likewise.
29738         * modules/tmpfile-safer (configure.ac): Likewise.
29739         (Depends-on): Add tmpfile.
29740         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
29741         active.
29742         * tests/test-fopen.c (includes): Test safer versions when they are
29743         in use.
29744         * tests/test-open.c (includes): Likewise.
29745
29746         popen: fix cygwin 1.5 bug when stdin closed
29747         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
29748         * modules/popen: New file.
29749         * modules/popen-tests: Likewise.
29750         * tests/test-popen.c: Likewise.
29751         * m4/popen.m4: Likewise.
29752         * lib/popen.c: Likewise.
29753         * lib/stdio.in.h (popen): New declaration.
29754         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
29755         * modules/stdio (Makefile.am): Likewise.
29756         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
29757
29758 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
29759
29760         maint.mk: give full control over update-copyright exclusions
29761         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
29762         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
29763         (update-copyright): Don't force inclusion of top-level
29764         ChangeLog.  Don't force exclusion of all COPYING files, but make
29765         them the default exclusion instead.
29766
29767 2009-08-16  Bruno Haible  <bruno@clisp.org>
29768
29769         Fix test failures on Solaris 10.
29770         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
29771         tests when Solaris iconv() is used.
29772         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
29773         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
29774         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
29775         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
29776         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
29777
29778 2009-08-16  Bruno Haible  <bruno@clisp.org>
29779
29780         Fix test failures on Solaris 10.
29781         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
29782         'tr' program and pass it as first argument.
29783         * tests/test-pipe-filter-gi1.sh: Likewise.
29784         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
29785         program as first argument.
29786         * tests/test-pipe-filter-gi1.c (main): Likewise.
29787
29788 2009-08-16  Eric Blake  <ebb9@byu.net>
29789
29790         fpurge: fix previous commits
29791         * modules/fpurge (Makefile.am): Make replacement conditional,
29792         partially reverting 2007-04-29 change; missed in previous
29793         attempt.
29794         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
29795         is missing.
29796
29797 2009-08-16  Bruno Haible  <bruno@clisp.org>
29798
29799         Clarify fpurge's effect on the file position.
29800         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
29801         * tests/test-fpurge.c (main): Make a second pass for checking the file
29802         position.
29803
29804 2009-08-16  Bruno Haible  <bruno@clisp.org>
29805
29806         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
29807         declaration of fpurge is missing.
29808         * tests/test-fpurge.c (main): Check that the file has not more contents
29809         than expected. Close the file before removing it.
29810
29811 2009-08-15  Eric Blake  <ebb9@byu.net>
29812
29813         fpurge: don't wrap working cygwin implementation
29814         * lib/fpurge.c (fpurge): Fix comment typo.
29815         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
29816         1.7 to avoid replacement.
29817         * tests/test-fpurge.c (main): Enhance test.
29818
29819 2009-08-15  Eric Blake  <ebb9@byu.net>
29820         and Jim Meyering  <meyering@redhat.com>
29821
29822         test-update-copyright: skip if perl is insufficient
29823         * tests/test-update-copyright.sh: Failure to run maintainer tool
29824         should not cause testsuite failure on cygwin 1.5.
29825
29826 2009-08-14  Eric Blake  <ebb9@byu.net>
29827
29828         doc: mention more functions added in cygwin 1.7.0
29829         * doc/posix-headers/limits.texi (limits.h): Update for recent
29830         cygwin additions.
29831         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
29832         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
29833         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
29834         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
29835         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
29836
29837 2009-08-14  Eric Blake  <ebb9@byu.net>
29838
29839         maint.mk: simplify update-copyright rule
29840         * top/maint.mk (update-copyright-local): Delete, and document how
29841         to do it in cfg.mk instead.
29842         (update-copyright-exclude-regexp): Delete, and document how to do
29843         it in .x-update-copyright instead.
29844         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
29845         exclude ChangeLog.
29846
29847 2009-08-14  Bruno Haible  <bruno@clisp.org>
29848
29849         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
29850
29851 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29852
29853         maint.mk: support update-copyright-env
29854         * top/maint.mk (update-copyright-env): Define place-holder.
29855         (update-copyright): Expand $(update-copyright-env) before
29856         invoking update-copyright.
29857
29858 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29859
29860         update-copyright: implement forced reformatting
29861         * build-aux/update-copyright: Implement and document
29862         UPDATE_COPYRIGHT_FORCE.
29863         * tests/test-update-copyright.sh: Test it.
29864
29865 2009-08-14  Eric Blake  <ebb9@byu.net>
29866         and Bruno Haible  <bruno@clisp.org>
29867
29868         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
29869         * tests/test-locale.c: Revert previous patch related to NULL.
29870         * tests/test-stdio.c: Likewise.
29871         * tests/test-stdlib.c: Likewise.
29872         * tests/test-string.c: Likewise.
29873         * tests/test-unistd.c: Likewise.
29874         * modules/time-tests (Depends-on): Add verify.
29875         * modules/wchar-tests (Depends-on): Likewise.
29876         * tests/test-time.c: Test for NULL compliance.
29877         * tests/test-wchar.c: Likewise.
29878         * modules/locale (Depends-on): Add stddef.
29879         * modules/stdio (Depends-on): Likewise.
29880         * modules/stdlib (Depends-on): Likewise.
29881         * modules/string (Depends-on): Likewise.
29882         * modules/time (Depends-on): Likewise.
29883         * modules/unistd (Depends-on): Likewise.
29884         * modules/wchar (Depends-on): Likewise.
29885         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
29886         * lib/stdlib.in.h (includes): Likewise.
29887         * lib/string.in.h (includes): Likewise.
29888         * lib/time.in.h (includes): Likewise.
29889         * lib/unistd.in.h (includes): Likewise.
29890         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
29891         replaced.
29892         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29893         * m4/stddef_h.m4: New file.
29894         * modules/stddef: Likewise.
29895         * lib/stddef.in.h: Likewise.
29896         * modules/stddef-tests: Likewise.
29897         * tests/test-stddef.c: Likewise.
29898         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
29899         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
29900         * doc/posix-headers/locale.texi (locale.h): Likewise.
29901         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
29902         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29903         * doc/posix-headers/string.texi (string.h): Likewise.
29904         * doc/posix-headers/time.texi (time.h): Likewise.
29905         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
29906         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
29907
29908 2009-08-14  Eric Blake  <ebb9@byu.net>
29909
29910         doc: improve git diff of texinfo files
29911         * .gitattributes: Add rule for *.texi files, with hint on how to
29912         use it.
29913         Copied from m4, and based on a report by Bruno Haible.
29914
29915 2009-08-14  Bruno Haible  <bruno@clisp.org>
29916
29917         Disable multithread support by default on Cygwin 1.5.x for real.
29918         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
29919
29920 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29921
29922         update-copyright: much ado about intervals
29923         * build-aux/update-copyright: Implement and document
29924         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
29925         of copyright year intervals.
29926         Also, document UPDATE_COPYRIGHT_YEAR.
29927         * tests/test-update-copyright.sh: Test it.
29928
29929         update-copyright: convert 2-digit to 4-digit years
29930         * build-aux/update-copyright: Implement and document.
29931         * tests/test-update-copyright.sh: Update.
29932
29933 2009-08-14  Jim Meyering  <meyering@redhat.com>
29934
29935         test-exclude: avoid coreutils "make check" failure
29936         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
29937         just as in test-argmatch.c.
29938
29939 2009-08-13  Eric Blake  <ebb9@byu.net>
29940
29941         test-dup2: fix bad assumption
29942         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
29943         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
29944
29945         test-version-etc: fix CRLF portability issue
29946         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
29947         recognize \r.
29948         * tests/test-argp-version-etc-1.sh: Likewise.
29949
29950         getopt: update client modules
29951         * modules/argp (Depends-on): Use getopt-gnu.
29952         * modules/git-merge-changelog (Depends-on): Likewise.
29953         * modules/long-options (Depends-on): Likewise.
29954         * modules/xstrtol (Depends-on): Likewise.
29955
29956 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29957
29958         * tests/test-version-etc.sh: Don't fail on different
29959         project/version.  Don't fail on CRLF differences.  Rewrite to use
29960         multiple -e instead of multiple sed forks, suggested by Eric Blake
29961         <ebb9@byu.net>.
29962         * tests/test-argp-version-etc-1.sh: Likewise.
29963
29964 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29965
29966         * tests/test-version-etc.sh: Don't fail on different
29967         project/version.
29968
29969 2009-08-12  Bruno Haible  <bruno@clisp.org>
29970
29971         Tests for modules 'getopt-posix', 'getopt-gnu'.
29972         * modules/getopt-posix-tests: New file.
29973         * tests/test-getopt.c: New file.
29974         * tests/test-getopt.h: New file.
29975         * tests/test-getopt_long.h: New file.
29976
29977         New modules 'getopt-posix', 'getopt-gnu'.
29978         * modules/getopt-gnu: New file, renamed from modules/getopt.
29979         * modules/getopt-posix: New file.
29980         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
29981         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
29982         (gl_GETOPT): Remove macro.
29983         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
29984         Disable the test against BSD systems that declare optreset. Test
29985         against mingw bug. Test against lack of support of optional arguments
29986         on many platforms.
29987         * doc/glibc-headers/getopt.texi: Update module name and list of
29988         relevant platforms.
29989         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
29990         'getopt-gnu' and more portability problems.
29991         * NEWS: Mention the changes.
29992
29993 2009-08-12  Bruno Haible  <bruno@clisp.org>
29994
29995         Ensure that optarg etc. get declared by <unistd.h>.
29996         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
29997         AC_USE_SYSTEM_EXTENSIONS.
29998         * modules/getopt (Depends-on): Add 'extensions'.
29999
30000 2009-08-12  Bruno Haible  <bruno@clisp.org>
30001
30002         Avoid test link errors.
30003         * modules/pipe-filter-ii-tests (Makefile.am): Define
30004         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
30005         * modules/pipe-filter-gi-tests (Makefile.am): Define
30006         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
30007         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30008
30009 2009-08-12  Bruno Haible  <bruno@clisp.org>
30010
30011         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
30012         gl_GETOPT_SUBSTITUTE before.
30013         (gl_GETOPT): Use it.
30014         * m4/argp.m4 (gl_ARGP): Update.
30015         Reported by Sergey Poznyakoff.
30016
30017         * m4/getopt.m4: Reorder macros.
30018         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
30019         (gl_GETOPT_SUBSTITUTE): Remove macro.
30020
30021 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30022
30023         Minor improvement in gitlog-to-changelog
30024
30025         * build-aux/gitlog-to-changelog: New option `--format' makes
30026         output format string configurable.
30027
30028 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30029
30030         Optimize exclude: use hash tables for non-wildcard patterns.
30031
30032         * lib/exclude.c: Include hash.h and mbuiter.h
30033         (struct exclude_pattern, exclude_segment): New data types.
30034         (struct exclude): Rewrite.
30035         (fnmatch_pattern_has_wildcards): New function.
30036         (new_exclude_segment, free_exclude_segment): New functions.
30037         (excluded_file_pattern_p, excluded_file_name_p): New functions.
30038         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
30039         * lib/exclude.h (is_fnmatch_pattern): New prototype.
30040         * modules/exclude: Depend on hash and mbuiter.
30041
30042         * modules/exclude-tests: New file.
30043         * tests/test-exclude.c: New file.
30044         * tests/test-exclude1.sh: New file.
30045         * tests/test-exclude2.sh: New file.
30046         * tests/test-exclude3.sh: New file.
30047         * tests/test-exclude4.sh: New file.
30048         * tests/test-exclude5.sh: New file.
30049         * tests/test-exclude6.sh: New file.
30050         * tests/test-exclude7.sh: New file.
30051
30052 2009-08-12  Bruno Haible  <bruno@clisp.org>
30053
30054         Ensure that getopt() gets declared by <unistd.h>.
30055         * lib/unistd.in.h: Conditionally include getopt.h.
30056         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
30057         Set GNULIB_UNISTD_H_GETOPT.
30058         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30059         GNULIB_UNISTD_H_GETOPT.
30060         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
30061
30062 2009-08-12  Bruno Haible  <bruno@clisp.org>
30063
30064         Clarify logic.
30065         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
30066         gl_replace_getopt instead of GETOPT_H.
30067
30068 2009-08-12  Bruno Haible  <bruno@clisp.org>
30069
30070         * m4/getopt.m4: Add comments.
30071
30072 2009-08-12  Bruno Haible  <bruno@clisp.org>
30073
30074         Disable multithread support by default on Cygwin 1.5.x.
30075         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
30076         set gl_use_threads=no if not specified otherwise.
30077
30078 2009-08-11  Bruno Haible  <bruno@clisp.org>
30079
30080         Avoid compilation error on NetBSD 5.0.
30081         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
30082         * tests/test-stdio.c: Likewise.
30083         * tests/test-stdlib.c: Likewise.
30084         * tests/test-string.c: Likewise.
30085         * tests/test-unistd.c: Likewise.
30086         Reported by Greg Troxel <gdt@ir.bbn.com>
30087         at <https://savannah.gnu.org/support/?106973>.
30088
30089 2009-08-11  Bruno Haible  <bruno@clisp.org>
30090
30091         * modules/dup2-tests (Depends-on): Remove close.
30092
30093         Undo 2009-07-19 commit.
30094         * modules/acl-tests (Depends-on): Remove close.
30095         * modules/binary-io-tests (Depends-on): Likewise.
30096         * modules/closein-tests (Depends-on): Likewise.
30097         * modules/flock-tests (Depends-on): Likewise.
30098         * modules/fsync-tests (Depends-on): Likewise.
30099         * modules/lseek-tests (Depends-on): Likewise.
30100         * modules/pipe-tests (Depends-on): Likewise.
30101         * modules/posix_spawn-tests (Depends-on): Likewise.
30102         * modules/posix_spawnp-tests (Depends-on): Likewise.
30103         * modules/stat-time-tests (Depends-on): Likewise.
30104         * modules/yesno-tests (Depends-on): Likewise.
30105
30106 2009-08-10  Bruno Haible  <bruno@clisp.org>
30107
30108         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
30109
30110 2009-08-10  Bruno Haible  <bruno@clisp.org>
30111
30112         Fix a gcc warning.
30113         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
30114
30115 2009-08-10  Bruno Haible  <bruno@clisp.org>
30116
30117         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
30118         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
30119         not only the first time.
30120         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
30121         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
30122         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
30123         is 1, not only the the first time.
30124
30125 2009-08-10  Bruno Haible  <bruno@clisp.org>
30126
30127         Make it possible to use module 'gethostname' without module 'close'.
30128         * lib/unistd.in.h (close): Evoke a link error only if
30129         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
30130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30131         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30132         * modules/unistd (Makefile.am): Substitute
30133         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30134         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
30135         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
30136         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
30137         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30138         * modules/sys_ioctl (Makefile.am): Substitute
30139         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30140         * modules/socket (configure.ac): On native Windows, set
30141         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
30142         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30143         Reported by Sam Steingold <sds@gnu.org>.
30144
30145 2009-08-10  Bruno Haible  <bruno@clisp.org>
30146
30147         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
30148         * modules/ioctl (configure.ac): Likewise.
30149
30150 2009-08-10  Bruno Haible  <bruno@clisp.org>
30151
30152         Avoid collision between gnulib wrapper and libintl wrapper.
30153         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
30154         already defined in intl/printf.c.
30155         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
30156         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
30157
30158 2009-08-09  Bruno Haible  <bruno@clisp.org>
30159
30160         Make <sys/select.h> really self-contained, also on Solaris 10.
30161         * lib/sys_select.in.h: Include <string.h>.
30162         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
30163         Solaris 10 problem.
30164         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
30165         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
30166         Reported by Jim Meyering.
30167
30168 2009-08-09  Bruno Haible  <bruno@clisp.org>
30169
30170         Avoid warnings from 'aclocal' that are due to a use of macro name
30171         AM_XGETTEXT_OPTION that is not defined in automake.
30172         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
30173         automake.
30174         * modules/error (configure.ac): Likewise.
30175         * modules/propername (configure.ac): Likewise.
30176         * modules/vasprintf (configure.ac): Likewise.
30177         * modules/verror (configure.ac): Likewise.
30178         * modules/xprintf (configure.ac): Likewise.
30179         * modules/xvasprintf (configure.ac): Likewise.
30180
30181 2009-08-08  Bruno Haible  <bruno@clisp.org>
30182
30183         Avoid compilation error in C++ mode.
30184         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
30185         Reported by Sam Steingold <sds@gnu.org>.
30186
30187 2009-08-08  Bruno Haible  <bruno@clisp.org>
30188
30189         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
30190         for the various Unix platforms.
30191         * doc/posix-headers/limits.texi: Update platforms list regarding
30192         HOST_NAME_MAX.
30193         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30194
30195 2009-08-07  Jim Meyering  <meyering@redhat.com>
30196
30197         selinux-at: fix typo in a comment
30198         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
30199         Spotted by Paolo Bonzini.
30200
30201         selinux-at: remove redundant m4 code, add documentation
30202         * modules/selinux-at (configure.ac): Remove redundant code.
30203         LIB_SELINUX is already set via the dependent module, selinux-h.
30204         (Include): Add quotes around selinux-at.h.
30205         * lib/selinux-at.h: Add documentation.
30206         Reported by Bruno Haible in
30207         http://marc.info/?l=gnulib-bug&m=124958988300749
30208
30209 2009-08-07  Bruno Haible  <bruno@clisp.org>
30210
30211         Avoid link error on MacOS X 10.3 and 10.4.
30212         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
30213         on non-ELF systems.
30214         * lib/argp-pv.c (argp_program_version): Likewise.
30215         Reported by Simon Josefsson.
30216
30217 2009-08-07  Simon Josefsson  <simon@josefsson.org>
30218
30219         * tests/test-version-etc.sh: Use $EXEEXT.
30220
30221 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
30222
30223         update-copyright: update documentation to point to maint.mk
30224         * build-aux/update-copyright: Here.
30225
30226 2009-08-06  Jim Meyering  <meyering@redhat.com>
30227
30228         maint.mk: support update-copyright-local
30229         * top/maint.mk (update-copyright-local): Define place-holder.
30230         (update-copyright): Depend on $(update-copyright-local).
30231
30232 2009-08-06  Jim Meyering  <meyering@redhat.com>
30233
30234         selinux-at: new module
30235         Initially written for coreutils, this module will soon be
30236         used by findutils, too.
30237         * MODULES.html.sh [Misc]: Add selinux-at.
30238         * lib/selinux-at.h: New file, from coreutils.
30239         * lib/selinux-at.c: Likewise.
30240         * modules/selinux-at: Likewise.
30241         (License): Change from LGPL to GPL, since it depends
30242         on the GPL'd openat module.
30243
30244         doc: update README
30245         * README: Remove references to cogito.
30246         Remove cvs-repo-updating instructions from 2007.
30247         Don't imply that CVS is better if you have limited disk space.
30248
30249 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30250
30251         update-copyright: support C-style comments
30252         * build-aux/update-copyright: Implement and document.
30253         * tests/test-update-copyright.sh: Test.
30254
30255 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30256
30257         update-copyright: support omitted "(C)"
30258         * build-aux/update-copyright: Implement and document.  Also,
30259         allow variable whitespace before "(C)".
30260         * tests/test-update-copyright.sh: Test.
30261
30262 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30263
30264         update-copyright: don't trip on non-FSF copyright statements
30265         * build-aux/update-copyright: Fix so that the first correctly
30266         formatted FSF copyright statement is recognized no matter what
30267         appears before it.  Update documentation.
30268         * tests/test-update-copyright.sh: Test that.
30269
30270 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30271
30272         update-copyright: clean up code a little
30273         * build-aux/update-copyright: Append "_re" to the name of any
30274         variable holding a regular expression.
30275         Replace "old" and "new" with "stmt" in variable names.
30276         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
30277         handled correctly.
30278         Format code more consistently.
30279
30280 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30281
30282         update-copyright-tests: improve portability
30283         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
30284         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
30285
30286 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
30287
30288         update-copyright: support @copyright{} and &copy;
30289         * build-aux/update-copyright: Implement and document.
30290         * tests/test-update-copyright.sh: Test.
30291
30292 2009-08-04  Jim Meyering  <meyering@redhat.com>
30293
30294         update-copyright-tests: correctly test EOL=\r\n handling
30295         * tests/test-update-copyright.sh: Put \r at the end of some lines
30296         for the dos-eol tests.  Based on a patch by Joel E. Denny.
30297
30298         maint.mk: make update-copyright exclusion list more configurable
30299         * top/maint.mk (update-copyright): Default to excluding COPYING,
30300         but allow an override, in case someone does want to update that file.
30301
30302         maint.mk: don't update copyright date in COPYING
30303         * top/maint.mk (update-copyright): Exclude COPYING.
30304
30305         maint.mk: add a copyright-updating rule
30306         * top/maint.mk (update-copyright): New rule.
30307         Derived from coreutils/Makefile.am.
30308
30309         update-copyright: rename some variables
30310         * build-aux/update-copyright: Rename a few variables for clarity.
30311         Tweak syntax.  List Joel E. Denny as coauthor.
30312
30313 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
30314
30315         update-copyright: fix bug for 2-digit last year and add tests
30316         * build-aux/update-copyright: Fix bug.
30317         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
30318         specified.
30319         * modules/update-copyright-tests: New
30320         * tests/test-update-copyright.sh: New.
30321
30322 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30323
30324         update-copyright: handle leading tabs in line prefix
30325         * build-aux/update-copyright: Count leading tabs as 8 spaces
30326         when computing margin.  This helps with the formatting of
30327         ChangeLogs, for example.
30328         Fix documentation a little.
30329
30330 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30331
30332         update-copyright: support EOL=\r\n
30333         * build-aux/update-copyright: Implement that.
30334
30335 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30336
30337         update-copyright: automatically format copyright statements
30338         * build-aux/update-copyright: Implement that.
30339         Also, be a little more predictable and safer by always failing
30340         when the full copyright format is not perfectly recognized as an
30341         unbroken whole.  Discussed at
30342         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
30343         Rewrite documentation.
30344
30345 2009-08-03  Bruno Haible  <bruno@clisp.org>
30346
30347         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
30348
30349 2009-08-02  Bruno Haible  <bruno@clisp.org>
30350
30351         Tests for module 'uname'.
30352         * modules/uname-tests: New file.
30353         * tests/test-uname.c: New file.
30354
30355         New module 'uname'.
30356         * lib/uname.c: New file.
30357         * m4/uname.m4: New file.
30358         * modules/uname: New file.
30359         * doc/posix-functions/uname.texi: Mention the new module.
30360
30361 2009-08-02  Bruno Haible  <bruno@clisp.org>
30362
30363         Tests for module 'sys_utsname'.
30364         * modules/sys_utsname-tests: New file.
30365         * tests/test-sys_utsname.c: New file.
30366
30367         New module 'sys_utsname'.
30368         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
30369         * m4/sys_utsname_h.m4: New file.
30370         * modules/sys_utsname: New file.
30371         * doc/posix-headers/sys_utsname.texi: Mention the new module.
30372
30373 2009-08-02  Bruno Haible  <bruno@clisp.org>
30374
30375         Implicitly initialize the sockets library.
30376         * lib/gethostname.c: Include sockets.h.
30377         (rpl_gethostname): Invoke gl_sockets_startup.
30378         * lib/socket.c: Include sockets.h.
30379         (rpl_socket): Invoke gl_sockets_startup.
30380         * modules/gethostname (Depends-on): Add sockets.
30381         * modules/socket (Depends-on): Likewise.
30382         * tests/test-poll.c: Don't include sockets.h.
30383         (main): Don't invoke gl_sockets_startup.
30384         * tests/test-select.c: Don't include sockets.h.
30385         (main): Don't invoke gl_sockets_startup.
30386
30387 2009-08-02  Bruno Haible  <bruno@clisp.org>
30388
30389         Allow multiple calls to gl_sockets_startup.
30390         * lib/sockets.c (initialized_sockets_version): New variable.
30391         (gl_sockets_startup): Do nothing if already called for this or a higher
30392         version.
30393         (gl_sockets_cleanup): Reset initialized_sockets_version.
30394
30395 2009-08-03  Simon Josefsson  <simon@josefsson.org>
30396
30397         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
30398         different project/version.
30399
30400 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
30401             Bruno Haible  <bruno@clisp.org>
30402
30403         Tests for module 'pipe-filter-gi'.
30404         * modules/pipe-filter-gi-tests: New file.
30405         * tests/test-pipe-filter-gi1.sh: New file.
30406         * tests/test-pipe-filter-gi1.c: New file.
30407         * tests/test-pipe-filter-gi2.sh: New file.
30408         * tests/test-pipe-filter-gi2-main.c: New file.
30409         * tests/test-pipe-filter-gi2-child.c: New file.
30410
30411         New module 'pipe-filter-gi'.
30412         * lib/pipe-filter-gi.c: New file.
30413         * modules/pipe-filter-gi: New file.
30414
30415 2009-08-02  Bruno Haible  <bruno@clisp.org>
30416             Paolo Bonzini  <bonzini@gnu.org>
30417
30418         Tests for module 'pipe-filter-ii'.
30419         * modules/pipe-filter-ii-tests: New file.
30420         * tests/test-pipe-filter-ii1.sh: New file.
30421         * tests/test-pipe-filter-ii1.c: New file.
30422         * tests/test-pipe-filter-ii2.sh: New file.
30423         * tests/test-pipe-filter-ii2-main.c: New file.
30424         * tests/test-pipe-filter-ii2-child.c: New file.
30425
30426         New module 'pipe-filter-ii'.
30427         * lib/pipe-filter.h: New file.
30428         * lib/pipe-filter-ii.c: New file.
30429         * lib/pipe-filter-aux.h: New file.
30430         * modules/pipe-filter-ii: New file.
30431
30432 2009-08-02  Simon Josefsson  <simon@josefsson.org>
30433
30434         * lib/gc-libgcrypt.c: Change copyright to FSF.
30435         * lib/gc-gnulib.c: Likewise.
30436
30437 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
30438
30439         * lib/gethostname.c: Include limits.h.
30440
30441 2009-08-02  Simon Josefsson  <simon@josefsson.org>
30442             Bruno Haible  <bruno@clisp.org>
30443
30444         Ensure HOST_NAME_MAX as part of the gethostname module.
30445         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
30446         define also HOST_NAME_MAX.
30447         * tests/test-gethostname.c: Include <limits.h>.
30448         (main): Check also HOST_NAME_MAX.
30449         * doc/posix-headers/limits.texi: Document the mingw problem.
30450
30451 2009-08-02  Bruno Haible  <bruno@clisp.org>
30452
30453         * lib/gethostname.c (gethostname): Fix handling of large len argument.
30454         Add comments.
30455
30456 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30457
30458         * lib/gethostname.c: Add Windows wrapper.
30459         * m4/gethostname.m4: Look for gethostname in -lws2_32.
30460         * modules/gethostname: Depend on sys_socket & errno, for also
30461         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
30462         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
30463
30464 2009-07-31  Jim Meyering  <meyering@redhat.com>
30465
30466         getloadavg: fix symbol name in comment
30467         * lib/getloadavg.c: Correct a typo I introduced when adding
30468         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
30469         Matt Kraai spotted the problem.
30470
30471 2009-07-29  Matt Kraai  <mkraai@beckman.com>
30472
30473         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
30474         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
30475         code also if ! defined N_NAME_POINTER.
30476         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
30477         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
30478         but the n_name member is a 12-byte array.
30479
30480 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
30481
30482         update-copyright: generalize comment handling
30483         * build-aux/update-copyright: Handle copyright statements
30484         within more comment styles.
30485         Document usage.
30486         Report any file with an external copyright holder or parse failure.
30487
30488 2009-07-29  Jim Meyering  <meyering@redhat.com>
30489
30490         mktime: correct setting of REPLACE_MKTIME
30491         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
30492
30493         update-copyright: new module
30494         * modules/update-copyright: New file.
30495         * build-aux/update-copyright: New file.
30496         * MODULES.html.sh (maint+release support): Add update-copyright.
30497
30498 2009-07-27  Bruno Haible  <bruno@clisp.org>
30499
30500         Fix compilation error when <ctime> is used and mktime is replaced.
30501         * lib/time.in.h (mktime): New declaration.
30502         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
30503         REPLACE_MKTIME instead of defining mktime in config.h.
30504         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
30505         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
30506         Reported by Ross McFarland <rwmcfa1@neces.com>.
30507
30508 2009-07-27  Bruno Haible  <bruno@clisp.org>
30509
30510         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
30511         Reported by Matt Kraai <mkraai@beckman.com>.
30512
30513 2009-07-25  Jim Meyering  <meyering@redhat.com>
30514
30515         maint.mk: avoid warnings about missing files
30516         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
30517         diagnostic when .prev-version does not exist.
30518         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
30519         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
30520         nonexistent cfg.mk.
30521         Suggestions from Simon Josefsson.
30522
30523 2009-07-25  Bruno Haible  <bruno@clisp.org>
30524
30525         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
30526         defined as macros. Needed on QNX 6.4.1.
30527         Reported by Matt Kraai <mkraai@beckman.com>.
30528
30529 2009-07-23  Jim Meyering  <meyering@redhat.com>
30530
30531         maint.mk: invoke "make dist" with a working value of XZ_OPT
30532         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
30533
30534 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
30535
30536         Make fseeko.c compile on QNX.
30537         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
30538
30539 2009-07-22  Peter Simons  <simons@cryp.to>
30540
30541         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
30542         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
30543         * lib/md4.h: Likewise.
30544         * lib/md5.h: Likewise.
30545         * lib/sha1.h: Likewise.
30546         * lib/sha256.h: Likewise.
30547         * lib/sha512.h: Likewise.
30548
30549         tests-sha1: don't assign literal string to 'char *' variable
30550         * tests/test-sha1.c (main): Declare locals with "const" to match
30551         attributes of the right hand side.
30552
30553 2009-07-21  Eric Blake  <ebb9@byu.net>
30554
30555         dup2: fix more mingw problems
30556         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
30557         fd to itself.
30558         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30559         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
30560         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
30561         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
30562         care of mingw bugs.
30563
30564 2009-07-21  Jim Meyering  <meyering@redhat.com>
30565
30566         vc-list-files: avoid failure when /bin/sh is dash
30567         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
30568         On some Debian based systems, /bin/sh is a symlink to dash, and running
30569         this command would omit the "/" following each 'tests' prefix:
30570           dash -x build-aux/vc-list-files -C . tests
30571         That is because bash and dash work differently:
30572           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
30573           bash ok
30574           dash odd
30575
30576 2009-07-21  Eric Blake  <ebb9@byu.net>
30577
30578         dup2-tests: test previous patch
30579         * modules/dup2-tests: New file.
30580         * tests/test-dup2.c: Likewise.
30581         * tests/test-open.c (main): Avoid unspecified behavior.
30582         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
30583         test.
30584
30585         dup2: work around mingw and cygwin 1.5 bug
30586         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
30587         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30588         * modules/unistd (Makefile.am): Substitute it.
30589         * lib/unistd.in.h (dup2): Declare the replacement.
30590         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
30591         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
30592         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
30593         * modules/execute (Depends-on): Add dup2.
30594         * modules/fseterr (Depends-on): Likewise.
30595         * modules/pipe (Depends-on): Likewise.
30596         * modules/posix_spawn-internal (Depends-on): Likewise.
30597
30598 2009-07-21  Bruno Haible  <bruno@clisp.org>
30599
30600         * modules/.gitattributes: New file.
30601
30602 2009-07-20  Bruno Haible  <bruno@clisp.org>
30603
30604         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
30605         (main): Use it.
30606
30607 2009-07-20  Eric Blake  <ebb9@byu.net>
30608
30609         test-pipe: make a bit more robust.
30610         * tests/test-pipe.c (myerr): Allow error messages regardless of
30611         what we do to stderr.
30612         (test_pipe): Rearrange to avoid deadlock.
30613         (child_main): Try a larger read, to ensure we avoided deadlock.
30614         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
30615         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
30616         if misused.
30617
30618 2009-07-19  Jim Meyering  <meyering@redhat.com>
30619
30620         fts: avoid false-positive cycle-detection
30621         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
30622         for each new command line argument.
30623
30624 2009-07-19  Bruno Haible  <bruno@clisp.org>
30625
30626         Fix build error on mingw with the modules sys_select and unistd.
30627         * modules/acl-tests (Depends-on): Add close.
30628         * modules/binary-io-tests (Depends-on): Likewise.
30629         * modules/closein-tests (Depends-on): Likewise.
30630         * modules/flock-tests (Depends-on): Likewise.
30631         * modules/fsync-tests (Depends-on): Likewise.
30632         * modules/lseek-tests (Depends-on): Likewise.
30633         * modules/pipe-tests (Depends-on): Likewise.
30634         * modules/posix_spawn-tests (Depends-on): Likewise.
30635         * modules/posix_spawnp-tests (Depends-on): Likewise.
30636         * modules/stat-time-tests (Depends-on): Likewise.
30637         * modules/yesno-tests (Depends-on): Likewise.
30638
30639 2009-07-19  Bruno Haible  <bruno@clisp.org>
30640
30641         Unify conditionals.
30642         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
30643         macros, not at the compiler macros.
30644         * lib/pipe.c: Likewise.
30645         * lib/execute.c: Likewise.
30646         * lib/spawni.c: Likewise.
30647
30648 2009-07-19  Bruno Haible  <bruno@clisp.org>
30649
30650         Fix handling of closed stdin/stdout/stderr on mingw.
30651         * lib/w32spawn.h: Include unistd.h.
30652         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
30653         file descriptor with O_NOINHERIT flag.
30654         (fd_safer_noinherit): New function, based on fd-safer.c.
30655         (dup_safer_noinherit): New function, based on dup-safer.c.
30656         (undup_safer_noinherit): New function.
30657         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
30658         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
30659         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
30660         instead of fd_safer.
30661         * tests/test-pipe.c: Include <windows.h>.
30662         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
30663         result.
30664
30665         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
30666         from main.
30667         (test_pipe): Pass an extra argument for disambiguation.
30668         (main): Invoke parent_main or child_main.
30669
30670         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
30671         consistently.
30672
30673 2009-07-18  Eric Blake  <ebb9@byu.net>
30674
30675         test-pipe: fix mingw build
30676         * tests/test-pipe.c (main): Avoid fcntl on mingw.
30677
30678 2009-07-18  Bruno Haible  <bruno@clisp.org>
30679
30680         * modules/pipe-tests (Makefile.am): Fix typo.
30681
30682 2009-07-18  Eric Blake  <ebb9@byu.net>
30683
30684         error: fix mingw build
30685         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
30686         Reported by Bruno Haible.
30687
30688         error: avoid undefined use of stdout
30689         * lib/error.c (error, error_at_line): Check that fd 1 is open
30690         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
30691         is handling faults and the close_stdout module wants to report the
30692         detection of closed stdout as an error.
30693
30694 2009-07-17  Eric Blake  <ebb9@byu.net>
30695
30696         pipe: be robust in face of closed fds
30697         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
30698         should cause child to misbehave.
30699         * modules/pipe-tests: New module.
30700         * tests/test-pipe.c: New file.
30701         * tests/test-pipe.sh: New file.
30702         Reported by Akim Demaille.
30703
30704 2009-07-14  Bruno Haible  <bruno@clisp.org>
30705
30706         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
30707         Reported by anonymous kc.
30708
30709 2009-07-07  Jim Meyering  <meyering@redhat.com>
30710
30711         maint.mk: don't look for translatable strings in *.m4 or *.mk
30712         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
30713         when searching for translatable strings.
30714
30715 2009-07-05  Jim Meyering  <meyering@redhat.com>
30716
30717         remove superfluous parentheses in STREQ definition
30718         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
30719         * lib/getugroups.c (STREQ): Likewise.
30720         * lib/fnmatch.c (STREQ): Likewise.
30721         Spotted by Bruno Haible.
30722
30723 2009-07-04  Jim Meyering  <meyering@redhat.com>
30724
30725         argv-iter: new module
30726         * MODULES.html.sh: Add argv-iter.
30727         * lib/argv-iter.c, lib/argv-iter.h: New files.
30728         * modules/argv-iter: New file.
30729         * modules/argv-iter-tests: New file.
30730         * tests/test-argv-iter.c: Test it.
30731
30732 2009-07-04  Bruno Haible  <bruno@clisp.org>
30733
30734         Fix assertion.
30735         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
30736         contains more exact copies of a given entry than file2, leave the extra
30737         copies unpaired rather than aborting.
30738         Reported by Eric Blake.
30739
30740 2009-07-02  Bruno Haible  <bruno@clisp.org>
30741
30742         Speedup git-merge-changelog for git cherry-pick.
30743         * lib/git-merge-changelog.c (struct entries_mapping): New type.
30744         (entries_mapping_get): New function, extracted from compute_mapping.
30745         (entries_mapping_reverse_get): New function.
30746         (compute_mapping): Add a 'full' argument. Return the result in a
30747         'struct entries_mapping'.
30748         (main): Update. Access the mappings through entries_mapping_get.
30749         Reported by Eric Blake.
30750
30751 2009-07-02  Bruno Haible  <bruno@clisp.org>
30752
30753         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
30754         best_i.
30755
30756 2009-07-02  Bruno Haible  <bruno@clisp.org>
30757
30758         Speed up approximate search for matching ChangeLog entries.
30759         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
30760         argument. Call fstrcmp_bounded instead of fstrcmp.
30761         (compute_mapping, try_split_merged_entry, main): Update callers.
30762
30763 2009-07-02  Bruno Haible  <bruno@clisp.org>
30764
30765         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
30766
30767 2009-06-30  Bruno Haible  <bruno@clisp.org>
30768
30769         Reduce the number of uc_is_cased calls.
30770         * lib/unicase.h (casing_suffix_context_t): Add
30771         'first_char_except_ignorable' field.
30772         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
30773         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
30774         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
30775         Update initializer.
30776         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
30777         case-ignorable characters.
30778         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
30779         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
30780         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
30781         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
30782         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
30783
30784 2009-06-30  Bruno Haible  <bruno@clisp.org>
30785
30786         Tests for module 'unicase/ignorable'.
30787         * modules/unicase/ignorable-tests: New file.
30788         * tests/unicase/test-ignorable.c: New file, generated by
30789         gen-uni-tables.
30790
30791         Tests for module 'unicase/cased'.
30792         * modules/unicase/cased-tests: New file.
30793         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
30794         * tests/unicase/test-predicate-part1.h: New file, derived from
30795         tests/unictype/test-predicate-part1.h.
30796         * tests/unicase/test-predicate-part2.h: New file, same as
30797         tests/unictype/test-predicate-part2.h.
30798
30799         Fix evaluation of "Before C" condition of FINAL_SIGMA.
30800         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
30801         (output_casing_properties): New function.
30802         (main): Call it.
30803         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
30804         * lib/unicase/cased.c: Include unictype/bitmap.h.
30805         (uc_is_cased): Define through a bitmap lookup.
30806         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
30807         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
30808         (uc_is_case_ignorable): Define through a bitmap lookup.
30809         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
30810         lib/unictype/bitmap.h.
30811         (Depends-on): Add inline. Clean up.
30812         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
30813         lib/unictype/bitmap.h.
30814         (Depends-on): Add inline. Clean up.
30815         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
30816         recognition.
30817         * tests/unicase/test-u16-tolower.c (main): Likewise.
30818         * tests/unicase/test-u32-tolower.c (main): Likewise.
30819
30820 2009-06-30  Bruno Haible  <bruno@clisp.org>
30821
30822         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
30823         * lib/unicase/u16-casemap.c: Likewise.
30824         * lib/unicase/u32-casemap.c: Likewise.
30825
30826 2009-06-29  Bruno Haible  <bruno@clisp.org>
30827
30828         Define u32_casefold as a wrapper around u32_ct_casefold.
30829         * lib/unicase/u32-casefold.c: Update.
30830         * modules/unicase/u32-casefold (Depends-on): Add
30831         unicase/u32-ct-casefold, unicase/empty-prefix-context,
30832         unicase/empty-suffix-context. Clean up.
30833
30834         Define u16_casefold as a wrapper around u16_ct_casefold.
30835         * lib/unicase/u16-casefold.c: Update.
30836         * modules/unicase/u16-casefold (Depends-on): Add
30837         unicase/u16-ct-casefold, unicase/empty-prefix-context,
30838         unicase/empty-suffix-context. Clean up.
30839
30840         Define u8_casefold as a wrapper around u8_ct_casefold.
30841         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
30842         * lib/unicase/u8-casefold.c: Update.
30843         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
30844         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30845
30846         Define u32_totitle as a wrapper around u32_ct_totitle.
30847         * lib/unicase/u32-totitle.c: Update.
30848         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
30849         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30850
30851         Define u16_totitle as a wrapper around u16_ct_totitle.
30852         * lib/unicase/u16-totitle.c: Update.
30853         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
30854         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30855
30856         Define u8_totitle as a wrapper around u8_ct_totitle.
30857         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
30858         functions.
30859         (FUNC): Delegate to U_CT_TOTITLE.
30860         * lib/unicase/u8-totitle.c: Update.
30861         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
30862         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30863
30864         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
30865         invocation.
30866         * modules/unicase/u32-tolower (Depends-on): Add
30867         unicase/empty-prefix-context, unicase/empty-suffix-context.
30868
30869         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
30870         invocation.
30871         * modules/unicase/u16-tolower (Depends-on): Add
30872         unicase/empty-prefix-context, unicase/empty-suffix-context.
30873
30874         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
30875         * modules/unicase/u8-tolower (Depends-on): Add
30876         unicase/empty-prefix-context, unicase/empty-suffix-context.
30877
30878         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
30879         invocation.
30880         * modules/unicase/u32-toupper (Depends-on): Add
30881         unicase/empty-prefix-context, unicase/empty-suffix-context.
30882
30883         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
30884         invocation.
30885         * modules/unicase/u16-toupper (Depends-on): Add
30886         unicase/empty-prefix-context, unicase/empty-suffix-context.
30887
30888         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
30889         * modules/unicase/u8-toupper (Depends-on): Add
30890         unicase/empty-prefix-context, unicase/empty-suffix-context.
30891
30892         New module 'unicase/u32-ct-casefold'.
30893         * lib/unicase/u32-ct-casefold.c: New file.
30894         * modules/unicase/u32-ct-casefold: New file.
30895
30896         New module 'unicase/u16-ct-casefold'.
30897         * lib/unicase/u16-ct-casefold.c: New file.
30898         * modules/unicase/u16-ct-casefold: New file.
30899
30900         New module 'unicase/u8-ct-casefold'.
30901         * lib/unicase/u8-ct-casefold.c: New file.
30902         * lib/unicase/u-ct-casefold.h: New file, derived from
30903         lib/unicase/u-casefold.h.
30904         * modules/unicase/u8-ct-casefold: New file.
30905
30906         New module 'unicase/u32-ct-totitle'.
30907         * lib/unicase/u32-ct-totitle.c: New file.
30908         * modules/unicase/u32-ct-totitle: New file.
30909
30910         New module 'unicase/u16-ct-totitle'.
30911         * lib/unicase/u16-ct-totitle.c: New file.
30912         * modules/unicase/u16-ct-totitle: New file.
30913
30914         New module 'unicase/u8-ct-totitle'.
30915         * lib/unicase/u8-ct-totitle.c: New file.
30916         * lib/unicase/u-ct-totitle.h: New file, derived from
30917         lib/unicase/u-totitle.h.
30918         * modules/unicase/u8-ct-totitle: New file.
30919
30920         New module 'unicase/u32-ct-tolower'.
30921         * lib/unicase/u32-ct-tolower.c: New file.
30922         * modules/unicase/u32-ct-tolower: New file.
30923
30924         New module 'unicase/u16-ct-tolower'.
30925         * lib/unicase/u16-ct-tolower.c: New file.
30926         * modules/unicase/u16-ct-tolower: New file.
30927
30928         New module 'unicase/u8-ct-tolower'.
30929         * lib/unicase/u8-ct-tolower.c: New file.
30930         * modules/unicase/u8-ct-tolower: New file.
30931
30932         New module 'unicase/u32-ct-toupper'.
30933         * lib/unicase/u32-ct-toupper.c: New file.
30934         * modules/unicase/u32-ct-toupper: New file.
30935
30936         New module 'unicase/u16-ct-toupper'.
30937         * lib/unicase/u16-ct-toupper.c: New file.
30938         * modules/unicase/u16-ct-toupper: New file.
30939
30940         New module 'unicase/u8-ct-toupper'.
30941         * lib/unicase/u8-ct-toupper.c: New file.
30942         * modules/unicase/u8-ct-toupper: New file.
30943
30944         Add context arguments to u*_casemap functions.
30945         * lib/unicase/unicasemap.h: Include unicase.h.
30946         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
30947         suffix_context arguments.
30948         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
30949         functions.
30950         (FUNC): Add prefix_context and suffix_context arguments. Use
30951         uc_is_cased and uc_is_case_ignorable.
30952         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
30953         * lib/unicase/u16-casemap.c: Likewise.
30954         * lib/unicase/u32-casemap.c: Likewise.
30955         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
30956         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30957         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
30958         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30959         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
30960         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30961
30962         New module 'unicase/u32-suffix-context'.
30963         * lib/unicase/u32-suffix-context.c: New file.
30964         * modules/unicase/u32-suffix-context: New file.
30965
30966         New module 'unicase/u16-suffix-context'.
30967         * lib/unicase/u16-suffix-context.c: New file.
30968         * modules/unicase/u16-suffix-context: New file.
30969
30970         New module 'unicase/u8-suffix-context'.
30971         * lib/unicase/u8-suffix-context.c: New file.
30972         * lib/unicase/u-suffix-context.h: New file.
30973         * modules/unicase/u8-suffix-context: New file.
30974
30975         New module 'unicase/empty-suffix-context'.
30976         * lib/unicase/empty-suffix-context.c: New file.
30977         * modules/unicase/empty-suffix-context: New file.
30978
30979         New module 'unicase/u32-prefix-context'.
30980         * lib/unicase/u32-prefix-context.c: New file.
30981         * modules/unicase/u32-prefix-context: New file.
30982
30983         New module 'unicase/u16-prefix-context'.
30984         * lib/unicase/u16-prefix-context.c: New file.
30985         * modules/unicase/u16-prefix-context: New file.
30986
30987         New module 'unicase/u8-prefix-context'.
30988         * lib/unicase/u8-prefix-context.c: New file.
30989         * lib/unicase/u-prefix-context.h: New file.
30990         * lib/unicase/context.h: New file.
30991         * modules/unicase/u8-prefix-context: New file.
30992
30993         New module 'unicase/empty-prefix-context'.
30994         * lib/unicase/empty-prefix-context.c: New file.
30995         * modules/unicase/empty-prefix-context: New file.
30996
30997         New module 'unicase/ignorable'.
30998         * lib/unicase/ignorable.c: New file.
30999         * modules/unicase/ignorable: New file.
31000
31001         New module 'unicase/cased'.
31002         * lib/unicase/caseprop.h: New file.
31003         * lib/unicase/cased.c: New file.
31004         * modules/unicase/cased: New file.
31005
31006         New functions for case mapping of substrings.
31007         * lib/unicase.h (casing_prefix_context_t): New type.
31008         (unicase_empty_prefix_context): New variable.
31009         (u8_casing_prefix_context, u16_casing_prefix_context,
31010         u32_casing_prefix_context, u8_casing_prefixes_context,
31011         u16_casing_prefixes_context, u32_casing_prefixes_context): New
31012         declarations.
31013         (casing_suffix_context_t): New type.
31014         (unicase_empty_suffix_context): New variable.
31015         (u8_casing_suffix_context, u16_casing_suffix_context,
31016         u32_casing_suffix_context, u8_casing_suffixes_context,
31017         u16_casing_suffixes_context, u32_casing_suffixes_context,
31018         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
31019         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
31020         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
31021         declarations.
31022
31023 2009-06-28  Jim Meyering  <meyering@redhat.com>
31024
31025         boostrap: indent only with spaces
31026         * build-aux/bootstrap: Indent only with spaces, never TABs.
31027
31028         bootstrap: split long lines
31029         * build-aux/bootstrap: Keep line length < 80.
31030
31031         bootstrap: sync from coreutils
31032         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
31033         just as autoreconf does.  Verify a list of prerequisite
31034         package-name,version-number pairs if defined in bootstrap.conf.
31035         Refer to README-prereq, if prerequisites are not satisfied.
31036
31037 2009-06-27  Eric Blake  <ebb9@byu.net>
31038
31039         tests: add test for bogus NULL definition
31040         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
31041         * tests/test-stdlib.c: Likewise.
31042         * tests/test-string.c: Likewise.
31043         * tests/test-locale.c: Likewise.
31044         * tests/test-unistd.c: Likewise.
31045         * modules/stdio-tests (Depends-on): Add verify.
31046         * modules/stdlib-tests (Depends-on): Likewise.
31047         * modules/string-tests (Depends-on): Likewise.
31048         * modules/locale-tests (Depends-on): Likewise.
31049         * modules/unistd-tests (Depends-on): Likewise.
31050
31051 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
31052
31053         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
31054         self-explaining comment.
31055         * m4/selinux-selinux-h: Update serial.
31056         (gl_LIBSELINUX): New macro, adding a warning for missing development
31057         packages to code extracted from...
31058         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
31059         Add warning for missing development packages here, too.
31060
31061 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
31062
31063         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
31064
31065 2009-06-25  Eric Blake  <ebb9@byu.net>
31066
31067         version-etc: fix regression
31068         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
31069         gcc.
31070         (version_etc): Use it, to catch bugs with trailing NULL.
31071         * lib/version-etc.c (version_etc_arn): Delete unused argument.
31072         (version_etc_va): Fix logic bug.
31073         * modules/version-etc-tests: Add test.
31074         * tests/test-version-etc.c: New file.
31075         * tests/test-version-etc.sh: Likewise.
31076
31077 2009-06-25  Sam Steingold  <sds@gnu.org>
31078
31079         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
31080         mbtowc declaration.
31081
31082 2009-06-25  Eric Blake  <ebb9@byu.net>
31083
31084         fpurge: migrate into <stdio.h>
31085         * lib/fpurge.h: Delete...
31086         * lib/stdio.in.h (fpurge): ...and declare here, instead.
31087         * lib/fpurge.c (fpurge): Change declaring header.
31088         * modules/fpurge (Files): Drop deleted file.
31089         (Depends-on): Add stdio.
31090         (configure.ac): Set witness.
31091         * modules/stdio (Makefile.am): Support fpurge macros.
31092         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31093         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
31094         * lib/fflush.c: Update client.
31095         * tests/test-fpurge.c: Likewise.
31096         * NEWS: Mention the change.
31097
31098 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31099
31100         * lib/argp-version-etc.c (program_authors): Add const
31101         qualifier.
31102         * lib/version-etc.c: Fix typos in the comments.
31103         * modules/argp-version-etc: Depends on version-etc.
31104
31105 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31106
31107         argp-version-etc: new module.
31108
31109         * lib/argp-version-etc.c: New file.
31110         * lib/argp-version-etc.h: New file.
31111         * modules/argp-version-etc: New file.
31112         * modules/argp-version-etc-tests: New file.
31113         * tests/test-argp-version-etc.c: New test.
31114         * tests/test-argp-version-etc-1.sh: New test.
31115
31116 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31117
31118         Provide additional interfaces and documentation for version-etc
31119         module.
31120
31121         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
31122         interfaces.
31123         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
31124         prototypes.
31125
31126 2009-06-24  Bruno Haible  <bruno@clisp.org>
31127
31128         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
31129         HAVE_LIB${NAME} macro.
31130         Reported by Sam Steingold <sds@gnu.org>.
31131
31132 2009-06-23  Simon Josefsson  <simon@josefsson.org>
31133
31134         * modules/hash-tests (test_hash_LDADD): Link to libintl when
31135         needed.
31136
31137 2009-06-21  Bruno Haible  <bruno@clisp.org>
31138
31139         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
31140         work.
31141         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
31142         together with LIB${NAME}, LTLIB${NAME}.
31143         Reported by Sam Steingold <sds@gnu.org>.
31144
31145 2009-06-20  Jim Meyering  <meyering@redhat.com>
31146
31147         tests: make sc_require_test_exit_idiom more generic
31148         * top/maint.mk (Exit_witness_file): New overridable variable.
31149         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
31150         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
31151
31152 2009-06-19  Jim Meyering  <meyering@redhat.com>
31153
31154         hash: reverse order of src/dst parameters in an internal interface
31155         * lib/hash.c (transfer_entries): Reverse order of parameters to
31156         put DST before SRC.  Adjust callers.
31157
31158         tests: test-hash: avoid wholesale duplication
31159         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
31160         Instead, use a loop and add a single conditional.
31161
31162         tests: test-hash: allow seed selection via a command line argument
31163         * tests/test-hash.c (get_seed): New function.
31164         (main): Use it.
31165
31166 2009-06-19  Eric Blake  <ebb9@byu.net>
31167
31168         hash: avoid memory leak on allocation failure
31169         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
31170         failure.  Factor repeated algorithm...
31171         (transfer_entries): ...into new helper routine.
31172         (hash_delete): React to hash_rehash return value.
31173
31174         hash: reduce memory pressure in hash_rehash no-op case
31175         * lib/hash.c (next_prime): Avoid overflow.
31176         (hash_initialize): Factor bucket size computation...
31177         (compute_bucket_size): ...into new helper function.
31178         (hash_rehash): Use new function and open coding to reduce memory
31179         pressure, and avoid a memory leak in USE_OBSTACK code.
31180         Reported by Jim Meyering.
31181
31182 2009-06-18  Eric Blake  <ebb9@byu.net>
31183
31184         hash: make rotation more obvious
31185         * modules/hash (Depends-on): Add bitrotate and stdint.
31186         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
31187         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
31188         (SIZE_MAX): Rely on headers for definition.
31189         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
31190         (raw_hasher): Use rotr_sz.
31191         Suggested by Jim Meyering.
31192
31193         hash: fix memory leak in last patch
31194         * lib/hash.c (hash_rehash): Avoid memory leak.
31195
31196         hash: avoid no-op rehashing
31197         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
31198
31199         hash: provide default callback functions
31200         * lib/hash.c (raw_hasher, raw_comparator): New functions.
31201         (hash_initialize): Use them as defaults.
31202         * tests/test-hash.c (main): Test this.
31203
31204         hash: minor optimization
31205         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
31206         when possible.
31207         (hash_initialize): Document this promise.
31208         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
31209         * tests/test-hash.c (hash_compare_strings): Test this.
31210
31211 2009-06-18  Bruno Haible  <bruno@clisp.org>
31212
31213         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
31214         going to be replaced anyway.
31215
31216 2009-06-18  Bruno Haible  <bruno@clisp.org>
31217
31218         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
31219         in one place.
31220         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
31221         be replaced anyway.
31222
31223 2009-06-18  Eric Blake  <ebb9@byu.net>
31224
31225         hash: check for resize before insertion
31226         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
31227         threshold before insertion, so that a pathological hash_rehash
31228         that fills every bucket can still trigger another rehash.
31229
31230 2009-06-18  Jim Meyering  <meyering@redhat.com>
31231
31232         hash-tests: add a loop around the small tests
31233         * tests/test-hash.c (main): Repeat small tests with selected
31234         small initial table sizes.
31235
31236 2009-06-17  Eric Blake  <ebb9@byu.net>
31237
31238         hash: minor cleanups
31239         * lib/hash.h (hash_entry): Make opaque, by moving...
31240         * lib/hash.c (hash_entry): ...here.
31241         (hash_insert): Clarify restrictions on what can be inserted.
31242         (hash_get_next): Clarify when it is safe to remove an element
31243         during traversal.
31244         (check_tuning): Skip verification when tuning is known safe.
31245         (hash_initialize): Clarify restrictions on tuning.
31246
31247 2009-06-17  Jim Meyering  <jim@meyering.net>
31248         and Eric Blake  <ebb9@byu.net>
31249
31250         hash-tests: new module
31251         * modules/hash-tests: New file.
31252         * tests/test-hash.c: New file.
31253
31254 2009-06-17  Eric Blake  <ebb9@byu.net>
31255
31256         strstr-simple: document new module
31257         * MODULES.html.sh: Document new module.
31258
31259         strstr, strcasestr: replace on platforms with broken memchr
31260         * modules/strstr: Split into...
31261         * modules/strstr-simple: ...new module that does not care about
31262         performance, but does care about glibc bug.
31263         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
31264         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
31265         if platform memchr is broken, per Debian bug 521737.
31266         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
31267         memchr.
31268         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
31269         * doc/posix-functions/strstr.texi (strstr): Document the fix.
31270         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
31271         * modules/mountlist (Depends-on): Add strstr-simple.
31272         * modules/gen-uni-tables (Depends-on): Likewise.
31273         * modules/argz (Depends-on): Add strstr.
31274
31275 2009-06-17  Bruno Haible  <bruno@clisp.org>
31276
31277         * modules/posix_spawn-internal (Depends-on): Add errno.
31278
31279 2009-06-17  Bruno Haible  <bruno@clisp.org>
31280
31281         Define missing ESTALE on Interix 3.5.
31282         * lib/errno.in.h (ESTALE): Assign a value if missing.
31283         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
31284         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
31285         missing.
31286         * doc/posix-headers/errno.texi: Mention the Interix bug.
31287         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
31288
31289 2009-06-15  Eric Blake  <ebb9@byu.net>
31290
31291         memchr, memchr2: add valgrind exception
31292         * lib/memchr.valgrind: New file.
31293         * lib/memchr2.valgrind: New file.
31294         * modules/memchr (Files): Distribute valgrind file.
31295         * modules/memchr2 (Files): Likewise.
31296
31297         docs: memchr is no longer obsolete
31298         * MODULES.html.sh: Move memchr from obsolete to string.h section.
31299         * lib/string.in.h (memchr): Simplify logic.
31300
31301 2009-06-14  Jim Meyering  <meyering@redhat.com>
31302
31303         link-follow: fix the "checking..." message to not mention trailing slash
31304         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
31305         never considered trailing slashes.
31306
31307 2009-06-14  Bruno Haible  <bruno@clisp.org>
31308
31309         * m4/memchr.m4: Mention also the bug on IA-64.
31310         * doc/posix-functions/memchr.texi: Likewise.
31311
31312 2009-06-12  Eric Blake  <ebb9@byu.net>
31313
31314         memchr: detect broken x86_64 and alpha implementations
31315         * modules/memchr-tests (Depends-on): Move mmap detection...
31316         * modules/memchr (Depends-on): ...here.
31317         (configure.ac): Set indicator.
31318         * lib/string.in.h (memchr): Declare replacement.
31319         * modules/string (Makefile.am): Trigger replacement.
31320         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31321         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
31322         bugs.
31323         * doc/posix-functions/memchr.texi (memchr): Document the bug.
31324         * modules/getpagesize (License): Relax license.
31325
31326 2009-06-11  Bruno Haible  <bruno@clisp.org>
31327
31328         * lib/idpriv.h: Add more references.
31329
31330 2009-06-08  Bruno Haible  <bruno@clisp.org>
31331
31332         Tests for module 'idpriv-droptemp'.
31333         * modules/idpriv-droptemp-tests: New file.
31334         * tests/test-idpriv-droptemp.sh: New file.
31335         * tests/test-idpriv-droptemp.su.sh: New file.
31336         * tests/test-idpriv-droptemp.c: New file.
31337
31338         New module 'idpriv-droptemp'.
31339         * lib/idpriv-droptemp.c: New file.
31340         * modules/idpriv-droptemp: New file.
31341
31342 2009-06-08  Bruno Haible  <bruno@clisp.org>
31343
31344         Tests for module 'idpriv-drop'.
31345         * modules/idpriv-drop-tests: New file.
31346         * tests/test-idpriv-drop.sh: New file.
31347         * tests/test-idpriv-drop.su.sh: New file.
31348         * tests/test-idpriv-drop.c: New file.
31349
31350         New module 'idpriv-drop'.
31351         * lib/idpriv.h: New file.
31352         * lib-idpriv-drop.c: New file.
31353         * m4/idpriv.m4: New file.
31354         * modules/idpriv-drop: New file.
31355
31356 2009-06-08  Bruno Haible  <bruno@clisp.org>
31357
31358         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
31359         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31360         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31361         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31362         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31363         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31364         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31365
31366 2009-06-08  Eric Blake  <ebb9@byu.net>
31367
31368         test-strstr: use memory fence, when possible
31369         * tests/test-strstr.c (main): Use memory fence, in order to be
31370         more likely to trigger Debian bug 521737.
31371         * modules/strstr-tests (Files): Pull in additional files.
31372
31373         memchr: no longer obsolete, for wider field testing
31374         * modules/memchr (Status, Notice): Delete, this module is no
31375         longer obsolete.
31376         * modules/vasnprintf (Depends-on): Add memchr.
31377
31378 2009-06-07  Jim Meyering  <meyering@redhat.com>
31379
31380         hash: declare some functions with the warn_unused_result attribute
31381         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
31382
31383 2009-06-07  Bruno Haible  <bruno@clisp.org>
31384
31385         * tests/test-alignof.c: Don't test int64_t if it does not exist.
31386         Reported by Eric Blake.
31387
31388 2009-06-06  Eric Blake  <ebb9@byu.net>
31389
31390         test-alignof: fix typo with long double
31391         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
31392         compiler error.
31393
31394 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
31395
31396         Escape non-texinfo { and }s.
31397         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
31398         markup error.
31399
31400 2009-06-04  Jim Meyering  <meyering@redhat.com>
31401
31402         gitlog-to-changelog: don't infloop on an empty commit log
31403         * build-aux/gitlog-to-changelog: Warn about an empty log message.
31404         Reported by Boris Petersen <transacid@centerim.org>.
31405
31406 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
31407
31408         version-etc: extend for packagers
31409         Add three new configure options, intended for packagers:
31410           --with-packager="packager name"
31411           --with-packager-version="packager-specific version"
31412           --with-packager-bug-reports="packager bug reporting"
31413         An example with coreutils:
31414           $ ./configure \
31415             --with-packager=Gentoo \
31416             --with-packager-bug-report=http://bugs.gentoo.org/ \
31417             --with-packager-version="patchset 1.6"
31418           $ ./src/ls --version | head -n2
31419           ls (GNU coreutils) 7.1-dirty
31420           Packaged by Gentoo (patchset 1.6)
31421         Note that the bug reporting info via --help doesn't show up because
31422         coreutils uses its own custom emit_bug_reporting_address() implementation
31423         in src/system.h.  If it didn't, it'd look like:
31424           $ ./src/ls --help | tail -n4
31425           Report bugs to <bug-coreutils@gnu.org>.
31426           Report Gentoo bugs to <http://bugs.gentoo.org/>.
31427           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
31428           General help using GNU software: <http://www.gnu.org/gethelp/>.
31429         * lib/version-etc.c: Print new information, if provided.
31430         * m4/version-etc.m4: New file.
31431         * modules/version-etc (Files): Add m4/version-etc.m4.
31432         (configure.ac): Add gl_VERSION_ETC.
31433
31434 2009-05-31  Bruno Haible  <bruno@clisp.org>
31435
31436         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
31437         and 'int64_t'.
31438         * modules/alignof-tests (Dependencies): Add stdint.
31439         Reported by Eric Blake.
31440
31441 2009-05-31  Bruno Haible  <bruno@clisp.org>
31442
31443         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
31444         restriction due to compiler bugs.
31445         Reported by Eric Blake.
31446
31447 2009-05-31  Simon Josefsson  <simon@josefsson.org>
31448             Bruno Haible  <bruno@clisp.org>
31449
31450         Fix test-alignof failure.
31451         * lib/alignof.h (alignof_slot): New macro.
31452         (alignof_type): New macro, with the same semantics as the previous
31453         'alignof'.
31454         (alignof): Alias to alignof_slot.
31455         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
31456         check that the results are usable as constant expressions.
31457
31458 2009-05-31  Bruno Haible  <bruno@clisp.org>
31459
31460         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
31461         * tests/test-memchr.c (main): Check that memchr does not read past the
31462         first occurrence of the byte.
31463         * tests/test-strstr.c (main): Update comment.
31464         Suggested by Eric Blake.
31465
31466 2009-05-30  Bruno Haible  <bruno@clisp.org>
31467
31468         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
31469         detail how to use dumpbin.
31470         Reported by David Byron <dbyron@dbyron.com>.
31471
31472 2009-06-02  Simon Josefsson  <simon@josefsson.org>
31473
31474         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
31475
31476 2009-06-02  Simon Josefsson  <simon@josefsson.org>
31477
31478         * m4/manywarnings.m4: Add GCC 4.4 warnings.
31479
31480 2009-05-28  Bruno Haible  <bruno@clisp.org>
31481
31482         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
31483         build-aux/ files.
31484
31485 2009-05-28  Simon Josefsson  <simon@josefsson.org>
31486
31487         * gnulib-tool (func_import): Transform license on build-aux/ files too.
31488
31489 2009-05-27  Simon Josefsson  <simon@josefsson.org>
31490
31491         * gnulib-tool (sed_transform_main_lib_file)
31492         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
31493         regexps.
31494
31495 2009-05-26  Simon Josefsson  <simon@josefsson.org>
31496
31497         * tests/test-strstr.c: Add another self-test.
31498         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
31499         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
31500
31501 2009-05-23  Bruno Haible  <bruno@clisp.org>
31502
31503         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
31504         change.
31505
31506 2009-05-21  Bruno Haible  <bruno@clisp.org>
31507
31508         Simplify use of mode_t varargs.
31509         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
31510         uses 'mode_t' or 'int'.
31511         * lib/openat.c (openat): Likewise.
31512         * lib/open-safer.c (open_safer): Likewise.
31513         * m4/mode_t.m4: New file.
31514         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
31515         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
31516         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
31517         * modules/open (Files): Add m4/mode_t.m4.
31518         * modules/openat (Files): Likewise.
31519         * modules/fcntl-safer (Files): Likewise.
31520         Suggested by Eric Blake.
31521
31522 2009-05-21  Pádraig Brady  <P@draigbrady.com>
31523
31524         * doc/glibc-functions/fallocate.texi: New file.
31525         * doc/gnulib.texi: Include it.
31526
31527 2009-05-21  Eric Blake  <ebb9@byu.net>
31528             Bruno Haible  <bruno@clisp.org>
31529
31530         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
31531         invocations.
31532         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31533
31534 2009-05-21  Eric Blake  <ebb9@byu.net>
31535             Bruno Haible  <bruno@clisp.org>
31536
31537         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
31538         include_next. Fix of 2008-11-20 commit.
31539         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
31540         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
31541         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
31542         NEXT_MATH_H.
31543         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
31544         instead of NEXT_MATH_H.
31545
31546 2009-05-21  Bruno Haible  <bruno@clisp.org>
31547
31548         Avoid redefinition warnings for SIZE_MAX.
31549         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
31550         Reported by Simon Josefsson.
31551
31552 2009-05-21  Bruno Haible  <bruno@clisp.org>
31553
31554         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
31555         AC_CACHE_VAL.
31556
31557 2009-05-20  Bruno Haible  <bruno@clisp.org>
31558
31559         Make zeroptr.h work on mingw.
31560         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
31561         mprotect.
31562         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
31563         * modules/memchr2-tests (configure.ac): Likewise.
31564         * modules/memcmp-tests (configure.ac): Likewise.
31565         * modules/memmem-tests (configure.ac): Likewise.
31566         * modules/memrchr-tests (configure.ac): Likewise.
31567         Reported by Simon Josefsson.
31568
31569 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31570
31571         * tests/test-glob.c: Include string.h for strcmp prototype.
31572
31573 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31574
31575         * modules/getdelim (Depends-on): Add explicit stdint, although it
31576         was implicitly already pulled in via realloc-posix.
31577         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
31578
31579 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31580
31581         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
31582         G. Christensen" <tgc@jupiterrise.com>.
31583         * m4/sys_socket_h.m4: Check for sa_family_t.
31584         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
31585         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
31586         * tests/test-sys_socket.c: Check that sa_family_t works.
31587
31588 2009-05-18  Eric Blake  <ebb9@byu.net>
31589
31590         maint.mk: allow gnulib_dir in VPATH build
31591         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
31592
31593 2009-05-15  Jim Meyering  <meyering@redhat.com>
31594
31595         maint.mk: Give gnulib_dir a default definition.
31596         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
31597         Thus, most packages no longer need to specify this variable in cfg.mk
31598
31599 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
31600
31601         rename.m4: fix typos that would make non-mingw cross-configure fail
31602         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
31603
31604 2009-05-13  Eric Blake  <ebb9@byu.net>
31605
31606         mmap-anon: avoid out-of-order autoconf expansion
31607         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
31608         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
31609         * modules/memchr-tests (Depends-on): Add extensions.
31610         * modules/memchr2-tests (Depends-on): Add extensions.
31611         * modules/memcmp-tests (Depends-on): Add extensions.
31612         * modules/memmem-tests (Depends-on): Add extensions.
31613         * modules/memrchr-tests (Depends-on): Add extensions.
31614
31615 2009-05-13  Bruno Haible  <bruno@clisp.org>
31616
31617         Make some tests ISO C 99 compliant.
31618         * tests/zerosize-ptr.h: New file.
31619         * tests/test-memchr.c: Include zerosize-ptr.h.
31620         (main): Use a zero-size object pointer instead of NULL.
31621         * tests/test-memchr2.c: Include zerosize-ptr.h.
31622         (main): Use a zero-size object pointer instead of NULL.
31623         * tests/test-memcmp.c: Include zerosize-ptr.h.
31624         (main): Use a zero-size object pointer instead of NULL.
31625         * tests/test-memmem.c: Include zerosize-ptr.h.
31626         (main): Use a zero-size object pointer instead of NULL.
31627         * tests/test-memrchr.c: Include zerosize-ptr.h.
31628         (main): Use a zero-size object pointer instead of NULL.
31629         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
31630         m4/mmap-anon.m4.
31631         (Depends-on): Add getpagesize.
31632         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31633         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
31634         m4/mmap-anon.m4.
31635         (Depends-on): Add getpagesize.
31636         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31637         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
31638         m4/mmap-anon.m4.
31639         (Depends-on): Add getpagesize.
31640         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31641         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
31642         m4/mmap-anon.m4.
31643         (Depends-on): Add getpagesize.
31644         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31645         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
31646         m4/mmap-anon.m4.
31647         (Depends-on): Add getpagesize.
31648         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31649
31650 2009-05-12  Bruno Haible  <bruno@clisp.org>
31651
31652         Tests for module 'alignof'.
31653         * modules/alignof-tests: New file.
31654         * tests/test-alignof.c: New file.
31655
31656 2009-05-12  Bruno Haible  <bruno@clisp.org>
31657
31658         Fix alignof macro.
31659         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
31660         vendor compilers that are always correct.
31661
31662 2009-05-12  Bruno Haible  <bruno@clisp.org>
31663
31664         Make the MAP_ANONYMOUS detection work on HP-UX 11.
31665         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
31666         not whether its fully works.
31667
31668 2009-05-12  Bruno Haible  <bruno@clisp.org>
31669
31670         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
31671
31672 2009-05-12  Jim Meyering  <meyering@redhat.com>
31673
31674         * top/maint.mk: Adjust backslash alignment.
31675
31676 2009-05-11  Simon Josefsson  <simon@josefsson.org>
31677
31678         * top/maint.mk: Make $(srcdir)/build-aux configurable.
31679
31680 2009-05-11  Eric Blake  <ebb9@byu.net>
31681
31682         argp: avoid undefined behavior
31683         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
31684         macros.
31685
31686 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31687
31688         * tests/test-vc-list-files-git.sh: Do git config of user.email and
31689         user.name to prevent git commit from complaining.
31690
31691 2009-05-10  Bruno Haible  <bruno@clisp.org>
31692
31693         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
31694         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
31695         it rewrites every file name only once.
31696         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
31697
31698 2009-05-08  Bruno Haible  <bruno@clisp.org>
31699
31700         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
31701         instead of 'max'.
31702
31703 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31704
31705         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
31706         sockaddr_storage test.
31707
31708 2009-05-07  Simon Josefsson  <simon@josefsson.org>
31709
31710         * modules/sys_socket (Makefile.am): Substitute
31711         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
31712         * m4/sys_socket_h.m4: Check for sockaddr_storage.
31713         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
31714         * tests/test-sys_socket.c: Check sockaddr_storage.
31715
31716 2009-05-08  Bruno Haible  <bruno@clisp.org>
31717
31718         New module 'alignof'.
31719         * lib/alignof.h: New file.
31720         * modules/alignof: New file.
31721
31722 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31723             Bruno Haible  <bruno@clisp.org>
31724
31725         Fix test-file-has-acl on FreeBSD.
31726         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
31727         mask is implicitly added.
31728         * tests/test-file-has-acl.c: Include <signal.h>.
31729         (main): Terminate the test after 5 seconds.
31730         * modules/acl-tests (configure.ac): Check for alarm function.
31731
31732 2009-05-04  Bruno Haible  <bruno@clisp.org>
31733
31734         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
31735         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
31736         * modules/errno (configure.ac): Drop AC_REQUIRE.
31737         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
31738         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
31739
31740 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31741
31742         * modules/glob-tests: New module.
31743         * tests/test-glob.c: Add.
31744
31745 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31746
31747         * modules/fnmatch-tests: New module.
31748         * tests/test-fnmatch.c: Add.
31749
31750 2009-05-04  Eric Blake  <ebb9@byu.net>
31751
31752         maint: make the new no-submodule-changes rule VPATH-safe
31753         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
31754
31755 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31756             Bruno Haible  <bruno@clisp.org>
31757
31758         acl: Fix infinite loop on FreeBSD.
31759         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
31760         of return value from acl_get_entry.
31761         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
31762         Likewise.
31763
31764 2009-05-03  Bruno Haible  <bruno@clisp.org>
31765
31766         * lib/acl-internal.h (acl_entries): Clarify return value.
31767         * lib/acl_entries.c (acl_entries): Likewise.
31768
31769 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31770
31771         Bug fix in acl module.
31772         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
31773
31774 2009-05-03  Bruno Haible  <bruno@clisp.org>
31775
31776         Create gperf-generated file in the source dir, not in the build dir.
31777         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
31778         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
31779         * modules/unicase/locale-language (unicase/locale-languages.h):
31780         Likewise.
31781         * modules/unicase/special-casing (unicase/special-casing-table.h):
31782         Likewise.
31783         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
31784         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
31785         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
31786         Reported by Ralf Wildenhues.
31787
31788 2009-05-03  Bruno Haible  <bruno@clisp.org>
31789
31790         * modules/fnmatch (Description, configure.ac): Taken from
31791         fnmatch-posix.
31792         * modules/fnmatch-posix: Turn into a symbolic reference to the
31793         'fnmatch' module, and deprecate.
31794         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
31795
31796 2009-05-03  Bruno Haible  <bruno@clisp.org>
31797
31798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
31799         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
31800         Reported by Ralf Wildenhues.
31801
31802 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31803
31804         * m4/fnmatch.m4: Fix fnmatch re-define.
31805
31806 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31807
31808         priv-set: new module and tests; adapt write-any-file
31809         * lib/priv-set.c: New file.
31810         * lib/priv-set.h: New file.
31811         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
31812         * lib/write-any-file.c: Simplify by using priv-set module.
31813         * m4/priv-set.m4: New file.
31814         * modules/priv-set: New file.
31815         * modules/unlinkdir: Add dependency on priv-set module.
31816         * modules/write-any-file: Likewise.
31817
31818         Tests for module 'priv-set'.
31819         * modules/priv-set-tests: New file.
31820         * tests/test-priv-set.c: New file.
31821
31822 2009-05-03  Jim Meyering  <meyering@redhat.com>
31823             Bruno Haible  <bruno@clisp.org>
31824
31825         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
31826         use the converted UTF-8 variant of the name instead.
31827
31828 2009-05-03  Jim Meyering  <meyering@redhat.com>
31829
31830         tests: tighten some getdate tests
31831         * tests/test-getdate.c (main): Tighten tests: require equality,
31832         not just greater than.  Set TZ envvar to UTC0.
31833
31834 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31835
31836         getdate: correctly interpret "next monday" when run on a Monday
31837         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
31838         that e.g., "next tues" (when run on a tuesday) results in a date
31839         that is one week in the future, and not today's date.
31840         I.e., add a week when the wday is the same as the current one.
31841         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
31842         and earlier by Martin Bernreuther and Jan Minář.
31843         * tests/test-getdate.c (main): Check that "next DAY" is always in
31844         the future and that "last DAY" is always in the past.
31845
31846 2009-05-02  Jim Meyering  <meyering@redhat.com>
31847
31848         build: ensure that a release build fails when a submodule is unclean
31849         * top/maint.mk (no-submodule-changes): New rule.
31850         (alpha beta major): Depend on it.
31851
31852 2009-05-02  Bruno Haible  <bruno@clisp.org>
31853
31854         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
31855         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
31856         shell variable gl_fnmatch_required to detect which variant is
31857         requested.
31858         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
31859         gl_FUNC_FNMATCH_POSIX.
31860         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
31861         exclude fnmatch-posix.
31862
31863 2009-05-02  Bruno Haible  <bruno@clisp.org>
31864
31865         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
31866         * modules/mbsrtowcs (License): Change to LGPLv2+.
31867         * modules/strnlen1 (License): Likewise.
31868         Reported by Simon Josefsson.
31869
31870 2009-05-02  Bruno Haible  <bruno@clisp.org>
31871
31872         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
31873         "cross".
31874         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
31875         gnulib-tool was called with option --source-base=lib.
31876
31877 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31878
31879         Use automake *-local hooks without commands, for extensibility.
31880         * modules/localcharset (Makefile.am): Rename install-exec-local
31881         rule to install-exec-localcharset, and make it a prerequisite of
31882         install-exec-local.  Likewise, rename the uninstall-local rule to
31883         uninstall-localcharset, and make it a prerequisite of the former.
31884
31885 2009-05-01  Bruno Haible  <bruno@clisp.org>
31886
31887         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
31888         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31889         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
31890         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
31891         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
31892         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31893         m4/locale-zh.m4, m4/codeset.m4.
31894
31895         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31896         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
31897         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31898         m4/locale-zh.m4.
31899
31900         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
31901         REPLACE_WCRTOMB if mbstate_t must be replaced.
31902         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
31903         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
31904
31905 2009-05-01  Bruno Haible  <bruno@clisp.org>
31906
31907         Avoid compiler warnings when redefining macros defined by <libintl.h>.
31908         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
31909         dngettext, dcngettext, textdomain, bindtextdomain,
31910         bind_textdomain_codeset): Undefine before redefining.
31911
31912 2009-04-30  Bruno Haible  <bruno@clisp.org>
31913
31914         Fix bug introduced on 2009-04-25.
31915         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
31916         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
31917         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
31918         is defined.
31919         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
31920         is defined.
31921         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
31922         is defined.
31923         Reported by Elbert_Pol <elbert.pol@gmail.com>.
31924
31925 2009-04-28  Bruno Haible  <bruno@clisp.org>
31926
31927         Comment tweaks.
31928         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
31929         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
31930         * lib/unicase.h (u*_casexfrm): Likewise.
31931         Reported by Paolo Bonzini.
31932
31933 2009-04-28  Bruno Haible  <bruno@clisp.org>
31934
31935         Fix a compilation error.
31936         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
31937         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31938         Reported by Jim Meyering.
31939
31940 2009-04-27  Bruno Haible  <bruno@clisp.org>
31941
31942         New module 'libunistring'.
31943         * modules/libunistring: New file.
31944         * m4/libunistring.m4: New file.
31945         * MODULES.html.sh (Unicode string functions): Add it.
31946
31947 2009-04-27  Eric Blake  <ebb9@byu.net>
31948
31949         maint.mk: allow package-specific header to provide <config.h>
31950         * top/maint.mk (sc_require_config_h): New variable.
31951         (sc_require_config_h, sc_require_config_h_first): Use it.
31952
31953 2009-04-27  Simon Josefsson  <simon@josefsson.org>
31954
31955         * top/maint.mk (sc_avoid_if_before_free): Except
31956         useless-if-before-free script.
31957
31958 2009-04-27  Eric Blake  <ebb9@byu.net>
31959
31960         maintainer-makefile: depend on all required helper scripts
31961         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
31962         useless-if-before-free.
31963         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
31964         version, rather than assuming gnulib checkout is available.
31965         Reported by Simen Josefsson.
31966
31967 2009-04-26  Bruno Haible  <bruno@clisp.org>
31968
31969         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
31970         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
31971         "../" or "..".
31972
31973 2009-04-26  Bruno Haible  <bruno@clisp.org>
31974
31975         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
31976         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
31977         AC_LIB_HAVE_LINKFLAGS.
31978
31979 2009-04-26  Bruno Haible  <bruno@clisp.org>
31980
31981         Simplify calling convention of u*_conv_from_encoding.
31982         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
31983         u32_conv_from_encoding): Expect a resultbuf argument and return the
31984         result directly as a pointer.
31985         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
31986         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
31987         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
31988         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
31989         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
31990         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
31991         Update.
31992         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
31993         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
31994         * lib/vasnprintf.c (VASNPRINTF): Update.
31995         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
31996         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
31997         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
31998         * NEWS: Mention the change.
31999
32000 2009-04-26  Bruno Haible  <bruno@clisp.org>
32001
32002         Simplify calling convention of u*_conv_to_encoding.
32003         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
32004         u32_conv_to_encoding): Expect a resultbuf argument and return the
32005         result directly as a pointer.
32006         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
32007         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
32008         freeing scaled_offsets if mem_iconveha failed.
32009         * lib/unicase/u-casexfrm.h (FUNC): Update.
32010         * lib/uninorm/u-normxfrm.h (FUNC): Update.
32011         * lib/vasnprintf.c (VASNPRINTF): Update.
32012         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
32013         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
32014         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
32015         * NEWS: Mention the change.
32016
32017 2009-04-26  Bruno Haible  <bruno@clisp.org>
32018
32019         Avoid test failures on AIX and OSF/1.
32020         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
32021         malloc(0).
32022         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
32023         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
32024         Likewise.
32025         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
32026         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
32027         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
32028         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
32029         * doc/posix-functions/malloc.texi: Document the portability problem
32030         related to malloc(0).
32031
32032 2009-04-26  Bruno Haible  <bruno@clisp.org>
32033
32034         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
32035         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
32036         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
32037
32038 2009-04-25  Bruno Haible  <bruno@clisp.org>
32039
32040         Avoid link error when creating a namespace clean library.
32041         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
32042         as macro with arguments if already defined as an alias.
32043         * lib/signbitf.c (gl_signbitf): Don't undefine.
32044         * lib/signbitd.c (gl_signbitd): Don't undefine.
32045         * lib/signbitl.c (gl_signbitl): Don't undefine.
32046
32047 2009-04-25  Jim Meyering  <meyering@redhat.com>
32048
32049         vc-list-files: fix another quoting bug
32050         * build-aux/vc-list-files: Avoid sed backslash expansion
32051         of pathological directory names.
32052
32053 2009-04-25  Eric Blake  <ebb9@byu.net>
32054
32055         vc-list-files: fix shell quoting error
32056         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
32057         timestamp.
32058
32059 2009-04-25  Jim Meyering  <meyering@redhat.com>
32060
32061         vc-list-files: restore lost functionality with subdir argument
32062         * build-aux/vc-list-files: When given a non-"." sub-directory
32063         argument, substitute the $dir/ prefix back onto each resulting name.
32064         Otherwise, coreutils' root_tests check would fail.
32065
32066 2009-04-24  Eric Blake  <ebb9@byu.net>
32067
32068         vc-list-files: ignore git symlinks
32069         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
32070         than ls-files, to ignore git symlinks.
32071
32072         maint.mk: import improvements from m4
32073         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
32074         (move_if_change): Delete unused macro.
32075         (news-date-check, vc-diff-check): Support VPATH builds.
32076         (announcement): Likewise.  Split --bootstrap-tools list...
32077         (boostrap-tools): ...into separate list, which can be overridden
32078         in cfg.mk.
32079         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
32080         requiring dependency on useless-if-before-free module.
32081         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
32082         Support VPATH builds.
32083
32084 2009-04-24  Jim Meyering  <meyering@redhat.com>
32085
32086         maint.mk: remove coreutils-specific rules and variables
32087         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
32088         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
32089         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
32090
32091         maint.mk: remove obsolete rule
32092         * top/maint.mk (rel-check): Remove rule.
32093         (WGET, WGETFLAGS): Remove now-unused variables.
32094
32095 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32096
32097         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
32098         consistency.
32099
32100         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
32101         '$(PATH_SEPARATOR)' instead of ':'.
32102
32103 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32104
32105         * lib/getopt1.c (main): Use 'const' for static array.
32106
32107 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32108
32109         * top/maint.mk: Sync with coreutils.
32110         * NEWS: Explain incompatibilities.
32111
32112 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32113             Bruno Haible  <bruno@clisp.org>
32114
32115         Fix cross-compilation results.
32116         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
32117         statement, as third argument of AC_TRY_RUN.
32118         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
32119         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
32120         Likewise.
32121         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
32122         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
32123         Likewise.
32124         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
32125         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
32126         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
32127
32128 2009-04-20  Bruno Haible  <bruno@clisp.org>
32129
32130         Avoid test failure on mingw.
32131         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
32132
32133 2009-04-20  Bruno Haible  <bruno@clisp.org>
32134
32135         Avoid compilation error on mingw.
32136         * modules/localename-tests (Depends-on): Add locale.
32137
32138 2009-04-19  Bruno Haible  <bruno@clisp.org>
32139
32140         Support for building a shared library on Windows platforms.
32141         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
32142         (main): Test the presence of UNINORM_NFC here.
32143         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
32144         (main): Test the presence of UNINORM_NFD here.
32145         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
32146         (main): Test the presence of UNINORM_NFKC here.
32147         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
32148         (main): Test the presence of UNINORM_NFKD here.
32149
32150 2009-04-19  Bruno Haible  <bruno@clisp.org>
32151
32152         Avoid a compiler warning.
32153         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
32154         Change type of variable 'sequence'.
32155
32156 2009-04-19  Bruno Haible  <bruno@clisp.org>
32157
32158         * modules/configmake (Makefile.am): When the contents of configmake.h
32159         does not change, arrange to preserve its modification time.
32160
32161 2009-04-17  Simon Josefsson  <simon@josefsson.org>
32162
32163         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
32164         gettext domain.
32165
32166 2009-04-16  Jim Meyering  <meyering@redhat.com>
32167
32168         useless-if-before-free: improve conversion code
32169         * build-aux/useless-if-before-free: Adjust code-in-comment to match
32170         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
32171
32172 2009-04-14  Bruno Haible  <bruno@clisp.org>
32173
32174         * modules/fcntl (Depends-on): Add extensions.
32175         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
32176
32177 2009-04-12  Ben Pfaff  <blp@gnu.org>
32178
32179         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
32180         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
32181
32182 2009-03-20  Ben Pfaff  <blp@gnu.org>
32183
32184         Make rename replace existing destinations on Windows.
32185         * m4/rename.m4: Add test for Mingw.
32186         * lib/rename.c: Add rename replacement that uses MoveFileEx with
32187         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
32188         * doc/posix-functions/rename.texi: Document.
32189
32190 2009-04-10  Bruno Haible  <bruno@clisp.org>
32191
32192         New include file "iconveh.h".
32193         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
32194         * lib/striconveh.h: Include it.
32195         (enum iconv_ilseq_handler): Remove definition.
32196         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
32197         striconveh.h.
32198         * lib/striconveha.c: Include striconveh.h.
32199         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
32200         * modules/striconveh (Files): Add lib/iconveh.h.
32201         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
32202         lib/striconveh.h.
32203
32204 2009-04-10  Bruno Haible  <bruno@clisp.org>
32205
32206         * lib/uniconv.h: Update comment.
32207
32208 2009-04-10  Bruno Haible  <bruno@clisp.org>
32209
32210         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
32211         always.
32212         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32213         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32214         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32215         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
32216         "unistring-notinline.h", so that the function gets defined always.
32217         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32218         * lib/unistr/u8-uctomb.c: Likewise.
32219         * lib/unistr/u16-mbtouc.c: Likewise.
32220         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32221         * lib/unistr/u16-uctomb.c: Likewise.
32222         * lib/unistr/u32-mbtouc.c: Likewise.
32223         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32224         * lib/unistr/u32-uctomb.c: Likewise.
32225
32226 2009-04-10  Bruno Haible  <bruno@clisp.org>
32227
32228         Mark 'utime' obsolete.
32229         * modules/utime (Status, Notice): New sections.
32230         Suggested by Jim Meyering.
32231
32232         Fix cross-compile guess for utime test.
32233         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
32234         autoconf.
32235         * doc/posix-functions/utime.texi: Give more precisions.
32236         Reported by Jan <ipif@ymail.com>.
32237
32238 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
32239
32240         filevercmp: correct today's change
32241         * lib/filevercmp.c: Also handle coreutils' test inputs.
32242         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
32243
32244         Fix regression in 'filevercmp' module. Thanks Sven Joachim
32245         for reporting it.
32246         * lib/filevercmp.c: Special handle for "", "." and "..".
32247         * tests/test-filevercmp.c: Enlarge the set suite.
32248
32249 2009-04-07  Jim Meyering  <meyering@redhat.com>
32250
32251         useless-if-before-free: show how to remove braced useless free, too
32252         * build-aux/useless-if-before-free: still only in a comment, though.
32253
32254 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
32255
32256         maint.mk: import changes to syntax-check macros from coreutils
32257         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
32258         Use them in the relevant macros.
32259
32260 2009-04-06  Bruno Haible  <bruno@clisp.org>
32261
32262         Fix unportable use of bit-fields.
32263         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
32264         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
32265         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
32266
32267 2009-04-06  Bruno Haible  <bruno@clisp.org>
32268
32269         Avoid test failures on AIX and OSF/1.
32270         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
32271         that malloc(0) = NULL.
32272         * tests/unicase/test-u8-tolower.c (check): Likewise.
32273         * tests/unicase/test-u8-totitle.c (check): Likewise.
32274         * tests/unicase/test-u8-toupper.c (check): Likewise.
32275         * tests/unicase/test-u16-casefold.c (check): Likewise.
32276         * tests/unicase/test-u16-tolower.c (check): Likewise.
32277         * tests/unicase/test-u16-totitle.c (check): Likewise.
32278         * tests/unicase/test-u16-toupper.c (check): Likewise.
32279         * tests/unicase/test-u32-casefold.c (check): Likewise.
32280         * tests/unicase/test-u32-tolower.c (check): Likewise.
32281         * tests/unicase/test-u32-totitle.c (check): Likewise.
32282         * tests/unicase/test-u32-toupper.c (check): Likewise.
32283         * tests/uninorm/test-u8-nfc.c (check): Likewise.
32284         * tests/uninorm/test-u8-nfd.c (check): Likewise.
32285         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
32286         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
32287         * tests/uninorm/test-u16-nfc.c (check): Likewise.
32288         * tests/uninorm/test-u16-nfd.c (check): Likewise.
32289         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
32290         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
32291         * tests/uninorm/test-u32-nfc.c (check): Likewise.
32292         * tests/uninorm/test-u32-nfd.c (check): Likewise.
32293         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
32294         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
32295
32296 2009-04-05  Bruno Haible  <bruno@clisp.org>
32297
32298         Work around an autoconf limitation.
32299         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
32300         comment line if it would be longer than 3 KB.
32301
32302 2009-04-05  Bruno Haible  <bruno@clisp.org>
32303
32304         Avoid test failure with libiconv-1.13.
32305         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
32306         of the expected test results.
32307
32308 2009-04-05  Bruno Haible  <bruno@clisp.org>
32309
32310         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
32311         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
32312         that it should be installed.
32313
32314 2009-04-05  Bruno Haible  <bruno@clisp.org>
32315
32316         * gnulib-tool: New option --copy-file.
32317         (func_usage): Document it.
32318         (func_dest_tmpfilename): Moved out of func_import.
32319         (func_add_file, func_update_file): New functions, extracted from
32320         func_import.
32321         (func_import): Update.
32322
32323 2009-04-05  Karl Berry  <karl@gnu.org>
32324
32325         * README: prominently mention gnulib-tool.
32326         Rearrange sections so getting the code is near the top.
32327
32328 2009-04-05  Bruno Haible  <bruno@clisp.org>
32329
32330         * lib/unicase.h: Mention u*_cmp2.
32331         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
32332         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
32333         * lib/unicase/ulc-casecmp.c: Likewise.
32334         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
32335         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
32336         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
32337         unistr/u8-cmp.
32338         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
32339         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
32340         unistr/u16-cmp.
32341         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
32342         unistr/u32-cmp.
32343
32344         * lib/uninorm.h: Mention u*_cmp2.
32345         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
32346         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
32347         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
32348         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
32349         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
32350         unistr/u8-cmp.
32351         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
32352         unistr/u16-cmp.
32353         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
32354         unistr/u32-cmp.
32355
32356         New module 'unistr/u32-cmp2'.
32357         * lib/unistr/u32-cmp2.c: New file.
32358         * modules/unistr/u32-cmp2: New file.
32359
32360         New module 'unistr/u16-cmp2'.
32361         * lib/unistr/u16-cmp2.c: New file.
32362         * modules/unistr/u16-cmp2: New file.
32363
32364         New module 'unistr/u8-cmp2'.
32365         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
32366         * lib/unistr/u8-cmp2.c: New file.
32367         * lib/unistr/u-cmp2.h: New file.
32368         * modules/unistr/u8-cmp2: New file.
32369
32370 2009-04-05  Bruno Haible  <bruno@clisp.org>
32371
32372         * lib/unictype.h (uc_property_is_valid): New macro.
32373         * tests/unictype/test-pr_byname.c (main): Use it.
32374
32375         * lib/unistr.h: Doc fixes.
32376         * lib/uniconv.h: Doc fixes.
32377         * lib/unictype.h: Doc fixes.
32378
32379 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
32380
32381         Port coreutils 7.2 to Solaris 8.
32382
32383         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
32384         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
32385         for Solaris 8.  This is a bit of a hack, as it means it's the
32386         caller's responsibility to add -lnsl if needed, but most likely it
32387         won't be needed since only getaddrinfo uses this and getaddrinfo
32388         isn't needed on Solaris 8.
32389
32390         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
32391         problem to Solaris 8 encountered with coreutils 7.2, which
32392         resulted in a message "fnmatch.c:292: warning: passing argument 4
32393         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
32394         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
32395
32396 2009-04-03  Simon Josefsson  <simon@josefsson.org>
32397
32398         * m4/ld-version-script.m4: Add FIXME comment.
32399
32400 2009-04-02  Simon Josefsson  <simon@josefsson.org>
32401
32402         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
32403         SOVERSION variable.
32404
32405 2009-04-02  Bruno Haible  <bruno@clisp.org>
32406
32407         * Makefile (info, html, dvi, pdf): Combine the rules.
32408         Suggested by Jim Meyering.
32409
32410 2009-04-01  Bruno Haible  <bruno@clisp.org>
32411
32412         * Makefile (info, html, dvi, pdf): New targets.
32413         Reported by Reuben Thomas <rrt@sc3d.org>.
32414
32415 2009-04-01  Bruno Haible  <bruno@clisp.org>
32416
32417         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
32418         can be put into PATH.
32419         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
32420
32421 2009-04-01  Bruno Haible  <bruno@clisp.org>
32422
32423         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
32424
32425 2009-04-01  Bruno Haible  <bruno@clisp.org>
32426
32427         Rename module 'visibility'.
32428         * modules/lib-symbol-visibility: Renamed from modules/visibility.
32429         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
32430         * doc/gnulib.texi: Update.
32431         * MODULES.html.sh (Misc): Update.
32432         * NEWS: Mention the change.
32433
32434 2009-04-01  Simon Josefsson  <simon@josefsson.org>
32435
32436         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
32437         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
32438         Eric Blake <ebb9@byu.net> for review.
32439         * MODULES.html.sh: Add lib-msvc-compat.
32440         * doc/gnulib.texi: Link to new section.
32441         * m4/ld-output-def.m4: New file.
32442         * doc/ld-output-def.texi: New file.
32443
32444 2009-04-01  Simon Josefsson  <simon@josefsson.org>
32445
32446         Rename ld-version-script to lib-symbol-versions.  Suggested by
32447         Bruno Haible <bruno@clisp.org>.
32448         * modules/ld-version-script: Renamed to lib-symbol-versions.
32449         * doc/ld-version-script.texi: Fix module name.
32450         * MODULES.html.sh: Add lib-symbol-versions.
32451
32452 2009-03-31  Simon Josefsson  <simon@josefsson.org>
32453
32454         * modules/u64-tests: New file.
32455         * tests/test-u64.c: New file.
32456
32457 2009-03-04  Simon Josefsson  <simon@josefsson.org>
32458
32459         * MODULES.html.sh: Mention u64.
32460         * modules/u64: New module.
32461         * modules/crypto/sha512: Depend on u64 module instead of providing
32462         u64.h.
32463
32464 2009-03-27  Eric Blake  <ebb9@byu.net>
32465
32466         test-strerror: make debugging EAI_SYSTEM easier
32467         * modules/getaddrinfo-tests (Depends-on): Add strerror.
32468         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
32469         failure was EAI_SYSTEM.
32470
32471 2009-03-25  Bruno Haible  <bruno@clisp.org>
32472
32473         Fix a problem with --enable-relocatable on Solaris 7.
32474         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
32475         since 2008-02-24.
32476
32477 2009-03-25  Eric Blake  <ebb9@byu.net>
32478
32479         test-sockets: avoid gcc warning
32480         * tests/test-sockets.c (main): Silence compiler warning.
32481
32482 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
32483
32484         New modules nproc, pthread, contributed by Glen Lenker.
32485
32486         * MODULES.html.sh: Add pthread, nproc.
32487         * lib/nproc.c: New file.
32488         * lib/nproc.h: New file.
32489         * lib/pthread.in.h: New file.
32490         * m4/pthread.m4: New file.
32491         * modules/nproc: New file.
32492         * modules/pthread: New file.
32493
32494 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32495
32496         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
32497         New variable.
32498
32499 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
32500
32501         filevercmp: handle simple~ and numbered.~3~ backup suffixes
32502         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
32503         * tests/test-filevercmp.c: Add tests for backup suffixes.
32504
32505 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32506
32507         * modules/stdlib (Depends-on): Add stdint, needed when defining
32508         struct random_data on, for example, HP-UX 10.20.  Reported by
32509         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32510
32511 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32512
32513         * lib/readline.c (readline): Call fflush on stdout after printing
32514         prompt.
32515
32516 2009-03-20  Bruno Haible  <bruno@clisp.org>
32517
32518         Remove dependency from 'close' module to -lws2_32 on native Windows.
32519         * lib/close-hook.h: New file.
32520         * lib/close-hook.c: New file.
32521         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
32522         w32sock.h.
32523         (_gl_close_fd_maybe_socket): Remove function.
32524         (rpl_close): Invoke execute_all_close_hooks instead of
32525         _gl_close_fd_maybe_socket.
32526         * lib/sockets.c: Include close-hook.h, w32sock.h.
32527         (close_fd_maybe_socket): New function, essentially from lib/close.c.
32528         (close_sockets_hook): New variable.
32529         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
32530         (gl_sockets_cleanup): Unregister it.
32531         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
32532         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
32533         * modules/close-hook: New file.
32534         * modules/close (Files): Remove lib/w32sock.h.
32535         (Depends-on): Add close-hook.
32536         (Link): Remove section.
32537         * modules/sockets (Files): Add lib/w32sock.h.
32538         (Depends-on): Add close-hook.
32539         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
32540         invocation.
32541         * NEWS: Mention that LIB_CLOSE is gone.
32542
32543 2009-03-23  Eric Blake  <ebb9@byu.net>
32544
32545         signal-tests: test previous patch
32546         * tests/test-signal.c: New file.
32547         * modules/signal-tests: Likewise.
32548
32549         signal.h: always support 'volatile sig_atomic_t'
32550         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
32551         (gl_SIGNAL_H_DEFAULTS): Add a default.
32552         * modules/signal (Makefile.am): Substitute if needed.
32553         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
32554         users can blindly add volatile.
32555         * doc/posix-headers/signal.texi (signal.h): Document it.
32556         Reported by Matthew Woehlke.
32557
32558 2009-03-23  Jim Meyering  <meyering@redhat.com>
32559
32560         pathmax: PATH_MAX: use pathconf only when available
32561         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
32562         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
32563         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
32564         This avoids a link failure in a PSP cross-compilation environment
32565         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
32566
32567         * lib/vasnprintf.c (divide): Fix typo in comment.
32568
32569 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32570
32571         * gnulib-tool (func_filter_filelist): Fix comment.
32572
32573 2009-03-20  Bruno Haible  <bruno@clisp.org>
32574
32575         Make sockets.h self-contained.
32576         * lib/sockets.c: Include sockets.h first.
32577         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
32578
32579 2009-03-19  Eric Blake  <ebb9@byu.net>
32580
32581         doc: mention more functions added in cygwin 1.7.0
32582         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
32583         addition.
32584         * doc/posix-functions/log2f.texi: Likewise.
32585
32586 2009-03-19  Jim Meyering  <meyering@redhat.com>
32587
32588         fsusage: avoid syntax error due to statement-before-declaration
32589         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
32590         after all declarations.  Reported by Matthew Woehlke in
32591         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
32592
32593 2009-03-18  Eric Blake  <ebb9@byu.net>
32594
32595         build-aux/compile: sync from automake
32596         * build-aux/compile: New file, from automake.
32597         * config/srclist.txt: Mention build-aux/compile.
32598
32599 2009-03-17  Bruno Haible  <bruno@clisp.org>
32600
32601         * lib/git-merge-changelog.c: Fix typo in comment.
32602         Reported by Reuben Thomas <rrt@sc3d.org>.
32603
32604 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
32605
32606         * m4/regex.m4: update and improve help for
32607         --without-included-regex.
32608
32609 2009-03-17  Simon Josefsson  <simon@josefsson.org>
32610
32611         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
32612         failure on missing include files.
32613
32614 2009-03-17  Eric Blake  <ebb9@byu.net>
32615
32616         doc: mention more functions added in cygwin 1.7.0
32617         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
32618         addition.
32619         * doc/posix-functions/fwscanf.texi: Likewise.
32620         * doc/posix-functions/swprintf.texi: Likewise.
32621         * doc/posix-functions/swscanf.texi: Likewise.
32622         * doc/posix-functions/vfwprintf.texi: Likewise.
32623         * doc/posix-functions/vfwscanf.texi: Likewise.
32624         * doc/posix-functions/vswprintf.texi: Likewise.
32625         * doc/posix-functions/vswscanf.texi: Likewise.
32626         * doc/posix-functions/vwprintf.texi: Likewise.
32627         * doc/posix-functions/vwscanf.texi: Likewise.
32628         * doc/posix-functions/wcscasecmp.texi: Likewise.
32629         * doc/posix-functions/wcsdup.texi: Likewise.
32630         * doc/posix-functions/wcsftime.texi: Likewise.
32631         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32632         * doc/posix-functions/wprintf.texi: Likewise.
32633         * doc/posix-functions/wscanf.texi: Likewise.
32634         * doc/glibc-functions/gethostbyname2.texi: Likewise.
32635
32636 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32637
32638         maint.mk: really add $(AM_MAKEFLAGS)
32639         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
32640         was inadvertently omitted in the last commit.
32641         Spotted by Bruno Haible.
32642
32643         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
32644         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
32645         $(AM_MAKEFLAGS)' rather than plain `make'.
32646
32647         gnulib-tool: execute $MAKE not make
32648         * gnulib-tool: Default $MAKE to 'make'.
32649         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
32650         than make.  Initialize $MAKE in the do-autobuild script.
32651
32652         gnulib-tool: use $MAKE not make in generated files
32653         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
32654         make, in generated files.  Initialize $MAKE in the do-autobuild
32655         script.
32656
32657         * top/GNUmakefile (_have-git-version-gen): Fix typo.
32658
32659         GNUmakefile: disable parallelism only for multiple, recursive targets
32660         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
32661         additions in the Makefile.
32662         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
32663         by Automake.
32664         (.NOTPARALLEL): Only disable parallel builds if multiple targets
32665         are listed on the command line and at least one of them is
32666         listed in $(ALL_RECURSIVE_TARGETS).
32667
32668 2009-03-14  Bruno Haible  <bruno@clisp.org>
32669
32670         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
32671         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
32672         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
32673         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
32674         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
32675         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
32676         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
32677         unistr/u8-uctomb.
32678         * modules/unistr/u8-strchr (Depends-on): Likewise.
32679         * modules/unistr/u8-strrchr (Depends-on): Likewise.
32680         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
32681         unistr/u16-uctomb.
32682         * modules/unistr/u16-strchr (Depends-on): Likewise.
32683         * modules/unistr/u16-strrchr (Depends-on): Likewise.
32684
32685 2009-03-12  Bruno Haible  <bruno@clisp.org>
32686
32687         Work around select() bug on Interix 3.5.
32688         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
32689         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
32690         * m4/select.m4: New file.
32691         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
32692         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
32693         * modules/select (Files): Add m4/select.m4.
32694         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
32695         * modules/nanosleep (Depends-on): Add select.
32696         * modules/poll (Depends-on): Likewise.
32697         * doc/posix-functions/select.texi: Mention the Interix bug.
32698         Reported by Markus Duft <mduft@gentoo.org>.
32699
32700         * lib/select.c: Renamed from lib/winsock-select.c.
32701         * modules/select (Files): Add lib/select.c, remove
32702         lib/winsock-select.c.
32703         (configure.ac): Update.
32704
32705 2009-03-12  Jim Meyering  <meyering@redhat.com>
32706
32707         avoid gcc warnings about unused macro definitions
32708         * lib/readtokens.c (STREQ): Remove unused definition.
32709         * lib/xmalloc.c (SIZE_MAX): Likewise.
32710         * lib/openat-die.c (N_): Likewise.
32711         * lib/mountlist.c (SIZE_MAX): Remove definition.
32712         Instead, include <stdint.h>.
32713         * lib/readutmp.c: Likewise.
32714         * modules/readutmp (Depends-on): Add stdint.
32715         * modules/mountlist (Depends-on): Add stdint.
32716         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
32717
32718 2009-03-10  Bruno Haible  <bruno@clisp.org>
32719
32720         Tests for module 'mbmemcasecoll'.
32721         * modules/mbmemcasecoll-tests: New file.
32722         * tests/test-mbmemcasecoll1.sh: New file.
32723         * tests/test-mbmemcasecoll2.sh: New file.
32724         * tests/test-mbmemcasecoll3.sh: New file.
32725         * tests/test-mbmemcasecoll.c: New file.
32726
32727         New module 'mbmemcasecoll'.
32728         * lib/mbmemcasecoll.h: New file.
32729         * lib/mbmemcasecoll.c: New file.
32730         * modules/mbmemcasecoll: New file.
32731
32732         * tests/test-mbmemcasecmp.h: New file, extracted from
32733         tests/test-mbmemcasecmp.c.
32734         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
32735         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
32736         (main): Update.
32737         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
32738
32739 2009-03-09  Bruno Haible  <bruno@clisp.org>
32740
32741         Tests for module 'mbmemcasecmp'.
32742         * modules/mbmemcasecmp-tests: New file.
32743         * tests/test-mbmemcasecmp1.sh: New file.
32744         * tests/test-mbmemcasecmp2.sh: New file.
32745         * tests/test-mbmemcasecmp3.sh: New file.
32746         * tests/test-mbmemcasecmp.c: New file.
32747
32748         New module 'mbmemcasecmp'.
32749         * lib/mbmemcasecmp.h: New file.
32750         * lib/mbmemcasecmp.c: New file.
32751         * modules/mbmemcasecmp: New file.
32752
32753 2009-03-09  Bruno Haible  <bruno@clisp.org>
32754
32755         Tests for module 'unicase/ulc-casecoll'.
32756         * modules/unicase/ulc-casecoll-tests: New file.
32757         * tests/unicase/test-ulc-casecoll1.sh: New file.
32758         * tests/unicase/test-ulc-casecoll2.sh: New file.
32759         * tests/unicase/test-ulc-casecoll.c: New file.
32760
32761         New module 'unicase/ulc-casecoll'.
32762         * lib/unicase.h (ulc_casecoll): New declaration.
32763         * lib/unicase/ulc-casecoll.c: New file.
32764         * modules/unicase/ulc-casecoll: New file.
32765
32766         New module 'unicase/ulc-casexfrm'.
32767         * lib/unicase.h (ulc_casexfrm): New declaration.
32768         * lib/unicase/ulc-casexfrm.c: New file.
32769         * modules/unicase/ulc-casexfrm: New file.
32770
32771 2009-03-09  Bruno Haible  <bruno@clisp.org>
32772
32773         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
32774         invocations.
32775
32776         * m4/mbscasecmp.m4: Remove file.
32777         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
32778         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
32779
32780         * m4/mbscasestr.m4: Remove file.
32781         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
32782         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
32783
32784         * m4/mbschr.m4: Remove file.
32785         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
32786         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
32787
32788         * m4/mbscspn.m4: Remove file.
32789         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
32790         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
32791
32792         * m4/mbslen.m4: Remove file.
32793         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
32794         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
32795
32796         * m4/mbsncasecmp.m4: Remove file.
32797         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
32798         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
32799
32800         * m4/mbsnlen.m4: Remove file.
32801         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
32802         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
32803
32804         * m4/mbspbrk.m4: Remove file.
32805         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
32806         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
32807
32808         * m4/mbspcasecmp.m4: Remove file.
32809         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
32810         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
32811
32812         * m4/mbsrchr.m4: Remove file.
32813         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
32814         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
32815
32816         * m4/mbssep.m4: Remove file.
32817         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
32818         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
32819
32820         * m4/mbsspn.m4: Remove file.
32821         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
32822         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
32823
32824         * m4/mbsstr.m4: Remove file.
32825         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
32826         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
32827
32828         * m4/mbstok_r.m4: Remove file.
32829         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
32830         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
32831
32832         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
32833
32834         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
32835         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
32836
32837         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
32838
32839 2009-03-08  Bruno Haible  <bruno@clisp.org>
32840
32841         Tests for module 'unicase/ulc-casecmp'.
32842         * modules/unicase/ulc-casecmp-tests: New file.
32843         * tests/unicase/test-ulc-casecmp1.sh: New file.
32844         * tests/unicase/test-ulc-casecmp2.sh: New file.
32845         * tests/unicase/test-ulc-casecmp.c: New file.
32846
32847         New module 'unicase/ulc-casecmp'.
32848         * lib/unicase.h (ulc_casecmp): New declaration.
32849         * lib/unicase/ulc-casecmp.c: New file.
32850         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
32851         'const SRC_UNIT *'.
32852         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
32853         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
32854         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
32855         * modules/unicase/ulc-casecmp: New file.
32856
32857         Tests for module 'unicase/u32-is-cased'.
32858         * modules/unicase/u32-is-cased-tests: New file.
32859         * tests/unicase/test-u32-is-cased.c: New file.
32860
32861         Tests for module 'unicase/u16-is-cased'.
32862         * modules/unicase/u16-is-cased-tests: New file.
32863         * tests/unicase/test-u16-is-cased.c: New file.
32864
32865         Tests for module 'unicase/u8-is-cased'.
32866         * modules/unicase/u8-is-cased-tests: New file.
32867         * tests/unicase/test-u8-is-cased.c: New file.
32868         * tests/unicase/test-is-cased.h: New file.
32869
32870         New module 'unicase/u32-is-cased'.
32871         * lib/unicase/u32-is-cased.c: New file.
32872         * modules/unicase/u32-is-cased: New file.
32873
32874         New module 'unicase/u16-is-cased'.
32875         * lib/unicase/u16-is-cased.c: New file.
32876         * modules/unicase/u16-is-cased: New file.
32877
32878         New module 'unicase/u8-is-cased'.
32879         * lib/unicase/u8-is-cased.c: New file.
32880         * lib/unicase/u-is-cased.h: New file.
32881         * modules/unicase/u8-is-cased: New file.
32882
32883         Tests for module 'unicase/u32-is-casefolded'.
32884         * modules/unicase/u32-is-casefolded-tests: New file.
32885         * tests/unicase/test-u32-is-casefolded.c: New file.
32886
32887         Tests for module 'unicase/u16-is-casefolded'.
32888         * modules/unicase/u16-is-casefolded-tests: New file.
32889         * tests/unicase/test-u16-is-casefolded.c: New file.
32890
32891         Tests for module 'unicase/u8-is-casefolded'.
32892         * modules/unicase/u8-is-casefolded-tests: New file.
32893         * tests/unicase/test-u8-is-casefolded.c: New file.
32894         * tests/unicase/test-is-casefolded.h: New file.
32895
32896         New module 'unicase/u32-is-casefolded'.
32897         * lib/unicase/u32-is-casefolded.c: New file.
32898         * modules/unicase/u32-is-casefolded: New file.
32899
32900         New module 'unicase/u16-is-casefolded'.
32901         * lib/unicase/u16-is-casefolded.c: New file.
32902         * modules/unicase/u16-is-casefolded: New file.
32903
32904         New module 'unicase/u8-is-casefolded'.
32905         * lib/unicase/u8-is-casefolded.c: New file.
32906         * modules/unicase/u8-is-casefolded: New file.
32907
32908         Tests for module 'unicase/u32-is-titlecase'.
32909         * modules/unicase/u32-is-titlecase-tests: New file.
32910         * tests/unicase/test-u32-is-titlecase.c: New file.
32911
32912         Tests for module 'unicase/u16-is-titlecase'.
32913         * modules/unicase/u16-is-titlecase-tests: New file.
32914         * tests/unicase/test-u16-is-titlecase.c: New file.
32915
32916         Tests for module 'unicase/u8-is-titlecase'.
32917         * modules/unicase/u8-is-titlecase-tests: New file.
32918         * tests/unicase/test-u8-is-titlecase.c: New file.
32919         * tests/unicase/test-is-titlecase.h: New file.
32920
32921         New module 'unicase/u32-is-titlecase'.
32922         * lib/unicase/u32-is-titlecase.c: New file.
32923         * modules/unicase/u32-is-titlecase: New file.
32924
32925         New module 'unicase/u16-is-titlecase'.
32926         * lib/unicase/u16-is-titlecase.c: New file.
32927         * modules/unicase/u16-is-titlecase: New file.
32928
32929         New module 'unicase/u8-is-titlecase'.
32930         * lib/unicase/u8-is-titlecase.c: New file.
32931         * modules/unicase/u8-is-titlecase: New file.
32932
32933         Tests for module 'unicase/u32-is-lowercase'.
32934         * modules/unicase/u32-is-lowercase-tests: New file.
32935         * tests/unicase/test-u32-is-lowercase.c: New file.
32936
32937         Tests for module 'unicase/u16-is-lowercase'.
32938         * modules/unicase/u16-is-lowercase-tests: New file.
32939         * tests/unicase/test-u16-is-lowercase.c: New file.
32940
32941         Tests for module 'unicase/u8-is-lowercase'.
32942         * modules/unicase/u8-is-lowercase-tests: New file.
32943         * tests/unicase/test-u8-is-lowercase.c: New file.
32944         * tests/unicase/test-is-lowercase.h: New file.
32945
32946         New module 'unicase/u32-is-lowercase'.
32947         * lib/unicase/u32-is-lowercase.c: New file.
32948         * modules/unicase/u32-is-lowercase: New file.
32949
32950         New module 'unicase/u16-is-lowercase'.
32951         * lib/unicase/u16-is-lowercase.c: New file.
32952         * modules/unicase/u16-is-lowercase: New file.
32953
32954         New module 'unicase/u8-is-lowercase'.
32955         * lib/unicase/u8-is-lowercase.c: New file.
32956         * modules/unicase/u8-is-lowercase: New file.
32957
32958         Tests for module 'unicase/u32-is-uppercase'.
32959         * modules/unicase/u32-is-uppercase-tests: New file.
32960         * tests/unicase/test-u32-is-uppercase.c: New file.
32961
32962         Tests for module 'unicase/u16-is-uppercase'.
32963         * modules/unicase/u16-is-uppercase-tests: New file.
32964         * tests/unicase/test-u16-is-uppercase.c: New file.
32965
32966         Tests for module 'unicase/u8-is-uppercase'.
32967         * modules/unicase/u8-is-uppercase-tests: New file.
32968         * tests/unicase/test-u8-is-uppercase.c: New file.
32969         * tests/unicase/test-is-uppercase.h: New file.
32970
32971         New module 'unicase/u32-is-uppercase'.
32972         * lib/unicase/u32-is-uppercase.c: New file.
32973         * modules/unicase/u32-is-uppercase: New file.
32974
32975         New module 'unicase/u16-is-uppercase'.
32976         * lib/unicase/u16-is-uppercase.c: New file.
32977         * modules/unicase/u16-is-uppercase: New file.
32978
32979         New module 'unicase/u8-is-uppercase'.
32980         * lib/unicase/u8-is-uppercase.c: New file.
32981         * modules/unicase/u8-is-uppercase: New file.
32982
32983         New module 'unicase/u32-is-invariant'.
32984         * lib/unicase/u32-is-invariant.c: New file.
32985         * modules/unicase/u32-is-invariant: New file.
32986
32987         New module 'unicase/u16-is-invariant'.
32988         * lib/unicase/u16-is-invariant.c: New file.
32989         * modules/unicase/u16-is-invariant: New file.
32990
32991         New module 'unicase/u8-is-invariant'.
32992         * lib/unicase/u8-is-invariant.c: New file.
32993         * lib/unicase/invariant.h: New file.
32994         * lib/unicase/u-is-invariant.h: New file.
32995         * modules/unicase/u8-is-invariant: New file.
32996
32997         Tests for module 'unicase/u32-casecoll'.
32998         * modules/unicase/u32-casecoll-tests: New file.
32999         * tests/unicase/test-u32-casecoll.c: New file.
33000
33001         Tests for module 'unicase/u16-casecoll'.
33002         * modules/unicase/u16-casecoll-tests: New file.
33003         * tests/unicase/test-u16-casecoll.c: New file.
33004
33005         Tests for module 'unicase/u8-casecoll'.
33006         * modules/unicase/u8-casecoll-tests: New file.
33007         * tests/unicase/test-u8-casecoll.c: New file.
33008
33009         New module 'unicase/u32-casecoll'.
33010         * lib/unicase/u32-casecoll.c: New file.
33011         * modules/unicase/u32-casecoll: New file.
33012
33013         New module 'unicase/u16-casecoll'.
33014         * lib/unicase/u16-casecoll.c: New file.
33015         * modules/unicase/u16-casecoll: New file.
33016
33017         New module 'unicase/u8-casecoll'.
33018         * lib/unicase/u8-casecoll.c: New file.
33019         * lib/unicase/u-casecoll.h: New file.
33020         * modules/unicase/u8-casecoll: New file.
33021
33022         New module 'unicase/u32-casexfrm'.
33023         * lib/unicase/u32-casexfrm.c: New file.
33024         * modules/unicase/u32-casexfrm: New file.
33025
33026         New module 'unicase/u16-casexfrm'.
33027         * lib/unicase/u16-casexfrm.c: New file.
33028         * modules/unicase/u16-casexfrm: New file.
33029
33030         New module 'unicase/u8-casexfrm'.
33031         * lib/unicase/u8-casexfrm.c: New file.
33032         * lib/unicase/u-casexfrm.h: New file.
33033         * modules/unicase/u8-casexfrm: New file.
33034
33035         Tests for module 'unicase/u32-casecmp'.
33036         * modules/unicase/u32-casecmp-tests: New file.
33037         * tests/unicase/test-u32-casecmp.c: New file.
33038
33039         Tests for module 'unicase/u16-casecmp'.
33040         * modules/unicase/u16-casecmp-tests: New file.
33041         * tests/unicase/test-u16-casecmp.c: New file.
33042
33043         Tests for module 'unicase/u8-casecmp'.
33044         * modules/unicase/u8-casecmp-tests: New file.
33045         * tests/unicase/test-u8-casecmp.c: New file.
33046         * tests/unicase/test-casecmp.h: New file.
33047
33048         New module 'unicase/u32-casecmp'.
33049         * lib/unicase/u32-casecmp.c: New file.
33050         * modules/unicase/u32-casecmp: New file.
33051
33052         New module 'unicase/u16-casecmp'.
33053         * lib/unicase/u16-casecmp.c: New file.
33054         * modules/unicase/u16-casecmp: New file.
33055
33056         New module 'unicase/u8-casecmp'.
33057         * lib/unicase/u8-casecmp.c: New file.
33058         * lib/unicase/u-casecmp.h: New file.
33059         * modules/unicase/u8-casecmp: New file.
33060
33061         Tests for module 'unicase/u32-casefold'.
33062         * modules/unicase/u32-casefold-tests: New file.
33063         * tests/unicase/test-u32-casefold.c: New file.
33064
33065         Tests for module 'unicase/u16-casefold'.
33066         * modules/unicase/u16-casefold-tests: New file.
33067         * tests/unicase/test-u16-casefold.c: New file.
33068
33069         Tests for module 'unicase/u8-casefold'.
33070         * modules/unicase/u8-casefold-tests: New file.
33071         * tests/unicase/test-u8-casefold.c: New file.
33072
33073         New module 'unicase/u32-casefold'.
33074         * lib/unicase/u32-casefold.c: New file.
33075         * modules/unicase/u32-casefold: New file.
33076
33077         New module 'unicase/u16-casefold'.
33078         * lib/unicase/u16-casefold.c: New file.
33079         * modules/unicase/u16-casefold: New file.
33080
33081         New module 'unicase/u8-casefold'.
33082         * lib/unicase/u8-casefold.c: New file.
33083         * lib/unicase/u-casefold.h: New file.
33084         * modules/unicase/u8-casefold: New file.
33085
33086         New module 'unicase/tocasefold'.
33087         * lib/unicase/casefold.h: New file.
33088         * lib/unicase/tocasefold.c: New file.
33089         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
33090         * modules/unicase/tocasefold: New file.
33091
33092         Tests for module 'unicase/u32-totitle'.
33093         * modules/unicase/u32-totitle-tests: New file.
33094         * tests/unicase/test-u32-totitle.c: New file.
33095
33096         Tests for module 'unicase/u16-totitle'.
33097         * modules/unicase/u16-totitle-tests: New file.
33098         * tests/unicase/test-u16-totitle.c: New file.
33099
33100         Tests for module 'unicase/u8-totitle'.
33101         * modules/unicase/u8-totitle-tests: New file.
33102         * tests/unicase/test-u8-totitle.c: New file.
33103
33104         New module 'unicase/u32-totitle'.
33105         * lib/unicase/u32-totitle.c: New file.
33106         * modules/unicase/u32-totitle: New file.
33107
33108         New module 'unicase/u16-totitle'.
33109         * lib/unicase/u16-totitle.c: New file.
33110         * modules/unicase/u16-totitle: New file.
33111
33112         New module 'unicase/u8-totitle'.
33113         * lib/unicase/u8-totitle.c: New file.
33114         * lib/unicase/u-totitle.h: New file.
33115         * modules/unicase/u8-totitle: New file.
33116
33117         Tests for module 'unicase/u32-tolower'.
33118         * modules/unicase/u32-tolower-tests: New file.
33119         * tests/unicase/test-u32-tolower.c: New file.
33120
33121         Tests for module 'unicase/u16-tolower'.
33122         * modules/unicase/u16-tolower-tests: New file.
33123         * tests/unicase/test-u16-tolower.c: New file.
33124
33125         Tests for module 'unicase/u8-tolower'.
33126         * modules/unicase/u8-tolower-tests: New file.
33127         * tests/unicase/test-u8-tolower.c: New file.
33128
33129         New module 'unicase/u32-tolower'.
33130         * lib/unicase/u32-tolower.c: New file.
33131         * modules/unicase/u32-tolower: New file.
33132
33133         New module 'unicase/u16-tolower'.
33134         * lib/unicase/u16-tolower.c: New file.
33135         * modules/unicase/u16-tolower: New file.
33136
33137         New module 'unicase/u8-tolower'.
33138         * lib/unicase/u8-tolower.c: New file.
33139         * modules/unicase/u8-tolower: New file.
33140
33141         Tests for module 'unicase/u32-toupper'.
33142         * modules/unicase/u32-toupper-tests: New file.
33143         * tests/unicase/test-u32-toupper.c: New file.
33144
33145         Tests for module 'unicase/u16-toupper'.
33146         * modules/unicase/u16-toupper-tests: New file.
33147         * tests/unicase/test-u16-toupper.c: New file.
33148
33149         Tests for module 'unicase/u8-toupper'.
33150         * modules/unicase/u8-toupper-tests: New file.
33151         * tests/unicase/test-u8-toupper.c: New file.
33152
33153         New module 'unicase/u32-toupper'.
33154         * lib/unicase/u32-toupper.c: New file.
33155         * modules/unicase/u32-toupper: New file.
33156
33157         New module 'unicase/u16-toupper'.
33158         * lib/unicase/u16-toupper.c: New file.
33159         * modules/unicase/u16-toupper: New file.
33160
33161         New module 'unicase/u8-toupper'.
33162         * lib/unicase/u8-toupper.c: New file.
33163         * modules/unicase/u8-toupper: New file.
33164
33165         New module 'unicase/u32-casemap'.
33166         * lib/unicase/u32-casemap.c: New file.
33167         * modules/unicase/u32-casemap: New file.
33168
33169         New module 'unicase/u16-casemap'.
33170         * lib/unicase/u16-casemap.c: New file.
33171         * modules/unicase/u16-casemap: New file.
33172
33173         New module 'unicase/u8-casemap'.
33174         * lib/unicase/unicasemap.h: New file.
33175         * lib/unicase/u8-casemap.c: New file.
33176         * lib/unicase/u-casemap.h: New file.
33177         * modules/unicase/u8-casemap: New file.
33178
33179         New module 'unicase/special-casing'.
33180         * lib/unicase/special-casing.h: New file.
33181         * lib/unicase/special-casing.c: New file.
33182         * lib/unicase/special-casing-table.gperf: New file, generated by
33183         gen-uni-tables.c.
33184         * modules/unicase/special-casing: New file.
33185
33186         Tests for module 'unicase/locale-language'.
33187         * modules/unicase/locale-language-tests: New file.
33188         * tests/unicase/test-locale-language.sh: New file.
33189         * tests/unicase/test-locale-language.c: New file.
33190
33191         New module 'unicase/locale-language'.
33192         * lib/unicase/locale-language.c: New file.
33193         * lib/unicase/locale-languages.gperf: New file.
33194         * modules/unicase/locale-language: New file.
33195
33196         Generate more tables for case conversion and case folding.
33197         * lib/gen-uni-tables.c (SCC_*): New enum items.
33198         (struct special_casing_rule): New type.
33199         (casing_rules, num_casing_rules, allocated_casing_rules): New
33200         variables.
33201         (add_casing_rule, fill_casing_rules): New functions.
33202         (struct casefold_rule): New type.
33203         (casefolding_rules, num_casefolding_rules,
33204         allocated_casefolding_rules): New variables.
33205         (fill_casefolding_rules): New function.
33206         (unicode_casefold): New variable.
33207         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
33208         sort_casing_rules, output_casing_rules): New functions.
33209         (main): Accept to more arguments: SpecialCasing.txt and
33210         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
33211         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
33212         Output mapping for casefolding.
33213
33214         * lib/unicase.h: Include stdbool.h, uninorm.h.
33215         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
33216         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
33217         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
33218         arguments.
33219         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
33220         resultp arguments.
33221         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
33222         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
33223         resultp arguments.
33224         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
33225         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
33226         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
33227         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
33228         declarations.
33229         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
33230
33231 2009-03-08  Bruno Haible  <bruno@clisp.org>
33232
33233         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
33234         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
33235         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
33236         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
33237
33238 2009-03-07  Bruno Haible  <bruno@clisp.org>
33239
33240         Adjust u*_normcmp, u*_normcoll API.
33241         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
33242         u16_normcoll, u32_normcoll): Change failure conventions.
33243         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
33244         errno and return -1.
33245         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
33246
33247 2009-03-07  Bruno Haible  <bruno@clisp.org>
33248
33249         Tests for module 'uninorm/u32-normcoll'.
33250         * modules/uninorm/u32-normcoll-tests: New file.
33251         * tests/uninorm/test-u32-normcoll.c: New file.
33252
33253         Tests for module 'uninorm/u16-normcoll'.
33254         * modules/uninorm/u16-normcoll-tests: New file.
33255         * tests/uninorm/test-u16-normcoll.c: New file.
33256
33257         Tests for module 'uninorm/u8-normcoll'.
33258         * modules/uninorm/u8-normcoll-tests: New file.
33259         * tests/uninorm/test-u8-normcoll.c: New file.
33260
33261 2009-03-07  Bruno Haible  <bruno@clisp.org>
33262
33263         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
33264         tests/uninorm/test-u32-normcmp.c.
33265         * tests/uninorm/test-u32-normcmp.c: Include it.
33266         (test_nonascii): New function, extracted from main. Add some more
33267         tests.
33268         (main): Invoke test_ascii and test_nonascii.
33269         * modules/uninorm/u32-normcmp-tests (Files): Add
33270         tests/uninorm/test-u32-normcmp.h.
33271         (Depends-on): Remove uninorm/u32-normcmp.
33272
33273         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
33274         tests/uninorm/test-u16-normcmp.c.
33275         * tests/uninorm/test-u16-normcmp.c: Include it.
33276         (test_nonascii): New function, extracted from main. Add some more
33277         tests.
33278         (main): Invoke test_ascii and test_nonascii.
33279         * modules/uninorm/u16-normcmp-tests (Files): Add
33280         tests/uninorm/test-u16-normcmp.h.
33281         (Depends-on): Remove uninorm/u16-normcmp.
33282
33283         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
33284         tests/uninorm/test-u8-normcmp.c.
33285         * tests/uninorm/test-u8-normcmp.c: Include it.
33286         (test_nonascii): New function, extracted from main. Add some more
33287         tests.
33288         (main): Invoke test_ascii and test_nonascii.
33289         * modules/uninorm/u8-normcmp-tests (Files): Add
33290         tests/uninorm/test-u8-normcmp.h.
33291         (Depends-on): Remove uninorm/u8-normcmp.
33292
33293 2009-03-07  Bruno Haible  <bruno@clisp.org>
33294
33295         New module 'uninorm/u32-normcoll'.
33296         * lib/uninorm/u32-normcoll.c: New file.
33297         * modules/uninorm/u32-normcoll: New file.
33298
33299         New module 'uninorm/u16-normcoll'.
33300         * lib/uninorm/u16-normcoll.c: New file.
33301         * modules/uninorm/u16-normcoll: New file.
33302
33303         New module 'uninorm/u8-normcoll'.
33304         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
33305         declarations.
33306         * lib/uninorm/u8-normcoll.c: New file.
33307         * lib/uninorm/u-normcoll.h: New file.
33308         * modules/uninorm/u8-normcoll: New file.
33309
33310         New module 'uninorm/u32-normxfrm'.
33311         * lib/uninorm/u32-normxfrm.c: New file.
33312         * modules/uninorm/u32-normxfrm: New file.
33313
33314         New module 'uninorm/u16-normxfrm'.
33315         * lib/uninorm/u16-normxfrm.c: New file.
33316         * modules/uninorm/u16-normxfrm: New file.
33317
33318         New module 'uninorm/u8-normxfrm'.
33319         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
33320         declarations.
33321         * lib/uninorm/u8-normxfrm.c: New file.
33322         * lib/uninorm/u-normxfrm.h: New file.
33323         * modules/uninorm/u8-normxfrm: New file.
33324
33325 2009-03-07  Bruno Haible  <bruno@clisp.org>
33326
33327         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
33328         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
33329         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
33330
33331 2009-03-07  Bruno Haible  <bruno@clisp.org>
33332
33333         New module 'memxfrm'.
33334         * lib/memxfrm.h: New file.
33335         * lib/memxfrm.c: New file.
33336         * modules/memxfrm: New file.
33337
33338 2009-03-07  Bruno Haible  <bruno@clisp.org>
33339
33340         New module 'memcmp2'.
33341         * lib/memcmp2.h: New file.
33342         * lib/memcmp2.c: New file.
33343         * modules/memcmp2: New file.
33344
33345 2009-03-07  Bruno Haible  <bruno@clisp.org>
33346
33347         Tests for module 'uninorm/decomposing-form'.
33348         * modules/uninorm/decomposing-form-tests: New file.
33349         * tests/uninorm/test-decomposing-form.c: New file.
33350
33351         New module 'uninorm/decomposing-form'.
33352         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
33353         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
33354         Add 'decomposing_variant' field.
33355         * lib/uninorm/decomposing-form.c: New file.
33356         * lib/uninorm/nfc.c (uninorm_nfc): Update.
33357         * lib/uninorm/nfd.c (uninorm_nfd): Update.
33358         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
33359         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
33360         * modules/uninorm/decomposing-form: New file.
33361         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
33362         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
33363
33364 2009-03-07  Bruno Haible  <bruno@clisp.org>
33365
33366         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
33367         strings.
33368
33369 2009-03-06  Bruno Haible  <bruno@clisp.org>
33370
33371         Tests for module 'uninorm/u32-normcmp'.
33372         * tests/uninorm/test-u32-normcmp.c: New file.
33373         * modules/uninorm/u32-normcmp-tests: New file.
33374
33375         Tests for module 'uninorm/u16-normcmp'.
33376         * tests/uninorm/test-u16-normcmp.c: New file.
33377         * modules/uninorm/u16-normcmp-tests: New file.
33378
33379         Tests for module 'uninorm/u8-normcmp'.
33380         * tests/uninorm/test-u8-normcmp.c: New file.
33381         * modules/uninorm/u8-normcmp-tests: New file.
33382
33383         New module 'uninorm/u32-normcmp'.
33384         * lib/uninorm/u32-normcmp.c: New file.
33385         * modules/uninorm/u32-normcmp: New file.
33386
33387         New module 'uninorm/u16-normcmp'.
33388         * lib/uninorm/u16-normcmp.c: New file.
33389         * modules/uninorm/u16-normcmp: New file.
33390
33391         New module 'uninorm/u8-normcmp'.
33392         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
33393         declarations.
33394         * lib/uninorm/u8-normcmp.c: New file.
33395         * lib/uninorm/u-normcmp.h: New file.
33396         * modules/uninorm/u8-normcmp: New file.
33397
33398 2009-03-06  Bruno Haible  <bruno@clisp.org>
33399
33400         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
33401         Reported by Eric Blake.
33402
33403 2009-03-06  Eric Blake  <ebb9@byu.net>
33404             Bruno Haible  <bruno@clisp.org>
33405
33406         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
33407         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
33408         condition.
33409         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
33410         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
33411         condition.
33412         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
33413
33414 2009-03-06  Eric Blake  <ebb9@byu.net>
33415
33416         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
33417         to avoid compiler warnings.
33418         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
33419
33420 2009-03-05  Bruno Haible  <bruno@clisp.org>
33421
33422         * tests/test-ftell.c (main): Disable test beyond end of file on
33423         FreeMiNT.
33424         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
33425
33426 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
33427
33428         * lib/filevercmp.c: Move hidden files up in ordering.
33429         * tests/test-filevercmp.c: Add tests for hidden files.
33430
33431 2009-03-04  Bruno Haible  <bruno@clisp.org>
33432
33433         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
33434         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
33435         AM_CFLAGS.
33436         Reported by Simon Josefsson.
33437
33438 2009-03-03  Bruno Haible  <bruno@clisp.org>
33439
33440         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
33441         Reported by Simon Josefsson.
33442
33443         * doc/ld-version-script.texi: Update node reference.
33444
33445 2009-03-03  Bruno Haible  <bruno@clisp.org>
33446
33447         * modules/visibility (License): Change to 'unlimited'.
33448         Suggested by Simon Josefsson.
33449
33450 2009-03-03  Jim Meyering  <meyering@redhat.com>
33451
33452         unlinkdir: cannot_unlink_dir may modify process state
33453         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
33454         it's neither thread-safe nor appropriate for use in a library.
33455
33456 2009-03-03  Eric Blake  <ebb9@byu.net>
33457
33458         test-closein: silence test under Darwin
33459         * tests/test-closein.sh: Ignore stderr from cat, since we don't
33460         care if it dies from EPIPE or EBADF.
33461
33462 2009-03-03  Bruno Haible  <bruno@clisp.org>
33463
33464         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
33465         earlier.
33466         * doc/visibility.texi: Fix @node and @section.
33467
33468 2009-03-03  Simon Josefsson  <simon@josefsson.org>
33469
33470         * doc/gnulib.texi: Link to sections for ld version script and
33471         visibility.
33472         * doc/visibility.texi: Add @node and @section.
33473         * modules/ld-version-script: New module.
33474         * m4/ld-version-script.m4: New file.
33475         * doc/ld-version-script.texi: New file.
33476
33477 2009-03-02  David Lutterkort  <lutter@redhat.com>
33478
33479         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
33480         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33481
33482 2009-03-02  Bruno Haible  <bruno@clisp.org>
33483
33484         * doc/visibility.texi: Mention libtool's -export-symbols option.
33485
33486 2009-03-02  Jim Meyering  <meyering@redhat.com>
33487
33488         announce-gen: new option: --no-print-checksums
33489         * build-aux/announce-gen (usage): Describe it.
33490         (print_checksums): Print a newline here, not in the [*] footnote.
33491         (main): Honor it.
33492
33493 2009-03-01  Bruno Haible  <bruno@clisp.org>
33494
33495         Use socklen_t in the native Windows replacements prototypes.
33496         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
33497         instead of 'int'.
33498         * lib/getsockopt.c (rpl_getsockopt): Likewise.
33499         * lib/setsockopt.c (rpl_setsockopt): Likewise.
33500         * modules/getsockopt (Depends-on): Add socklen.
33501         * modules/setsockopt (Depends-on): Add socklen.
33502
33503 2009-03-01  Bruno Haible  <bruno@clisp.org>
33504
33505         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
33506         least 4.2.
33507
33508 2009-03-01  Eric Blake  <ebb9@byu.net>
33509             Bruno Haible  <bruno@clisp.org>
33510
33511         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
33512         error messages.
33513         * lib/wait-process.c (wait_subprocess): Omit error message about
33514         deadly signal sent to the child of termsigp != NULL.
33515
33516 2009-03-01  Eric Blake  <ebb9@byu.net>
33517
33518         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
33519
33520 2009-03-01  Bruno Haible  <bruno@clisp.org>
33521
33522         Avoid a gcc warning.
33523         * tests/test-sched.c (b): Make global.
33524         Reported by Eric Blake.
33525
33526 2009-01-19  Martin Lambers  <marlam@marlam.de>
33527
33528         Provide POSIX semantics for socket timeout options on W32.
33529         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
33530         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
33531         * modules/setsockopt: Depend on sys_time module for struct timeval.
33532         * modules/getsockopt: Depend on sys_time module for struct timeval.
33533
33534 2009-03-01  Simon Josefsson  <simon@josefsson.org>
33535
33536         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
33537         __USE_GNU, for consistency with netdb.in.h.
33538         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33539
33540 2009-03-01  Bruno Haible  <bruno@clisp.org>
33541
33542         More support for FreeMiNT.
33543         * lib/fseeko.c (rpl_fseeko): Complete last commit.
33544         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33545
33546 2009-03-01  Bruno Haible  <bruno@clisp.org>
33547
33548         More support for FreeMiNT.
33549         * lib/fpurge.c (fpurge): Correct last commit.
33550         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33551
33552 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33553
33554         Fix unportable awk script in vc-list-files.
33555         * build-aux/vc-list-files: In the replacement awk script, use
33556         substr with a second argument of 1, not zero.
33557         Report by Simon Josefsson.
33558
33559 2009-02-28  Bruno Haible  <bruno@clisp.org>
33560
33561         More support for FreeMiNT.
33562         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
33563         to FreeMiNT today.
33564         * lib/fwriting.c (fwriting): Likewise.
33565         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
33566
33567 2009-02-28  Bruno Haible  <bruno@clisp.org>
33568
33569         * tests/test-freadseek.c (main): Disable test beyond end of file on
33570         FreeMiNT.
33571         * tests/test-ftello.c (main): Likewise.
33572         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
33573
33574 2009-02-28  Bruno Haible  <bruno@clisp.org>
33575
33576         Add tentative support for FreeMiNT.
33577         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
33578         * lib/fpurge.c (fpurge): Likewise.
33579         * lib/freadable.c (freadable): Likewise.
33580         * lib/freading.c (freading): Likewise.
33581         * lib/freadptr.c (freadptr): Likewise.
33582         * lib/freadseek.c (freadptrinc): Likewise.
33583         * lib/fseeko.c (rpl_fseeko): Likewise.
33584         * lib/fseterr.c (fseterr): Likewise.
33585         * lib/fwritable.c (fwritable): Likewise.
33586         * lib/fwriting.c (fwriting): Likewise.
33587         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
33588         Hourihane.
33589         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33590
33591 2009-02-28  Bruno Haible  <bruno@clisp.org>
33592
33593         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
33594         SIGCHLD.
33595         Reported by Jim Meyering.
33596
33597 2009-02-28  Bruno Haible  <bruno@clisp.org>
33598
33599         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
33600         Mention the results of these tests on various platforms.
33601         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
33602         order.
33603         * doc/posix-functions/printf.texi: Likewise.
33604         * doc/posix-functions/snprintf.texi: Likewise.
33605         * doc/posix-functions/sprintf.texi: Likewise.
33606         * doc/posix-functions/vfprintf.texi: Likewise.
33607         * doc/posix-functions/vprintf.texi: Likewise.
33608         * doc/posix-functions/vsnprintf.texi: Likewise.
33609         * doc/posix-functions/vsprintf.texi: Likewise.
33610         * doc/glibc-functions/obstack_printf.texi: Likewise.
33611         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
33612
33613 2009-02-28  Bruno Haible  <bruno@clisp.org>
33614
33615         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
33616         Reported by Loïc Minier <lool@dooz.org>.
33617
33618 2009-02-27  Bruno Haible  <bruno@clisp.org>
33619
33620         * gnulib-tool (func_import): Make the sed expression used to create the
33621         sed script for updating the .gitignore file POSIX compliant.
33622         Reported by Eric Blake.
33623
33624 2009-02-27  Bruno Haible  <bruno@clisp.org>
33625
33626         * gnulib-tool (sed): Don't alias as "sed --posix".
33627         Reported by Eric Blake.
33628
33629 2009-02-27  Bruno Haible  <bruno@clisp.org>
33630
33631         Avoid test link errors.
33632         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
33633         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
33634         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
33635         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
33636         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33637
33638 2009-02-27  Bruno Haible  <bruno@clisp.org>
33639
33640         Avoid spurious "(cached)" in configure output.
33641         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
33642         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
33643         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33644         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33645         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33646         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
33647         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33648         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
33649         Reported by Eric Blake.
33650
33651 2009-02-27  Eric Blake  <ebb9@byu.net>
33652
33653         printf: fix regression in previous patch
33654         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
33655
33656 2009-02-27  Bruno Haible  <bruno@clisp.org>
33657
33658         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
33659         value.
33660         * lib/stdint.in.h: Likewise.
33661         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
33662
33663 2009-02-27  Eric Blake  <ebb9@byu.net>
33664
33665         doc: mention more functions added in cygwin 1.7.0
33666         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
33667         addition.
33668         * doc/posix-functions/open_wmemstream.texi: Likewise.
33669         * doc/posix-functions/wcsnlen.texi: Likewise.
33670         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33671         * doc/posix-functions/wcstod.texi: Likewise.
33672         * doc/posix-functions/wcstof.texi: Likewise.
33673         * doc/posix-functions/wcstoimax.texi: Likewise.
33674         * doc/posix-functions/wcstok.texi: Likewise.
33675         * doc/posix-functions/wcstoumax.texi: Likewise.
33676
33677         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
33678         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
33679         * doc/posix-functions/fprintf.texi: Update.
33680         * doc/posix-functions/printf.texi: Update.
33681         * doc/posix-functions/snprintf.texi: Update.
33682         * doc/posix-functions/sprintf.texi: Update.
33683         * doc/posix-functions/vfprintf.texi: Update.
33684         * doc/posix-functions/vprintf.texi: Update.
33685         * doc/posix-functions/vsnprintf.texi: Update.
33686         * doc/posix-functions/vsprintf.texi: Update.
33687         * doc/glibc-functions/obstack_printf.texi: Update.
33688         * doc/glibc-functions/obstack_vprintf.texi: Update.
33689
33690 2009-02-26  Eric Blake  <ebb9@byu.net>
33691
33692         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
33693         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
33694         compilation bug by using runtime conversion.
33695         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
33696         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
33697         * modules/ceill-tests (Files): Use nan.h.
33698         * modules/floorl-tests (Files): Likewise.
33699         * modules/frexpl-tests (Files): Likewise.
33700         * modules/isnanl-tests (Files): Likewise.
33701         * modules/ldexpl-tests (Files): Likewise.
33702         * modules/roundl-tests (Files): Likewise.
33703         * modules/truncl-tests (Files): Likewise.
33704         * tests/test-ceill.c (main): Use a working NaN.
33705         * tests/test-floorl.c (main): Likewise.
33706         * tests/test-frexpl.c (main): Likewise.
33707         * tests/test-isnan.c (test_long_double): Likewise.
33708         * tests/test-isnanl.h (main): Likewise.
33709         * tests/test-ldexpl.h (main): Likewise.
33710         * tests/test-roundl.h (main): Likewise.
33711         * tests/test-truncl.h (main): Likewise.
33712         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
33713
33714 2009-02-26  Eric Blake  <ebb9@byu.net>
33715             Bruno Haible  <bruno@clisp.org>
33716
33717         Work around a *printf bug with %ls on Solaris.
33718         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
33719         precision is specified, sprintf stops converting the wide string
33720         argument when the number of bytes that have been produced by this
33721         conversion equals or exceeds the precision.
33722         * doc/posix-functions/fprintf.texi: Update.
33723         * doc/posix-functions/printf.texi: Update.
33724         * doc/posix-functions/snprintf.texi: Update.
33725         * doc/posix-functions/sprintf.texi: Update.
33726         * doc/posix-functions/vfprintf.texi: Update.
33727         * doc/posix-functions/vprintf.texi: Update.
33728         * doc/posix-functions/vsnprintf.texi: Update.
33729         * doc/posix-functions/vsprintf.texi: Update.
33730         * doc/glibc-functions/obstack_printf.texi: Update.
33731         * doc/glibc-functions/obstack_vprintf.texi: Update.
33732
33733 2009-02-26  Eric Blake  <ebb9@byu.net>
33734
33735         stdlib: favor compiler check of random.h
33736         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
33737         to avoid an ObjC random.h installed by Swarm.
33738
33739 2009-02-26  Bruno Haible  <bruno@clisp.org>
33740
33741         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
33742         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
33743         Reported by Gary V. Vaughan <gary@gnu.org>.
33744
33745 2009-02-26  Bruno Haible  <bruno@clisp.org>
33746
33747         Fix *printf behaviour regarding the %ls directive.
33748         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
33749         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
33750         NEED_PRINTF_DIRECTIVE_LS.
33751         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
33752         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33753         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33754         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
33755         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
33756         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
33757         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
33758         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33759         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33760         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33761         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33762         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
33763         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33764         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33765         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33766         * doc/posix-functions/fprintf.texi: Update.
33767         * doc/posix-functions/printf.texi: Update.
33768         * doc/posix-functions/snprintf.texi: Update.
33769         * doc/posix-functions/sprintf.texi: Update.
33770         * doc/posix-functions/vfprintf.texi: Update.
33771         * doc/posix-functions/vprintf.texi: Update.
33772         * doc/posix-functions/vsnprintf.texi: Update.
33773         * doc/posix-functions/vsprintf.texi: Update.
33774         * doc/glibc-functions/obstack_printf.texi: Update.
33775         * doc/glibc-functions/obstack_vprintf.texi: Update.
33776         Reported by Eric Blake.
33777
33778 2009-02-25  Bruno Haible  <bruno@clisp.org>
33779
33780         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
33781         with known value.
33782         Reported by Gary V. Vaughan <gary@gnu.org>.
33783
33784 2009-02-25  Bruno Haible  <bruno@clisp.org>
33785
33786         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
33787         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
33788         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
33789         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
33790         Reported by Gary V. Vaughan <gary@gnu.org>.
33791
33792 2009-02-25  Bruno Haible  <bruno@clisp.org>
33793
33794         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
33795         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
33796         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
33797         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
33798         Reported by Gary V. Vaughan <gary@gnu.org>.
33799
33800 2009-02-25  Eric Blake  <ebb9@byu.net>
33801
33802         tests: skip fseek/ftell tests if ungetc is broken
33803         * m4/ungetc.m4: New file.
33804         * modules/fseek-tests: Split test, so ungetc dependency is
33805         separate from rest of test.
33806         * modules/fseeko-tests: Likewise.
33807         * modules/ftell-tests: Likewise.
33808         * modules/ftello-tests: Likewise.
33809         * tests/test-fseek.c (main): Isolate ungetc dependency.
33810         * tests/test-fseeko.c (main): Likewise.
33811         * tests/test-ftell.c (main): Likewise.
33812         * tests/test-ftello.c (main): Likewise.
33813         * tests/test-fseek2.sh: New file.
33814         * tests/test-fseeko2.sh: Likewise.
33815         * tests/test-ftell2.sh: Likewise.
33816         * tests/test-ftello2.sh: Likewise.
33817
33818 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
33819
33820         test-getaddrinfo: fix usage of skip return code 77
33821         * tests/test-gettaddrinfo.c: Return skip code 77 only
33822         for first occurance of skip (4x77 is not 77)
33823
33824 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
33825
33826         strtod: avoid C99 decl-after-statement
33827         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
33828
33829 2009-02-24  Eric Blake  <ebb9@byu.net>
33830
33831         strtod: detect HP-UX 11.31 bug
33832         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
33833         Reported by Gary V. Vaughan.
33834
33835 2009-02-23  Bruno Haible  <bruno@clisp.org>
33836
33837         Fix invalid read past end of memory block.
33838         * lib/vasnprintf.c (DCHAR_SET): Define.
33839         (local_wcslen): Define only when needed.
33840         (local_strnlen, local_wcsnlen): New functions.
33841         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
33842         directives that involve a conversion ourselves.
33843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
33844         wcsnlen, mbrtowc, wcrtomb.
33845         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
33846         * tests/test-vasprintf-posix.c (test_function): Likewise.
33847         * tests/test-snprintf-posix.h (test_function): Likewise.
33848         * tests/test-sprintf-posix.h (test_function): Likewise.
33849         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33850
33851 2009-02-22  Bruno Haible  <bruno@clisp.org>
33852
33853         Implement new clarified decomposition of Hangul syllables.
33854         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
33855         of type LTV, return only a pairwise decomposition.
33856         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
33857         Likewise.
33858         * tests/uninorm/test-decomposition.c (main): Updated expected result.
33859         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
33860         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
33861
33862 2009-02-22  Bruno Haible  <bruno@clisp.org>
33863
33864         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
33865         zero-length results and shrink excess allocated memory.
33866         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
33867         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
33868         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
33869         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
33870         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
33871         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
33872         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
33873         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
33874         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
33875         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
33876         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
33877         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
33878
33879 2009-02-21  Bruno Haible  <bruno@clisp.org>
33880
33881         * doc/gnulib.texi: Include safe-alloc.texi earlier.
33882         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
33883         spaces after a period. Put a space between a macro name and its
33884         argument list. Trivial rewordings.
33885         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
33886         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
33887         (main): Return 0 explicitly.
33888
33889 2009-02-21  Bruno Haible  <bruno@clisp.org>
33890
33891         Tests for module 'uninorm/filter'.
33892         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
33893         * modules/uninorm/filter-tests: New file.
33894
33895         New module 'uninorm/filter'.
33896         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
33897         uninorm_filter_flush, uninorm_filter_free): New declarations.
33898         * lib/uninorm/uninorm-filter.c: New file.
33899         * modules/uninorm/filter: New file.
33900
33901 2009-02-21  Bruno Haible  <bruno@clisp.org>
33902
33903         Tests for module 'uninorm/nfkc'.
33904         * tests/uninorm/test-nfkc.c: New file.
33905         * tests/uninorm/test-u8-nfkc.c: New file.
33906         * tests/uninorm/test-u16-nfkc.c: New file.
33907         * tests/uninorm/test-u32-nfkc.c: New file.
33908         * tests/uninorm/test-u32-nfkc-big.sh: New file.
33909         * tests/uninorm/test-u32-nfkc-big.c: New file.
33910         * modules/uninorm/nfkc-tests: New file.
33911
33912         New module 'uninorm/nfkc'.
33913         * lib/uninorm/nfkc.c: New file.
33914         * modules/uninorm/nfkc: New file.
33915
33916         Tests for module 'uninorm/nfkd'.
33917         * tests/uninorm/test-nfkd.c: New file.
33918         * tests/uninorm/test-u8-nfkd.c: New file.
33919         * tests/uninorm/test-u16-nfkd.c: New file.
33920         * tests/uninorm/test-u32-nfkd.c: New file.
33921         * tests/uninorm/test-u32-nfkd-big.sh: New file.
33922         * tests/uninorm/test-u32-nfkd-big.c: New file.
33923         * modules/uninorm/nfkd-tests: New file.
33924
33925         New module 'uninorm/nfkd'.
33926         * lib/uninorm/nfkd.c: New file.
33927         * modules/uninorm/nfkd: New file.
33928
33929         Tests for module 'uninorm/nfc'.
33930         * tests/uninorm/test-nfc.c: New file.
33931         * tests/uninorm/test-u8-nfc.c: New file.
33932         * tests/uninorm/test-u16-nfc.c: New file.
33933         * tests/uninorm/test-u32-nfc.c: New file.
33934         * tests/uninorm/test-u32-nfc-big.sh: New file.
33935         * tests/uninorm/test-u32-nfc-big.c: New file.
33936         * modules/uninorm/nfc-tests: New file.
33937
33938         New module 'uninorm/nfc'.
33939         * lib/uninorm/nfc.c: New file.
33940         * modules/uninorm/nfc: New file.
33941
33942         Tests for module 'uninorm/nfd'.
33943         * tests/uninorm/test-nfd.c: New file.
33944         * tests/uninorm/test-u8-nfd.c: New file.
33945         * tests/uninorm/test-u16-nfd.c: New file.
33946         * tests/uninorm/test-u32-nfd.c: New file.
33947         * tests/uninorm/test-u32-nfd-big.sh: New file.
33948         * tests/uninorm/test-u32-nfd-big.c: New file.
33949         * tests/uninorm/test-u32-normalize-big.h: New file.
33950         * tests/uninorm/test-u32-normalize-big.c: New file.
33951         * tests/uninorm/NormalizationTest.txt: New file, created from
33952         Unicode 5.1.0 NormalizationTest.txt.
33953         * modules/uninorm/nfd-tests: New file.
33954
33955         New module 'uninorm/nfd'.
33956         * lib/uninorm/nfd.c: New file.
33957         * modules/uninorm/nfd: New file.
33958
33959         New module 'uninorm/u32-normalize'.
33960         * lib/uninorm/u32-normalize.c: New file.
33961         * modules/uninorm/u32-normalize: New file.
33962
33963         New module 'uninorm/u16-normalize'.
33964         * lib/uninorm/u16-normalize.c: New file.
33965         * modules/uninorm/u16-normalize: New file.
33966
33967         New module 'uninorm/u8-normalize'.
33968         * lib/uninorm/u8-normalize.c: New file.
33969         * lib/uninorm/normalize-internal.h: New file.
33970         * lib/uninorm/u-normalize-internal.h: New file.
33971         * modules/uninorm/u8-normalize: New file.
33972
33973         New module 'uninorm/decompose-internal'.
33974         * lib/uninorm/decompose-internal.c: New file.
33975         * modules/uninorm/decompose-internal: New file.
33976
33977         Tests for module 'uninorm/composition'.
33978         * tests/uninorm/test-composition.c: New file.
33979         * modules/uninorm/composition-tests: New file.
33980
33981         New module 'uninorm/composition'.
33982         * lib/uninorm/composition.c: New file.
33983         * lib/uninorm/composition-table.gperf: New file, generated by
33984         gen-uni-tables.
33985         * modules/uninorm/composition: New file.
33986
33987         Tests for module 'uninorm/compat-decomposition'.
33988         * tests/uninorm/test-compat-decomposition.c: New file.
33989         * modules/uninorm/compat-decomposition-tests: New file.
33990
33991         New module 'uninorm/compat-decomposition'.
33992         * lib/uninorm/decompose-internal.h: New file.
33993         * lib/uninorm/compat-decomposition.c: New file.
33994         * modules/uninorm/compat-decomposition: New file.
33995
33996         Tests for module 'uninorm/canonical-decomposition'.
33997         * tests/uninorm/test-canonical-decomposition.c: New file.
33998         * modules/uninorm/canonical-decomposition-tests: New file.
33999
34000         New module 'uninorm/canonical-decomposition'.
34001         * lib/uninorm/canonical-decomposition.c: New file.
34002         * modules/uninorm/canonical-decomposition: New file.
34003
34004         Tests for module 'uninorm/decomposition'.
34005         * tests/uninorm/test-decomposition.c: New file.
34006         * modules/uninorm/decomposition-tests: New file.
34007
34008         New module 'uninorm/decomposition'.
34009         * lib/uninorm/decomposition.c: New file.
34010         * modules/uninorm/decomposition: New file.
34011
34012         New module 'uninorm/decomposition-table'.
34013         * lib/uninorm/decomposition-table.h: New file.
34014         * lib/uninorm/decomposition-table.c: New file.
34015         * lib/uninorm/decomposition-table1.h: New file, generated by
34016         gen-uni-tables.
34017         * lib/uninorm/decomposition-table2.h: New file, generated by
34018         gen-uni-tables.
34019         * modules/uninorm/decomposition-table: New file.
34020
34021         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
34022         (UC_DECOMP_*): New enumeration items.
34023         (get_decomposition): New function.
34024         (struct decomp_table): New type.
34025         (output_decomposition, output_decomposition_tables): New functions.
34026         (unicode_composition_exclusions): New variable.
34027         (fill_composition_exclusions, debug_output_composition_tables): New
34028         functions.
34029         (main): Accept one more argument. Invoke fill_composition_exclusions.
34030         Output decomposition and composition tables.
34031
34032         New module 'uninorm/base'.
34033         * lib/uninorm.h: New file.
34034         * lib/unictype.h: Update comment.
34035         * modules/uninorm/base: New file.
34036
34037 2009-02-21  David Lutterkort  <lutter@redhat.com>
34038
34039         Tests for module 'safe-alloc'.
34040         * tests/test-safe-alloc.c: New file.
34041         * modules/safe-alloc-tests: New file.
34042
34043         New module 'safe-alloc'.
34044         * lib/safe-alloc.h: New file.
34045         * lib/safe-alloc.c: New file.
34046         * m4/safe-alloc.m4: New file.
34047         * modules/safe-alloc: New file.
34048         * doc/safe-alloc.texi: New file.
34049         * doc/gnulib.texi: Include it.
34050         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
34051         safe-alloc.
34052
34053 2009-02-18  Bruno Haible  <bruno@clisp.org>
34054
34055         Fix link error on non-glibc systems.
34056         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
34057         variable.
34058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34059
34060 2009-02-18  Jim Meyering  <meyering@redhat.com>
34061
34062         fts: avoid used-uninitialized error due to recent change
34063         * lib/fts.c (fts_read): Guard uses of the new member,
34064         parent->fts_n_dirs_remaining, since it's not relevant for
34065         the parent of a directory specified on the command-line.
34066
34067 2009-02-17  James Youngman  <jay@gnu.org>
34068             Bruno Haible  <bruno@clisp.org>
34069
34070         * m4/include_next.m4: Reformulate comment.
34071
34072 2009-02-16  Jim Meyering  <meyering@redhat.com>
34073
34074         fts: add #if guards so that the fts_lgpl module still builds
34075         * lib/fts.c: Guard just-added hash-table-using parts with
34076         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
34077         Reported by Simon Josefsson.
34078
34079 2009-02-15  Bruno Haible  <bruno@clisp.org>
34080
34081         * modules/array-mergesort-tests: New file.
34082         * tests/test-array-mergesort.c: New file.
34083
34084         New module 'array-mergesort'.
34085         * modules/array-mergesort: New file.
34086         * lib/array-mergesort.h: New file.
34087
34088 2009-02-15  Bruno Haible  <bruno@clisp.org>
34089
34090         Fix 2009-02-07 commit.
34091         * lib/gen-uni-tables.c (output_predicate, output_category,
34092         output_combclass, output_bidi_category, output_decimal_digit,
34093         output_digit, output_numeric, output_mirror, output_scripts,
34094         output_ident_category, output_simple_mapping): Fix format directives.
34095         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
34096
34097 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
34098
34099         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
34100         fixes are available from IBM.
34101
34102 2009-02-13  Jim Meyering  <meyering@redhat.com>
34103
34104         fts: arrange not to stat non-directories in more cases
34105         This makes GNU find (when it doesn't need to stat each file)
34106         *much* more efficient at traversing reiserfs file systems.
34107         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
34108         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
34109         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
34110         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
34111         (leaf_optimization_applies): New function.
34112         (LCO_hash, LCO_compare): New helper functions.
34113         (link_count_optimize_ok): New function.
34114         (fts_stat): Initialize new member (if dir).
34115         (fts_read): Decrement parent's fts_n_dirs_remaining count if
34116         we've just stat'ed a directory.  Skip the stat call when possible.
34117         ---
34118         Note this AFS-related exchange:
34119         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
34120         and note find's pioctl call in find/fstype.c.
34121         But that is necessary only if you want to enable the
34122         optimization for AFS, and for now, I don't.
34123
34124         fts: move a function definition "up" (no semantic change)
34125         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
34126         "up" to precede upcoming use of a related function.
34127
34128 2009-02-11  Jim Meyering  <meyering@redhat.com>
34129
34130         fts: correct internal computation of nlinks (optimization-related)
34131         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
34132         whether the current entry is a directory, so don't test it.
34133
34134 2009-02-10  Bruno Haible  <bruno@clisp.org>
34135
34136         Tests for module 'uniwbrk/ulc-wordbreaks'.
34137         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
34138         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
34139         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
34140
34141         Tests for module 'uniwbrk/u32-wordbreaks'.
34142         * modules/uniwbrk/u32-wordbreaks-tests: New file.
34143         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
34144
34145         Tests for module 'uniwbrk/u16-wordbreaks'.
34146         * modules/uniwbrk/u16-wordbreaks-tests: New file.
34147         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
34148
34149         Tests for module 'uniwbrk/u8-wordbreaks'.
34150         * modules/uniwbrk/u8-wordbreaks-tests: New file.
34151         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
34152
34153 2009-02-10  Bruno Haible  <bruno@clisp.org>
34154
34155         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
34156         property.
34157         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
34158         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
34159         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
34160
34161 2009-02-10  Simon Josefsson  <simon@josefsson.org>
34162
34163         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
34164         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
34165
34166 2009-02-10  Bruno Haible  <bruno@clisp.org>
34167
34168         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
34169         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
34170         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
34171         * lib/unilbrk/u8-possible-linebreaks.c: Update.
34172         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
34173         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
34174
34175 2009-02-09  Simon Josefsson  <simon@josefsson.org>
34176
34177         * lib/sockets.h (gl_fd_to_handle): New function.
34178
34179         * tests/test-sockets.c: Call gl_fd_to_handle.
34180
34181 2009-02-09  Bruno Haible  <bruno@clisp.org>
34182
34183         * doc/havelib.texi: Document the conventions on bi-arch systems.
34184
34185 2009-02-08  Bruno Haible  <bruno@clisp.org>
34186
34187         Document the AC_LIB_LINKFLAGS macro.
34188         * doc/havelib.texi: New file, mostly written on 2005-05-24.
34189         * doc/gnulib.texi: Include it.
34190
34191 2009-02-08  Bruno Haible  <bruno@clisp.org>
34192
34193         Fix wrong order of sections, compared to TOC.
34194         * doc/gnulib.texi: Include relocatable-maint.texi after the
34195         "Regular expressions" node, not before.
34196
34197 2009-02-08  Bruno Haible  <bruno@clisp.org>
34198
34199         Tests for module 'unicase/totitle'.
34200         * modules/unicase/totitle-tests: New file.
34201
34202         Tests for module 'unicase/tolower'.
34203         * modules/unicase/tolower-tests: New file.
34204
34205         Tests for module 'unicase/toupper'.
34206         * modules/unicase/toupper-tests: New file.
34207         * tests/unicase/test-mapping-part1.h: New file.
34208         * tests/unicase/test-mapping-part2.h: New file.
34209
34210         New module 'unicase/totitle'.
34211         * modules/unicase/totitle: New file.
34212         * lib/unicase/totitle.c: New file.
34213
34214         New module 'unicase/tolower'.
34215         * modules/unicase/tolower: New file.
34216         * lib/unicase/tolower.c: New file.
34217
34218         New module 'unicase/toupper'.
34219         * modules/unicase/toupper: New file.
34220         * lib/unicase/toupper.c: New file.
34221         * lib/unicase/simple-mapping.h: New file.
34222
34223         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
34224         (mapping_table): New structure.
34225         (output_simple_mapping): New function.
34226         (main): Invoke output_simple_mapping_test and output_simple_mapping.
34227         * modules/gen-uni-tables (Description): Update.
34228         * lib/unicase/toupper.h: New file, automatically generated by
34229         gen-uni-tables.
34230         * lib/unicase/tolower.h: New file, automatically generated by
34231         gen-uni-tables.
34232         * lib/unicase/totitle.h: New file, automatically generated by
34233         gen-uni-tables.
34234         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
34235         gen-uni-tables.
34236         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
34237         gen-uni-tables.
34238         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
34239         gen-uni-tables.
34240
34241         New module 'unicase/base'.
34242         * modules/unicase/base: New file.
34243         * lib/unicase.h: New file.
34244
34245 2009-02-08  Bruno Haible  <bruno@clisp.org>
34246
34247         New module 'uniwbrk/ulc-wordbreaks'.
34248         * modules/uniwbrk/ulc-wordbreaks: New file.
34249         * lib/uniwbrk/ulc-wordbreaks.c: New file.
34250
34251         New module 'uniwbrk/u32-wordbreaks'.
34252         * modules/uniwbrk/u32-wordbreaks: New file.
34253         * lib/uniwbrk/u32-wordbreaks.c: New file.
34254
34255         New module 'uniwbrk/u16-wordbreaks'.
34256         * modules/uniwbrk/u16-wordbreaks: New file.
34257         * lib/uniwbrk/u16-wordbreaks.c: New file.
34258
34259         New module 'uniwbrk/u8-wordbreaks'.
34260         * modules/uniwbrk/u8-wordbreaks: New file.
34261         * lib/uniwbrk/u8-wordbreaks.c: New file.
34262         * lib/uniwbrk/u-wordbreaks.h: New file.
34263
34264         New module 'uniwbrk/table'.
34265         * modules/uniwbrk/table: New file.
34266         * lib/uniwbrk/wbrktable.h: New file.
34267         * lib/uniwbrk/wbrktable.c: New file.
34268
34269         New module 'uniwbrk/wordbreak-property'.
34270         * modules/uniwbrk/wordbreak-property: New file.
34271         * lib/uniwbrk/wordbreak-property.c: New file.
34272
34273         * lib/gen-uni-tables.c (WBP_*): New enum items.
34274         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
34275         (unicode_org_wbp): New variable.
34276         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
34277         New functions.
34278         (wbp_table): New structure.
34279         (output_wbp, output_wbrk_tables): New functions.
34280         (main): Accept additional argument. Invoke fill_org_wbp,
34281         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
34282         output_wbrk_tables.
34283         * modules/gen-uni-tables (Description): Update.
34284         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
34285         gen-uni-tables.
34286
34287         New module 'uniwbrk/base'.
34288         * modules/uniwbrk/base: New file.
34289         * lib/uniwbrk.h: New file.
34290
34291 2009-02-08  Bruno Haible  <bruno@clisp.org>
34292
34293         Update to Unicode 5.1.0.
34294         * lib/gen-uni-tables.c (is_property_alphabetic): Include
34295         U+2185..U+2188.
34296         (is_property_default_ignorable_code_point): Don't include characters
34297         of category Cc or Cs and not-a-characters.
34298         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
34299         U+0D79, U+109E, U+109F, U+A60C.
34300         * lib/unictype/bidi_of.h: Regenerated.
34301         * lib/unictype/blocks.h: Regenerated.
34302         * lib/unictype/categ_C.h: Regenerated.
34303         * lib/unictype/categ_Cf.h: Regenerated.
34304         * lib/unictype/categ_Cn.h: Regenerated.
34305         * lib/unictype/categ_L.h: Regenerated.
34306         * lib/unictype/categ_Ll.h: Regenerated.
34307         * lib/unictype/categ_Lm.h: Regenerated.
34308         * lib/unictype/categ_Lo.h: Regenerated.
34309         * lib/unictype/categ_Lu.h: Regenerated.
34310         * lib/unictype/categ_M.h: Regenerated.
34311         * lib/unictype/categ_Mc.h: Regenerated.
34312         * lib/unictype/categ_Me.h: Regenerated.
34313         * lib/unictype/categ_Mn.h: Regenerated.
34314         * lib/unictype/categ_N.h: Regenerated.
34315         * lib/unictype/categ_Nd.h: Regenerated.
34316         * lib/unictype/categ_Nl.h: Regenerated.
34317         * lib/unictype/categ_No.h: Regenerated.
34318         * lib/unictype/categ_P.h: Regenerated.
34319         * lib/unictype/categ_Pd.h: Regenerated.
34320         * lib/unictype/categ_Pe.h: Regenerated.
34321         * lib/unictype/categ_Pf.h: Regenerated.
34322         * lib/unictype/categ_Pi.h: Regenerated.
34323         * lib/unictype/categ_Po.h: Regenerated.
34324         * lib/unictype/categ_Ps.h: Regenerated.
34325         * lib/unictype/categ_S.h: Regenerated.
34326         * lib/unictype/categ_Sk.h: Regenerated.
34327         * lib/unictype/categ_Sm.h: Regenerated.
34328         * lib/unictype/categ_So.h: Regenerated.
34329         * lib/unictype/categ_of.h: Regenerated.
34330         * lib/unictype/combining.h: Regenerated.
34331         * lib/unictype/ctype_alnum.h: Regenerated.
34332         * lib/unictype/ctype_alpha.h: Regenerated.
34333         * lib/unictype/ctype_graph.h: Regenerated.
34334         * lib/unictype/ctype_lower.h: Regenerated.
34335         * lib/unictype/ctype_print.h: Regenerated.
34336         * lib/unictype/ctype_punct.h: Regenerated.
34337         * lib/unictype/ctype_upper.h: Regenerated.
34338         * lib/unictype/decdigit.h: Regenerated.
34339         * lib/unictype/digit.h: Regenerated.
34340         * lib/unictype/mirror.h: Regenerated.
34341         * lib/unictype/numeric.h: Regenerated.
34342         * lib/unictype/pr_alphabetic.h: Regenerated.
34343         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
34344         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
34345         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
34346         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
34347         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
34348         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
34349         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
34350         * lib/unictype/pr_combining.h: Regenerated.
34351         * lib/unictype/pr_dash.h: Regenerated.
34352         * lib/unictype/pr_decimal_digit.h: Regenerated.
34353         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
34354         * lib/unictype/pr_deprecated.h: Regenerated.
34355         * lib/unictype/pr_diacritic.h: Regenerated.
34356         * lib/unictype/pr_extender.h: Regenerated.
34357         * lib/unictype/pr_format_control.h: Regenerated.
34358         * lib/unictype/pr_grapheme_base.h: Regenerated.
34359         * lib/unictype/pr_grapheme_extend.h: Regenerated.
34360         * lib/unictype/pr_grapheme_link.h: Regenerated.
34361         * lib/unictype/pr_id_continue.h: Regenerated.
34362         * lib/unictype/pr_id_start.h: Regenerated.
34363         * lib/unictype/pr_ideographic.h: Regenerated.
34364         * lib/unictype/pr_ignorable_control.h: Regenerated.
34365         * lib/unictype/pr_lowercase.h: Regenerated.
34366         * lib/unictype/pr_math.h: Regenerated.
34367         * lib/unictype/pr_numeric.h: Regenerated.
34368         * lib/unictype/pr_other_alphabetic.h: Regenerated.
34369         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
34370         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
34371         * lib/unictype/pr_other_id_continue.h: Regenerated.
34372         * lib/unictype/pr_other_lowercase.h: Regenerated.
34373         * lib/unictype/pr_other_math.h: Regenerated.
34374         * lib/unictype/pr_punctuation.h: Regenerated.
34375         * lib/unictype/pr_sentence_terminal.h: Regenerated.
34376         * lib/unictype/pr_soft_dotted.h: Regenerated.
34377         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
34378         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
34379         * lib/unictype/pr_unified_ideograph.h: Regenerated.
34380         * lib/unictype/pr_uppercase.h: Regenerated.
34381         * lib/unictype/pr_xid_continue.h: Regenerated.
34382         * lib/unictype/pr_xid_start.h: Regenerated.
34383         * lib/unictype/pr_zero_width.h: Regenerated.
34384         * lib/unictype/scripts.h: Regenerated.
34385         * lib/unictype/scripts_byname.gperf: Regenerated.
34386         * lib/unictype/sy_java_ident.h: Regenerated.
34387         * lib/unilbrk/lbrkprop1.h: Regenerated.
34388         * lib/unilbrk/lbrkprop2.h: Regenerated.
34389         * tests/unictype/test-categ_C.c: Regenerated.
34390         * tests/unictype/test-categ_Cf.c: Regenerated.
34391         * tests/unictype/test-categ_Cn.c: Regenerated.
34392         * tests/unictype/test-categ_L.c: Regenerated.
34393         * tests/unictype/test-categ_Ll.c: Regenerated.
34394         * tests/unictype/test-categ_Lm.c: Regenerated.
34395         * tests/unictype/test-categ_Lo.c: Regenerated.
34396         * tests/unictype/test-categ_Lu.c: Regenerated.
34397         * tests/unictype/test-categ_M.c: Regenerated.
34398         * tests/unictype/test-categ_Mc.c: Regenerated.
34399         * tests/unictype/test-categ_Me.c: Regenerated.
34400         * tests/unictype/test-categ_Mn.c: Regenerated.
34401         * tests/unictype/test-categ_N.c: Regenerated.
34402         * tests/unictype/test-categ_Nd.c: Regenerated.
34403         * tests/unictype/test-categ_Nl.c: Regenerated.
34404         * tests/unictype/test-categ_No.c: Regenerated.
34405         * tests/unictype/test-categ_P.c: Regenerated.
34406         * tests/unictype/test-categ_Pd.c: Regenerated.
34407         * tests/unictype/test-categ_Pe.c: Regenerated.
34408         * tests/unictype/test-categ_Pf.c: Regenerated.
34409         * tests/unictype/test-categ_Pi.c: Regenerated.
34410         * tests/unictype/test-categ_Po.c: Regenerated.
34411         * tests/unictype/test-categ_Ps.c: Regenerated.
34412         * tests/unictype/test-categ_S.c: Regenerated.
34413         * tests/unictype/test-categ_Sk.c: Regenerated.
34414         * tests/unictype/test-categ_Sm.c: Regenerated.
34415         * tests/unictype/test-categ_So.c: Regenerated.
34416         * tests/unictype/test-ctype_alnum.c: Regenerated.
34417         * tests/unictype/test-ctype_alpha.c: Regenerated.
34418         * tests/unictype/test-ctype_graph.c: Regenerated.
34419         * tests/unictype/test-ctype_lower.c: Regenerated.
34420         * tests/unictype/test-ctype_print.c: Regenerated.
34421         * tests/unictype/test-ctype_punct.c: Regenerated.
34422         * tests/unictype/test-ctype_upper.c: Regenerated.
34423         * tests/unictype/test-decdigit.h: Regenerated.
34424         * tests/unictype/test-digit.h: Regenerated.
34425         * tests/unictype/test-numeric.h: Regenerated.
34426         * tests/unictype/test-pr_alphabetic.c: Regenerated.
34427         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
34428         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
34429         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
34430         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
34431         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
34432         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
34433         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
34434         * tests/unictype/test-pr_combining.c: Regenerated.
34435         * tests/unictype/test-pr_dash.c: Regenerated.
34436         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
34437         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
34438         * tests/unictype/test-pr_deprecated.c: Regenerated.
34439         * tests/unictype/test-pr_diacritic.c: Regenerated.
34440         * tests/unictype/test-pr_extender.c: Regenerated.
34441         * tests/unictype/test-pr_format_control.c: Regenerated.
34442         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
34443         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
34444         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
34445         * tests/unictype/test-pr_id_continue.c: Regenerated.
34446         * tests/unictype/test-pr_id_start.c: Regenerated.
34447         * tests/unictype/test-pr_ideographic.c: Regenerated.
34448         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
34449         * tests/unictype/test-pr_lowercase.c: Regenerated.
34450         * tests/unictype/test-pr_math.c: Regenerated.
34451         * tests/unictype/test-pr_numeric.c: Regenerated.
34452         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
34453         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
34454         Regenerated.
34455         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
34456         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
34457         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
34458         * tests/unictype/test-pr_other_math.c: Regenerated.
34459         * tests/unictype/test-pr_punctuation.c: Regenerated.
34460         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
34461         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
34462         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
34463         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
34464         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
34465         * tests/unictype/test-pr_uppercase.c: Regenerated.
34466         * tests/unictype/test-pr_xid_continue.c: Regenerated.
34467         * tests/unictype/test-pr_xid_start.c: Regenerated.
34468         * tests/unictype/test-pr_zero_width.c: Regenerated.
34469
34470         Update to Unicode 5.1.0.
34471         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
34472         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
34473         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
34474         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
34475         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
34476         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
34477         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
34478         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
34479         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
34480         (nonspacing_table_ind): Update.
34481         * tests/uniwidth/test-uc_width2.sh: Update expected result.
34482
34483         Update to Unicode 5.1.0.
34484         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
34485         code transform.
34486         * lib/uniname/uniname.c (unicode_character_name,
34487         unicode_name_character): Add the range 0x1Fxxx to the code transform.
34488         * lib/uniname/uninames.h: Regenerated.
34489         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
34490
34491 2009-02-07  Bruno Haible  <bruno@clisp.org>
34492
34493         Merge gen-ctype and gen-lbrk into a single program.
34494         * lib/gen-uni-tables.c: New file, incorporating
34495         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
34496         Add directory prefixes to the names of the generated files.
34497         * lib/unictype/gen-ctype.c: Remove file.
34498         * lib/unilbrk/gen-lbrk.c: Remove file.
34499         * modules/gen-uni-tables: New file.
34500         * modules/unictype/gen-ctype: Remove file.
34501         * modules/unilbrk/gen-lbrk: Remove file.
34502
34503 2009-02-07  Bruno Haible  <bruno@clisp.org>
34504
34505         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
34506
34507         New module 'unistr/u32-strcoll'.
34508         * modules/unistr/u32-strcoll: New file.
34509         * lib/unistr/u32-strcoll.c: New file.
34510
34511         New module 'unistr/u16-strcoll'.
34512         * modules/unistr/u16-strcoll: New file.
34513         * lib/unistr/u16-strcoll.c: New file.
34514
34515         New module 'unistr/u8-strcoll'.
34516         * modules/unistr/u8-strcoll: New file.
34517         * lib/unistr/u8-strcoll.c: New file.
34518         * lib/unistr/u-strcoll.h: New file.
34519
34520 2009-02-07  Bruno Haible  <bruno@clisp.org>
34521
34522         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
34523         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
34524         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
34525         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
34526         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
34527         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
34528
34529 2009-02-07  Bruno Haible  <bruno@clisp.org>
34530
34531         Make 64-bit clean.
34532         * lib/unictype/gen-ctype.c (output_predicate, output_category,
34533         output_combclass, output_bidi_category, output_decimal_digit,
34534         output_digit, output_numeric, output_mirror, output_scripts,
34535         output_ident_category): Use proper width specifier in format strings.
34536
34537 2009-02-07  Bruno Haible  <bruno@clisp.org>
34538
34539         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
34540         failure behaviour.
34541
34542 2009-02-07  Jim Meyering  <meyering@redhat.com>
34543
34544         regex: avoid compilation failure with upcoming gcc-4.4
34545         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
34546         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
34547         "... error: integer overflow in preprocessor expression".
34548
34549 2009-02-05  Ben Pfaff  <blp@gnu.org>
34550
34551         Fix link errors on Windows when close module is used.
34552         * modules/close: Add $(LIB_CLOSE) to Link section.
34553         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
34554         $(LIB_CLOSE) on Windows.
34555
34556 2009-02-05  Jim Meyering  <meyering@redhat.com>
34557
34558         still avoid unused-parameter warnings, but do it cleanly
34559         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
34560         (get_fs_usage): Cast to void instead.
34561         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
34562         (dev_from_mount_options, read_file_system_list): Cast to void.
34563         Prompted by Bruno Haible.
34564
34565 2009-02-04  Jim Meyering  <meyering@redhat.com>
34566
34567         fsusage.c: correct copyright year
34568         * lib/fsusage.c: Reflect year in which the change is pushed into
34569
34570         avoid misc. warnings
34571         * lib/fsusage.c (UNUSED_PARAM): Define.
34572         (get_fs_usage): Mark parameter "disk" as unused.
34573         * lib/getugroups.c (getgrent): Use "void" in prototype.
34574         * lib/mountlist.c: Mark unused parameters.
34575         (read_file_system_list): Declare a local with "const".
34576         * lib/nanosleep.c (getnow): Declare static.
34577         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
34578
34579         dirfd: set errno upon failure
34580         * lib/dirfd.c: Include <errno.h>.
34581         Set errno to ENOTSUP when returning -1.
34582         * modules/dirfd (Depends-on): Add errno.
34583         Suggested by John Kodis <kodis@comcast.net>.
34584
34585 2009-02-01  Bruno Haible  <bruno@clisp.org>
34586
34587         Don't assume sizeof (long) >= sizeof (void *).
34588         * lib/memcmp.c: Include stdint.h.
34589         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
34590         srcp2 to 'const byte *'.
34591         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
34592         types to uintptr_t.
34593         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
34594         * modules/memcmp (Depends-on): Add stdint.
34595         Reported by Ozkan Sezer <sezeroz@gmail.com>.
34596
34597 2009-01-30  Eric Blake  <ebb9@byu.net>
34598
34599         fix more require-before-expand issues
34600         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
34601         expand, AC_PROG_AWK.
34602         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
34603
34604 2009-01-28  Eric Blake  <ebb9@byu.net>
34605
34606         version-etc: use consistent URL formatting
34607         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
34608         Improve formatting.  Use fputs for string without %.
34609
34610 2009-01-28  Jim Meyering  <meyering@redhat.com>
34611
34612         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
34613         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
34614         "underquoted definition of NAME" from autoconf-2.59.
34615
34616 2009-01-28  Bruno Haible  <bruno@clisp.org>
34617
34618         * doc/gnulib.texi: Add "Obsolete modules" to index.
34619
34620 2009-01-28  Jim Meyering  <meyering@redhat.com>
34621
34622         useless-if-before-free: recognize more variants
34623         * build-aux/useless-if-before-free: Also recognize e.g.,
34624         if (NULL != p) free (p);
34625
34626 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
34627
34628         test-getaddrinfo: skip (don't fail) this test when there's no network
34629         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
34630         on the presumption that it means you lack network access.
34631
34632 2009-01-26  Jim Meyering  <meyering@redhat.com>
34633
34634         fflush: avoid warnings on modern systems
34635         * lib/fflush.c (rpl_fflush): Move declarations of locals,
34636         pos and result, into scopes where they're used.
34637
34638 2009-01-26  Eric Blake  <ebb9@byu.net>
34639
34640         Silence warning reintroduced by recent extensions patch.
34641         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
34642         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
34643         autoconf.
34644
34645         Backport improved autoconf semantics of AC_DEFUN_ONCE.
34646         * m4/00gnulib.m4: New file.
34647         * gnulib-tool (func_get_filelist): Always use it.
34648         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
34649         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
34650
34651 2009-01-25  Bruno Haible  <bruno@clisp.org>
34652
34653         Make test-quotearg work on MacOS X and AIX.
34654         * tests/test-quotearg.sh: New file.
34655         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
34656         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
34657         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
34658         include <libintl.h>.
34659         (fake_locale): Remove variable.
34660         (gettext, dgettext, dcgettext): Remove functions.
34661         (main): Instead of setting a fake locale, set a real locale. Call
34662         textdomain and bindtextdomain.
34663         * modules/quotearg-tests (Files): Add the new files.
34664         (Depends-on): Add gettext, setenv, unsetenv.
34665         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
34666         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
34667         Augment TESTS_ENVIRONMENT.
34668
34669 2009-01-25  Bruno Haible  <bruno@clisp.org>
34670
34671         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
34672         fr_FR.ISO8859-1 locale on MacOS X.
34673         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
34674         ja_JP.eucJP locale on MacOS X.
34675         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
34676         zh_CN.GB18030 locale on MacOS X.
34677
34678 2009-01-25  Bruno Haible  <bruno@clisp.org>
34679
34680         Avoid link errors on MacOS X 10.3.
34681         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
34682         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
34683
34684 2009-01-25  Bruno Haible  <bruno@clisp.org>
34685
34686         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34687         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
34688         * modules/pipe (Files): Remove m4/posix_spawn.m4.
34689         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34690         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
34691         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34692         posix_spawnattr_init, posix_spawnattr_setsigmask,
34693         posix_spawnattr_setflags, posix_spawnattr_destroy.
34694
34695         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34696         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
34697         * modules/execute (Files): Remove m4/posix_spawn.m4.
34698         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34699         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34700         posix_spawnattr_init, posix_spawnattr_setsigmask,
34701         posix_spawnattr_setflags, posix_spawnattr_destroy.
34702
34703 2009-01-25  Bruno Haible  <bruno@clisp.org>
34704
34705         * lib/glthread/threadlib.c: Include <stdlib.h>.
34706
34707 2009-01-25  Bruno Haible  <bruno@clisp.org>
34708
34709         * lib/glthread/threadlib.c (dummy): New declaration.
34710
34711 2009-01-25  Bruno Haible  <bruno@clisp.org>
34712
34713         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
34714         multibyte characters also for the GB18030 encoding. Don't crash when
34715         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
34716
34717 2009-01-25  Bruno Haible  <bruno@clisp.org>
34718
34719         Avoid redefining 'struct random_data' on OSF/1 5.1.
34720         * lib/stdlib.in.h: Include <random.h> if it exists.
34721         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
34722         HAVE_RANDOM_H. Include <random.h> when testing whether
34723         'struct random_data' exists.
34724         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
34725
34726 2009-01-25  Bruno Haible  <bruno@clisp.org>
34727
34728         Don't install charset.alias on MacOS X >= 10.3.
34729         * lib/localcharset.c (DARWIN7): New macro.
34730         (get_charset_aliases): Hardcode the result for Darwin7.
34731         * modules/localcharset (install-exec-local): Don't install
34732         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
34733
34734 2009-01-25  Bruno Haible  <bruno@clisp.org>
34735
34736         Don't install charset.alias on mingw and Cygwin.
34737         * modules/localcharset (install-exec-local): Don't install
34738         charset.alias on mingw and Cygwin, if the file does not yet exist.
34739         The result for these platforms is hardcoded in localcharset.c.
34740
34741 2009-01-25  Bruno Haible  <bruno@clisp.org>
34742
34743         Make it possible again to use AC_GNU_SOURCE together with gnulib.
34744         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
34745         before requiring AC_USE_SYSTEM_EXTENSIONS.
34746
34747 2009-01-25  Jim Meyering  <meyering@redhat.com>
34748
34749         c-strtod: avoid warnings
34750         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
34751         "assignment discards qualifiers from pointer target type" warnings.
34752
34753 2009-01-24  Bruno Haible  <bruno@clisp.org>
34754
34755         Add support for non-UTF-8 locales on MacOS X.
34756         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
34757         canonical encodings. For Darwin 7 and newer, don't map traditional
34758         encodings to UTF-8.
34759         Reported by Vincent Lefevre <vincent@vinc17.org>
34760         at <http://savannah.gnu.org/bugs/?25235>.
34761
34762 2009-01-24  Bruno Haible  <bruno@clisp.org>
34763
34764         * doc/gnulib.texi (Obsolete modules): New section.
34765         Reported by Mike Frysinger <vapier@gentoo.org>.
34766
34767 2009-01-24  Bruno Haible  <bruno@clisp.org>
34768
34769         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
34770         (%.dvi): New rule.
34771
34772 2009-01-24  Bruno Haible  <bruno@clisp.org>
34773
34774         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
34775         Reported by Eric Blake.
34776
34777 2009-01-24  Bruno Haible  <bruno@clisp.org>
34778
34779         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
34780         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
34781         Reported by Gary V. Vaughan <gary@gnu.org>.
34782
34783 2009-01-24  Bruno Haible  <bruno@clisp.org>
34784
34785         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
34786
34787 2009-01-23  Bruno Haible  <bruno@clisp.org>
34788
34789         Make c-strtod, c-strtold usable in libraries.
34790         * lib/c-strtod.c: Include string.h instead of xalloc.h.
34791         (C_STRTOD): Call strdup instead of xstrdup.
34792         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
34793         * modules/c-strtold (Depends-on): Likewise.
34794         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
34795         * NEWS: Mention the change.
34796         Reported by Michael Gold <mgold@ncf.ca>.
34797
34798 2009-01-23  Jim Meyering  <meyering@redhat.com>
34799
34800         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
34801         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
34802         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
34803
34804 2009-01-23  Simon Josefsson  <simon@josefsson.org>
34805
34806         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
34807         GNU CoreUtils.
34808         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
34809         * modules/version-etc (Description): Update.
34810
34811 2009-01-22  Bruno Haible  <bruno@clisp.org>
34812
34813         Cache the C locale object.
34814         * lib/c-strtod.c (c_locale_cache): New variable.
34815         (c_locale): New function.
34816         (C_STRTOD): Use it, and don't call freelocale.
34817         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
34818         Suggested by Paolo Bonzini.
34819
34820 2009-01-21  Bruno Haible  <bruno@clisp.org>
34821
34822         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
34823         conditions other than overflow.
34824
34825 2009-01-21  Bruno Haible  <bruno@clisp.org>
34826
34827         * lib/c-strtod.c: Include errno.h.
34828         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
34829         value from STRTOD_L and STRTOD.
34830
34831 2009-01-21  Bruno Haible  <bruno@clisp.org>
34832         and Jim Meyering  <meyering@redhat.com>
34833
34834         nanosleep: skip configure test (fail it) for apple universal builds
34835         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
34836         universal builds, assume that nanosleep does not work.
34837         * modules/nanosleep (Depends-on): Add multiarch.
34838
34839         mktime: skip configure test (fail it) for apple universal builds
34840         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
34841         universal builds, assume that mktime does not work.
34842         * modules/mktime (Depends-on): Add multiarch.
34843
34844 2009-01-21  Eric Blake  <ebb9@byu.net>
34845
34846         multiarch: avoid expand-before-require warning
34847         * modules/multiarch (configure.ac): Require, rather than expand,
34848         gl_MULTIARCH.
34849         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
34850         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
34851         enforce that all clients require it.  Partial reversion of
34852         2008-12-29 patch.
34853
34854         error: avoid expand-before-require warning
34855         * modules/errno (configure.ac): Require, rather than expand,
34856         gl_HEADER_ERRNO_H.
34857         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
34858         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
34859         enforce that all clients require it.
34860
34861         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
34862         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
34863         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
34864         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
34865
34866 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
34867
34868         Revert:
34869         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34870
34871         regex: do not depend on obsolete modules.
34872         * modules/regex: Remove memcmp and memmove.
34873
34874 2009-01-20  Bruno Haible  <bruno@clisp.org>
34875
34876         Make the 'link' module link on Windows NT 4.
34877         * lib/link.c (_WIN32_WINNT): Don't define.
34878         (CreateHardLinkFuncType): New type.
34879         (CreateHardLinkFunc, initialized): New variables.
34880         (initialize): New function.
34881         (link): Invoke CreateHardLink indirectly through the function pointer.
34882
34883 2009-01-20  Bruno Haible  <bruno@clisp.org>
34884
34885         Fix compilation failure on mingw.
34886         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
34887
34888 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
34889
34890         * doc/c-strtod.texi: Mention a couple of restrictions.
34891
34892 2009-01-20  Jim Meyering  <meyering@redhat.com>
34893
34894         gettimeofday: move more declarations out of functions
34895         * lib/gettimeofday.c: Move extern declarations of tzset and
34896         gmtime out of containing functions.  Prompted by Bruno Haible.
34897
34898 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34899
34900         regex: do not depend on obsolete modules.
34901         * modules/regex: Remove memcmp and memmove.
34902
34903 2009-01-19  Bruno Haible  <bruno@clisp.org>
34904
34905         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34906         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
34907         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34908         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
34909         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
34910
34911 2009-01-19  Bruno Haible  <bruno@clisp.org>
34912
34913         * tests/test-link.c: Include <errno.h>.
34914         (main): Exit with code 77 when a hard link cannot be created due to
34915         the file system.
34916         * tests/test-link.sh: Skip test when a hard link cannot be created due
34917         to the file system.
34918         Suggested by Eric Blake.
34919
34920 2009-01-19  Martin Lambers  <marlam@marlam.de>
34921
34922         * modules/link-tests: New file.
34923         * tests/test-link.sh: New file.
34924         * tests/test-link.c: New file.
34925
34926 2009-01-19  Eric Blake  <ebb9@byu.net>
34927
34928         doc: mention another function added in cygwin 1.7.0
34929         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
34930         Another new function in cygwin 1.7.
34931
34932 2009-01-19  Bruno Haible  <bruno@clisp.org>
34933
34934         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34935         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
34936         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
34937         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34938         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34939         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
34940         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
34941         * m4/md4.m4 (gl_MD4): Likewise.
34942         * m4/md5.m4 (gl_MD5): Likewise.
34943         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
34944         * m4/sha1.m4 (gl_SHA1): Likewise.
34945         * m4/sha256.m4 (gl_SHA256): Likewise.
34946         * m4/sha512.m4 (gl_SHA512): Likewise.
34947
34948 2009-01-19  Bruno Haible  <bruno@clisp.org>
34949
34950         * modules/uniname/uniname-tests (Depends-on): Add progname.
34951         * tests/uniname/test-uninames.c: Include progname.h.
34952         (main): Call set_program_name.
34953
34954         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
34955         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
34956         (main): Call set_program_name.
34957
34958         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
34959         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
34960         (main): Call set_program_name.
34961
34962         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
34963         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
34964         (main): Call set_program_name.
34965
34966         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
34967         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
34968         (main): Call set_program_name.
34969
34970         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
34971         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
34972         (main): Call set_program_name.
34973
34974         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
34975         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
34976         (main): Call set_program_name.
34977
34978         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
34979         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
34980         (main): Call set_program_name.
34981
34982         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
34983         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
34984         (main): Call set_program_name.
34985
34986 2009-01-19  Eric Blake  <ebb9@byu.net>
34987
34988         test-unistd: test previous patch
34989         * tests/test-unistd.c: Test *_FILENO macros.
34990
34991         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
34992         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34993         Guarantee a definition.
34994         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
34995         * modules/unistd-safer (Depends-on): Add dependency on unistd.
34996         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
34997         * lib/dup-safer.c (STDERR_FILENO): Likewise.
34998         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34999         Likewise.
35000         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
35001         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
35002         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
35003         Likewise.
35004         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
35005         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
35006         (STDERR_FILENO): Likewise.
35007         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
35008         (STDERR_FILENO): Likewise.
35009         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
35010         (STDERR_FILENO): Likewise.
35011         Reported by Elbert Pol.
35012
35013 2009-01-19  Eric Blake  <ebb9@byu.net>
35014
35015         doc: mention more functions added in cygwin 1.7.0
35016         * doc/posix-functions/abort.texi (abort): Update wording related
35017         to cygwin.
35018         * doc/posix-functions/daylight.texi (daylight): Likewise.
35019         * doc/posix-functions/optarg.texi (optarg): Likewise.
35020         * doc/posix-functions/optarg.texi (opterr): Likewise.
35021         * doc/posix-functions/optarg.texi (optind): Likewise.
35022         * doc/posix-functions/optarg.texi (optopt): Likewise.
35023         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
35024         worked in 1.5.x, and was withdrawn in 1.7.
35025         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
35026         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
35027         cygwin versions.
35028         * doc/posix-functions/perror.texi (perror): Likewise.
35029         * doc/posix-functions/printf.texi (printf): Likewise.
35030         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
35031         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
35032         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
35033         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
35034         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
35035         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
35036         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
35037         Likewise.
35038         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
35039         Likewise.
35040         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
35041         this function.
35042         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
35043         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
35044         Likewise.
35045         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
35046         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
35047         * doc/posix-functions/confstr.texi (confstr): Likewise.
35048         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
35049         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
35050         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
35051         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
35052         * doc/posix-functions/fputws.texi (fputws): Likewise.
35053         * doc/posix-functions/fwide.texi (fwide): Likewise.
35054         * doc/posix-functions/getwc.texi (getwc): Likewise.
35055         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
35056         * doc/posix-functions/putwc.texi (putwc): Likewise.
35057         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
35058         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
35059         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
35060         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
35061         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
35062         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
35063         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
35064         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
35065         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
35066         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
35067         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
35068
35069 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
35070
35071         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
35072         * lib/ioctl.c: Include <sys/ioctl.h>.
35073
35074 2009-01-19  Simon Josefsson  <simon@josefsson.org>
35075
35076         * modules/getdate-tests (Depends-on): Add progname.
35077         * tests/test-getdate.c: Use progname module, to avoid link errors
35078         on non-glibc systems.
35079
35080 2009-01-18  Simon Josefsson  <simon@josefsson.org>
35081
35082         * modules/filenamecat-tests (Depends-on): Add progname.
35083         * modules/fstrcmp-tests (Depends-on): Likewise.
35084
35085         * tests/test-filenamecat.c: Use progname module, to avoid link
35086         errors on non-glibc systems.
35087         * tests/test-fstrcmp.c: Likewise.
35088
35089 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
35090
35091         gettimeofday: avoid warning: nested extern declaration of 'localtime'
35092         * lib/gettimeofday.c: Move extern declaration out of function.
35093
35094 2009-01-18  Bruno Haible  <bruno@clisp.org>
35095
35096         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
35097         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
35098         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
35099
35100 2009-01-18  Bruno Haible  <bruno@clisp.org>
35101
35102         * lib/strftime.c (MEMPCPY): Remove unused macro.
35103         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
35104
35105 2009-01-18  Martin Lambers  <marlam@marlam.de>
35106
35107         New module 'link'.
35108         * lib/unistd.in.h (link): New declaration.
35109         * lib/link.c: New file.
35110         * m4/link.m4: New file.
35111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
35112         HAVE_LINK.
35113         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
35114         * modules/link: New file.
35115         * doc/posix-functions/link.texi: Mention the new module.
35116
35117 2009-01-18  Bruno Haible  <bruno@clisp.org>
35118
35119         * tests/test-avltree_list.c (main): Call set_program_name.
35120         * tests/test-avltree_oset.c (main): Likewise.
35121         * tests/test-obstack-printf.c: Include progname.h.
35122         (main): Call set_program_name.
35123         * tests/test-quotearg.c: Include progname.h.
35124         (main): Call set_program_name.
35125         * tests/test-xmemdup0.c: Include progname.h.
35126         (main): Call set_program_name.
35127
35128 2009-01-18  Bruno Haible  <bruno@clisp.org>
35129
35130         New module 'alphasort'.
35131         * lib/dirent.in.h (alphasort): New declaration.
35132         * lib/alphasort.c: New file, from glibc with modifications.
35133         * m4/alphasort.m4: New file.
35134         * modules/alphasort: New file.
35135         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
35136         HAVE_ALPHASORT.
35137         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
35138         HAVE_ALPHASORT.
35139         * doc/posix-functions/alphasort.texi: Mention the new module and the
35140         portability problems.
35141
35142 2009-01-18  Bruno Haible  <bruno@clisp.org>
35143
35144         New module 'scandir'.
35145         * lib/dirent.in.h (scandir): New declaration.
35146         * lib/scandir.c: New file, from glibc with modifications.
35147         * m4/scandir.m4: New file.
35148         * modules/scandir: New file.
35149         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
35150         HAVE_SCANDIR.
35151         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
35152         HAVE_SCANDIR.
35153         * doc/posix-functions/scandir.texi: Mention the new module and the
35154         portability problems.
35155
35156 2009-01-17  Bruno Haible  <bruno@clisp.org>
35157
35158         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
35159         Update documentation.
35160         (func_remove_suffix): Escape all dots in the suffix. Update
35161         documentation.
35162         (func_filter_filelist): Update documentation.
35163         Reported by Ralf Wildenhues.
35164
35165 2009-01-17  Bruno Haible  <bruno@clisp.org>
35166
35167         * modules/dprintf-posix-tests: New file.
35168         * tests/test-dprintf-posix.sh: New file.
35169         * tests/test-dprintf-posix.c: New file.
35170
35171         New modules 'dprintf', 'dprintf-posix'.
35172         * lib/stdio.in.h (dprintf): New declaration.
35173         * lib/dprintf.c: New file.
35174         * m4/dprintf.m4: New file.
35175         * m4/dprintf-posix.m4: New file.
35176         * modules/dprintf: New file.
35177         * modules/dprintf-posix: New file.
35178         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
35179         HAVE_DPRINTF, REPLACE_DPRINTF.
35180         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
35181         HAVE_DPRINTF, REPLACE_DPRINTF.
35182         * doc/posix-functions/dprintf.texi: Mention the new modules.
35183
35184 2009-01-17  Bruno Haible  <bruno@clisp.org>
35185
35186         * modules/vdprintf-posix-tests: New file.
35187         * tests/test-vdprintf-posix.sh: New file.
35188         * tests/test-vdprintf-posix.c: New file.
35189
35190         New modules 'vdprintf', 'vdprintf-posix'.
35191         * lib/stdio.in.h (vdprintf): New declaration.
35192         * lib/vdprintf.c: New file.
35193         * m4/vdprintf.m4: New file.
35194         * m4/vdprintf-posix.m4: New file.
35195         * modules/vdprintf: New file.
35196         * modules/vdprintf-posix: New file.
35197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
35198         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35199         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
35200         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35201         * doc/posix-functions/vdprintf.texi: Mention the new modules.
35202
35203 2009-01-17  Bruno Haible  <bruno@clisp.org>
35204
35205         Fix replacement of fopen on mingw.
35206         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
35207         mingw.
35208
35209 2009-01-17  Bruno Haible  <bruno@clisp.org>
35210
35211         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
35212         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
35213
35214 2009-01-17  Bruno Haible  <bruno@clisp.org>
35215
35216         Avoid test-fflush2.sh failure on mingw.
35217         * tests/test-fflush2.c: Include binary-io.h.
35218         (main): Put standard input into binary mode.
35219         * modules/fflush-tests (Depends-on): Add binary-io.
35220
35221 2009-01-17  Bruno Haible  <bruno@clisp.org>
35222
35223         * lib/wchar.in.h: In another particular situation, include only the
35224         system's <wchar.h> file.
35225         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
35226         Reported by Albert Chin-A-Young <china@thewrittenword.com>
35227         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
35228
35229 2009-01-17  Bruno Haible  <bruno@clisp.org>
35230
35231         Support for stripping executables in --enable-relocatable.
35232         * build-aux/install-reloc: Expect one more argument, or an environment
35233         variable RELOC_STRIP_PROG. If set, strip the destination program and
35234         its wrapper.
35235         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
35236         RELOC_STRIP_PROG.
35237         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
35238         to set RELOCATABLE_STRIP.
35239         * NEWS: Mention the new Makefile requirement.
35240
35241 2009-01-17  Bruno Haible  <bruno@clisp.org>
35242
35243         * build-aux/install-reloc: Remove debugging information left over by
35244         C compiler on MacOS X.
35245
35246 2009-01-17  Bruno Haible  <bruno@clisp.org>
35247
35248         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
35249         * lib/progreloc.c (find_executable): Fix type of pointer passed to
35250         _NSGetExecutablePath.
35251
35252 2009-01-16  Jim Meyering  <meyering@redhat.com>
35253
35254         strerror: avoid warnings about discarding "const"
35255         * lib/strerror.c (rpl_strerror): Instead of returning a const
35256         string from each and every "case", use a variable, and add a single
35257         cast after the switch.
35258
35259 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
35260
35261         * lib/arpa_inet.in.h: Add extern "C" block for C++.
35262
35263 2009-01-16  Bruno Haible  <bruno@clisp.org>
35264
35265         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
35266         array initializer syntax that also works in C++ mode.
35267         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35268
35269 2009-01-16  Jim Meyering  <meyering@redhat.com>
35270
35271         poll: suppress a warning
35272         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
35273         to ignore "...unsigned expression < 0 is always false" warnings.
35274
35275 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
35276
35277         poll: remove declarations of unused variables
35278         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
35279         sockbuf and optlen.
35280
35281 2009-01-15  Bruno Haible  <bruno@clisp.org>
35282
35283         Make fflush-after-ungetc POSIX compliant on BSD systems.
35284         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
35285         (clear_ungetc_buffer): Implement also for other systems.
35286         (rpl_fflush): On glibc systems, invoke
35287         clear_ungetc_buffer_preserving_position. Otherwise, invoke
35288         clear_ungetc_buffer after fetching the stream's position, not before.
35289
35290 2009-01-15  Bruno Haible  <bruno@clisp.org>
35291
35292         Make fflush-after-ungetc POSIX compliant on glibc systems.
35293         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
35294         after ungetc.
35295         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
35296         (rpl_fflush): On glibc systems, simply call the system's fflush
35297         function after clearing the ungetc buffer.
35298         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
35299         Instead, lseek only to the end of file, then use the system's fseeko
35300         for the rest. On glibc systems, reset the EOF indicator bit.
35301
35302 2009-01-15  Jim Meyering  <meyering@redhat.com>
35303
35304         openmp.m4: revert quote-adding change, for portability to older autoconf
35305         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
35306         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
35307         Simon Josefsson noticed the problem when using autoconf-2.61.
35308
35309 2009-01-15  Bruno Haible  <bruno@clisp.org>
35310
35311         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
35312         * tests/test-fflush2.c (ASSERT): Always fail.
35313         (main): Add two tests for fflush() after ungetc(), taking into account
35314         the Austin Group's clarification.
35315         Suggested by Eric Blake.
35316
35317 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
35318
35319         mktime.m4: remove K&R-style function prototypes
35320         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
35321         for the Sun C++ compiler.
35322
35323 2009-01-14  Bruno Haible  <bruno@clisp.org>
35324
35325         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
35326         while including <wchar.h>.
35327         * lib/wchar.in.h: In two particular situations on HP-UX, include only
35328         the system's <wchar.h> file.
35329         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35330
35331 2009-01-14  Bruno Haible  <bruno@clisp.org>
35332
35333         * m4/csharp.m4: Don't mention gettext on the serial number line.
35334         * m4/csharpexec.m4: Likewise.
35335         * m4/eaccess.m4: Likewise.
35336         * m4/javaexec.m4: Likewise.
35337         * m4/sig_atomic_t.m4: Likewise.
35338         * m4/tmpdir.m4: Likewise.
35339         * m4/intldir.m4: Bump gettext version.
35340         * m4/lib-ld.m4: Likewise.
35341
35342 2009-01-14  Bruno Haible  <bruno@clisp.org>
35343
35344         * lib/progname.c (set_program_name): Add more comments.
35345         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
35346
35347 2009-01-14  Simon Josefsson  <simon@josefsson.org>
35348
35349         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
35350         were sys/stat.h does not define it.
35351
35352 2009-01-14  Jim Meyering  <meyering@redhat.com>
35353
35354         many *.m4 files: improve m4 quoting
35355         99% of this change was performed by running the following commands:
35356         git ls-files | grep '\.m4$' | xargs perl -pi \
35357           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
35358           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35359           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35360           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
35361         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
35362         The remainder were to add Copyright dates, increment serial numbers,
35363         undo some changes in comments, exclude m4/intl.m4, and add quotes
35364         around the "1" in ",1" where the unusual spacing prohibited the
35365         above regexps from doing the job.  For more details, see
35366         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
35367         * m4/acl.m4: Modified.
35368         * m4/afs.m4: Likewise.
35369         * m4/alloca.m4: Likewise.
35370         * m4/argp.m4: Likewise.
35371         * m4/argz.m4: Likewise.
35372         * m4/atexit.m4: Likewise.
35373         * m4/bison-i18n.m4: Likewise.
35374         * m4/bison.m4: Likewise.
35375         * m4/byteswap.m4: Likewise.
35376         * m4/c-stack.m4: Likewise.
35377         * m4/c-strtod.m4: Likewise.
35378         * m4/calloc.m4: Likewise.
35379         * m4/canonicalize-lgpl.m4: Likewise.
35380         * m4/chown.m4: Likewise.
35381         * m4/clock_time.m4: Likewise.
35382         * m4/codeset.m4: Likewise.
35383         * m4/copy-file.m4: Likewise.
35384         * m4/csharp.m4: Likewise.
35385         * m4/csharpcomp.m4: Likewise.
35386         * m4/csharpexec.m4: Likewise.
35387         * m4/d-ino.m4: Likewise.
35388         * m4/d-type.m4: Likewise.
35389         * m4/dirfd.m4: Likewise.
35390         * m4/double-slash-root.m4: Likewise.
35391         * m4/eaccess.m4: Likewise.
35392         * m4/eealloc.m4: Likewise.
35393         * m4/environ.m4: Likewise.
35394         * m4/errno_h.m4: Likewise.
35395         * m4/euidaccess.m4: Likewise.
35396         * m4/execute.m4: Likewise.
35397         * m4/fatal-signal.m4: Likewise.
35398         * m4/fchdir.m4: Likewise.
35399         * m4/fcntl_h.m4: Likewise.
35400         * m4/fileblocks.m4: Likewise.
35401         * m4/filenamecat.m4: Likewise.
35402         * m4/findprog.m4: Likewise.
35403         * m4/flexmember.m4: Likewise.
35404         * m4/fnmatch.m4: Likewise.
35405         * m4/fopen.m4: Likewise.
35406         * m4/fpending.m4: Likewise.
35407         * m4/fprintf-posix.m4: Likewise.
35408         * m4/free.m4: Likewise.
35409         * m4/frexp.m4: Likewise.
35410         * m4/frexpl.m4: Likewise.
35411         * m4/fsusage.m4: Likewise.
35412         * m4/ftruncate.m4: Likewise.
35413         * m4/gc-camellia.m4: Likewise.
35414         * m4/gc-random.m4: Likewise.
35415         * m4/gc.m4: Likewise.
35416         * m4/getaddrinfo.m4: Likewise.
35417         * m4/getcwd-abort-bug.m4: Likewise.
35418         * m4/getcwd-path-max.m4: Likewise.
35419         * m4/getdate.m4: Likewise.
35420         * m4/getdomainname.m4: Likewise.
35421         * m4/getgroups.m4: Likewise.
35422         * m4/gethostname.m4: Likewise.
35423         * m4/gethrxtime.m4: Likewise.
35424         * m4/getline.m4: Likewise.
35425         * m4/getloadavg.m4: Likewise.
35426         * m4/getndelim2.m4: Likewise.
35427         * m4/getpass.m4: Likewise.
35428         * m4/gettext.m4: Likewise.
35429         * m4/gettime.m4: Likewise.
35430         * m4/gettimeofday.m4: Likewise.
35431         * m4/gnulib-common.m4: Likewise.
35432         * m4/group-member.m4: Likewise.
35433         * m4/host-os.m4: Likewise.
35434         * m4/iconv.m4: Likewise.
35435         * m4/iconv_open.m4: Likewise.
35436         * m4/inet_ntop.m4: Likewise.
35437         * m4/inet_pton.m4: Likewise.
35438         * m4/inline.m4: Likewise.
35439         * m4/intldir.m4: Likewise.
35440         * m4/intlmacosx.m4: Likewise.
35441         * m4/intmax.m4: Likewise.
35442         * m4/intmax_t.m4: Likewise.
35443         * m4/inttypes.m4: Likewise.
35444         * m4/inttypes_h.m4: Likewise.
35445         * m4/inttypes-pri.m4: Likewise.
35446         * m4/isapipe.m4: Likewise.
35447         * m4/isnand.m4: Likewise.
35448         * m4/isnanf.m4: Likewise.
35449         * m4/isnanl.m4: Likewise.
35450         * m4/javacomp.m4: Likewise.
35451         * m4/javaexec.m4: Likewise.
35452         * m4/jm-winsz1.m4: Likewise.
35453         * m4/jm-winsz2.m4: Likewise.
35454         * m4/lchown.m4: Likewise.
35455         * m4/lcmessage.m4: Likewise.
35456         * m4/ldexpl.m4: Likewise.
35457         * m4/lib-ld.m4: Likewise.
35458         * m4/lib-link.m4: Likewise.
35459         * m4/libsigsegv.m4: Likewise.
35460         * m4/link-follow.m4: Likewise.
35461         * m4/localcharset.m4: Likewise.
35462         * m4/locale-fr.m4: Likewise.
35463         * m4/locale-ja.m4: Likewise.
35464         * m4/locale-tr.m4: Likewise.
35465         * m4/locale-zh.m4: Likewise.
35466         * m4/lock.m4: Likewise.
35467         * m4/longlong.m4: Likewise.
35468         * m4/ls-mntd-fs.m4: Likewise.
35469         * m4/lstat.m4: Likewise.
35470         * m4/malloc.m4: Likewise.
35471         * m4/mathl.m4: Likewise.
35472         * m4/mbrtowc.m4: Likewise.
35473         * m4/mbstate_t.m4: Likewise.
35474         * m4/mbswidth.m4: Likewise.
35475         * m4/memchr.m4: Likewise.
35476         * m4/memcmp.m4: Likewise.
35477         * m4/memcpy.m4: Likewise.
35478         * m4/memmem.m4: Likewise.
35479         * m4/memmove.m4: Likewise.
35480         * m4/mempcpy.m4: Likewise.
35481         * m4/memrchr.m4: Likewise.
35482         * m4/memset.m4: Likewise.
35483         * m4/minmax.m4: Likewise.
35484         * m4/mkdir-slash.m4: Likewise.
35485         * m4/mkdtemp.m4: Likewise.
35486         * m4/mktime.m4: Likewise.
35487         * m4/mmap-anon.m4: Likewise.
35488         * m4/mountlist.m4: Likewise.
35489         * m4/nanosleep.m4: Likewise.
35490         * m4/nls.m4: Likewise.
35491         * m4/nocrash.m4: Likewise.
35492         * m4/open.m4: Likewise.
35493         * m4/openat.m4: Likewise.
35494         * m4/openmp.m4: Likewise.
35495         * m4/pathmax.m4: Likewise.
35496         * m4/perl.m4: Likewise.
35497         * m4/physmem.m4: Likewise.
35498         * m4/pipe.m4: Likewise.
35499         * m4/po.m4: Likewise.
35500         * m4/poll.m4: Likewise.
35501         * m4/posixtm.m4: Likewise.
35502         * m4/posixver.m4: Likewise.
35503         * m4/printf-frexp.m4: Likewise.
35504         * m4/printf-frexpl.m4: Likewise.
35505         * m4/printf-posix.m4: Likewise.
35506         * m4/printf-posix-rpl.m4: Likewise.
35507         * m4/printf.m4: Likewise.
35508         * m4/progtest.m4: Likewise.
35509         * m4/putenv.m4: Likewise.
35510         * m4/readline.m4: Likewise.
35511         * m4/readlink.m4: Likewise.
35512         * m4/readutmp.m4: Likewise.
35513         * m4/realloc.m4: Likewise.
35514         * m4/regex.m4: Likewise.
35515         * m4/relocatable.m4: Likewise.
35516         * m4/relocatable-lib.m4: Likewise.
35517         * m4/rename-dest-slash.m4: Likewise.
35518         * m4/rename.m4: Likewise.
35519         * m4/rmdir-errno.m4: Likewise.
35520         * m4/rmdir.m4: Likewise.
35521         * m4/roundf.m4: Likewise.
35522         * m4/roundl.m4: Likewise.
35523         * m4/rpmatch.m4: Likewise.
35524         * m4/save-cwd.m4: Likewise.
35525         * m4/selinux-selinux-h.m4: Likewise.
35526         * m4/setenv.m4: Likewise.
35527         * m4/settime.m4: Likewise.
35528         * m4/sig2str.m4: Likewise.
35529         * m4/sig_atomic_t.m4: Likewise.
35530         * m4/signalblocking.m4: Likewise.
35531         * m4/signbit.m4: Likewise.
35532         * m4/sigpipe.m4: Likewise.
35533         * m4/sockets.m4: Likewise.
35534         * m4/sockpfaf.m4: Likewise.
35535         * m4/st_dm_mode.m4: Likewise.
35536         * m4/stat-time.m4: Likewise.
35537         * m4/stdbool.m4: Likewise.
35538         * m4/stdint.m4: Likewise.
35539         * m4/stdint_h.m4: Likewise.
35540         * m4/stpcpy.m4: Likewise.
35541         * m4/stpncpy.m4: Likewise.
35542         * m4/strcase.m4: Likewise.
35543         * m4/strchrnul.m4: Likewise.
35544         * m4/strcspn.m4: Likewise.
35545         * m4/strdup.m4: Likewise.
35546         * m4/strftime.m4: Likewise.
35547         * m4/strndup.m4: Likewise.
35548         * m4/strnlen.m4: Likewise.
35549         * m4/strpbrk.m4: Likewise.
35550         * m4/strptime.m4: Likewise.
35551         * m4/strsep.m4: Likewise.
35552         * m4/strtod.m4: Likewise.
35553         * m4/strtoimax.m4: Likewise.
35554         * m4/strtok_r.m4: Likewise.
35555         * m4/strtol.m4: Likewise.
35556         * m4/strtoll.m4: Likewise.
35557         * m4/strtoul.m4: Likewise.
35558         * m4/strtoull.m4: Likewise.
35559         * m4/strtoumax.m4: Likewise.
35560         * m4/strverscmp.m4: Likewise.
35561         * m4/threadlib.m4: Likewise.
35562         * m4/timegm.m4: Likewise.
35563         * m4/tm_gmtoff.m4: Likewise.
35564         * m4/tmpdir.m4: Likewise.
35565         * m4/tmpfile.m4: Likewise.
35566         * m4/tzset.m4: Likewise.
35567         * m4/uintmax_t.m4: Likewise.
35568         * m4/unlinkdir.m4: Likewise.
35569         * m4/unlocked-io.m4: Likewise.
35570         * m4/uptime.m4: Likewise.
35571         * m4/userspec.m4: Likewise.
35572         * m4/utimbuf.m4: Likewise.
35573         * m4/utime.m4: Likewise.
35574         * m4/utimes-null.m4: Likewise.
35575         * m4/utimes.m4: Likewise.
35576         * m4/vararrays.m4: Likewise.
35577         * m4/vasnprintf.m4: Likewise.
35578         * m4/vfprintf-posix.m4: Likewise.
35579         * m4/vprintf-posix.m4: Likewise.
35580         * m4/wait-process.m4: Likewise.
35581         * m4/wchar_t.m4: Likewise.
35582         * m4/wint_t.m4: Likewise.
35583         * m4/write-any-file.m4: Likewise.
35584         * m4/yield.m4: Likewise.
35585
35586 2009-01-13  Bruno Haible  <bruno@clisp.org>
35587
35588         Avoid test-copy-file.sh failures when ACL support insufficient.
35589         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
35590         TESTS_ENVIRONMENT.
35591         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
35592         Reported by Jim Meyering.
35593
35594 2009-01-13  Bruno Haible  <bruno@clisp.org>
35595
35596         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
35597         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
35598         * modules/unistdio/u8-printf-parse (Files): Likewise.
35599         * modules/unistdio/u32-printf-parse (Files): Likewise.
35600         * modules/unistdio/ulc-printf-parse (Files): Likewise.
35601
35602 2009-01-13  Simon Josefsson  <simon@josefsson.org>
35603
35604         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
35605         and m4/inttypes_h.m4 too.
35606
35607 2009-01-12  Eric Blake  <ebb9@byu.net>
35608
35609         tests: IRIX 6.2 cc can't compile -0.0 into .data
35610         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
35611         rather than at compile-time.
35612         * tests/test-floorl.c (minus_zero): Likewise.
35613         * tests/test-frexpl.c (minus_zero): Likewise.
35614         * tests/test-isnan.c (minus_zerol): Likewise.
35615         * tests/test-isnanl.h (minus_zero): Likewise.
35616         * tests/test-ldexpl.c (minus_zero): Likewise.
35617         * tests/test-roundl.c (minus_zero): Likewise.
35618         * tests/test-signbit.c (minus_zerol): Likewise.
35619         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
35620         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
35621         * tests/test-truncl.c (minus_zero): Likewise.
35622         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
35623         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
35624         Reported by Tom G. Christensen and Nelson H. F. Beebe.
35625
35626 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35627
35628         regex: fix glibc bug 9697
35629         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
35630         handling.
35631
35632 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35633
35634         regex: fix glibc bug 697
35635         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
35636         being NULL also if there are no backreferences.
35637
35638 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35639
35640         regex: merge glibc changes
35641         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
35642         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
35643         re_string_skip_chars, re_string_reconstruct): Likewise.
35644         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
35645
35646 2009-01-07  Jim Meyering  <meyering@redhat.com>
35647
35648         poll: filter through cppi
35649         * lib/poll.c: Indent cpp directives to reflect nesting.
35650
35651 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
35652
35653         poll: don't return uninitialized
35654         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
35655
35656 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
35657
35658         avoid compile failure on AIX 6.1
35659         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
35660         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
35661
35662 2009-01-04  Jim Meyering  <meyering@redhat.com>
35663
35664         remove duplicate inclusion of <stdio.h>
35665         * tests/test-fprintf-posix.c: Likewise.
35666         * tests/test-printf-posix.c: Likewise.
35667         * tests/test-snprintf-posix.c: Likewise.
35668         * tests/test-sprintf-posix.c: Likewise.
35669         * tests/test-vasprintf-posix.c: Likewise.
35670         * tests/test-vfprintf-posix.c: Likewise.
35671         * tests/test-vprintf-posix.c: Likewise.
35672         * tests/test-vsnprintf-posix.c: Likewise.
35673         * tests/test-vsprintf-posix.c: Likewise.
35674
35675 2009-01-03  Jim Meyering  <meyering@redhat.com>
35676
35677         gnulib-tool: fix sed-based filtering
35678         * gnulib-tool (func_filter_filelist): Remove extra backslash
35679         in sed_fff_filter definition.
35680
35681 2009-01-02  Jim Meyering  <meyering@redhat.com>
35682
35683         strftime: avoid compilation failure on Solaris 2.6
35684         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
35685         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
35686         Don't #define mbrlen or mbsinit, since now they're guaranteed to
35687         be available.  Reported by Tom G. Christensen.  Details in
35688         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
35689
35690 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35691             Bruno Haible  <bruno@clisp.org>
35692
35693         Speed up gnulib-tool by doing more string processing through shell
35694         built-ins.
35695         * gnulib-tool (fast_func_append): New variable.
35696         (func_remove_prefix, func_remove_suffix): New functions.
35697         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
35698         (func_filter_filelist): New function.
35699         (func_get_dependencies): Use func_remove_suffix instead of sed.
35700         (func_get_automake_snippet): Use func_filter_filelist instead of a
35701         subshell and sed invocation.
35702
35703 2009-01-01  Bruno Haible  <bruno@clisp.org>
35704
35705         Fix a security bug.
35706         * gnulib-tool (func_import, import, update): Don't allow the characters
35707         '"', '$', '`', '\' in macro arguments that become part of commands that
35708         are evaluated.
35709
35710 2009-01-01  Bruno Haible  <bruno@clisp.org>
35711
35712         * gnulib-tool (func_reset_sigpipe): Add more comments.
35713
35714 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35715
35716         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
35717         func_emit_tests_Makefile_am, func_import): Abort loops early if we
35718         already know the answer.
35719
35720 2009-01-01  Jim Meyering  <meyering@redhat.com>
35721
35722         * lib/version-etc.c (version_etc_va): Update copyright year.
35723
35724 2008-12-30  Bruno Haible  <bruno@clisp.org>
35725
35726         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
35727         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
35728         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
35729
35730 2008-12-29  Eric Blake  <ebb9@byu.net>
35731
35732         multiarch: avoid autoconf AC_REQUIRE bug
35733         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
35734         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
35735         2.63 and older.
35736         Reported by Bruno Haible, and analyzed in
35737         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
35738
35739 2008-12-29  Bruno Haible  <bruno@clisp.org>
35740
35741         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
35742         files in subdirectories correctly.
35743         Reported by Ralf Wildenhues.
35744
35745 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35746
35747         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
35748         rather than 'join FILE -', for Solaris join.
35749
35750 2008-12-29  Bruno Haible  <bruno@clisp.org>
35751
35752         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
35753         quoting.
35754         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
35755         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
35756         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
35757         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
35758         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
35759         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
35760         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
35761         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
35762         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
35763         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
35764         * m4/nls.m4 (AM_NLS): Likewise.
35765         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
35766         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
35767         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
35768         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
35769         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
35770         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
35771         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
35772         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
35773         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
35774         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
35775         * m4/xsize.m4 (gl_XSIZE): Likewise.
35776         Suggested by Jim Meyering.
35777
35778 2008-11-17  Bruce Korb  <bkorb@gnu.org>
35779
35780         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
35781         * lib/parse-duration.c: use a switch instead of cascading if's.
35782
35783 2008-12-29  Eric Blake  <ebb9@byu.net>
35784
35785         wchar.h: supply WEOF on Irix 5.3
35786         * lib/wchar.in.h (wint_t): Also supply WEOF.
35787         * lib/wctype.in.h (wint_t): Likewise.
35788         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
35789         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
35790         Reported by Tom G. Christensen.
35791
35792 2008-12-26  Bruno Haible  <bruno@clisp.org>
35793
35794         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
35795         i486, i586, i686.
35796
35797 2008-12-26  Bruno Haible  <bruno@clisp.org>
35798
35799         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
35800
35801 2008-12-26  Bruno Haible  <bruno@clisp.org>
35802
35803         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
35804         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
35805         not __STDC_CONSTANT_MACROS.
35806         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35807
35808 2008-12-25  Bruno Haible  <bruno@clisp.org>
35809
35810         Add support for universal builds to vasnprintf.
35811         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
35812         universal builds, guess no.
35813         * modules/vasnprintf-posix (Depends-on): Add multiarch.
35814         * modules/vasprintf-posix (Depends-on): Likewise.
35815         * modules/fprintf-posix (Depends-on): Likewise.
35816         * modules/vfprintf-posix (Depends-on): Likewise.
35817         * modules/snprintf-posix (Depends-on): Likewise.
35818         * modules/vsnprintf-posix (Depends-on): Likewise.
35819         * modules/sprintf-posix (Depends-on): Likewise.
35820         * modules/vsprintf-posix (Depends-on): Likewise.
35821         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35822         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35823         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35824         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35825         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35826         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35827         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35828
35829         Add support for universal builds to <inttypes.h>.
35830         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
35831         _SCNu64_PREFIX): In Apple
35832         universal builds, define directly, using _LP64.
35833         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
35834         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
35835         * modules/inttypes (Depends-on): Add multiarch.
35836         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35837
35838         Add support for universal builds to <stdint.h>.
35839         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
35840         universal builds, define directly, using _LP64.
35841         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
35842         Apple universal builds, don't test for the size and suffix of ptrdiff_t
35843         and size_t.
35844         * modules/stdint (Depends-on): Add multiarch.
35845         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35846
35847         New module 'multiarch'.
35848         * modules/multiarch: New file.
35849         * m4/multiarch.m4: New file.
35850
35851 2008-12-25  Bruno Haible  <bruno@clisp.org>
35852
35853         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
35854
35855 2008-12-25  Bruno Haible  <bruno@clisp.org>
35856
35857         * modules/btowc (License): Relicense under LGPLv2+.
35858         * modules/mbsinit (License): Likewise.
35859         * modules/mbrtowc (License): Likewise.
35860         * modules/wcrtomb (License): Likewise.
35861         * modules/streq (License): Likewise.
35862         Reported by David Lutterkort <lutter@redhat.com>.
35863
35864 2008-12-23  Bruno Haible  <bruno@clisp.org>
35865
35866         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
35867
35868 2008-12-23  Bruno Haible  <bruno@clisp.org>
35869
35870         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
35871         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
35872         GETADDRINFO_LIB, not in LIBS.
35873         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
35874         * modules/canon-host (Link): Likewise.
35875         * NEWS: Mention the change.
35876         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
35877         GETADDRINFO_LIB.
35878
35879 2008-12-22  Bruno Haible  <bruno@clisp.org>
35880
35881         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
35882         * doc/posix-functions/iswalpha_l.texi: Likewise.
35883         * doc/posix-functions/iswblank_l.texi: Likewise.
35884         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35885         * doc/posix-functions/iswctype_l.texi: Likewise.
35886         * doc/posix-functions/iswdigit_l.texi: Likewise.
35887         * doc/posix-functions/iswgraph_l.texi: Likewise.
35888         * doc/posix-functions/iswlower_l.texi: Likewise.
35889         * doc/posix-functions/iswprint_l.texi: Likewise.
35890         * doc/posix-functions/iswpunct_l.texi: Likewise.
35891         * doc/posix-functions/iswspace_l.texi: Likewise.
35892         * doc/posix-functions/iswupper_l.texi: Likewise.
35893         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35894         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
35895         * doc/posix-functions/open_wmemstream.texi: Likewise.
35896         * doc/posix-functions/swscanf.texi: Likewise.
35897         * doc/posix-functions/towctrans_l.texi: Likewise.
35898         * doc/posix-functions/towlower.texi: Likewise.
35899         * doc/posix-functions/towlower_l.texi: Likewise.
35900         * doc/posix-functions/towupper.texi: Likewise.
35901         * doc/posix-functions/towupper_l.texi: Likewise.
35902         * doc/posix-functions/vfwprintf.texi: Likewise.
35903         * doc/posix-functions/vfwscanf.texi: Likewise.
35904         * doc/posix-functions/vswscanf.texi: Likewise.
35905         * doc/posix-functions/vwprintf.texi: Likewise.
35906         * doc/posix-functions/vwscanf.texi: Likewise.
35907         * doc/posix-functions/wcpcpy.texi: Likewise.
35908         * doc/posix-functions/wcpncpy.texi: Likewise.
35909         * doc/posix-functions/wcscasecmp.texi: Likewise.
35910         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
35911         * doc/posix-functions/wcscoll_l.texi: Likewise.
35912         * doc/posix-functions/wcsdup.texi: Likewise.
35913         * doc/posix-functions/wcsncasecmp.texi: Likewise.
35914         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
35915         * doc/posix-functions/wcsnlen.texi: Likewise.
35916         * doc/posix-functions/wcsnrtombs.texi: Likewise.
35917         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35918         * doc/posix-functions/wctrans_l.texi: Likewise.
35919         * doc/posix-functions/wctype_l.texi: Likewise.
35920         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
35921         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
35922         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
35923         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
35924         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
35925         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
35926         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
35927         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
35928         * doc/glibc-functions/wcschrnul.texi: Likewise.
35929         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35930         * doc/glibc-functions/wcstod_l.texi: Likewise.
35931         * doc/glibc-functions/wcstof_l.texi: Likewise.
35932         * doc/glibc-functions/wcstol_l.texi: Likewise.
35933         * doc/glibc-functions/wcstold_l.texi: Likewise.
35934         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35935         * doc/glibc-functions/wcstoq.texi: Likewise.
35936         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35937         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35938         * doc/glibc-functions/wcstouq.texi: Likewise.
35939         * doc/glibc-functions/wmempcpy.texi: Likewise.
35940
35941 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
35942             Eric Blake  <ebb9@byu.net>
35943             Paolo Bonzini  <bonzini@gnu.org>
35944             Bruno Haible  <bruno@clisp.org>
35945
35946         Make c-stack work on Haiku.
35947         * lib/c-stack.c (SA_ONSTACK): Define fallback.
35948         (c_stack_action): Use SA_ONSTACK flag.
35949
35950 2008-12-22  Bruno Haible  <bruno@clisp.org>
35951
35952         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
35953
35954 2008-12-22  Bruno Haible  <bruno@clisp.org>
35955
35956         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
35957         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
35958         being overridden.
35959         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
35960         New macros.
35961         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
35962         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
35963         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
35964         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
35965
35966 2008-12-22  Bruno Haible  <bruno@clisp.org>
35967
35968         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
35969         from test code.
35970
35971 2008-12-22  Eric Blake  <ebb9@byu.net>
35972
35973         Avoid gcc warnings on cygwin.
35974         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
35975         Avoid unused variable.
35976         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
35977         Likewise.
35978
35979 2008-12-22  Bruno Haible  <bruno@clisp.org>
35980
35981         Remove HAVE_MBRTOWC conditionals.
35982         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
35983         (mbscasecmp): Assume mbrtowc function.
35984         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
35985         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
35986         * lib/mbschr.c: Include mbuiter.h unconditionally.
35987         (mbschr): Assume mbrtowc function.
35988         * lib/mbscspn.c: Include mbuiter.h unconditionally.
35989         (mbscspn): Assume mbrtowc function.
35990         * lib/mbslen.c: Include mbuiter.h unconditionally.
35991         (mbslen): Assume mbrtowc function.
35992         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
35993         (mbsncasecmp): Assume mbrtowc function.
35994         * lib/mbsnlen.c: Include mbiter.h unconditionally.
35995         (mbsnlen): Assume mbrtowc function.
35996         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
35997         (mbspbrk): Assume mbrtowc function.
35998         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
35999         (mbspcasecmp): Assume mbrtowc function.
36000         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
36001         (mbsrchr): Assume mbrtowc function.
36002         * lib/mbssep.c: Include mbuiter.h unconditionally.
36003         (mbssep): Assume mbrtowc function.
36004         * lib/mbsspn.c: Include mbuiter.h unconditionally.
36005         (mbsspn): Assume mbrtowc function.
36006         * lib/mbsstr.c: Include mbuiter.h unconditionally.
36007         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
36008         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
36009         (mbstok_r): Assume mbrtowc function.
36010         * lib/propername.c: Include mbuiter.h unconditionally.
36011         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
36012         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
36013         (trim2): Assume mbrtowc function.
36014         * lib/mbswidth.c (mbsinit): Remove fallback definition.
36015         (mbsnwidth): Assume mbrtowc function.
36016         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
36017         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
36018         fallback definitions.
36019         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
36020
36021 2008-12-22  Bruno Haible  <bruno@clisp.org>
36022
36023         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
36024
36025 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
36026
36027         * modules/regex: Request emulations for the mb*/wc* functions we need.
36028         * m4/regex.m4: Don't look for those functions here.
36029         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
36030
36031 2008-12-22  Bruno Haible  <bruno@clisp.org>
36032
36033         * modules/fnmatch (Depends-on): Remove duplicated dependency.
36034
36035 2008-12-21  Bruno Haible  <bruno@clisp.org>
36036
36037         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
36038         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
36039         (Include): Remove conditionalization.
36040         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
36041         (Include): Remove conditionalization.
36042         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
36043         (Include): Remove conditionalization.
36044         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
36045         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36046         * NEWS: Mention the change.
36047         Reported by Alan Hourihane <alanh@fairlite.co.uk>
36048         via Sergey Poznyakoff <gray@gnu.org.ua>.
36049
36050 2008-12-21  Bruno Haible  <bruno@clisp.org>
36051
36052         * MODULES.html.sh (Extended multibyte and wide character utilities
36053         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
36054         wcrtomb, wcsrtombs.
36055         (Support for systems lacking POSIX:2008): Add accept, bind, close,
36056         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
36057         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
36058         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
36059
36060 2008-12-21  Bruno Haible  <bruno@clisp.org>
36061
36062         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
36063
36064 2008-12-21  Bruno Haible  <bruno@clisp.org>
36065
36066         * modules/wcsnrtombs-tests: New file.
36067         * tests/test-wcsnrtombs1.sh: New file.
36068         * tests/test-wcsnrtombs2.sh: New file.
36069         * tests/test-wcsnrtombs3.sh: New file.
36070         * tests/test-wcsnrtombs4.sh: New file.
36071         * tests/test-wcsnrtombs.c: New file.
36072
36073         New module 'wcsnrtombs'.
36074         * lib/wchar.in.h (wcsnrtombs): New declaration.
36075         * lib/wcsnrtombs.c: New file.
36076         * lib/wcsrtombs-state.c: New file.
36077         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
36078         (internal_state): Remove variable.
36079         * m4/wcsnrtombs.m4: New file.
36080         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
36081         compilation units.
36082         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
36083         HAVE_WCSNRTOMBS.
36084         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
36085         HAVE_WCSNRTOMBS.
36086         * modules/wcsnrtombs: New file.
36087         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
36088         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
36089
36090 2008-12-21  Bruno Haible  <bruno@clisp.org>
36091
36092         * modules/wcsrtombs-tests: New file.
36093         * tests/test-wcsrtombs1.sh: New file.
36094         * tests/test-wcsrtombs2.sh: New file.
36095         * tests/test-wcsrtombs3.sh: New file.
36096         * tests/test-wcsrtombs4.sh: New file.
36097         * tests/test-wcsrtombs.c: New file.
36098
36099         New module 'wcsrtombs'.
36100         * lib/wchar.in.h (wcsrtombs): New declaration.
36101         * lib/wcsrtombs.c: New file.
36102         * m4/wcsrtombs.m4: New file.
36103         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
36104         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
36105         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
36106         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
36107         * modules/wcsrtombs: New file.
36108         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
36109         bugs.
36110
36111 2008-12-21  Bruno Haible  <bruno@clisp.org>
36112
36113         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
36114         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
36115         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
36116         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
36117         if not correct.
36118         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
36119         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
36120         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36121         m4/locale-zh.m4, m4/codeset.m4.
36122         * doc/posix-functions/wcrtomb.texi: Document the bug.
36123
36124 2008-12-21  Bruno Haible  <bruno@clisp.org>
36125
36126         Work around a btowc() bug on IRIX 6.5.
36127         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
36128         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
36129         REPLACE_WTOBC if not.
36130         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
36131         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
36132         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
36133
36134 2008-12-21  Bruno Haible  <bruno@clisp.org>
36135
36136         * modules/wcrtomb-tests: New file.
36137         * tests/test-wcrtomb.sh: New file.
36138         * tests/test-wcrtomb.c: New file.
36139
36140         New module 'wcrtomb'.
36141         * lib/wchar.in.h (wcrtomb): New declaration.
36142         * lib/wcrtomb.c: New file.
36143         * m4/wcrtomb.m4: New file.
36144         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
36145         HAVE_WCRTOMB.
36146         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
36147         HAVE_WCRTOMB.
36148         * modules/wcrtomb: New file.
36149         * doc/posix-functions/wcrtomb.texi: Mention the new module.
36150
36151 2008-12-21  Bruno Haible  <bruno@clisp.org>
36152
36153         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
36154         * modules/mbsrtowcs (Files): Likewise.
36155         * modules/wctob (Files): Likewise.
36156         * modules/c-strcase-tests (Files): Likewise.
36157         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36158         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36159         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36160         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36161         * modules/vasnprintf-posix-tests (Files): Likewise.
36162
36163 2008-12-21  William Pursell  <bill.pursell@gmail.com>
36164
36165         gitlog-to-changelog: pass all command-line arguments to git-log
36166         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
36167         it is sometimes convenient to filter the commits in various ways.
36168         gitlog-to-changelog only allows --since to specify a start date,
36169         but git-log itself supports many other filtering mechanisms.
36170         At the moment, I want to filter by branch name.  Rather than
36171         adding a --branch option to gitlog-to-changelog, it seems more
36172         flexible to simply pass all options directly to git-log and let
36173         git do the work.  Notice that this effectively makes --since a
36174         redundant option for gitlog-to-changelog, but removing it would
36175         require current usage to change since calls would then require
36176         an additional '--'.
36177
36178 2008-12-21  Bruno Haible  <bruno@clisp.org>
36179
36180         * modules/mbsnrtowcs-tests: New file.
36181         * tests/test-mbsnrtowcs1.sh: New file.
36182         * tests/test-mbsnrtowcs2.sh: New file.
36183         * tests/test-mbsnrtowcs3.sh: New file.
36184         * tests/test-mbsnrtowcs4.sh: New file.
36185         * tests/test-mbsnrtowcs.c: New file.
36186
36187         New module 'mbsnrtowcs'.
36188         * lib/wchar.in.h (mbsnrtowcs): New declaration.
36189         * lib/mbsnrtowcs.c: New file.
36190         * lib/mbsrtowcs-state.c: New file.
36191         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
36192         (internal_state): Remove variable.
36193         * m4/mbsnrtowcs.m4: New file.
36194         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
36195         compilation units.
36196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
36197         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36198         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
36199         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36200         * modules/mbsnrtowcs: New file.
36201         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
36202         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
36203         portability problem.
36204
36205 2008-12-21  Bruno Haible  <bruno@clisp.org>
36206
36207         Work around mbsrtowcs bug.
36208         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
36209         (gl_FUNC_MBSRTOWCS): Invoke it.
36210         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36211         m4/locale-zh.m4.
36212         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
36213
36214 2008-12-21  Bruno Haible  <bruno@clisp.org>
36215
36216         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
36217
36218 2008-12-21  Bruno Haible  <bruno@clisp.org>
36219
36220         Update doc for AIX.
36221         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
36222         16-bit wchar_t type.
36223         * doc/posix-functions/btowc.texi: Likewise.
36224         * doc/posix-functions/fgetwc.texi: Likewise.
36225         * doc/posix-functions/fgetws.texi: Likewise.
36226         * doc/posix-functions/fputwc.texi: Likewise.
36227         * doc/posix-functions/fputws.texi: Likewise.
36228         * doc/posix-functions/fwide.texi: Likewise.
36229         * doc/posix-functions/fwprintf.texi: Likewise.
36230         * doc/posix-functions/fwscanf.texi: Likewise.
36231         * doc/posix-functions/getwchar.texi: Likewise.
36232         * doc/posix-functions/getwc.texi: Likewise.
36233         * doc/posix-functions/iswalnum.texi: Likewise.
36234         * doc/posix-functions/iswalpha.texi: Likewise.
36235         * doc/posix-functions/iswblank.texi: Likewise.
36236         * doc/posix-functions/iswcntrl.texi: Likewise.
36237         * doc/posix-functions/iswctype.texi: Likewise.
36238         * doc/posix-functions/iswdigit.texi: Likewise.
36239         * doc/posix-functions/iswgraph.texi: Likewise.
36240         * doc/posix-functions/iswlower.texi: Likewise.
36241         * doc/posix-functions/iswprint.texi: Likewise.
36242         * doc/posix-functions/iswpunct.texi: Likewise.
36243         * doc/posix-functions/iswspace.texi: Likewise.
36244         * doc/posix-functions/iswupper.texi: Likewise.
36245         * doc/posix-functions/iswxdigit.texi: Likewise.
36246         * doc/posix-functions/mbrtowc.texi: Likewise.
36247         * doc/posix-functions/mbsrtowcs.texi: Likewise.
36248         * doc/posix-functions/mbstowcs.texi: Likewise.
36249         * doc/posix-functions/mbtowc.texi: Likewise.
36250         * doc/posix-functions/putwchar.texi: Likewise.
36251         * doc/posix-functions/putwc.texi: Likewise.
36252         * doc/posix-functions/swprintf.texi: Likewise.
36253         * doc/posix-functions/tolower.texi: Likewise.
36254         * doc/posix-functions/toupper.texi: Likewise.
36255         * doc/posix-functions/towctrans.texi: Likewise.
36256         * doc/posix-functions/ungetwc.texi: Likewise.
36257         * doc/posix-functions/vswprintf.texi: Likewise.
36258         * doc/posix-functions/wcrtomb.texi: Likewise.
36259         * doc/posix-functions/wcscat.texi: Likewise.
36260         * doc/posix-functions/wcschr.texi: Likewise.
36261         * doc/posix-functions/wcscmp.texi: Likewise.
36262         * doc/posix-functions/wcscoll.texi: Likewise.
36263         * doc/posix-functions/wcscpy.texi: Likewise.
36264         * doc/posix-functions/wcscspn.texi: Likewise.
36265         * doc/posix-functions/wcsftime.texi: Likewise.
36266         * doc/posix-functions/wcslen.texi: Likewise.
36267         * doc/posix-functions/wcsncat.texi: Likewise.
36268         * doc/posix-functions/wcsncmp.texi: Likewise.
36269         * doc/posix-functions/wcsncpy.texi: Likewise.
36270         * doc/posix-functions/wcspbrk.texi: Likewise.
36271         * doc/posix-functions/wcsrchr.texi: Likewise.
36272         * doc/posix-functions/wcsrtombs.texi: Likewise.
36273         * doc/posix-functions/wcsspn.texi: Likewise.
36274         * doc/posix-functions/wcsstr.texi: Likewise.
36275         * doc/posix-functions/wcstod.texi: Likewise.
36276         * doc/posix-functions/wcstof.texi: Likewise.
36277         * doc/posix-functions/wcstoimax.texi: Likewise.
36278         * doc/posix-functions/wcstok.texi: Likewise.
36279         * doc/posix-functions/wcstold.texi: Likewise.
36280         * doc/posix-functions/wcstoll.texi: Likewise.
36281         * doc/posix-functions/wcstol.texi: Likewise.
36282         * doc/posix-functions/wcstombs.texi: Likewise.
36283         * doc/posix-functions/wcstoull.texi: Likewise.
36284         * doc/posix-functions/wcstoul.texi: Likewise.
36285         * doc/posix-functions/wcstoumax.texi: Likewise.
36286         * doc/posix-functions/wcswidth.texi: Likewise.
36287         * doc/posix-functions/wcsxfrm.texi: Likewise.
36288         * doc/posix-functions/wctob.texi: Likewise.
36289         * doc/posix-functions/wctomb.texi: Likewise.
36290         * doc/posix-functions/wctrans.texi: Likewise.
36291         * doc/posix-functions/wctype.texi: Likewise.
36292         * doc/posix-functions/wcwidth.texi: Likewise.
36293         * doc/posix-functions/wmemchr.texi: Likewise.
36294         * doc/posix-functions/wmemcmp.texi: Likewise.
36295         * doc/posix-functions/wmemcpy.texi: Likewise.
36296         * doc/posix-functions/wmemmove.texi: Likewise.
36297         * doc/posix-functions/wmemset.texi: Likewise.
36298         * doc/posix-functions/wprintf.texi: Likewise.
36299         * doc/posix-functions/wscanf.texi: Likewise.
36300
36301 2008-12-21  Bruno Haible  <bruno@clisp.org>
36302
36303         Update doc for HP-UX 11.11.
36304         * doc/posix-functions/btowc.texi: Clarify that the function is missing
36305         in HP-UX version 11.00, not in all versions of HP-UX 11.
36306         * doc/posix-functions/fwide.texi: Likewise.
36307         * doc/posix-functions/fwprintf.texi: Likewise.
36308         * doc/posix-functions/fwscanf.texi: Likewise.
36309         * doc/posix-functions/inet_ntop.texi: Likewise.
36310         * doc/posix-functions/inet_pton.texi: Likewise.
36311         * doc/posix-functions/mbrlen.texi: Likewise.
36312         * doc/posix-functions/mbrtowc.texi: Likewise.
36313         * doc/posix-functions/mbsinit.texi: Likewise.
36314         * doc/posix-functions/mbsrtowcs.texi: Likewise.
36315         * doc/posix-functions/swprintf.texi: Likewise.
36316         * doc/posix-functions/swscanf.texi: Likewise.
36317         * doc/posix-functions/towctrans.texi: Likewise.
36318         * doc/posix-functions/vfwprintf.texi: Likewise.
36319         * doc/posix-functions/vswprintf.texi: Likewise.
36320         * doc/posix-functions/vwprintf.texi: Likewise.
36321         * doc/posix-functions/wcrtomb.texi: Likewise.
36322         * doc/posix-functions/wcsrtombs.texi: Likewise.
36323         * doc/posix-functions/wcsstr.texi: Likewise.
36324         * doc/posix-functions/wctob.texi: Likewise.
36325         * doc/posix-functions/wctrans.texi: Likewise.
36326         * doc/posix-functions/wmemchr.texi: Likewise.
36327         * doc/posix-functions/wmemcmp.texi: Likewise.
36328         * doc/posix-functions/wmemcpy.texi: Likewise.
36329         * doc/posix-functions/wmemmove.texi: Likewise.
36330         * doc/posix-functions/wmemset.texi: Likewise.
36331         * doc/posix-functions/wprintf.texi: Likewise.
36332         * doc/posix-functions/wscanf.texi: Likewise.
36333
36334 2008-12-21  Bruno Haible  <bruno@clisp.org>
36335
36336         Work around a portability problem.
36337         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
36338         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
36339
36340 2008-12-20  Bruno Haible  <bruno@clisp.org>
36341
36342         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
36343         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
36344         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
36345         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
36346         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
36347
36348         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
36349         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
36350         set.
36351         (GNULIB_defined_mbstate_t): New macro.
36352         (mbsinit): Redefine if REPLACE_MBSINIT is set.
36353         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
36354         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
36355         reuses the system's mbrtowc function but works around the bugs.
36356         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
36357         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
36358         macros.
36359         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
36360         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
36361         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
36362         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
36363         REPLACE_MBSINIT if mbsinit needs to be overridden.
36364         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
36365         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36366         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
36367         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36368         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36369         m4/locale-zh.m4.
36370         (Depends): Add mbsinit.
36371         * modules/mbsinit (Depends): Add mbrtowc.
36372         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
36373
36374 2008-12-20  Bruno Haible  <bruno@clisp.org>
36375
36376         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
36377         so that there are no conversion errors on AIX.
36378         * tests/test-mbsrtowcs.c (main): LIkewise.
36379
36380 2008-12-20  Bruno Haible  <bruno@clisp.org>
36381
36382         Work around wctob bug on Solaris <= 9.
36383         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
36384         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
36385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
36386         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
36387         * modules/wctob (Files): Add m4/locale-fr.m4.
36388         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
36389
36390 2008-12-20  Bruno Haible  <bruno@clisp.org>
36391
36392         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
36393         /dev/null.
36394         * tests/test-select-in.sh: Likewise.
36395         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36396
36397 2008-12-20  Bruno Haible  <bruno@clisp.org>
36398
36399         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
36400         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
36401         Cygwin 1.5.x.
36402
36403 2008-12-20  Bruno Haible  <bruno@clisp.org>
36404
36405         Ensure mbstate_t is defined on HP-UX 11.11.
36406         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
36407         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
36408         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
36409         AC_USE_SYSTEM_EXTENSIONS.
36410         * modules/fnmatch (Depends-on): Add extensions.
36411         * modules/mbrlen (Depends-on): Likewise.
36412         * modules/mbrtowc (Depends-on): Likewise.
36413         * modules/mbsinit (Depends-on): Likewise.
36414         * modules/mbsrtowcs (Depends-on): Likewise.
36415         * modules/mbswidth (Depends-on): Likewise.
36416         * modules/quotearg (Depends-on): Likewise.
36417         * modules/strftime (Depends-on): Likewise.
36418
36419 2008-12-20  Bruno Haible  <bruno@clisp.org>
36420
36421         Ensure wctob is declared on IRIX 6.5.
36422         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
36423         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
36424         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
36425         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
36426         of HAVE_WCTOB.
36427         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
36428         HAVE_WCTOB.
36429         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
36430
36431 2008-12-19  Bruno Haible  <bruno@clisp.org>
36432
36433         * modules/mbsrtowcs-tests: New file.
36434         * tests/test-mbsrtowcs1.sh: New file.
36435         * tests/test-mbsrtowcs2.sh: New file.
36436         * tests/test-mbsrtowcs3.sh: New file.
36437         * tests/test-mbsrtowcs4.sh: New file.
36438         * tests/test-mbsrtowcs.c: New file.
36439
36440         New module 'mbsrtowcs'.
36441         * lib/wchar.in.h (mbsrtowcs): New declaration.
36442         * lib/mbsrtowcs.c: New file.
36443         * m4/mbsrtowcs.m4: New file.
36444         * modules/mbsrtowcs: New file.
36445         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
36446         HAVE_MBSRTOWCS.
36447         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
36448         HAVE_MBSRTOWCS.
36449         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
36450
36451 2008-12-19  Bruno Haible  <bruno@clisp.org>
36452
36453         New module 'mbrlen'.
36454         * lib/wchar.in.h (mbrlen): New declaration.
36455         * lib/mbrlen.c: New file.
36456         * m4/mbrlen.m4: New file.
36457         * modules/mbrlen: New file.
36458         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
36459         HAVE_MBRLEN.
36460         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
36461         HAVE_MBRLEN.
36462         * doc/posix-functions/mbrlen.texi: Document the new module.
36463
36464 2008-12-19  Bruno Haible  <bruno@clisp.org>
36465
36466         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
36467         * modules/mbrtowc (Depends-on): Add verify.
36468         Suggested by Paul Eggert.
36469
36470 2008-12-18  Bruno Haible  <bruno@clisp.org>
36471
36472         * modules/mbsinit-tests: New file.
36473         * tests/test-mbsinit.sh: New file.
36474         * tests/test-mbsinit.c: New file.
36475
36476 2008-12-18  Bruno Haible  <bruno@clisp.org>
36477
36478         * modules/mbrtowc-tests: New file.
36479         * tests/test-mbrtowc1.sh: New file.
36480         * tests/test-mbrtowc2.sh: New file.
36481         * tests/test-mbrtowc3.sh: New file.
36482         * tests/test-mbrtowc4.sh: New file.
36483         * tests/test-mbrtowc.c: New file.
36484
36485         New module 'mbrtowc'.
36486         * lib/wchar.in.h (mbstate_t): Override when the system does not have
36487         mbsinit and mbrtowc.
36488         (mbrtowc): New declaration.
36489         * lib/mbrtowc.c: New file.
36490         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
36491         * modules/mbrtowc: New file.
36492         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
36493         HAVE_MBRTOWC.
36494         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
36495         HAVE_MBRTOWC.
36496         * doc/posix-functions/mbrtowc.texi: Document the new module.
36497
36498 2008-12-18  Bruno Haible  <bruno@clisp.org>
36499
36500         New module 'wctob'.
36501         * lib/wchar.in.h (wctob): New declaration.
36502         * lib/wctob.c: New file.
36503         * m4/wctob.m4: New file.
36504         * modules/wctob: New file.
36505         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
36506         HAVE_WCTOB.
36507         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
36508         * doc/posix-functions/wctob.texi: Document the new module.
36509
36510 2008-12-18  Bruno Haible  <bruno@clisp.org>
36511
36512         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
36513         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
36514
36515 2008-12-18  Simon Josefsson  <simon@josefsson.org>
36516
36517         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
36518         G. Christensen" <tgc@jupiterrise.com>.
36519
36520         * lib/flock.c: Need to include errno.h.  Reported by "Tom
36521         G. Christensen" <tgc@jupiterrise.com>.
36522
36523         * lib/flock.c: Need to include string.h.  Reported by "Tom
36524         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
36525         <ebb9@byu.net>.
36526
36527 2008-12-18  Bruno Haible  <bruno@clisp.org>
36528
36529         * m4/locale-ja.m4: New file, from GNU gettext.
36530
36531 2008-12-17  Bruno Haible  <bruno@clisp.org>
36532
36533         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
36534         Suggested by Eric Blake.
36535
36536 2008-12-17  Bruno Haible  <bruno@clisp.org>
36537
36538         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
36539
36540 2008-12-17  Bruno Haible  <bruno@clisp.org>
36541
36542         * lib/mbsinit.c: Include verify.h. Verify an assumption.
36543         * modules/mbsinit (Depends-on): Add verify.
36544         Suggested by Paul Eggert.
36545
36546 2008-12-17  Bruno Haible  <bruno@clisp.org>
36547
36548         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
36549         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
36550         gl_FUNC_MBRTOWC.
36551         * m4/mbiter.m4 (gl_MBITER): LIkewise.
36552         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
36553         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
36554         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
36555         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
36556         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
36557         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
36558         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
36559         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
36560         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
36561         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
36562         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
36563         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
36564         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
36565         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
36566         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
36567         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
36568         * modules/trim (configure.ac): Likewise.
36569
36570 2008-12-17  Bruno Haible  <bruno@clisp.org>
36571
36572         * modules/btowc-tests: New file.
36573         * tests/test-btowc1.sh: New file.
36574         * tests/test-btowc2.sh: New file.
36575         * tests/test-btowc.c: New file.
36576
36577         New module 'btowc'.
36578         * lib/wchar.in.h (btowc): New declaration.
36579         * lib/btowc.c: New file.
36580         * m4/btowc.m4: New file.
36581         * modules/btowc: New file.
36582         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
36583         HAVE_BTOWC.
36584         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
36585         * doc/posix-functions/btowc.texi: Document the new module.
36586
36587 2008-12-17  Bruno Haible  <bruno@clisp.org>
36588
36589         New module 'mbsinit'.
36590         * lib/wchar.in.h (mbsinit): New declaration.
36591         * lib/mbsinit.c: New file.
36592         * m4/mbsinit.m4: New file.
36593         * modules/mbsinit: New file.
36594         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
36595         HAVE_MBSINIT.
36596         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
36597         HAVE_MBSINIT.
36598         * doc/posix-functions/mbsinit.texi: Document the new module.
36599
36600 2008-12-16  Bruno Haible  <bruno@clisp.org>
36601
36602         * lib/unistd.in.h: Add comment.
36603         * tests/test-environ.c: Don't include <stdlib.h>.
36604
36605 2008-12-16  Bruno Haible  <bruno@clisp.org>
36606
36607         * lib/parse-duration.h (parse_duration): Document return value
36608         convention.
36609         * lib/parse-duration.c: Include specification header first. Add
36610         comments.
36611         (_): Remove macro.
36612         (parse_year_month_day, parse_hour_minute_second): Move side effects
36613         outside of strchr call.
36614         (parse_non_iso8601): Move side effects outside of isspace call.
36615         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
36616         call.
36617
36618 2008-12-16  Bruno Haible  <bruno@clisp.org>
36619
36620         * tests/test-parse-duration.sh: Produce no output when the test
36621         succeeds.
36622
36623 2008-12-16  Bruno Haible  <bruno@clisp.org>
36624
36625         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
36626         expressions.
36627
36628 2008-12-15  Bruno Haible  <bruno@clisp.org>
36629
36630         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
36631         * doc/glibc-functions/flistxattr.texi: Likewise.
36632         * doc/glibc-functions/fopencookie.texi: Likewise.
36633         * doc/glibc-functions/fremovexattr.texi: Likewise.
36634         * doc/glibc-functions/fsetxattr.texi: Likewise.
36635         * doc/glibc-functions/getxattr.texi: Likewise.
36636         * doc/glibc-functions/lgetxattr.texi: Likewise.
36637         * doc/glibc-functions/listxattr.texi: Likewise.
36638         * doc/glibc-functions/llistxattr.texi: Likewise.
36639         * doc/glibc-functions/lremovexattr.texi: Likewise.
36640         * doc/glibc-functions/lsetxattr.texi: Likewise.
36641         * doc/glibc-functions/removexattr.texi: Likewise.
36642         * doc/glibc-functions/setxattr.texi: Likewise.
36643         * doc/posix-functions/open_memstream.texi: Likewise.
36644
36645 2008-12-15  Eric Blake  <ebb9@byu.net>
36646
36647         Update doc for cygwin 1.7.
36648         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
36649         functions.
36650         * doc/posix-functions/fchmodat.texi: Likewise.
36651         * doc/posix-functions/fchownat.texi: Likewise.
36652         * doc/posix-functions/fdopendir.texi: Likewise.
36653         * doc/posix-functions/fmemopen.texi: Likewise.
36654         * doc/posix-functions/freeaddrinfo.texi: Likewise.
36655         * doc/posix-functions/fstatat.texi: Likewise.
36656         * doc/posix-functions/futimens.texi: Likewise.
36657         * doc/posix-functions/gai_strerror.texi: Likewise.
36658         * doc/posix-functions/getaddrinfo.texi: Likewise.
36659         * doc/posix-functions/getnameinfo.texi: Likewise.
36660         * doc/posix-functions/if_freenameindex.texi: Likewise.
36661         * doc/posix-functions/if_indextoname.texi: Likewise.
36662         * doc/posix-functions/if_nameindex.texi: Likewise.
36663         * doc/posix-functions/if_nametoindex.texi: Likewise.
36664         * doc/posix-functions/insque.texi: Likewise.
36665         * doc/posix-functions/linkat.texi: Likewise.
36666         * doc/posix-functions/llrint.texi: Likewise.
36667         * doc/posix-functions/llrintf.texi: Likewise.
36668         * doc/posix-functions/llrintl.texi: Likewise.
36669         * doc/posix-functions/lockf.texi: Likewise.
36670         * doc/posix-functions/lrintl.texi: Likewise.
36671         * doc/posix-functions/mkdirat.texi: Likewise.
36672         * doc/posix-functions/mkfifoat.texi: Likewise.
36673         * doc/posix-functions/mknodat.texi: Likewise.
36674         * doc/posix-functions/mq_close.texi: Likewise.
36675         * doc/posix-functions/mq_getattr.texi: Likewise.
36676         * doc/posix-functions/mq_notify.texi: Likewise.
36677         * doc/posix-functions/mq_open.texi: Likewise.
36678         * doc/posix-functions/mq_receive.texi: Likewise.
36679         * doc/posix-functions/mq_send.texi: Likewise.
36680         * doc/posix-functions/mq_setattr.texi: Likewise.
36681         * doc/posix-functions/mq_timedreceive.texi: Likewise.
36682         * doc/posix-functions/mq_timedsend.texi: Likewise.
36683         * doc/posix-functions/mq_unlink.texi: Likewise.
36684         * doc/posix-functions/open_memstream.texi: Likewise.
36685         * doc/posix-functions/openat.texi: Likewise.
36686         * doc/posix-functions/posix_fadvise.texi: Likewise.
36687         * doc/posix-functions/posix_fallocate.texi: Likewise.
36688         * doc/posix-functions/posix_madvise.texi: Likewise.
36689         * doc/posix-functions/posix_memalign.texi: Likewise.
36690         * doc/posix-functions/posix_openpt.texi: Likewise.
36691         * doc/posix-functions/readlinkat.texi: Likewise.
36692         * doc/posix-functions/remque.texi: Likewise.
36693         * doc/posix-functions/renameat.texi: Likewise.
36694         * doc/posix-functions/rintl.texi: Likewise.
36695         * doc/posix-functions/sem_unlink.texi: Likewise.
36696         * doc/posix-functions/shm_open.texi: Likewise.
36697         * doc/posix-functions/shm_unlink.texi: Likewise.
36698         * doc/posix-functions/signgam.texi: Likewise.
36699         * doc/posix-functions/sigset.texi: Likewise.
36700         * doc/posix-functions/stpcpy.texi: Likewise.
36701         * doc/posix-functions/stpncpy.texi: Likewise.
36702         * doc/posix-functions/strerror.texi: Likewise.
36703         * doc/posix-functions/strtod.texi: Likewise.
36704         * doc/posix-functions/symlinkat.texi: Likewise.
36705         * doc/posix-functions/unlinkat.texi: Likewise.
36706         * doc/posix-functions/utimensat.texi: Likewise.
36707         * doc/glibc-functions/bindresvport.texi: Likewise.
36708         * doc/glibc-functions/dn_expand.texi: Likewise.
36709         * doc/glibc-functions/exp10.texi: Likewise.
36710         * doc/glibc-functions/exp10f.texi: Likewise.
36711         * doc/glibc-functions/fgetxattr.texi: Likewise.
36712         * doc/glibc-functions/flistxattr.texi: Likewise.
36713         * doc/glibc-functions/fopencookie.texi: Likewise.
36714         * doc/glibc-functions/freeifaddrs.texi: Likewise.
36715         * doc/glibc-functions/fremovexattr.texi: Likewise.
36716         * doc/glibc-functions/fsetxattr.texi: Likewise.
36717         * doc/glibc-functions/getifaddrs.texi: Likewise.
36718         * doc/glibc-functions/getxattr.texi: Likewise.
36719         * doc/glibc-functions/lgetxattr.texi: Likewise.
36720         * doc/glibc-functions/listxattr.texi: Likewise.
36721         * doc/glibc-functions/llistxattr.texi: Likewise.
36722         * doc/glibc-functions/lremovexattr.texi: Likewise.
36723         * doc/glibc-functions/lsetxattr.texi: Likewise.
36724         * doc/glibc-functions/pow10.texi: Likewise.
36725         * doc/glibc-functions/pow10f.texi: Likewise.
36726         * doc/glibc-functions/rcmd_af.texi: Likewise.
36727         * doc/glibc-functions/removexattr.texi: Likewise.
36728         * doc/glibc-functions/res_init.texi: Likewise.
36729         * doc/glibc-functions/res_mkquery.texi: Likewise.
36730         * doc/glibc-functions/res_query.texi: Likewise.
36731         * doc/glibc-functions/res_querydomain.texi: Likewise.
36732         * doc/glibc-functions/res_send.texi: Likewise.
36733         * doc/glibc-functions/rresvport_af.texi: Likewise.
36734         * doc/glibc-functions/setxattr.texi: Likewise.
36735         * doc/glibc-functions/strcasestr.texi: Likewise.
36736
36737 2008-12-15  Bruno Haible  <bruno@clisp.org>
36738
36739         Fix compilation error on OSF/1 4.0.
36740         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
36741         <sys/time.h>, simply delegate to the system header.
36742         Reported by Daniel Richard G. <oss@teragram.com>.
36743
36744 2008-12-15  Bruno Haible  <bruno@clisp.org>
36745
36746         * doc/posix-functions/openat.texi: Mention the 'openat' module.
36747         * doc/posix-functions/fchmodat.texi: Likewise.
36748         * doc/posix-functions/fchownat.texi: Likewise.
36749         * doc/posix-functions/fdopendir.texi: Likewise.
36750         * doc/posix-functions/fstatat.texi: Likewise.
36751         * doc/posix-functions/mkdirat.texi: Likewise.
36752         * doc/posix-functions/unlinkat.texi: Likewise.
36753
36754 2008-12-14  Bruno Haible  <bruno@clisp.org>
36755
36756         Update doc for POSIX:2008.
36757         * doc/posix-functions/faccessat.texi: New file.
36758         * doc/posix-functions/fchmodat.texi: New file.
36759         * doc/posix-functions/fchownat.texi: New file.
36760         * doc/posix-functions/fdopendir.texi: New file.
36761         * doc/posix-functions/fstatat.texi: New file.
36762         * doc/posix-functions/futimens.texi: New file.
36763         * doc/posix-functions/linkat.texi: New file.
36764         * doc/posix-functions/mkdirat.texi: New file.
36765         * doc/posix-functions/mkfifoat.texi: New file.
36766         * doc/posix-functions/mknodat.texi: New file.
36767         * doc/posix-functions/open_wmemstream.texi: New file.
36768         * doc/posix-functions/openat.texi: New file.
36769         * doc/posix-functions/psiginfo.texi: New file.
36770         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
36771         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
36772         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
36773         * doc/posix-functions/readlinkat.texi: New file.
36774         * doc/posix-functions/renameat.texi: New file.
36775         * doc/posix-functions/strerror_l.texi: New file.
36776         * doc/posix-functions/symlinkat.texi: New file.
36777         * doc/posix-functions/unlinkat.texi: New file.
36778         * doc/posix-functions/utimensat.texi: New file.
36779         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36780
36781 2008-12-14  Bruno Haible  <bruno@clisp.org>
36782
36783         Update doc for POSIX:2008.
36784         * doc/posix-functions/alphasort.texi: Renamed from
36785         doc/glibc-functions/alphasort.texi.
36786         * doc/posix-functions/dirfd.texi: Renamed from
36787         doc/glibc-functions/dirfd.texi.
36788         * doc/posix-functions/dprintf.texi: Renamed from
36789         doc/glibc-functions/dprintf.texi.
36790         * doc/posix-functions/duplocale.texi: Renamed from
36791         doc/glibc-functions/duplocale.texi.
36792         * doc/posix-functions/fexecve.texi: Renamed from
36793         doc/glibc-functions/fexecve.texi.
36794         * doc/posix-functions/fmemopen.texi: Renamed from
36795         doc/glibc-functions/fmemopen.texi.
36796         * doc/posix-functions/freelocale.texi: Renamed from
36797         doc/glibc-functions/freelocale.texi.
36798         * doc/posix-functions/getdate_err.texi: Renamed from
36799         doc/glibc-functions/getdate_err.texi.
36800         * doc/posix-functions/isalnum_l.texi: Renamed from
36801         doc/glibc-functions/isalnum_l.texi.
36802         * doc/posix-functions/isalpha_l.texi: Renamed from
36803         doc/glibc-functions/isalpha_l.texi.
36804         * doc/posix-functions/isblank_l.texi: Renamed from
36805         doc/glibc-functions/isblank_l.texi.
36806         * doc/posix-functions/iscntrl_l.texi: Renamed from
36807         doc/glibc-functions/iscntrl_l.texi.
36808         * doc/posix-functions/isdigit_l.texi: Renamed from
36809         doc/glibc-functions/isdigit_l.texi.
36810         * doc/posix-functions/isgraph_l.texi: Renamed from
36811         doc/glibc-functions/isgraph_l.texi.
36812         * doc/posix-functions/islower_l.texi: Renamed from
36813         doc/glibc-functions/islower_l.texi.
36814         * doc/posix-functions/isprint_l.texi: Renamed from
36815         doc/glibc-functions/isprint_l.texi.
36816         * doc/posix-functions/ispunct_l.texi: Renamed from
36817         doc/glibc-functions/ispunct_l.texi.
36818         * doc/posix-functions/isspace_l.texi: Renamed from
36819         doc/glibc-functions/isspace_l.texi.
36820         * doc/posix-functions/isupper_l.texi: Renamed from
36821         doc/glibc-functions/isupper_l.texi.
36822         * doc/posix-functions/iswalnum_l.texi: Renamed from
36823         doc/glibc-functions/iswalnum_l.texi.
36824         * doc/posix-functions/iswalpha_l.texi: Renamed from
36825         doc/glibc-functions/iswalpha_l.texi.
36826         * doc/posix-functions/iswblank_l.texi: Renamed from
36827         doc/glibc-functions/iswblank_l.texi.
36828         * doc/posix-functions/iswcntrl_l.texi: Renamed from
36829         doc/glibc-functions/iswcntrl_l.texi.
36830         * doc/posix-functions/iswctype_l.texi: Renamed from
36831         doc/glibc-functions/iswctype_l.texi.
36832         * doc/posix-functions/iswdigit_l.texi: Renamed from
36833         doc/glibc-functions/iswdigit_l.texi.
36834         * doc/posix-functions/iswgraph_l.texi: Renamed from
36835         doc/glibc-functions/iswgraph_l.texi.
36836         * doc/posix-functions/iswlower_l.texi: Renamed from
36837         doc/glibc-functions/iswlower_l.texi.
36838         * doc/posix-functions/iswprint_l.texi: Renamed from
36839         doc/glibc-functions/iswprint_l.texi.
36840         * doc/posix-functions/iswpunct_l.texi: Renamed from
36841         doc/glibc-functions/iswpunct_l.texi.
36842         * doc/posix-functions/iswspace_l.texi: Renamed from
36843         doc/glibc-functions/iswspace_l.texi.
36844         * doc/posix-functions/iswupper_l.texi: Renamed from
36845         doc/glibc-functions/iswupper_l.texi.
36846         * doc/posix-functions/iswxdigit_l.texi: Renamed from
36847         doc/glibc-functions/iswxdigit_l.texi.
36848         * doc/posix-functions/isxdigit_l.texi: Renamed from
36849         doc/glibc-functions/isxdigit_l.texi.
36850         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
36851         doc/glibc-functions/mbsnrtowcs.texi.
36852         * doc/posix-functions/mkdtemp.texi: Renamed from
36853         doc/glibc-functions/mkdtemp.texi.
36854         * doc/posix-functions/newlocale.texi: Renamed from
36855         doc/glibc-functions/newlocale.texi.
36856         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
36857         doc/glibc-functions/nl_langinfo_l.texi.
36858         * doc/posix-functions/open_memstream.texi: Renamed from
36859         doc/glibc-functions/open_memstream.texi.
36860         * doc/posix-functions/opterr.texi: Renamed from
36861         doc/glibc-functions/opterr.texi.
36862         * doc/posix-functions/optind.texi: Renamed from
36863         doc/glibc-functions/optind.texi.
36864         * doc/posix-functions/optopt.texi: Renamed from
36865         doc/glibc-functions/optopt.texi.
36866         * doc/posix-functions/psignal.texi: Renamed from
36867         doc/glibc-functions/psignal.texi.
36868         * doc/posix-functions/scandir.texi: Renamed from
36869         doc/glibc-functions/scandir.texi.
36870         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
36871         doc/glibc-functions/sched_get_priority_min.texi.
36872         * doc/posix-functions/signgam.texi: Renamed from
36873         doc/glibc-functions/signgam.texi.
36874         * doc/posix-functions/stpcpy.texi: Renamed from
36875         doc/glibc-functions/stpcpy.texi.
36876         * doc/posix-functions/stpncpy.texi: Renamed from
36877         doc/glibc-functions/stpncpy.texi.
36878         * doc/posix-functions/strcasecmp_l.texi: Renamed from
36879         doc/glibc-functions/strcasecmp_l.texi.
36880         * doc/posix-functions/strcoll_l.texi: Renamed from
36881         doc/glibc-functions/strcoll_l.texi.
36882         * doc/posix-functions/strfmon_l.texi: Renamed from
36883         doc/glibc-functions/strfmon_l.texi.
36884         * doc/posix-functions/strftime_l.texi: Renamed from
36885         doc/glibc-functions/strftime_l.texi.
36886         * doc/posix-functions/strncasecmp_l.texi: Renamed from
36887         doc/glibc-functions/strncasecmp_l.texi.
36888         * doc/posix-functions/strndup.texi: Renamed from
36889         doc/glibc-functions/strndup.texi.
36890         * doc/posix-functions/strnlen.texi: Renamed from
36891         doc/glibc-functions/strnlen.texi.
36892         * doc/posix-functions/strsignal.texi: Renamed from
36893         doc/glibc-functions/strsignal.texi.
36894         * doc/posix-functions/strxfrm_l.texi: Renamed from
36895         doc/glibc-functions/strxfrm_l.texi.
36896         * doc/posix-functions/timer_gettime.texi: Renamed from
36897         doc/glibc-functions/timer_gettime.texi.
36898         * doc/posix-functions/tolower_l.texi: Renamed from
36899         doc/glibc-functions/tolower_l.texi.
36900         * doc/posix-functions/toupper_l.texi: Renamed from
36901         doc/glibc-functions/toupper_l.texi.
36902         * doc/posix-functions/towctrans_l.texi: Renamed from
36903         doc/glibc-functions/towctrans_l.texi.
36904         * doc/posix-functions/towlower_l.texi: Renamed from
36905         doc/glibc-functions/towlower_l.texi.
36906         * doc/posix-functions/towupper_l.texi: Renamed from
36907         doc/glibc-functions/towupper_l.texi.
36908         * doc/posix-functions/uselocale.texi: Renamed from
36909         doc/glibc-functions/uselocale.texi.
36910         * doc/posix-functions/vdprintf.texi: Renamed from
36911         doc/glibc-functions/vdprintf.texi.
36912         * doc/posix-functions/wcpcpy.texi:
36913         Renamed from doc/glibc-functions/wcpcpy.texi.
36914         * doc/posix-functions/wcpncpy.texi: Renamed from
36915         doc/glibc-functions/wcpncpy.texi.
36916         * doc/posix-functions/wcscasecmp.texi: Renamed from
36917         doc/glibc-functions/wcscasecmp.texi.
36918         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
36919         doc/glibc-functions/wcscasecmp_l.texi.
36920         * doc/posix-functions/wcscoll_l.texi: Renamed from
36921         doc/glibc-functions/wcscoll_l.texi.
36922         * doc/posix-functions/wcsdup.texi: Renamed from
36923         doc/glibc-functions/wcsdup.texi.
36924         * doc/posix-functions/wcsncasecmp.texi: Renamed from
36925         doc/glibc-functions/wcsncasecmp.texi.
36926         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
36927         doc/glibc-functions/wcsncasecmp_l.texi.
36928         * doc/posix-functions/wcsnlen.texi: Renamed from
36929         doc/glibc-functions/wcsnlen.texi.
36930         * doc/posix-functions/wcsnrtombs.texi: Renamed from
36931         doc/glibc-functions/wcsnrtombs.texi.
36932         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
36933         doc/glibc-functions/wcsxfrm_l.texi.
36934         * doc/posix-functions/wctrans_l.texi: Renamed from
36935         doc/glibc-functions/wctrans_l.texi.
36936         * doc/posix-functions/wctype_l.texi: Renamed from
36937         doc/glibc-functions/wctype_l.texi.
36938         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36939         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
36940         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
36941         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
36942         these subsections.
36943         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
36944         Remove sections.
36945
36946 2008-12-14  Bruno Haible  <bruno@clisp.org>
36947
36948         Update doc for POSIX:2008.
36949         * doc/posix-functions/*.texi: Update URL of POSIX specification.
36950
36951 2008-12-14  Bruno Haible  <bruno@clisp.org>
36952
36953         Update doc for POSIX:2008.
36954         * doc/pastposix-functions/bcmp.texi: Renamed from
36955         doc/posix-functions/bcmp.texi.
36956         * doc/pastposix-functions/bcopy.texi: Renamed from
36957         doc/posix-functions/bcopy.texi.
36958         * doc/pastposix-functions/bsd_signal.texi: Renamed from
36959         doc/posix-functions/bsd_signal.texi.
36960         * doc/pastposix-functions/bzero.texi: Renamed from
36961         doc/posix-functions/bzero.texi.
36962         * doc/pastposix-functions/ecvt.texi: Renamed from
36963         doc/posix-functions/ecvt.texi.
36964         * doc/pastposix-functions/fcvt.texi: Renamed from
36965         doc/posix-functions/fcvt.texi.
36966         * doc/pastposix-functions/ftime.texi: Renamed from
36967         doc/posix-functions/ftime.texi.
36968         * doc/pastposix-functions/gcvt.texi: Renamed from
36969         doc/posix-functions/gcvt.texi.
36970         * doc/pastposix-functions/getcontext.texi: Renamed from
36971         doc/posix-functions/getcontext.texi.
36972         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
36973         doc/posix-functions/gethostbyaddr.texi.
36974         * doc/pastposix-functions/gethostbyname.texi: Renamed from
36975         doc/posix-functions/gethostbyname.texi.
36976         * doc/pastposix-functions/getwd.texi: Renamed from
36977         doc/posix-functions/getwd.texi.
36978         * doc/pastposix-functions/h_errno.texi: Renamed from
36979         doc/posix-functions/h_errno.texi.
36980         * doc/pastposix-functions/index.texi: Renamed from
36981         doc/posix-functions/index.texi.
36982         * doc/pastposix-functions/makecontext.texi: Renamed from
36983         doc/posix-functions/makecontext.texi.
36984         * doc/pastposix-functions/mktemp.texi: Renamed from
36985         doc/posix-functions/mktemp.texi.
36986         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
36987         doc/posix-functions/pthread_attr_getstackaddr.texi.
36988         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
36989         doc/posix-functions/pthread_attr_setstackaddr.texi.
36990         * doc/pastposix-functions/rindex.texi: Renamed from
36991         doc/posix-functions/rindex.texi.
36992         * doc/pastposix-functions/scalb.texi: Renamed from
36993         doc/posix-functions/scalb.texi.
36994         * doc/pastposix-functions/setcontext.texi: Renamed from
36995         doc/posix-functions/setcontext.texi.
36996         * doc/pastposix-functions/swapcontext.texi: Renamed from
36997         doc/posix-functions/swapcontext.texi.
36998         * doc/pastposix-functions/ualarm.texi: Renamed from
36999         doc/posix-functions/ualarm.texi.
37000         * doc/pastposix-functions/usleep.texi: Renamed from
37001         doc/posix-functions/usleep.texi.
37002         * doc/pastposix-functions/vfork.texi: Renamed from
37003         doc/posix-functions/vfork.texi.
37004         * doc/pastposix-functions/wcswcs.texi: Renamed from
37005         doc/posix-functions/wcswcs.texi.
37006         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
37007         (Function Substitutes): Update.
37008
37009 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37010
37011         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
37012         m4/strerror.m4.
37013
37014 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37015             Bruno Haible  <bruno@clisp.org>
37016
37017         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
37018
37019 2008-12-13  Bruno Haible  <bruno@clisp.org>
37020
37021         * modules/strtoull (Depends-on): Remove unistd.
37022
37023 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37024
37025         * modules/strtoull (Depends-on): Add stdlib.
37026
37027 2008-12-11  Simon Josefsson  <simon@josefsson.org>
37028
37029         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
37030
37031 2008-12-10  Jim Meyering  <meyering@redhat.com>
37032
37033         gl_ASSERT: don't say assertions are disabled when they're not
37034         * m4/assert.m4 (gl_ASSERT): Do not make configure report
37035         "checking whether to enable assertions... no", when they are in
37036         fact enabled.  This is solely a bug in the output of configure.
37037         In spite of saying "no", NDEBUG was not defined in that case.
37038         Also, as noted by Eric Blake, leave assertions enabled upon
37039         --enable-assert=INVALID.
37040
37041 2008-12-10  Bruno Haible  <bruno@clisp.org>
37042
37043         Change MODULES.html to refer to POSIX:2008 where possible.
37044         * MODULES.html.sh (POSIX2008_URL): New variable.
37045         (posix_headers): Remove sys/timeb, ucontext.
37046         (posix2001_headers): New variable.
37047         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
37048         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
37049         index, makecontext, mktemp, pthread_attr_getstackaddr,
37050         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
37051         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
37052         (posix2001_functions): New variable.
37053         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
37054         otherwise.
37055
37056 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37057
37058         add missing include to parse-duration.c
37059         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
37060         * modules/parse-duration (Depends-on): Add xalloc.
37061
37062         fix sed script reading maint.mk
37063         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
37064         (syntax-check-rules): Use it.
37065
37066 2008-12-09  Bruno Haible  <bruno@clisp.org>
37067
37068         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
37069         MacOS X 10.4/PowerPC.
37070         Reported by Simon Josefsson.
37071
37072 2008-12-08  Jim Meyering  <meyering@redhat.com>
37073
37074         work around mingw's lack of some S_IF definitions
37075         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
37076         Reported by Simon Josefsson.
37077
37078 2008-12-08  Bruno Haible  <bruno@clisp.org>
37079
37080         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
37081         applied to variables. Needed on MacOS X 10.4/PowerPC.
37082         Reported by Simon Josefsson.
37083
37084 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
37085         and Eric Blake  <ebb9@byu.net>
37086
37087         assert: honor --enable-assert
37088         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
37089         order to honor --enable-assert, rather than treating it as a
37090         synonym for --disable-assert.
37091
37092 2008-12-08  Jim Meyering  <meyering@redhat.com>
37093
37094         * lib/posixtm.c: Remove now-useless declaration of mktime.
37095
37096         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
37097
37098 2008-12-07  Bruno Haible  <bruno@clisp.org>
37099
37100         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
37101         test_once): Mark functions as static.
37102         * tests/test-tls.c (test_tls): Likewise.
37103
37104 2008-12-07  Bruno Haible  <bruno@clisp.org>
37105
37106         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
37107         iconv_register_autodetect.
37108
37109 2008-12-07  Jim Meyering  <meyering@redhat.com>
37110
37111         posixtm.c: avoid a warning
37112         * lib/posixtm.c (posixtime): Don't initialize tm0.
37113         It's no longer needed to placate gcc4's -Wuninitialized,
37114         and the attempt to placate would elicit a new warning.
37115
37116         unicodeio.c: mark unused parameters
37117         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
37118         (fallback_failure_callback): Likewise.
37119
37120 2008-12-07  Bruno Haible  <bruno@clisp.org>
37121
37122         * gnulib-tool (func_create_testdir): When building the tests
37123         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
37124         Reported by Simon Josefsson.
37125
37126 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37127
37128         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
37129
37130 2008-12-06  Bruno Haible  <bruno@clisp.org>
37131
37132         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
37133         Suggested by Eric Blake.
37134
37135 2008-12-06  Bruno Haible  <bruno@clisp.org>
37136
37137         Fix a c-stack test failure on MacOS X.
37138         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
37139         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
37140         handler for SIGBUS as well.
37141         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
37142         install a signal handler for SIGBUS as well.
37143         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
37144
37145 2008-12-06  Bruno Haible  <bruno@clisp.org>
37146
37147         Advocacy documentation.
37148         * doc/gnulib-intro.texi (Benefits): New section.
37149         * doc/gnulib.texi: Update.
37150
37151 2008-12-06  Bruno Haible  <bruno@clisp.org>
37152
37153         Document the 'manywarnings' module.
37154         * doc/manywarnings.texi: New file.
37155         * doc/gnulib.texi: Include it.
37156
37157 2008-12-05  Eric Blake  <ebb9@byu.net>
37158
37159         tests: silence some gcc warnings
37160         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
37161         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
37162         type mismatches.
37163
37164 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37165             Bruno Haible  <bruno@clisp.org>
37166
37167         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
37168
37169 2008-11-29  Jim Meyering  <meyering@redhat.com>
37170
37171         unicodeio.c: mark unused parameters
37172         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
37173         (fallback_failure_callback): Likewise.
37174
37175         fts: fix a thinko
37176         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
37177         (set_stat_type): Return S_IF*-valued "type" directly.
37178         Prompted by James Youngman's spotting a related bug.
37179         Confirmed by further testing through find.
37180
37181         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
37182         * lib/fts.c (D_TYPE): Define.
37183         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
37184         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
37185         (s_ifmt_shift_bits): New function.
37186         (set_stat_type): New function.
37187         (fts_build): When not calling fts_stat, call set_stat_type
37188         to propagate dirent.d_type info to fts_read caller.
37189         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
37190         fts_statp->st_mode type information may be valid.
37191
37192 2008-11-28  Simon Josefsson  <simon@josefsson.org>
37193
37194         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
37195         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
37196         <sds@gnu.org>.
37197
37198 2008-11-20  Bruno Haible  <bruno@clisp.org>
37199
37200         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
37201         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
37202         INCLUDE_NEXT.
37203         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
37204         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
37205         * modules/math (Makefile.am): Substitute
37206         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
37207         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37208
37209 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37210             Bruno Haible  <bruno@clisp.org>
37211
37212         * lib/stdint.in.h: Define all type macros so that their expansion is
37213         a single typedef'ed token. Fixes a compilation failure in Boost which
37214         does "using ::int8_t;".
37215
37216 2008-11-18  Simon Josefsson  <simon@josefsson.org>
37217
37218         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
37219         gl_MANYWARN_ALL_GCC.
37220         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
37221         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
37222         * modules/manywarnings: New file.
37223         * MODULES.html.sh: Mention manywarnings module.
37224
37225 2008-11-18  Bruno Haible  <bruno@clisp.org>
37226
37227         * doc/gnulib-tool.texi (Unit tests): New section.
37228
37229 2008-11-18  Simon Josefsson  <simon@josefsson.org>
37230
37231         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
37232         paths like 'lib/po/foo.po'.
37233
37234 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37235
37236         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
37237         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
37238
37239 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37240
37241         * m4/warnings.m4: Use CPPFLAGS to really check whether the
37242         parameter works.
37243
37244 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37245
37246         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
37247
37248 2008-11-17  Bruce Korb  <bkorb@gnu.org>
37249
37250         * modules/parse-duration-tests: New file.
37251         * tests/test-parse-duration.sh: New file.
37252         * tests/test-parse-duration.c: New file.
37253
37254         New module 'parse-duration'.
37255         * lib/parse-duration.h: New file.
37256         * lib/parse-duration.c: New file.
37257         * modules/parse-duration: New file.
37258
37259 2008-11-17  Bruno Haible  <bruno@clisp.org>
37260
37261         * tests/test-select-out.sh: Comment out the first pipe test.
37262         Reported by Simon Josefsson.
37263
37264 2008-11-17  Bruno Haible  <bruno@clisp.org>
37265
37266         * modules/getaddrinfo (Depends-on): Add servent, hostent.
37267         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
37268         gl_HOSTENT.
37269
37270 2008-11-17  Bruno Haible  <bruno@clisp.org>
37271
37272         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
37273         -lnetwork and -lnet. Needed for Haiku and BeOS.
37274
37275 2008-11-16  Bruno Haible  <bruno@clisp.org>
37276
37277         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
37278
37279 2008-11-16  Bruno Haible  <bruno@clisp.org>
37280
37281         Avoid test failure on Haiku.
37282         * tests/test-fsync.c: Include <errno.h>.
37283         (main): Don't require that fsync (0) fails.
37284
37285 2008-11-15  Bruno Haible  <bruno@clisp.org>
37286
37287         New module 'hostent'.
37288         * modules/hostent: New file.
37289         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
37290
37291 2008-11-15  Bruno Haible  <bruno@clisp.org>
37292
37293         New module 'servent'.
37294         * modules/servent: New file.
37295         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
37296
37297 2008-11-15  Bruno Haible  <bruno@clisp.org>
37298
37299         Avoid generating same test program with two different rules.
37300         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
37301         test-frexp to test-frexp-nolibm.
37302         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
37303         test-frexpl to test-frexpl-nolibm.
37304
37305 2008-11-15  Bruno Haible  <bruno@clisp.org>
37306
37307         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
37308         $(FREXPL_LIBM).
37309
37310 2008-11-15  Bruno Haible  <bruno@clisp.org>
37311
37312         * lib/netdb.in.h: Activate the definitions also when the system's
37313         <netdb.h> has 'struct addrinfo'.
37314         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
37315         EAI_OVERFLOW or AI_NUMERICSERV.
37316         * doc/posix-headers/netdb.texi: Document the problem.
37317
37318 2008-11-15  Bruno Haible  <bruno@clisp.org>
37319
37320         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
37321
37322         Make the 'sched' module work on platforms where <sched.h> exists but
37323         is incomplete (such as Haiku).
37324         * lib/sched.in.h; Include the system's <sched.h> if it exists.
37325         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
37326         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
37327         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
37328         HAVE_STRUCT_SCHED_PARAM.
37329         * modules/sched (Depends-on): Add include_next.
37330         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
37331         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
37332         * doc/posix-headers/sched.texi: Document the issue.
37333
37334 2008-11-13  Jim Meyering  <meyering@redhat.com>
37335
37336         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
37337         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
37338         test would fail due to the difference in the Report bugs to ...
37339         line.  The expected address is empty, "<>", while the actual
37340         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
37341
37342 2008-11-12  Bruno Haible  <bruno@clisp.org>
37343
37344         lstat: don't compile lstat.c on systems lacking lstat
37345         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
37346         which don't have lstat; this is handled by lib/sys_stat.in.h already.
37347         Reported by Daniel P. Berrange via Jim Meyering.
37348
37349 2008-11-12  Jim Meyering  <meyering@redhat.com>
37350
37351         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
37352
37353 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37354
37355         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
37356         instead.
37357
37358 2008-11-12  Bruno Haible  <bruno@clisp.org>
37359
37360         * lib/unicodeio.c: Include unistr.h.
37361         (utf8_wctomb): Remove function.
37362         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
37363
37364 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37365
37366         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
37367         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
37368         <bruno@clisp.org>.
37369         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
37370
37371 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37372
37373         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
37374         * doc/gnulib.texi: Add section for warnings.
37375
37376 2008-11-11  Bruno Haible  <bruno@clisp.org>
37377
37378         * lib/sockets.h: Add a comment.
37379
37380 2008-11-11  Karl Berry  <karl@gnu.org>
37381
37382         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
37383
37384 2008-11-11  Eric Blake  <ebb9@byu.net>
37385
37386         fdl.texi: avoid git symlinks
37387         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
37388
37389 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37390
37391         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
37392
37393 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37394
37395         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
37396         (gl_WARN_ADD): Substitute $2 if literal.
37397
37398 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37399
37400         * m4/warning.m4: Remove.
37401
37402 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37403
37404         * m4/warnings.m4: Almost complete rewrite. :-)
37405
37406 2008-11-10  Simon Josefsson  <simon@josefsson.org>
37407
37408         * modules/warnings: New module.
37409         * m4/warnings.m4: New file.
37410         * MODULES.html.sh: Mention warnings module.
37411         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
37412         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37413
37414 2008-11-10  Eric Blake  <ebb9@byu.net>
37415
37416         fdl.texi: make a symlink to the latest version
37417         * doc/standards.texi: Revert today's earlier change.
37418         * doc/fdl-1.2.texi: Rename from old fdl.texi...
37419         * doc/fdl.texi: ...and replace this with a symlink to the newer
37420         fdl-1.3.texi.
37421
37422 2008-11-10  Bruno Haible  <bruno@clisp.org>
37423
37424         * tests/test-select-fd.c (main): Accept the result file name as fourth
37425         argument.
37426         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
37427         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
37428
37429 2008-11-10  Bruno Haible  <bruno@clisp.org>
37430
37431         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
37432         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
37433         as autoconf-substituted macros.
37434         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
37435         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
37436         gl_NETDB_H_DEFAULTS. Set these variables.
37437         * modules/netdb (Makefile.am): Substitute these variables.
37438
37439 2008-11-10  Eric Blake  <ebb9@byu.net>
37440
37441         standards.texi: include correct file for FDL 1.3
37442         * doc/standards.texi (GNU Free Documentation License): Change
37443         include file to pull in FDL 1.3, not 1.2.
37444
37445         fdl.texi: revert accidental change to license
37446         * doc/fdl.texi: This is FDL 1.2, not 1.3.
37447
37448 2008-11-10  Bruno Haible  <bruno@clisp.org>
37449
37450         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
37451         cross-compiling guesses also when the native compile gives no result.
37452
37453 2008-11-10  Bruno Haible  <bruno@clisp.org>
37454
37455         * lib/spawni.c (__spawni): Force variable into the stack.
37456
37457 2008-11-10  Bruno Haible  <bruno@clisp.org>
37458
37459         Add support for Haiku.
37460         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
37461         glibc and BeOS, but also on Haiku.
37462         * lib/fpurge.c (fpurge): Likewise.
37463         * lib/freadable.c (freadable): Likewise.
37464         * lib/freadahead.c (freadahead): Likewise.
37465         * lib/freading.c (freading): Likewise.
37466         * lib/freadptr.c (freadptr): Likewise.
37467         * lib/freadseek.c (freadptrinc): Likewise.
37468         * lib/fseeko.c (rpl_fseeko): Likewise.
37469         * lib/fseterr.c (fseterr): Likewise.
37470         * lib/fwritable.c (fwritable): Likewise.
37471         * lib/fwriting.c (fwriting): Likewise.
37472         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
37473
37474 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
37475
37476         * lib/config.charset: Treat Haiku like BeOS.
37477
37478 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
37479
37480         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
37481         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
37482
37483 2008-11-08  Bruno Haible  <bruno@clisp.org>
37484
37485         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
37486         AC_CACHE_CHECK.
37487
37488 2008-11-08  Bruno Haible  <bruno@clisp.org>
37489
37490         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
37491
37492 2008-11-08  Bruno Haible  <bruno@clisp.org>
37493
37494         * tests/test-select-fd.c: New file.
37495         * tests/test-select-in.sh: New file.
37496         * tests/test-select-out.sh: New file.
37497         * tests/test-select-stdin.c: New file.
37498         * modules/select-tests (Files): Add the new files.
37499         (Depends-on): Add gettimeofday.
37500         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
37501         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
37502         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
37503
37504 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
37505             Bruno Haible  <bruno@clisp.org>
37506
37507         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
37508
37509 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
37510
37511         * build-aux/pmccabe2html: Added support for C++ source files.
37512
37513 2008-11-05  Ben Pfaff  <blp@gnu.org>
37514
37515         Fix lib/close.c build on Windows.
37516         * modules/close (Files): Add lib/w32sock.h.
37517
37518 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
37519
37520         Accept Bison's NEWS format.
37521         * build-aux/announce-gen (print_news_deltas): Tweak
37522         $re_prefix.
37523
37524 2008-11-04  Bruno Haible  <bruno@clisp.org>
37525
37526         * modules/random_r (Maintainer): Add glibc.
37527
37528 2008-11-04  Simon Josefsson  <simon@josefsson.org>
37529
37530         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
37531         by karl@freefriends.org (Karl Berry).
37532         * doc/alloca.texi: Likewise.
37533         * doc/c-ctype.texi: Likewise.
37534         * doc/c-strcase.texi: Likewise.
37535         * doc/c-strcaseeq.texi: Likewise.
37536         * doc/c-strcasestr.texi: Likewise.
37537         * doc/c-strstr.texi: Likewise.
37538         * doc/c-strtod.texi: Likewise.
37539         * doc/c-strtold.texi: Likewise.
37540         * doc/ctime.texi: Likewise.
37541         * doc/error.texi: Likewise.
37542         * doc/fdl.texi: Likewise.
37543         * doc/gcd.texi: Likewise.
37544         * doc/getdate.texi: Likewise.
37545         * doc/gnulib-intro.texi: Likewise.
37546         * doc/gnulib-tool.texi: Likewise.
37547         * doc/gnulib.texi: Likewise.
37548         * doc/inet_ntoa.texi: Likewise.
37549         * doc/maintain.texi: Likewise.
37550         * doc/make-stds.texi: Likewise.
37551         * doc/quote.texi: Likewise.
37552         * doc/regexprops-generic.texi: Likewise.
37553         * doc/standards.texi: Likewise.
37554         * doc/verify.texi: Likewise.
37555         * doc/visibility.texi: Likewise.
37556         * doc/gnulib.texi (GNU Free Documentation License): Include
37557         fdl-1.3.texi instead of fdl.texi.
37558
37559 2008-11-04  Simon Josefsson  <simon@josefsson.org>
37560
37561         * doc/fdl-1.3.texi: New file, from
37562         <http://www.gnu.org/licenses/fdl-1.3.texi>.
37563         * modules/fdl-1.3: Add.
37564         * MODULES.html.sh: Add fdl-1.3.
37565
37566 2008-11-03  Bruno Haible  <bruno@clisp.org>
37567
37568         Make determination of absolute name of header file work with AIX xlc.
37569         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
37570         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
37571         preprocessing.
37572         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37573         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
37574
37575 2008-11-03  Simon Josefsson  <simon@josefsson.org>
37576
37577         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
37578         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
37579         <ludo@gnu.org>.
37580
37581 2008-11-02  Bruno Haible  <bruno@clisp.org>
37582
37583         Mark 'strpbrk' obsolete.
37584         * modules/strpbrk (Status, Notice): New sections.
37585         * modules/strtok_r (Depends-on): Add strpbrk.
37586
37587 2008-11-02  Bruno Haible  <bruno@clisp.org>
37588
37589         Mark 'strdup' obsolete.
37590         * modules/strdup (Status, Notice): New sections.
37591         * modules/findprog (Depends-on): Add strdup.
37592         * modules/getaddrinfo (Depends-on): Likewise.
37593         * modules/localename (Depends-on): Likewise.
37594         * modules/relocatable-lib (Depends-on): Likewise.
37595         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
37596         * modules/relocatable-prog (Depends-on): Likewise.
37597         * modules/trim (Depends-on): Likewise.
37598         * modules/unictype/gen-ctype (Depends-on): Likewise.
37599         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
37600
37601 2008-11-02  Bruno Haible  <bruno@clisp.org>
37602
37603         Mark 'strcspn' obsolete.
37604         * modules/strcspn (Status, Notice): New sections.
37605
37606 2008-11-02  Bruno Haible  <bruno@clisp.org>
37607
37608         Mark 'rmdir' obsolete.
37609         * modules/rmdir (Status, Notice): New sections.
37610         * modules/clean-temp (Depends-on): Add rmdir.
37611         * modules/openat (Depends-on): Likewise.
37612
37613 2008-11-02  Bruno Haible  <bruno@clisp.org>
37614
37615         Mark 'raise' obsolete.
37616         * modules/raise (Status, Notice): New sections.
37617         (Include): Specify <signal.h>.
37618         * modules/stdio (Depends-on): Add raise.
37619         * modules/write (Depends-on): Likewise.
37620
37621 2008-11-02  Bruno Haible  <bruno@clisp.org>
37622
37623         Mark 'memset' obsolete.
37624         * modules/memset (Status, Notice): New sections.
37625
37626 2008-11-02  Bruno Haible  <bruno@clisp.org>
37627
37628         Mark 'memmove' obsolete.
37629         * modules/memmove (Status, Notice): New sections.
37630         * modules/argp (Depends-on): Add memmove.
37631         * modules/argz (Depends-on): Likewise.
37632         * modules/canonicalize (Depends-on): Likewise.
37633         * modules/canonicalize-lgpl (Depends-on): Likewise.
37634         * modules/fts (Depends-on): Likewise.
37635         * modules/getcwd (Depends-on): Likewise.
37636         * modules/human (Depends-on): Likewise.
37637         * modules/regex (Depends-on): Likewise.
37638         * modules/striconveh (Depends-on): Likewise.
37639         * modules/trim (Depends-on): Likewise.
37640         * modules/unistr/u8-move (Depends-on): Likewise.
37641         * modules/unistr/u16-move (Depends-on): Likewise.
37642         * modules/unistr/u32-move (Depends-on): Likewise.
37643
37644 2008-11-02  Bruno Haible  <bruno@clisp.org>
37645
37646         Mark 'memcpy' obsolete.
37647         * modules/memcpy (Status, Notice): New sections.
37648
37649 2008-11-02  Bruno Haible  <bruno@clisp.org>
37650
37651         Mark 'memcmp' obsolete.
37652         * modules/memcmp (Status, Notice): New sections.
37653         * modules/argmatch (Depends-on): Add memchr.
37654         * modules/backupfile (Depends-on): Likewise.
37655         * modules/c-strcasestr (Depends-on): Likewise.
37656         * modules/crypto/des (Depends-on): Likewise.
37657         * modules/csharpcomp (Depends-on): Likewise.
37658         * modules/fnmatch (Depends-on): Likewise.
37659         * modules/git-merge-changelog (Depends-on): Likewise.
37660         * modules/isnand (Depends-on): Likewise.
37661         * modules/isnand-nolibm (Depends-on): Likewise.
37662         * modules/isnanf (Depends-on): Likewise.
37663         * modules/isnanf-nolibm (Depends-on): Likewise.
37664         * modules/isnanl (Depends-on): Likewise.
37665         * modules/isnanl-nolibm (Depends-on): Likewise.
37666         * modules/mbchar (Depends-on): Likewise.
37667         * modules/memcoll (Depends-on): Likewise.
37668         * modules/quotearg (Depends-on): Likewise.
37669         * modules/regex (Depends-on): Likewise.
37670         * modules/relocatable-prog (Depends-on): Likewise.
37671         * modules/same (Depends-on): Likewise.
37672         * modules/signbit (Depends-on): Likewise.
37673         * modules/strcasestr-simple (Depends-on): Likewise.
37674         * modules/unictype/gen-ctype (Depends-on): Likewise.
37675         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
37676         * modules/uniname/uniname (Depends-on): Likewise.
37677         * modules/unistr/u8-cmp (Depends-on): Likewise.
37678
37679 2008-11-02  Bruno Haible  <bruno@clisp.org>
37680
37681         Mark 'memchr' obsolete.
37682         * modules/memchr (Status, Notice): New sections.
37683         * modules/argp (Depends-on): Add memchr.
37684         * modules/base64 (Depends-on): Likewise.
37685         * modules/c-strcasestr (Depends-on): Likewise.
37686         * modules/chdir-long (Depends-on): Likewise.
37687         * modules/fnmatch (Depends-on): Likewise.
37688         * modules/getsubopt (Depends-on): Likewise.
37689         * modules/git-merge-changelog (Depends-on): Likewise.
37690         * modules/glob (Depends-on): Likewise.
37691         * modules/strcasestr-simple (Depends-on): Likewise.
37692         * modules/strnlen (Depends-on): Likewise.
37693
37694 2008-11-02  Bruno Haible  <bruno@clisp.org>
37695
37696         Mark 'atexit' obsolete.
37697         * modules/atexit (Status, Notice): New sections.
37698         * modules/chdir-long (Depends-on): Add atexit.
37699         * modules/wait-process (Depends-on): Likewise.
37700
37701 2008-11-02  Bruno Haible  <bruno@clisp.org>
37702
37703         * gnulib-tool: New option --with-obsolete.
37704         (func_usage): Document it.
37705         (func_modules_transitive_closure): Drop obsolete dependencies if
37706         incobsolete is not true.
37707         (func_import): Read and save the incobsolete variable to the cache.
37708
37709 2008-11-02  Bruno Haible  <bruno@clisp.org>
37710
37711         * modules/TEMPLATE-EXTENDED: New field 'Status'.
37712         * gnulib-tool: New option --extract-status.
37713         (func_usage): Document it.
37714         (sed_extract_prog): Recognize it.
37715         (func_get_status): New function.
37716
37717 2008-10-30  Simon Josefsson  <simon@josefsson.org>
37718
37719         * modules/sockets (License): Change from LGPL to LGPLv2+.
37720
37721 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37722
37723         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
37724
37725 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37726
37727         * MODULES.html.sh (Support for systems lacking POSIX:2001):
37728         Mention times and sys_times.
37729         * modules/sys_times, modules/sys_times-tests: New modules.
37730         * modules/times, modules/times-tests: Likewise
37731         * m4/sys_times_h.m4: New file.
37732         * lib/sys_times.in.h: Likewise
37733         * lib/times.c: Likewise.
37734         * tests/test-sys_times.c: Likewise.
37735         * tests/test-times.c: Likewise.
37736         * doc/posix-headers/sys_times.texi: Update.
37737         * doc/posix-functions/times.texi: Update.
37738
37739 2008-10-28  Jim Meyering  <meyering@redhat.com>
37740
37741         * modules/tempname (Depends-on): Add lstat.
37742
37743         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
37744
37745 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37746
37747         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
37748         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
37749         using idiom used elsewhere in gnulib.
37750
37751 2008-10-27  Jim Meyering  <meyering@redhat.com>
37752
37753         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
37754
37755 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37756
37757         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
37758         TESTS_ENVIRONMENT, for shell scripts that needs to call built
37759         programs.
37760         * tests/test-argp-2.sh: Use $EXEEXT when needed.
37761
37762 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37763
37764         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
37765
37766 2008-10-27  Bruno Haible  <bruno@clisp.org>
37767
37768         * tests/test-lstat.c: Include <stdio.h>.
37769
37770 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37771
37772         * modules/lstat-tests: New module.
37773         * tests/test-lstat.c: New file.
37774
37775 2008-10-26  Jim Meyering  <meyering@redhat.com>
37776
37777         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
37778
37779 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37780             Bruno Haible  <bruno@clisp.org>
37781
37782         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
37783         * modules/configmake (Include): Add a note that the include must come
37784         after all system headers.
37785         * lib/javaversion.c: Include configmake.h after all other includes.
37786
37787 2008-10-26  Bruno Haible  <bruno@clisp.org>
37788
37789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
37790         HAVE_STRUCT_RANDOM_DATA to 1.
37791         (gl_STDLIB_H): Simplify.
37792
37793 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37794
37795         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
37796         substitute HAVE_STRUCT_RANDOM_DATA.
37797         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
37798         random_data.
37799         * modules/stdlib (Makefile.am): Substitute
37800         HAVE_STRUCT_RANDOM_DATA.
37801
37802 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37803
37804         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
37805         * doc/gnulib-intro.texi (Copyright): Likewise.
37806
37807 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37808
37809         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
37810         findings.
37811
37812 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
37813             Bruno Haible  <bruno@clisp.org>
37814
37815         * lib/unistd.in.h: Include <winsock2.h>.
37816         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
37817         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
37818         Provide dummy declarations.
37819         (gethostname): Override.
37820         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
37821         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
37822         gl_PREREQ_SYS_H_WINSOCK2.
37823         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
37824         * doc/posix-functions/gethostname.texi: More details.
37825
37826 2008-10-25  Bruno Haible  <bruno@clisp.org>
37827
37828         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
37829         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
37830         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
37831
37832         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
37833         here ...
37834         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
37835         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
37836         gl_UNISTD_H_DEFAULTS.
37837
37838 2008-10-25  Eric Blake  <ebb9@byu.net>
37839
37840         signbit: avoid spurious compiler failure
37841         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
37842         declarations inside function.
37843
37844 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37845             Bruno Haible  <bruno@clisp.org>
37846
37847         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
37848         * modules/random_r (Depends-on): Add stdint.
37849
37850 2008-10-24  Bruno Haible  <bruno@clisp.org>
37851
37852         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
37853         Eggert.
37854         * modules/strerror (License): Likewise.
37855
37856 2008-10-24  Jim Meyering  <meyering@redhat.com>
37857
37858         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
37859         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
37860
37861 2008-10-24  Eric Blake  <ebb9@byu.net>
37862
37863         getgroups: fix compilation when getgroups is available
37864         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
37865         but with <config.h> override of getgroups disabled.
37866
37867 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37868
37869         * doc/gnulib.texi (Header files): Add note about C++ problems.
37870         Explained by Bruno Haible <bruno@clisp.org>.
37871
37872 2008-10-23  Bruno Haible  <bruno@clisp.org>
37873
37874         Define a dummy SA_NODEFER macro on Interix.
37875         * lib/signal.in.h (SA_NODEFER): Define fallback.
37876         Reported by Aleksey Cheusov <cheusov@tut.by> via
37877         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
37878
37879 2008-10-23  Bruno Haible  <bruno@clisp.org>
37880
37881         * modules/freadahead (License): Change to LGPLv2+.
37882         Suggested by Simon Josefsson.
37883
37884 2008-10-23  Jim Meyering  <meyering@redhat.com>
37885
37886         random_r: new module
37887         * modules/random_r: New file.
37888         * m4/random_r.m4: New file.
37889         * lib/random_r.c: New file, from glibc.
37890         * modules/random_r-tests: New file.
37891         * tests/test-random_r.c: New file.
37892         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
37893          Declare.
37894         (RAND_MAX): Define.
37895         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
37896         * modules/stdlib: Substitute them, too.
37897         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
37898         * doc/glibc-functions/initstate_r.texi: Mention the new module.
37899         * doc/glibc-functions/random_r.texi: Likewise.
37900         * doc/glibc-functions/setstate_r.texi: Likewise.
37901         * doc/glibc-functions/srandom_r.texi: Likewise.
37902         * config/srclist.txt: Mention it.
37903
37904 2008-10-23  David Lutterkort  <lutter@redhat.com>
37905
37906         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
37907         link requirement
37908
37909 2008-10-23  Jim Meyering  <meyering@redhat.com>
37910
37911         selinux-h: mark parameters of stub functions as intentionally unused
37912         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
37913         * lib/se-context.in.h: Likewise.
37914
37915 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37916
37917         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
37918
37919 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37920
37921         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
37922
37923 2008-10-22  Eric Blake  <ebb9@byu.net>
37924
37925         glthread/thread: avoid compiler warning
37926         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
37927         Add unreachable abort to silence compiler.
37928
37929 2008-10-22  Eric Blake  <ebb9@byu.net>
37930
37931         netdb: also supply struct addrinfo for cygwin 1.5.x
37932         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
37933         older cygwin.
37934         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
37935         cygwin.
37936         * doc/posix-headers/netdb.texi (netdb.h): Document this.
37937
37938 2008-10-22  Bruno Haible  <bruno@clisp.org>
37939
37940         * users.txt: Update entry about pspp.
37941
37942 2008-10-21  Bruno Haible  <bruno@clisp.org>
37943
37944         Simplification.
37945         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
37946         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
37947
37948         Simplification.
37949         * lib/ioctl.c (ioctl): Don't undefine.
37950         * lib/socket.c (socket): Don't undefine.
37951
37952         Remove unused module indicator macros.
37953         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
37954         GNULIB_$1 as a C macro.
37955
37956         * doc/posix-functions/close.texi: Undo last change.
37957         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
37958         Windows platforms.
37959
37960 2008-10-21  Bruno Haible  <bruno@clisp.org>
37961
37962         Add gethostname() declaration to <unistd.h>.
37963         * lib/unistd.in.h (gethostname): New declaration.
37964         * lib/gethostname.c: Include <unistd.h>.
37965         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
37966         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
37967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
37968         and HAVE_GETHOSTNAME.
37969         * modules/gethostname (Depends-on): Add unistd.
37970         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37971         (Include): Specify <unistd.h>.
37972         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
37973         HAVE_GETHOSTNAME.
37974         * tests/test-gethostname.c: Include <unistd.h> first.
37975
37976 2008-10-21  Bruno Haible  <bruno@clisp.org>
37977
37978         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
37979         * modules/select-tests (Depends-on): Likewise.
37980         Reported by Simon Josefsson.
37981
37982 2008-10-21  Simon Josefsson  <simon@josefsson.org>
37983
37984         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
37985         * lib/accept.c: New file, based on winsock.c.
37986         * lib/bind.c: New file, based on winsock.c.
37987         * lib/connect.c: New file, based on winsock.c.
37988         * lib/getpeername.c: New file, based on winsock.c.
37989         * lib/getsockname.c: New file, based on winsock.c.
37990         * lib/getsockopt.c: New file, based on winsock.c.
37991         * lib/ioctl.c: New file, based on winsock.c.
37992         * lib/listen.c: New file, based on winsock.c.
37993         * lib/recv.c: New file, based on winsock.c.
37994         * lib/recvfrom.c: New file, based on winsock.c.
37995         * lib/send.c: New file, based on winsock.c.
37996         * lib/sendto.c: New file, based on winsock.c.
37997         * lib/setsockopt.c: New file, based on winsock.c.
37998         * lib/shutdown.c: New file, based on winsock.c.
37999         * lib/socket.c: New file, based on winsock.c.
38000         * lib/w32sock.h: New file, based on winsock.c.
38001         * lib/winsock.c: Remove file.
38002         * modules/accept: Likewise.
38003         * modules/bind: Likewise.
38004         * modules/connect: Likewise.
38005         * modules/getpeername: Likewise.
38006         * modules/getsockname: Likewise.
38007         * modules/getsockopt: Likewise.
38008         * modules/ioctl: Likewise.
38009         * modules/listen: Likewise.
38010         * modules/recv: Likewise.
38011         * modules/recvfrom: Likewise.
38012         * modules/send: Likewise.
38013         * modules/sendto: Likewise.
38014         * modules/setsockopt: Likewise.
38015         * modules/shutdown: Likewise.
38016         * modules/socket: Use socket.c instead of winsock.c.
38017         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
38018         * doc/posix-functions/accept.texi: Doc fix.
38019         * doc/posix-functions/bind.texi: Doc fix.
38020         * doc/posix-functions/close.texi: Doc fix.
38021         * doc/posix-functions/connect.texi: Doc fix.
38022         * doc/posix-functions/getpeername.texi: Doc fix.
38023         * doc/posix-functions/getsockname.texi: Doc fix.
38024         * doc/posix-functions/getsockopt.texi: Doc fix.
38025         * doc/posix-functions/ioctl.texi: Doc fix.
38026         * doc/posix-functions/listen.texi: Doc fix.
38027         * doc/posix-functions/recv.texi: Doc fix.
38028         * doc/posix-functions/recvfrom.texi: Doc fix.
38029         * doc/posix-functions/send.texi: Doc fix.
38030         * doc/posix-functions/sendto.texi: Doc fix.
38031         * doc/posix-functions/setsockopt.texi: Doc fix.
38032         * doc/posix-functions/shutdown.texi: Doc fix.
38033         * doc/posix-functions/socket.texi: Doc fix.
38034
38035 2008-10-20  Bruno Haible  <bruno@clisp.org>
38036
38037         Take into account the role of SIGABRT_COMPAT on Windows 2008.
38038         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
38039         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
38040         as an alias for SIGABRT.
38041         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
38042         (sigaction): Map it to SIGABRT.
38043         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
38044
38045 2008-10-20  Bruno Haible  <bruno@clisp.org>
38046
38047         * lib/fts.c: Don't include lstat.h.
38048         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
38049
38050         Move the lstat() declaration to <sys/stat.h>.
38051         * lib/lstat.h: Remove file.
38052         * lib/sys_stat.in.h: Add special invocation convention.
38053         (lstat): New declaration.
38054         * lib/lstat.c (orig_lstat): New function.
38055         (rpl_lstat): Use orig_lstat instead of lstat.
38056         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
38057         AC_C_INLINE. Set REPLACE_LSTAT.
38058         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
38059         and REPLACE_LSTAT.
38060         * modules/lstat (Files): Remove lib/lstat.h.
38061         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
38062         (Include): Specify <sys/stat.h> instead of lstat.h.
38063         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
38064         REPLACE_LSTAT.
38065         * NEWS: Mention the change.
38066
38067 2008-10-20  Bruno Haible  <bruno@clisp.org>
38068
38069         * modules/posix_spawn-tests: New file.
38070         * tests/test-posix_spawn3.c: New file.
38071
38072 2008-10-20  Bruno Haible  <bruno@clisp.org>
38073
38074         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
38075         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
38076         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
38077         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
38078         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
38079
38080 2008-10-20  Bruno Haible  <bruno@clisp.org>
38081
38082         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
38083         of posix_spawn on AIX 5.3.
38084
38085 2008-10-20  Bruno Haible  <bruno@clisp.org>
38086
38087         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
38088
38089 2008-10-20  Bruno Haible  <bruno@clisp.org>
38090
38091         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
38092         of AC_LANG_PROGRAM.
38093
38094 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38095
38096         * lib/netdb.in.h: Don't define GNU specific constants until they
38097         are supported or needed.  Reported by Bruno Haible
38098         <bruno@clisp.org>.
38099
38100 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38101
38102         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
38103
38104 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38105
38106         * lib/getaddrinfo.h: Remove file.
38107         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
38108         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
38109         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
38110         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
38111         * modules/netdb: Substitute GNULIB_GETADDRINFO.
38112         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
38113         * tests/test-getaddrinfo.c: Likewise.
38114         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
38115         * NEWS: Mention change.
38116
38117 2008-10-19  Bruno Haible  <bruno@clisp.org>
38118
38119         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
38120
38121 2008-10-19  Bruno Haible  <bruno@clisp.org>
38122
38123         * lib/wait-process.c: Include simply <sys/wait.h>.
38124         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
38125         WIFSTOPPED): Remove fallback definitions.
38126         * modules/wait-process (Depends-on): Add sys_wait.
38127
38128         New module 'sys_wait'.
38129         * modules/sys_wait: New file.
38130         * lib/sys_wait.in.h: New file, partially copied from
38131         lib/wait-process.c.
38132         * m4/sys_wait_h.m4: New file.
38133         * doc/posix-headers/sys_wait.texi: Mention the new module.
38134
38135 2008-10-19  Bruno Haible  <bruno@clisp.org>
38136
38137         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
38138
38139 2008-10-19  Bruno Haible  <bruno@clisp.org>
38140
38141         Assume that waitpid() fills an 'int' status, not a 'union wait'.
38142         * lib/wait-process.c (WAIT_T): Remove type.
38143         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
38144         (wait_subprocess): Update.
38145
38146 2008-10-19  Bruno Haible  <bruno@clisp.org>
38147
38148         New module 'atoll'.
38149         * modules/atoll: New file.
38150         * lib/stdlib.in.h (atoll): New declaration.
38151         * lib/atoll.c: New file, from glibc with modifications.
38152         * m4/atoll.m4: New file.
38153         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
38154         HAVE_ATOLL.
38155         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
38156         * doc/posix-functions/atoll.texi: Mention the new module.
38157
38158 2008-10-19  Bruno Haible  <bruno@clisp.org>
38159
38160         Add strtoull() declaration to <stdlib.h>.
38161         * lib/stdlib.in.h (strtoull): New declaration.
38162         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38163         Set HAVE_STRTOULL.
38164         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
38165         HAVE_STRTOULL.
38166         * modules/strtoull (Depends-on): Add stdlib.
38167         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38168         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
38169         HAVE_STRTOULL.
38170
38171 2008-10-19  Bruno Haible  <bruno@clisp.org>
38172
38173         Add strtoll() declaration to <stdlib.h>.
38174         * lib/stdlib.in.h (strtoll): New declaration.
38175         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38176         Set HAVE_STRTOLL.
38177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
38178         HAVE_STRTOLL.
38179         * modules/strtoll (Depends-on): Add stdlib.
38180         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38181         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
38182
38183 2008-10-19  Bruno Haible  <bruno@clisp.org>
38184
38185         * modules/bcopy (Depends-on): Add strings.
38186         (Include): Specify <strings.h>.
38187
38188 2008-10-19  Bruno Haible  <bruno@clisp.org>
38189
38190         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
38191
38192 2008-10-19  Bruno Haible  <bruno@clisp.org>
38193
38194         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
38195         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
38196         mingw.
38197
38198 2008-10-19  Bruno Haible  <bruno@clisp.org>
38199
38200         * lib/atanl.c: Don't include isnanl.h.
38201         * lib/cosl.c: Likewise.
38202         * lib/ldexpl.c: Likewise.
38203         * lib/logl.c: Likewise.
38204         * lib/sinl.c: Likewise.
38205         * lib/sqrtl.c: Likewise.
38206         * lib/tanl.c: Likewise.
38207
38208         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
38209         * lib/isnanf.h: Remove file.
38210         * lib/isnand.h: Remove file.
38211         * lib/isnanl.h: Remove file.
38212         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
38213         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
38214         macros.
38215         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
38216         HAVE_ISNANF, don't define it as a C macro.
38217         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
38218         HAVE_ISNAND, don't define it as a C macro.
38219         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
38220         HAVE_ISNANL, don't define it as a C macro.
38221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
38222         HAVE_ISNAN[FDL].
38223         * modules/isnanf (Files): Remove lib/isnanf.h.
38224         (Depends-on): Add math.
38225         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38226         (Include): Specify <math.h> instead of isnanf.h.
38227         * modules/isnand (Files): Remove lib/isnand.h.
38228         (Depends-on): Add math.
38229         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38230         (Include): Specify <math.h> instead of isnand.h.
38231         * modules/isnanl (Files): Remove lib/isnanl.h.
38232         (Depends-on): Add math.
38233         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38234         (Include): Specify <math.h> instead of isnanl.h.
38235         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
38236         HAVE_ISNAN[FDL].
38237         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
38238         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
38239         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
38240         * NEWS: Mention the change.
38241
38242 2008-10-18  Bruno Haible  <bruno@clisp.org>
38243
38244         Add getusershell(), setusershell(), endusershell() declarations to
38245         <unistd.h>.
38246         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
38247         declarations.
38248         * lib/getusershell.c: Include unistd.h.
38249         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
38250         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
38251         HAVE_GETUSERSHELL.
38252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
38253         and HAVE_GETUSERSHELL.
38254         * modules/getusershell (Depends-on): Add unistd, extensions.
38255         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38256         (Include): Specify <unistd.h>.
38257         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
38258         HAVE_GETUSERSHELL.
38259
38260 2008-10-18  Bruno Haible  <bruno@clisp.org>
38261
38262         Add a getloadavg() declaration to <stdlib.h>.
38263         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
38264         getloadavg declaration.
38265         (getloadavg): New declaration.
38266         * lib/getloadavg.c: Include <stdlib.h> first.
38267         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
38268         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
38269         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
38270         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
38271         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
38272         * modules/getloadavg (Depends-on): Add stdlib, extensions.
38273         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38274         (Include): Specify <stdlib.h>.
38275         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
38276         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
38277
38278 2008-10-18  Bruno Haible  <bruno@clisp.org>
38279
38280         * lib/dirchownmod.c: Don't include lchmod.h.
38281
38282         Move the lchmod() declaration to <sys/stat.h>.
38283         * lib/lchmod.h: Remove file.
38284         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
38285         (lchmod): New declaration, moved here from lib/lchown.h.
38286         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
38287         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
38288         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
38289         and HAVE_LCHMOD.
38290         * modules/lchmod (Files): Remove lib/lchmod.h.
38291         (Depends-on): Add sys_stat, extensions.
38292         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
38293         (Include): Specify <sys/stat.h> instead of lchmod.h.
38294         * modules/sys_stat (Depends-on): Add link-warning.
38295         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
38296         definition of GL_LINK_WARNING.
38297         * NEWS: Mention the change.
38298
38299 2008-10-18  Bruno Haible  <bruno@clisp.org>
38300
38301         * lib/fchdir.c: Don't include dirfd.h.
38302         * lib/fts.c: Likewise.
38303         * lib/getcwd.c: Likewise.
38304         * lib/glob.c: Likewise.
38305
38306         Move the dirfd() declaration to <dirent.h>.
38307         * lib/dirfd.h: Remove file.
38308         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
38309         (dirfd): New declaration.
38310         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
38311         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
38312         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
38313         HAVE_DECL_DIRFD.
38314         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
38315         HAVE_DECL_DIRFD.
38316         * modules/dirfd (Files): Remove lib/dirfd.h.
38317         (Depends-on): Add dirent, extensions.
38318         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
38319         (Include): Specify <dirent.h> instead of dirfd.h.
38320         * modules/dirent (Depends-on): Add link-warning.
38321         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
38322         definition of GL_LINK_WARNING.
38323         * NEWS: Mention the change.
38324
38325 2008-10-18  Bruno Haible  <bruno@clisp.org>
38326
38327         Move the euidaccess() declaration to <unistd.h>.
38328         * lib/euidaccess.h: Remove file.
38329         * lib/unistd.in.h (euidaccess): New declaration.
38330         * lib/euidaccess.c: Don't include euidaccess.h.
38331         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
38332         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
38333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
38334         and HAVE_EUIDACCESS.
38335         * modules/euidaccess (Files): Remove lib/euidaccess.h.
38336         (Depends-on): Add unistd.
38337         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38338         (Include): Specify <unistd.h> instead of euidaccess.h.
38339         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
38340         HAVE_EUIDACCESS.
38341         * NEWS: Mention the change.
38342
38343 2008-10-18  Bruno Haible  <bruno@clisp.org>
38344
38345         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
38346
38347         Move the getdomainname() declaration to <unistd.h>.
38348         * lib/getdomainname.h: Remove file.
38349         * lib/unistd.in.h (getdomainname): New declaration.
38350         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
38351         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
38352         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
38353         HAVE_GETDOMAINNAME.
38354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38355         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
38356         * modules/getdomainname (Files): Remove lib/getdomainname.h.
38357         (Depends-on): Add unistd, extensions.
38358         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38359         (Includes): Specify <unistd.h> instead of getdomainname.h.
38360         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
38361         HAVE_GETDOMAINNAME.
38362         * NEWS: Mention the change.
38363
38364 2008-10-18  Bruno Haible  <bruno@clisp.org>
38365
38366         * modules/dirent: New file.
38367         * m4/dirent_h.m4: New file.
38368         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
38369         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
38370         * modules/fchdir (Files): Remove lib/dirent.in.h.
38371         (Depends-on): Add dirent.
38372         (Makefile.am): Move rules to modules/dirent.
38373         * doc/posix-headers/dirent.texi: Mention the new module.
38374
38375 2008-10-18  Bruno Haible  <bruno@clisp.org>
38376
38377         Avoid -Wunused-parameter warnings in public gnulib header files.
38378         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
38379         macro.
38380         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
38381
38382 2008-10-18  Bruno Haible  <bruno@clisp.org>
38383
38384         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
38385         * doc/glibc-functions/error.texi: Mention the module 'error'.
38386         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
38387         * doc/glibc-functions/getdomainname.texi: Mention the module
38388         'getdomainname'.
38389         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
38390         * doc/glibc-functions/getpagesize.texi: Mention the module
38391         'getpagesize'.
38392         * doc/glibc-functions/getusershell.texi: Mention the module
38393         'getusershell'.
38394         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
38395         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
38396         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
38397         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
38398         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
38399         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
38400         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
38401         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
38402         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
38403         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
38404         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
38405         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
38406         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
38407         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
38408
38409 2008-10-17  Bruno Haible  <bruno@clisp.org>
38410
38411         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
38412         HP-UX and IRIX, use -0.0L.
38413         * tests/test-ceill.c (minus_zero): Likewise.
38414         * tests/test-floorl.c (minus_zero): Likewise.
38415         * tests/test-frexpl.c (minus_zero): Likewise.
38416         * tests/test-isnan.c (minus_zerol): Likewise.
38417         * tests/test-isnanl.h (minus_zero): Likewise.
38418         * tests/test-ldexpl.c (minus_zero): Likewise.
38419         * tests/test-roundl.c (minus_zero): Likewise.
38420         * tests/test-signbit.c (minus_zerol): Likewise.
38421         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
38422         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
38423         * tests/test-truncl.c (minus_zero): Likewise.
38424         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
38425         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
38426         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
38427         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
38428
38429 2008-10-17  Bruno Haible  <bruno@clisp.org>
38430
38431         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
38432         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
38433         that it gets activated only for gcc >= 3.0.
38434         * lib/dirent.in.h: Likewise.
38435         * lib/errno.in.h: Likewise.
38436         * lib/fcntl.in.h: Likewise.
38437         * lib/float.in.h: Likewise.
38438         * lib/iconv.in.h: Likewise.
38439         * lib/inttypes.in.h: Likewise.
38440         * lib/locale.in.h: Likewise.
38441         * lib/math.in.h: Likewise.
38442         * lib/netdb.in.h: Likewise.
38443         * lib/netinet_in.in.h: Likewise.
38444         * lib/search.in.h: Likewise.
38445         * lib/signal.in.h: Likewise.
38446         * lib/spawn.in.h: Likewise.
38447         * lib/stdarg.in.h: Likewise.
38448         * lib/stdint.in.h: Likewise.
38449         * lib/stdio.in.h: Likewise.
38450         * lib/stdlib.in.h: Likewise.
38451         * lib/string.in.h: Likewise.
38452         * lib/strings.in.h: Likewise.
38453         * lib/sys_file.in.h: Likewise.
38454         * lib/sys_ioctl.in.h: Likewise.
38455         * lib/sys_select.in.h: Likewise.
38456         * lib/sys_socket.in.h: Likewise.
38457         * lib/sys_stat.in.h: Likewise.
38458         * lib/sys_time.in.h: Likewise.
38459         * lib/sysexits.in.h: Likewise.
38460         * lib/time.in.h: Likewise.
38461         * lib/unistd.in.h: Likewise.
38462         * lib/wchar.in.h: Likewise.
38463         * lib/wctype.in.h: Likewise.
38464         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38465
38466 2008-10-17  Jim Meyering  <meyering@redhat.com>
38467
38468         ignore-value: don't depend on inline module
38469         * modules/ignore-value (Depends-on): Remove 'inline'.
38470         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
38471         Suggestion from Bruno Haible.
38472
38473 2008-10-17  Bruno Haible  <bruno@clisp.org>
38474
38475         New implementation of condition variables for Win32.
38476         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
38477         (gl_linked_waitqueue_t): New type.
38478         (gl_cond_t): Use it.
38479         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
38480         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
38481         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
38482         (glthread_cond_init_func, glthread_cond_wait_func,
38483         glthread_cond_timedwait_func, glthread_cond_signal_func,
38484         glthread_cond_broadcast_func, glthread_cond_destroy_func):
38485         Reimplemented on the basis of gl_linked_waitqueue_t.
38486         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
38487         gl_waitqueue_t.
38488         (gl_rwlock_t): Update.
38489         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
38490
38491 2008-10-17  Simon Josefsson  <simon@josefsson.org>
38492
38493         * modules/recvfrom (Depends-on): Add dependency on getpeername.
38494         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38495
38496 2008-10-17  Jim Meyering  <meyering@redhat.com>
38497
38498         ignore-value: new module
38499         * modules/ignore-value: New file.
38500         * lib/ignore-value.h: New file.
38501         * MODULES.html.sh (Compiler warning management): New section,
38502         just for this module.  More to come.
38503
38504 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38505
38506         open-safer.c: avoid 'signed and unsigned in conditional...' warning
38507         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
38508         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
38509
38510 2008-10-16  Jim Meyering  <meyering@redhat.com>
38511
38512         openat-die.c: avoid 'no previous prototype' warning
38513         * lib/openat-die.c: Include "openat.h".
38514         Reported by Reuben Thomas <rrt@sc3d.org>.
38515
38516 2008-10-16  Simon Josefsson  <simon@josefsson.org>
38517
38518         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
38519         * lib/netdb.in.h: Fix typo.
38520         Reported by Bruno Haible  <bruno@clisp.org>
38521
38522         * lib/netdb.in.h: Include sys/socket.h for platforms without
38523         netdb.h, to get structures like hostent on MinGW.
38524         * modules/netdb (Depends-on): Add sys_socket.
38525
38526 2008-10-15  Simon Josefsson  <simon@josefsson.org>
38527
38528         * modules/netdb, modules/netdb-tests: New file.
38529         * m4/netdb_h.m4: New file.
38530         * lib/netdb.in.h: Add, currently just an empty file pending
38531         definitions.
38532         * tests/test-netdb.c: New file.
38533         * doc/posix-headers/netdb.texi: Mention that we replace it if
38534         needed.
38535         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38536         netdb.
38537
38538 2008-10-15  Simon Josefsson  <simon@josefsson.org>
38539
38540         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
38541         with code.
38542
38543 2008-10-13  Bruno Haible  <bruno@clisp.org>
38544
38545         * lib/glthread/cond.c (glthread_cond_wait_func,
38546         glthread_cond_timedwait_func): Add a comment.
38547
38548 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
38549
38550         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
38551         * tests/test-select.c: Likewise,
38552
38553 2008-10-13  Bruno Haible  <bruno@clisp.org>
38554
38555         * lib/glthread/cond.c (glthread_cond_wait_func,
38556         glthread_cond_timedwait_func): Fix variable name.
38557         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38558
38559 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
38560
38561         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
38562         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
38563         struct sockaddr.sa_len.
38564         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
38565
38566 2008-10-13  Simon Josefsson  <simon@josefsson.org>
38567
38568         * build-aux/pmccabe2html: Add css and css_url parameters.
38569
38570 2008-10-12  Bruno Haible  <bruno@clisp.org>
38571
38572         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
38573         calling aclx_get.
38574         Reported by Rainer Tammer <tammer@tammer.net>.
38575
38576 2008-10-12  Bruno Haible  <bruno@clisp.org>
38577
38578         Use msvcrt aware primitives for creation/termination of Win32 threads.
38579         * lib/glthread/thread.c: Include <process.h>.
38580         (glthread_create_func): Use _beginthreadex instead of CreateThread.
38581         (wrapper_func): Update signature.
38582         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
38583
38584 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
38585             Bruno Haible  <bruno@clisp.org>
38586
38587         Provide a Win32 implementation of the 'cond' module.
38588         * lib/glthread/cond.h [USE_WIN32]: New implementation.
38589         * lib/glthread/cond.c (glthread_cond_init_func,
38590         glthread_cond_wait_func, glthread_cond_timedwait_func,
38591         glthread_cond_signal_func, glthread_cond_broadcast_func,
38592         glthread_cond_destroy_func) [USE_WIN32]: New functions.
38593         * modules/cond (Dependencies): Add gettimeofday.
38594
38595 2008-10-11  Bruno Haible  <bruno@clisp.org>
38596
38597         Make sleep work on older versions of mingw.
38598         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
38599         only whether it exists.
38600         * doc/posix-functions/sleep.texi: Mention the problem with older
38601         versions of mingw.
38602
38603 2008-10-11  Bruno Haible  <bruno@clisp.org>
38604
38605         New module 'shutdown'.
38606         * modules/shutdown: New file.
38607         * lib/sys_socket.in.h (shutdown): New declaration.
38608         * lib/winsock.c (shutdown): New function.
38609         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38610         GNULIB_SHUTDOWN.
38611         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
38612         * doc/posix-functions/shutdown.texi: Document the new module.
38613
38614 2008-10-11  Jim Meyering  <meyering@redhat.com>
38615
38616         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
38617
38618 2008-10-11  Bruno Haible  <bruno@clisp.org>
38619
38620         New module 'fclose'.
38621         * modules/fclose: New file.
38622         * lib/stdio.in.h (fclose): New declaration.
38623         * lib/fclose.c: New file.
38624         * m4/fclose.m4: New file.
38625         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
38626         REPLACE_FCLOSE.
38627         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
38628         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
38629         REPLACE_FCLOSE.
38630         * modules/close (Depends-on): fclose.
38631         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
38632
38633 2008-10-11  Bruno Haible  <bruno@clisp.org>
38634
38635         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
38636         set errno and don't call _close.
38637
38638 2008-10-10  Bruno Haible  <bruno@clisp.org>
38639
38640         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
38641         ACL, not afterwards. Fixes test failure on Cygwin.
38642
38643 2008-10-09  Ben Pfaff  <blp@gnu.org>
38644
38645         * build-aux/announce-gen: Fix gnulib version related part of usage
38646         message.  Die with a useful error message if no tarballs are
38647         found.
38648
38649 2008-10-10  Jim Meyering  <meyering@redhat.com>
38650
38651         bootstrap: use git's --depth=N option only if it's supported
38652         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
38653         recognize the --depth option.  Reported by Pádraig Brady.
38654
38655 2008-10-09  Bruno Haible  <bruno@clisp.org>
38656
38657         New module 'ioctl'.
38658         * modules/ioctl: New file.
38659         * lib/sys_socket.in.h (ioctl): Remove declaration.
38660         * lib/winsock.c: Include <sys/ioctl.h>.
38661         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
38662         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
38663         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
38664         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
38665         * doc/posix-functions/ioctl.texi: Mention the new module.
38666
38667 2008-10-09  Bruno Haible  <bruno@clisp.org>
38668
38669         New module 'sys_ioctl'.
38670         * lib/sys_ioctl.in.h: New file.
38671         * m4/sys_ioctl_h.m4: New file.
38672         * modules/sys_ioctl: New file.
38673         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
38674
38675 2008-10-09  Bruno Haible  <bruno@clisp.org>
38676
38677         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
38678         * lib/winsock.c: Include <stdarg.h>.
38679         (rpl_ioctl): Change to second argument 'int' and then varargs.
38680
38681 2008-10-09  Bruno Haible  <bruno@clisp.org>
38682
38683         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
38684         when the sys_socket module is present and the system has <winsock2.h>.
38685
38686 2008-10-09  Bruno Haible  <bruno@clisp.org>
38687
38688         * doc/posix-functions/close.texi: Mention module 'close' instead of
38689         module 'sys_socket'.
38690
38691 2008-10-09  Bruno Haible  <bruno@clisp.org>
38692
38693         * doc/glibc-headers/sys_ioctl.texi: New file.
38694         * doc/gnulib.texi: Include it.
38695
38696 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38697             Bruno Haible  <bruno@clisp.org>
38698
38699         Combine the two replacements of 'close'.
38700         * lib/sys_socket.in.h (close): Define to a reminder to include
38701         <unistd.h>.
38702         (_gl_close_fd_maybe_socket): New declaration.
38703         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
38704         * lib/winsock.c (close): Remove undefinition.
38705         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
38706         needed for the gnulib module 'close'.
38707         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
38708         define to an error symbol or to a warning, if suitable.
38709         * lib/close.c: Include <sys/socket.h>.
38710         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
38711         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
38712         UNISTD_H_HAVE_WINSOCK2_H.
38713         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
38714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38715         UNISTD_H_HAVE_WINSOCK2_H.
38716         * modules/sys_socket (Files): Add m4/unistd_h.m4.
38717         (configure.ac): Set a module indicator.
38718         (Makefile.am): Substitute GNULIB_CLOSE.
38719         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
38720         * modules/poll-tests (Depends-on): Add close.
38721         * modules/select-tests (Depends-on): Likewise.
38722
38723 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38724             Bruno Haible  <bruno@clisp.org>
38725
38726         New module 'close'.
38727         * modules/close: New file.
38728         * lib/unistd.in.h (close): Move declaration out of the
38729         FCHDIR_REPLACEMENT scope.
38730         (_gl_unregister_fd): New declaration.
38731         * lib/close.c: New file.
38732         * lib/fchdir.c (rpl_close): Remove function.
38733         * m4/close.m4: New file.
38734         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38735         close.
38736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
38737         REPLACE_CLOSE.
38738         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
38739         REPLACE_CLOSE.
38740         * modules/fchdir (Depends-on): Add close.
38741
38742 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38743             Bruno Haible  <bruno@clisp.org>
38744
38745         * lib/fcntl.in.h (open): Simplify conditionals.
38746         (_gl_register_fd): New declaration.
38747         * lib/fchdir.c (rpl_open): Remove function.
38748         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
38749         also.
38750         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
38751         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38752         open.
38753
38754 2008-10-09  Jim Meyering  <meyering@redhat.com>
38755
38756         GNUmakefile: use the more name-space-friendly "_version"
38757         * top/GNUmakefile (_dummy): Update.
38758         (_version): Rename from "version".
38759
38760 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38761             Bruno Haible  <bruno@clisp.org>
38762
38763         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
38764         rpl_close.
38765         (_gl_register_fd): New function, extracted from rpl_open.
38766         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
38767         (rpl_open, rpl_opendir): Use _gl_register_fd.
38768
38769 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38770
38771         Fix organization of 'open' replacement.
38772         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
38773         (gl_FUNC_OPEN): Use it.
38774         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
38775
38776 2008-10-08  Bruno Haible  <bruno@clisp.org>
38777
38778         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
38779
38780 2008-10-08  Simon Josefsson  <simon@josefsson.org>
38781
38782         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
38783         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
38784         listen).
38785
38786 2008-10-08  Eric Blake  <ebb9@byu.net>
38787
38788         GNUmakefile: add 'make version' target
38789         * top/GNUmakefile (_curr-ver): Split version update rules...
38790         (version): ...into a target.
38791
38792 2008-10-07  Bruno Haible  <bruno@clisp.org>
38793
38794         Use a more portable replacement expression for -0.0L.
38795         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
38796         instead of -0.0L. Fix m4 quotation.
38797
38798         * tests/test-signbit.c: Include <float.h>.
38799         (minus_zero): New variable.
38800         (test_signbitl): Use minus_zero instead of -zero.
38801         * modules/signbit-tests (Depends-on): Add float.
38802
38803         * tests/test-ceill.c: Include <float.h>.
38804         (zero): Remove variable.
38805         (minus_zero): New variable.
38806         (main): Use minus_zero instead of -zero.
38807         * modules/ceill-tests (Depends-on): Add float.
38808
38809         * tests/test-floorl.c: Include <float.h>.
38810         (zero): Remove variable.
38811         (minus_zero): New variable.
38812         (main): Use minus_zero instead of -zero.
38813         * modules/floorl-tests (Depends-on): Add float.
38814
38815         * tests/test-roundl.c: Include <float.h>.
38816         (zero): Remove variable.
38817         (minus_zero): New variable.
38818         (main): Use minus_zero instead of -zero.
38819         * modules/roundl-tests (Depends-on): Add float.
38820
38821         * tests/test-truncl.c: Include <float.h>.
38822         (zero): Remove variable.
38823         (minus_zero): New variable.
38824         (main): Use minus_zero instead of -zero.
38825         * modules/truncl-tests (Depends-on): Add float.
38826
38827         * tests/test-frexpl.c (zero): Remove variable.
38828         (minus_zero): New variable.
38829         (main): Use minus_zero instead of -zero.
38830         * modules/frexpl-tests (Depends-on): Add float.
38831
38832         * tests/test-isnan.c (zerol): Remove variable.
38833         (minus_zerol): New variable.
38834         (test_long_double): Use minus_zerol instead of -zerol.
38835         * modules/isnan-tests (Depends-on): Add float.
38836
38837         * tests/test-isnanl.h (zero): Remove variable.
38838         (minus_zero): New variable.
38839         (main): Use minus_zero instead of -zero.
38840         * modules/isnanl-nolibm-tests (Depends-on): Add float.
38841         * modules/isnanl-tests (Depends-on): Add float.
38842
38843         * tests/test-ldexpl.c (zero): Remove variable.
38844         (minus_zero): New variable.
38845         (main): Use minus_zero instead of -zero.
38846         * modules/ldexpl-tests (Depends-on): Add float.
38847
38848         * tests/test-snprintf-posix.h (zerol): Remove variable.
38849         (minus_zerol): New variable.
38850         (test_function): Use minus_zerol instead of -zerol.
38851         * modules/snprintf-posix-tests (Depends-on): Add float.
38852         * modules/vsnprintf-posix-tests (Depends-on): Add float.
38853
38854         * tests/test-sprintf-posix.h (zerol): Remove variable.
38855         (minus_zerol): New variable.
38856         (test_function): Use minus_zerol instead of -zerol.
38857         * modules/sprintf-posix-tests (Depends-on): Add float.
38858         * modules/vsprintf-posix-tests (Depends-on): Add float.
38859
38860         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
38861         (minus_zerol): New variable.
38862         (test_function): Use minus_zerol instead of -zerol.
38863         * modules/vasnprintf-posix-tests (Depends-on): Add float.
38864
38865         * tests/test-vasprintf-posix.c (zerol): Remove variable.
38866         (minus_zerol): New variable.
38867         (test_function): Use minus_zerol instead of -zerol.
38868         * modules/vasprintf-posix-tests (Depends-on): Add float.
38869
38870 2008-10-07  Simon Josefsson  <simon@josefsson.org>
38871
38872         * MODULES.html.sh (Support for building documentation): Mention
38873         pmccabe2html.  Sort entries.
38874
38875         Add pmccabe2html module, from gnupdf.
38876         * build-aux/pmccabe.css: New file.
38877         * build-aux/pmccabe2html: New file.
38878         * m4/pmccabe2html.m4: New file.
38879         * modules/pmccabe2html: New file.
38880
38881 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
38882
38883         flock: new module
38884         * MODULES.html.sh: Add to list of modules.
38885         * lib/flock.c: flock implementation for Windows and Unix systems
38886         which have fcntl.
38887         * doc/glibc-functions/flock.texi: Update documentation.
38888         * lib/sys_file.in.h: <sys/file.h> header file.
38889         * m4/flock.m4: M4 macros.
38890         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
38891         * modules/flock: flock module.
38892         * modules/flock-tests: flock tests module.
38893         * modules/sys_file: sys/file.h module.
38894         * tests/test-flock.c: test suite for flock.
38895
38896 2008-10-06  Jim Meyering  <meyering@redhat.com>
38897
38898         bootstrap: check for LT_INIT more portably still ;-)
38899         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
38900         Spotted by Bruno Haible.
38901
38902 2008-10-06  Eric Blake  <ebb9@byu.net>
38903
38904         test-signbit: avoid tripping Irix cc bug on -0.0L
38905         * tests/test-signbit.c (minus_zerol): Delete, and replace with
38906         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
38907         entire testsuite consistent and avoids an Irix 6.2 bug.
38908
38909 2008-10-05  Bruno Haible  <bruno@clisp.org>
38910             Jim Meyering  <jim@meyering.net>
38911
38912         Add an option for ignoring EPIPE during close_stdout.
38913         * lib/closeout.h: Include <stdbool.h>.
38914         (close_stdout_set_ignore_EPIPE): New declaration.
38915         * lib/closeout.c: Include <stdbool.h>.
38916         (ignore_EPIPE): New variable.
38917         (close_stdout_set_ignore_EPIPE): New function.
38918         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
38919         * lib/close-stream.c (close_stream): Mention the possible EPIPE
38920         failure.
38921         * modules/closeout (Depends-on): Add stdbool.
38922
38923 2008-10-05  Bruno Haible  <bruno@clisp.org>
38924
38925         * modules/accept: New file.
38926         * modules/bind: New file.
38927         * modules/connect: New file.
38928         * modules/getpeername: New file.
38929         * modules/getsockname: New file.
38930         * modules/getsockopt: New file.
38931         * modules/listen: New file.
38932         * modules/recv: New file.
38933         * modules/recvfrom: New file.
38934         * modules/send: New file.
38935         * modules/sendto: New file.
38936         * modules/setsockopt: New file.
38937         * modules/socket: New file.
38938         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
38939         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
38940         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
38941         the particular module is requested. Add a link warning when the
38942         particular module is not requested.
38943         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
38944         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
38945         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
38946         the particular module is requested.
38947         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
38948         gl_SYS_SOCKET_H_DEFAULTS): New macros.
38949         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
38950         * modules/sys_socket (Depends-on): Add link-warning.
38951         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
38952         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
38953         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
38954         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
38955         GL_LINK_WARNING.
38956         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
38957         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
38958         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
38959         * doc/posix-functions/getpeername.texi: Mention the new module
38960         'getpeername'.
38961         * doc/posix-functions/getsockname.texi: Mention the new module
38962         'getsockname'.
38963         * doc/posix-functions/getsockopt.texi: Mention the new module
38964         'getsockopt'.
38965         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
38966         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
38967         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
38968         * doc/posix-functions/send.texi: Mention the new module 'send'.
38969         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
38970         * doc/posix-functions/setsockopt.texi: Mention the new module
38971         'setsockopt'.
38972         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
38973         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
38974         listen, connect, accept.
38975         * modules/select-tests (Depends-on): Likewise.
38976
38977 2008-10-05  Bruno Haible  <bruno@clisp.org>
38978
38979         * lib/winsock.c (strerror): Remove unused #undef.
38980         (rpl_close): Remove unused local variable.
38981
38982         * modules/sys_socket (Depends-on); Add errno.
38983
38984 2008-10-05  Bruno Haible  <bruno@clisp.org>
38985
38986         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
38987         (select): Add a link warning when the 'select' module is not used.
38988         * modules/sys_select (Depends-on): Add link-warning.
38989         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
38990         Suggested by Paolo Bonzini.
38991
38992 2008-10-05  Jim Meyering  <meyering@redhat.com>
38993
38994         bootstrap: check for LT_INIT more portably
38995         * build-aux/bootstrap: Avoid using grep -E, since it's not
38996         portable enough.  Suggestion from Bruno Haible.
38997
38998 2008-10-05  Bruno Haible  <bruno@clisp.org>
38999
39000         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
39001         as being fixed by gnulib.
39002
39003 2008-10-05  Bruno Haible  <bruno@clisp.org>
39004
39005         * modules/select-tests: New file, mostly copied from
39006         modules/sys_select-tests.
39007         * tests/test-select.c: New file, mostly copied from
39008         tests/test-sys_select.c.
39009         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
39010         * modules/sys_select-tests (Depends-on): Remove all dependencies.
39011         (Makefile.am): Remove test_sys_select_LDADD.
39012
39013         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
39014         to an undefined symbol, for an error message.
39015         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
39016         (gl_SYS_SELECT_H_DEFAULTS): New macro.
39017         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
39018         winsock-select.c here.
39019         * modules/sys_select (Files): Remove lib/winsock-select.c.
39020         (Depends-on): Remove alloca.
39021         (Makefile.am): Substitute GNULIB_SELECT.
39022         * modules/select: New file.
39023         * doc/posix-functions/select.texi: Update.
39024
39025 2008-10-05  Bruno Haible  <bruno@clisp.org>
39026
39027         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
39028         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
39029         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
39030         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
39031         getdtablesize.
39032         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
39033         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
39034
39035 2008-10-05  Bruno Haible  <bruno@clisp.org>
39036
39037         * modules/getdtablesize-tests: New file.
39038         * tests/test-getdtablesize.c: New file.
39039
39040         New module 'getdtablesize'.
39041         * lib/unistd.in.h (getdtablesize): New declaration.
39042         * lib/getdtablesize.c: New file.
39043         * m4/getdtablesize.m4: New file.
39044         * modules/getdtablesize: New file.
39045         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39046         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
39047         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
39048         HAVE_GETDTABLESIZE.
39049         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
39050
39051 2008-10-05  Bruno Haible  <bruno@clisp.org>
39052
39053         * modules/sched (Makefile.am): Fix typo.
39054         Reported by Simon Josefsson.
39055
39056 2008-10-05  Jim Meyering  <meyering@redhat.com>
39057
39058         bootstrap: check for LT_INIT, too
39059         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
39060         are deprecated.  Suggestion from Ralf Wildenhues.
39061
39062 2008-10-05  Bruno Haible  <bruno@clisp.org>
39063
39064         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
39065         overriding them by ours.
39066         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
39067
39068 2008-10-05  Jim Meyering  <meyering@redhat.com>
39069
39070         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
39071         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
39072         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
39073
39074 2008-10-04  Bruno Haible  <bruno@clisp.org>
39075
39076         * modules/dup2 (License): Change to LGPLv2+.
39077         * modules/sleep (License): Likewise.
39078         * modules/perror (License): Likewise.
39079         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
39080         Blake.
39081         * modules/signal (License): Likewise.
39082         * modules/sigprocmask (License): Likewise.
39083         * modules/raise (License): Change to LGPLv2+, with approval by Jim
39084         Meyering.
39085
39086 2008-10-04  Bruno Haible  <bruno@clisp.org>
39087
39088         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
39089         Reported by Rainer Tammer <tammer@tammer.net>.
39090
39091 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
39092             Bruno Haible  <bruno@clisp.org>
39093
39094         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
39095         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
39096         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
39097
39098 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
39099
39100         filevercmp: new module
39101         * lib/filevercmp.h: New function filevercmp comparing version strings.
39102         * lib/filevercmp.c: Implementation of filevercmp function.
39103         * modules/filevercmp: Module metadata.
39104         * tests/test-filevercmp.c: Unit test for new module.
39105         * modules/filevercmp-tests: Unit test metadata.
39106         * MODULES.html.sh: Add filevercmp module.
39107
39108 2008-10-03  Bruno Haible  <bruno@clisp.org>
39109
39110         * lib/c-ctype.h: Add comment.
39111         Reported by Jim Meyering.
39112
39113 2008-10-02  Bruno Haible  <bruno@clisp.org>
39114
39115         * modules/posix_spawn-internal (Depends-on): Add 'open'.
39116
39117 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39118
39119         * build-aux/bootstrap: Allow renaming bootstrap, and change the
39120         name of bootstrap.conf accordingly.
39121
39122 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39123
39124         * build-aux/bootstrap: Install git-merge-changelog configuration
39125         items into .gitconfig if needed.
39126
39127 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39128
39129         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
39130         git repository, and initialize/update it accordingly.
39131
39132 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
39133
39134         * modules/fsync-tests: New file.
39135         * tests/test-fsync.c: New file.
39136
39137         New module 'fsync'.
39138         * lib/fsync.c: New file.
39139         * m4/fsync.m4: New file.
39140         * modules/fsync: New file.
39141         * lib/unistd.in.h (fsync): New declaration.
39142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
39143         GNULIB_FSYNC and HAVE_FSYNC.
39144         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
39145         * MODULES.html.sh (posix_functions): Add fsync.
39146         * doc/posix-functions/fsync.texi: Mention the new module.
39147
39148 2008-10-02  Jim Meyering  <meyering@redhat.com>
39149
39150         fts.c: sync with similar code from coreutils' remove.c
39151         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
39152         Guard also with "#if defined __linux__", since for now at least,
39153         this code is Linux-kernel-specific.
39154
39155 2008-10-02  Jim Meyering  <meyering@redhat.com>
39156
39157         fts: bug fixes
39158         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
39159         Include <sys/vfs.h>, not <sys/statfs.h>.
39160
39161         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
39162         Include <sys/vfs.h>, not <sys/statfs.h>.
39163
39164 2008-10-01  Bruno Haible  <bruno@clisp.org>
39165
39166         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
39167         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
39168         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
39169         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
39170         * doc/posix-functions/posix_spawnp.texi: Likewise.
39171         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
39172         whether posix_spawn actually works.
39173         * m4/pipe.m4 (gl_PIPE): Likewise.
39174         * modules/execute (Files): Add m4/posix_spawn.m4.
39175         * modules/pipe (Files): Add m4/posix_spawn.m4.
39176         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
39177
39178 2008-10-01  Jim Meyering  <meyering@redhat.com>
39179
39180         remove trailing spaces
39181         * NEWS: Likewise.
39182         * lib/poll.c (poll): Likewise.
39183         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
39184         * lib/winsock.c (rpl_close): Likewise.
39185         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
39186         * modules/yield: Likewise.
39187         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
39188         * tests/test-sys_select.c (connect_to_socket): Likewise.
39189
39190         fts.c: adjust a new interface to be more generally useful
39191         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
39192         (fts_build): Adjust caller.
39193
39194 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39195
39196         * modules/cond-tests: New file.
39197         * tests/test-cond.c: New file.
39198
39199 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39200             Bruno Haible  <bruno@clisp.org>
39201
39202         * modules/cond (Dependencies): Add errno, time.
39203         * lib/glthread/cond.h: Include <time.h>.
39204         (gl_cond_define, gl_cond_define_initialized): Use the same definition
39205         across platforms.
39206
39207 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39208             Bruno Haible  <bruno@clisp.org>
39209
39210         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
39211
39212 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39213             Bruno Haible  <bruno@clisp.org>
39214
39215         * modules/tls-tests (Depends-on): Add thread, yield.
39216         (configure.ac): Remove all checks.
39217         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
39218         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
39219         gl_thread_self): Remove definitions. Include glthread/thread.h and
39220         glthread/yield.h instead.
39221         (test_tls): Pass an additional NULL argument to gl_thread_join.
39222
39223 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39224             Bruno Haible  <bruno@clisp.org>
39225
39226         * modules/lock-tests (Depends-on): Add thread, yield.
39227         (configure.ac): Remove all checks.
39228         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
39229         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
39230         gl_thread_self): Remove definitions. Include glthread/thread.h and
39231         glthread/yield.h instead.
39232         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
39233         additional NULL argument to gl_thread_join.
39234
39235 2008-09-30  Bruno Haible  <bruno@clisp.org>
39236
39237         Fix the Win32 implementation of the 'thread' module.
39238         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
39239         pointer type.
39240         (gl_thread_self): Invoke gl_thread_self_func.
39241         (gl_thread_self_func): New declaration.
39242         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
39243         (do_init_self_key, init_self_key): New functions.
39244         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
39245         Remove some fields.
39246         (running_threads, running_lock): Remove variables.
39247         (get_current_thread_handle): New function.
39248         (gl_thread_self_func, wrapper_func, glthread_create_func,
39249         glthread_join_func, gl_thread_exit_func): Largely rewritten and
39250         simplified.
39251
39252 2008-09-30  Bruno Haible  <bruno@clisp.org>
39253
39254         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
39255         files.
39256
39257 2008-09-30  Jim Meyering  <meyering@redhat.com>
39258
39259         fts.m4: correct the test for statfs.f_type
39260         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
39261         when checking for statfs.f_type.
39262
39263 2008-09-15  Simon Josefsson  <simon@josefsson.org>
39264
39265         tests: avoid some compiler warnings
39266         * tests/test-memchr.c (main): Pass NULL indirectly.
39267         * tests/test-getdate.c (main): Remove unused variable 'ret'.
39268
39269 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
39270
39271         getdate.y: disallow countable dayshifts like "4 yesterday ago"
39272         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
39273         exactly specified dayshifts.
39274         (dayshift): New rule.
39275         (rel): Add dayshift.
39276         (relative_time_table) [tomorrow, yesterday, today, now]:
39277         Use tDAY_SHIFT in place of tDAY_UNIT.
39278         * tests/test-getdate.c: Add tests for now-disallowed countable
39279         dayshifts, e.g., "4 yesterday ago".
39280
39281 2008-09-29  Bruno Haible  <bruno@clisp.org>
39282
39283         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
39284         * tests/test-posix_spawn1.in.sh: Renamed from
39285         tests/test-posix_spawn.in.sh.
39286         * tests/test-posix_spawn2.c: New file.
39287         * tests/test-posix_spawn2.in.sh: New file.
39288         * modules/posix_spawnp-tests (Files): Update.
39289         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
39290
39291 2008-09-29  Bruno Haible  <bruno@clisp.org>
39292
39293         Propagate effects of putenv/setenv/unsetenv to child processes.
39294         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
39295         * lib/pipe.c (create_pipe): Likewise.
39296
39297 2008-09-29  Bruno Haible  <bruno@clisp.org>
39298
39299         Enable use of shell scripts as executables in mingw.
39300         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
39301         run the program as a shell script.
39302         * lib/pipe.c (create_pipe): Likewise.
39303         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
39304         resulting array.
39305
39306 2008-09-29  Eric Blake  <ebb9@byu.net>
39307
39308         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
39309
39310 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
39311
39312         * doc/posix-functions/accept.texi: Update mingw problems.
39313         * doc/posix-functions/bind.texi: Update mingw problems.
39314         * doc/posix-functions/close.texi: Update mingw problems.
39315         * doc/posix-functions/connect.texi: Update mingw problems.
39316         * doc/posix-functions/getpeername.texi: Update mingw problems.
39317         * doc/posix-functions/getsockname.texi: Update mingw problems.
39318         * doc/posix-functions/getsockopt.texi: Update mingw problems.
39319         * doc/posix-functions/ioctl.texi: Update mingw problems.
39320         * doc/posix-functions/listen.texi: Update mingw problems.
39321         * doc/posix-functions/recv.texi: Update mingw problems.
39322         * doc/posix-functions/recvfrom.texi: Update mingw problems.
39323         * doc/posix-functions/select.texi: Update mingw problems.
39324         * doc/posix-functions/send.texi: Update mingw problems.
39325         * doc/posix-functions/sendto.texi: Update mingw problems.
39326         * doc/posix-functions/setsockopt.texi: Update mingw problems.
39327         * doc/posix-functions/socket.texi: Update mingw problems.
39328
39329 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
39330             Bruno Haible  <bruno@clisp.org>
39331
39332         * lib/sys_select.in.h: Include sys/time.h.
39333         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
39334         * modules/sys_select: Depend on sys_time.
39335         * tests/test-sys_select.c: Test that sys/select.h defines struct
39336         timeval fully.
39337
39338 2008-09-29  Bruno Haible  <bruno@clisp.org>
39339
39340         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
39341         * lib/sys_select.in.h: Likewise.
39342
39343 2008-09-29  Bruno Haible  <bruno@clisp.org>
39344
39345         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
39346
39347 2008-09-29  Bruno Haible  <bruno@clisp.org>
39348
39349         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
39350         Set LIBSOCKET instead of augmenting LIBS.
39351         * modules/sockets (Link): New section.
39352         * modules/sockets-tests (test_sockets_LDADD): New variable.
39353         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
39354         * modules/poll-tests (test_poll_LDADD): New variable.
39355         * NEWS: Document the change.
39356
39357 2008-09-29  Bruno Haible  <bruno@clisp.org>
39358
39359         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
39360         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
39361         ARPA_INET_H directly.
39362         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39363
39364 2008-09-28  Bruno Haible  <bruno@clisp.org>
39365
39366         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
39367         from gl_HEADER_SYS_SOCKET.
39368         (gl_HEADER_SYS_SOCKET): Invoke it.
39369         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39370
39371 2008-09-28  Bruno Haible  <bruno@clisp.org>
39372
39373         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
39374         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
39375         Needed on OSF/1 4.0.
39376
39377 2008-09-28  Bruno Haible  <bruno@clisp.org>
39378
39379         Override open more carefully.
39380         * lib/open.c (orig_open): New function.
39381         (rpl_open): Use orig_open instead of open.
39382         * lib/fcntl.in.h: Add special invocation convention.
39383         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
39384         (gl_FUNC_OPEN): Invoke it.
39385
39386         Override freopen more carefully.
39387         * lib/freopen.c (orig_freopen): New function.
39388         (rpl_freopen): Use orig_freopen instead of freopen.
39389         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
39390         (gl_FUNC_FREOPEN): Invoke it.
39391
39392         Override fopen more carefully.
39393         * lib/fopen.c (orig_fopen): New function.
39394         (rpl_fopen): Use orig_fopen instead of fopen.
39395         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
39396         (gl_FUNC_FOPEN): Invoke it.
39397         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
39398
39399 2008-09-28  Bruno Haible  <bruno@clisp.org>
39400
39401         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
39402         SIGPIPE.
39403
39404 2008-09-28  Bruno Haible  <bruno@clisp.org>
39405
39406         * tests/test-sigaction.c (handler, main): Disable the check whether
39407         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
39408         glibc systems with LinuxThreads.
39409
39410 2008-09-28  Bruno Haible  <bruno@clisp.org>
39411
39412         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
39413
39414         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
39415         with AIX xlc.
39416         * lib/fcntl.in.h (open): Likewise.
39417         Reported by Rainer Tammer <tammer@tammer.net>.
39418
39419 2008-09-28  Bruno Haible  <bruno@clisp.org>
39420
39421         * modules/posix_spawnp-tests: New file.
39422         * tests/test-posix_spawn.c: New file.
39423         * tests/test-posix_spawn.in.sh: New file.
39424
39425         New module 'posix_spawnp'.
39426         * modules/posix_spawnp: New file.
39427         * lib/spawnp.c: New file, from GNU libc with modifications.
39428         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
39429
39430         New module 'posix_spawn'.
39431         * modules/posix_spawn: New file.
39432         * lib/spawn.c: New file, from GNU libc with modifications.
39433         * doc/posix-functions/posix_spawn.texi: Mention the new module.
39434
39435         New module 'posix_spawnattr_destroy'.
39436         * modules/posix_spawnattr_destroy: New file.
39437         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
39438         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
39439         module.
39440
39441         New module 'posix_spawnattr_setsigmask'.
39442         * modules/posix_spawnattr_setsigmask: New file.
39443         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
39444         modifications.
39445         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
39446         new module.
39447
39448         New module 'posix_spawnattr_getsigmask'.
39449         * modules/posix_spawnattr_getsigmask: New file.
39450         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
39451         modifications.
39452         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
39453         new module.
39454
39455         New module 'posix_spawnattr_setsigdefault'.
39456         * modules/posix_spawnattr_setsigdefault: New file.
39457         * lib/spawnattr_setdefault.c: New file, from GNU libc with
39458         modifications.
39459         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
39460         new module.
39461
39462         New module 'posix_spawnattr_getsigdefault'.
39463         * modules/posix_spawnattr_getsigdefault: New file.
39464         * lib/spawnattr_getdefault.c: New file, from GNU libc with
39465         modifications.
39466         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
39467         new module.
39468
39469         New module 'posix_spawnattr_setschedpolicy'.
39470         * modules/posix_spawnattr_setschedpolicy: New file.
39471         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
39472         modifications.
39473         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
39474         new module.
39475
39476         New module 'posix_spawnattr_getschedpolicy'.
39477         * modules/posix_spawnattr_getschedpolicy: New file.
39478         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
39479         modifications.
39480         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
39481         new module.
39482
39483         New module 'posix_spawnattr_setschedparam'.
39484         * modules/posix_spawnattr_setschedparam: New file.
39485         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
39486         modifications.
39487         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
39488         new module.
39489
39490         New module 'posix_spawnattr_getschedparam'.
39491         * modules/posix_spawnattr_getschedparam: New file.
39492         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
39493         modifications.
39494         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
39495         new module.
39496
39497         New module 'posix_spawnattr_setpgroup'.
39498         * modules/posix_spawnattr_setpgroup: New file.
39499         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
39500         modifications.
39501         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
39502         module.
39503
39504         New module 'posix_spawnattr_getpgroup'.
39505         * modules/posix_spawnattr_getpgroup: New file.
39506         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
39507         modifications.
39508         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
39509         module.
39510
39511         New module 'posix_spawnattr_setflags'.
39512         * modules/posix_spawnattr_setflags: New file.
39513         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
39514         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
39515         module.
39516
39517         New module 'posix_spawnattr_getflags'.
39518         * modules/posix_spawnattr_getflags: New file.
39519         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
39520         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
39521         module.
39522
39523         New module 'posix_spawnattr_init'.
39524         * modules/posix_spawnattr_init: New file.
39525         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
39526         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
39527         module.
39528
39529         New module 'posix_spawn_file_actions_destroy'.
39530         * modules/posix_spawn_file_actions_destroy: New file.
39531         * lib/spawn_faction_destroy.c: New file, from GNU libc with
39532         modifications.
39533         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
39534         the new module.
39535
39536         New module 'posix_spawn_file_actions_addopen'.
39537         * modules/posix_spawn_file_actions_addopen: New file.
39538         * lib/spawn_faction_addopen.c: New file, from GNU libc with
39539         modifications.
39540         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
39541         the new module.
39542
39543         New module 'posix_spawn_file_actions_adddup2'.
39544         * modules/posix_spawn_file_actions_adddup2: New file.
39545         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
39546         modifications.
39547         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
39548         the new module.
39549
39550         New module 'posix_spawn_file_actions_addclose'.
39551         * modules/posix_spawn_file_actions_addclose: New file.
39552         * lib/spawn_faction_addclose.c: New file, from GNU libc with
39553         modifications.
39554         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
39555         the new module.
39556
39557         New module 'posix_spawn_file_actions_init'.
39558         * modules/posix_spawn_file_actions_init: New file.
39559         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
39560         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
39561         new module.
39562
39563         New module 'posix_spawn-internal'.
39564         * modules/posix_spawn-internal: New file.
39565         * lib/spawn_int.h: New file, from GNU libc with modifications.
39566         * lib/spawni.c: New file, from GNU libc with modifications.
39567         * m4/posix_spawn.m4: New file.
39568
39569         New module 'spawn'.
39570         * modules/spawn: New file.
39571         * lib/spawn.in.h: New file, from GNU libc with modifications.
39572         * m4/spawn_h.m4: New file.
39573         * doc/posix-headers/spawn.texi: Mention the new module.
39574
39575 2008-09-28  Bruno Haible  <bruno@clisp.org>
39576
39577         * modules/sched-tests: New file.
39578         * tests/test-sched.c: New file.
39579
39580         New module 'sched'.
39581         * modules/sched: New file.
39582         * lib/sched.in.h: New file.
39583         * m4/sched_h.m4: New file.
39584         * doc/posix-headers/sched.texi: Mention the new module.
39585
39586 2008-09-27  Eric Blake  <ebb9@byu.net>
39587
39588         Fix previous patch, and tweak references to $0.
39589         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
39590         (func_version, func_gnulib_dir): Don't call this program
39591         gnulib-tool.
39592         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
39593         with using $0 in function.
39594         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
39595         (func_fatal_error): Reuse the name the user invoked us with.
39596
39597 2008-09-27  Bruno Haible  <bruno@clisp.org>
39598
39599         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
39600         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
39601         (gl_ICONV_H): Not here.
39602         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
39603         instead of assigning ICONV_H directly.
39604
39605         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
39606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
39607         WCHAR_H directly.
39608
39609 2008-09-27  Bruno Haible  <bruno@clisp.org>
39610
39611         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
39612         * modules/arpa_inet (Depends-on): Add link-warning.
39613         (Makefile.am): Insert the definition of GL_LINK-WARNING.
39614         * modules/unistd (Makefile.am): Likewise.
39615
39616 2008-09-26  Bruno Haible  <bruno@clisp.org>
39617
39618         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
39619         variables.
39620         (func_version): Essentially copied from gnulib-tool.
39621         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
39622         func_readlink): Copied from gnulib-tool.
39623
39624 2008-09-26  Bruno Haible  <bruno@clisp.org>
39625
39626         * gnulib-tool (func_version): Change directory to $gnulib_dir before
39627         invoking git-version-gen.
39628
39629 2008-09-26  Bruno Haible  <bruno@clisp.org>
39630
39631         * posix-modules: Update to directory names changed on 2008-01-19.
39632         Remove commas in output before splitting into words. No more need to
39633         avoid 'ftruncate' since 2007-02-19.
39634
39635 2008-09-26  Bruno Haible  <bruno@clisp.org>
39636
39637         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
39638
39639 2008-09-26  Bruno Haible  <bruno@clisp.org>
39640
39641         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
39642         * modules/fwriteerror (Depends-on): Add errno.
39643
39644 2008-09-26  Bruno Haible  <bruno@clisp.org>
39645
39646         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
39647         * tests/test-vc-list-files-cvs.sh: Likewise.
39648
39649 2008-09-26  Bruno Haible  <bruno@clisp.org>
39650
39651         * doc/posix-headers/sys_resource.texi: Reorder items.
39652
39653 2008-09-26  Jim Meyering  <meyering@redhat.com>
39654
39655         fts: tweak inode comparison function
39656         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
39657         inode numbers, as documented.
39658
39659         fts: sort dirent entries on inode number before traversing
39660         This avoids a quadratic, seek-related performance penalty when
39661         operating on a directory containing many entries (measurable at 10k;
39662         3.5 hours at 2 million entries with a cold cache) on certain types
39663         of file systems, including ext3 and ext4, but not tmpfs.
39664         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
39665         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
39666         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
39667         (fs_handles_readdir_ordered_dirents_efficiently): New function.
39668         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
39669         (fts_build): Set the stat.st_ino member from D_INO.
39670         If it is likely to be useful, sort dirent entries on inode number.
39671
39672         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
39673         and the struct statfs.f_type member.
39674         * modules/fts (Depends-on): Add d-ino.
39675
39676 2008-09-26  Bruno Haible  <bruno@clisp.org>
39677
39678         * modules/sigpipe-die (Depends-on): Add sigpipe.
39679
39680         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
39681         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
39682         and GNULIB_STDIO_H_SIGPIPE are set.
39683         * lib/stdio-write.c: New file.
39684         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
39685         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39686         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39687         REPLACE_STDIO_WRITE_FUNCS.
39688         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
39689         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39690         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39691         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39692         * modules/stdio (Files): Add lib/stdio-write.c.
39693         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
39694         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39695         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39696         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39697         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
39698         REPLACE_FPRINTF_POSIX.
39699         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
39700         REPLACE_PRINTF_POSIX.
39701         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
39702         REPLACE_VFPRINTF_POSIX.
39703         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
39704         REPLACE_VPRINTF_POSIX.
39705         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
39706         SIGPIPE issue.
39707         * doc/posix-functions/fputc.texi: Likewise.
39708         * doc/posix-functions/fputs.texi: Likewise.
39709         * doc/posix-functions/fwrite.texi: Likewise.
39710         * doc/posix-functions/printf.texi: Likewise.
39711         * doc/posix-functions/putc.texi: Likewise.
39712         * doc/posix-functions/putchar.texi: Likewise.
39713         * doc/posix-functions/puts.texi: Likewise.
39714         * doc/posix-functions/vfprintf.texi: Likewise.
39715         * doc/posix-functions/vprintf.texi: Likewise.
39716
39717         * modules/safe-write (Depends-on): Add write.
39718
39719         * modules/sigpipe-tests: New file.
39720         * tests/test-sigpipe.c: New file.
39721         * tests/test-sigpipe.sh: New file.
39722
39723         * modules/write: New file.
39724         * lib/unistd.in.h: Include <sys/types.h>.
39725         (write): New declaration.
39726         * lib/write.c: New file.
39727         * m4/write.m4: New file.
39728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39729         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
39730         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
39731         GNULIB_WRITE, REPLACE_WRITE.
39732         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
39733         and the SIGPIPE issue.
39734
39735         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
39736         (raise): New declaration.
39737         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
39738         (ext_signal): New function.
39739         (rpl_raise): New function.
39740         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
39741         GNULIB_SIGNAL_H_SIGPIPE.
39742         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
39743         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
39744
39745         * modules/sigpipe: New file.
39746         * m4/sigpipe.m4: New file.
39747
39748 2008-09-25  Derek Price  <derek@ximbiot.com>
39749             Bruno Haible  <bruno@clisp.org>
39750
39751         * gnulib-tool (func_import): Report all license incompatibilities, not
39752         just the first one.
39753
39754 2008-09-25  Bruno Haible  <bruno@clisp.org>
39755
39756         * gnulib-tool (func_import): When computing the edits, consider not
39757         only the Makefile.ams that exist but also those that will be generated.
39758
39759 2008-09-25  Simon Josefsson  <simon@josefsson.org>
39760
39761         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
39762         fixes gnulib-tool --test warning about duplicate dependency.
39763
39764 2008-09-25  Bruno Haible  <bruno@clisp.org>
39765
39766         * gnulib-tool: Don't ask the user to perform edits in the generated
39767         Makefile.ams.
39768         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
39769         apply to the Makefile.am being generated.
39770         (func_emit_tests_Makefile_am): Execute edits that apply to the
39771         Makefile.am being generated.
39772         (func_import): Setup list of Makefile.am edits before emitting the
39773         Makefile.ams, not at the end.
39774         (func_create_testdir): Update.
39775         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39776
39777 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39778
39779         * gnulib-tool (func_import): Store the --tests-base option in the
39780         comment in gnulib-cache.m4.
39781
39782 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
39783
39784         * NEWS: Document increased portability that sys_select now provides.
39785
39786         * lib/sys_select.in.h: Install select wrapper.
39787         * lib/sys_socket.in.h: Use more descriptive name when there is no
39788         select wrapper.
39789         * lib/winsock-select.c: New.
39790         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
39791         Require gl_HEADER_SYS_SOCKET.
39792         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
39793         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
39794         * tests/test-sys_select.c: Add functional tests.
39795
39796 2008-09-24  Eric Blake  <ebb9@byu.net>
39797
39798         open, fopen: close fd leak in last patch
39799         * lib/open.c (rpl_open): Close fd before returning error.
39800         * lib/fopen.c (rpl_fopen): Close fd before returning error.
39801         * doc/posix-functions/open.texi (open): Document that Irix also
39802         has the bug.
39803         * doc/posix-functions/fopen.texi (fopen): Likewise.
39804         Reported by Paolo Bonzini.
39805
39806 2008-09-24  Bruno Haible  <bruno@clisp.org>
39807
39808         Ensure that a filename ending in a slash cannot be used to access a
39809         non-directory.
39810         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
39811         to check whether it's really a directory.
39812         * lib/fopen.c: Include fcntl.h, unistd.h.
39813         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
39814         and fdopen().
39815         * modules/fopen (Depends-on): Add unistd.
39816         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
39817         * tests/test-fopen.c (main): Likewise.
39818         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
39819         * doc/posix-functions/fopen.texi: Likewise.
39820         Reported by Eric Blake.
39821
39822 2008-09-23  Eric Blake  <ebb9@byu.net>
39823
39824         c-stack: avoid compiler optimizations when provoking overflow
39825         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
39826         recursion harder to optimize, to ensure a stack overflow occurs.
39827         * tests/test-c-stack.c (recurse): Likewise.
39828         Borrowed from libsigsegv.
39829
39830         c-stack: work around Irix sigaltstack bug
39831         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
39832         whether sigaltstack uses wrong end of stack_t (copied in part from
39833         libsigsegv).
39834         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
39835         Irix bug, without requiring an over-allocation.
39836         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
39837         bug.
39838
39839         fopen: document mingw bug on directories
39840         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
39841         not allowing a stream visiting a directory, even though reading
39842         from such a stream is not portable.
39843
39844 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39845
39846         * lib/poll.c: Rewrite.
39847         * modules/poll: Depend on alloca.
39848
39849 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39850
39851         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
39852         instead define prototypes for a full set of wrappers.  Ensure
39853         that Cygwin does not use the compatibility code, which is only
39854         for MinGW.
39855         * lib/winsock.c: New.
39856         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
39857         * modules/sys_socket: Add lib/winsock.c.
39858
39859         * modules/poll-tests: Add errno and perror.
39860         * tests/test-poll.c: Use ioctl, not ioctlsocket.
39861
39862 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39863
39864         * tests/test-poll.c: Downgrade minimum needed Winsock version.
39865
39866 2008-09-23  Bruno Haible  <bruno@clisp.org>
39867
39868         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
39869         * doc/glibc-functions/*: Likewise.
39870
39871 2008-09-23  Simon Josefsson  <simon@josefsson.org>
39872
39873         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
39874         success.
39875
39876 2008-09-22  Eric Blake  <ebb9@byu.net>
39877             Bruno Haible  <bruno@clisp.org>
39878
39879         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
39880         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
39881         supply %A but mishandle pseudo-NaN.
39882         Reported by Simon Josefsson.
39883
39884 2008-09-21  Bruno Haible  <bruno@clisp.org>
39885
39886         * tests/test-lock.c (main): Tweak skip message.
39887         * tests/test-tls.c (main): Likewise.
39888
39889 2008-09-21  Bruno Haible  <bruno@clisp.org>
39890
39891         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
39892         whether 'struct sigaction' has sa_sigaction here...
39893         (gl_PREREQ_SIG_HANDLER_H): ... not here.
39894         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
39895
39896 2008-09-21  Bruno Haible  <bruno@clisp.org>
39897
39898         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
39899         section.
39900         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
39901         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
39902         the new section.
39903         (Support for obsolete systems lacking POSIX:2001): New section.
39904         (String handling <string.h>): Move strdup to the new section.
39905         Suggested by Simon Josefsson and Paolo Bonzini.
39906
39907 2008-09-21  Bruno Haible  <bruno@clisp.org>
39908
39909         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
39910         exponents in %e and %g results on 'long double'. Needed for mingw's
39911         improved *printf functions.
39912         * tests/test-vasprintf-posix.c (test_function): Likewise.
39913         * tests/test-snprintf-posix.h (test_function): Likewise.
39914         * tests/test-sprintf-posix.h (test_function): Likewise.
39915         Reported by Eric Blake.
39916
39917 2008-09-21  Bruno Haible  <bruno@clisp.org>
39918
39919         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
39920         * tests/test-sprintf-posix.h (test_function): Likewise.
39921
39922 2008-09-21  Bruno Haible  <bruno@clisp.org>
39923
39924         * modules/getpass (Depends-on): Add strdup-posix.
39925
39926         New module 'strdup-posix'.
39927         * modules/strdup-posix: New file.
39928         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
39929         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
39930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39931         REPLACE_STRDUP.
39932         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
39933         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
39934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39935         strdup-posix.
39936
39937         * modules/strdup (Depends-on): Remove malloc-posix.
39938
39939 2008-09-20  Bruno Haible  <bruno@clisp.org>
39940
39941         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
39942         Wildenhues.
39943
39944 2008-09-20  Bruno Haible  <bruno@clisp.org>
39945
39946         Ensure that wint_t gets defined on IRIX 5.3.
39947         * lib/wchar.in.h (wint_t): Define if not defined by the system.
39948         * lib/wctype.in.h (wint_t): Likewise.
39949         (__wctype_wint_t): Remove type.
39950         (isw*): Use wint_t instead of __wctype_wint_t.
39951         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
39952         * modules/wchar (Files): Add m4/wint_t.m4.
39953         (Makefile.am): Substitute HAVE_WINT_T.
39954         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
39955         * tests/test-wctype.c: Check that wint_t is defined.
39956         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
39957         * doc/posix-headers/wctype.texi: Likewise.
39958         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39959
39960 2008-09-18  Bruno Haible  <bruno@clisp.org>
39961
39962         * gnulib-tool (func_exit): Update comment.
39963
39964 2008-09-18  Simon Josefsson  <simon@josefsson.org>
39965
39966         * modules/getaddrinfo (Depends-on): Remove strdup, this module
39967         assumes strdup exists and does not depend on strdup to return
39968         ENOMEM on out of memory conditions.
39969
39970 2008-09-18  Bruno Haible  <bruno@clisp.org>
39971
39972         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
39973         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
39974         digits for the exponent.
39975
39976 2008-09-18  Jim Meyering  <meyering@redhat.com>
39977             Bruno Haible  <bruno@clisp.org>
39978
39979         * lib/vasnprintf.c (decimal_point_char): Define also if
39980         NEED_PRINTF_INFINITE_LONG_DOUBLE.
39981
39982 2008-09-16  Bruno Haible  <bruno@clisp.org>
39983         and Eric Blake  <ebb9@byu.net>
39984
39985         vasnprintf: support Irix 5.3
39986         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
39987         that mishandle long double infinity.
39988         Reported by Tom G. Christensen.
39989
39990 2008-09-16  Bruno Haible  <bruno@clisp.org>
39991
39992         * doc/glibc-functions/scandir.texi: Mention the function is missing on
39993         Solaris 9.
39994         * doc/glibc-functions/alphasort.texi: Likewise.
39995         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
39996
39997 2008-09-16  Jim Meyering  <meyering@redhat.com>
39998
39999         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
40000         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
40001         a umask modification leak out of a subshell.  Otherwise, the
40002         opensolaris /bin/sh would be accepted and thus cause unwarranted
40003         failures in the coreutils test suite.
40004
40005 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
40006
40007         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
40008         to succeed.
40009
40010 2008-09-16  Jim Meyering  <meyering@redhat.com>
40011
40012         avoid spurious test failure when library is built without ACL support
40013         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
40014         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
40015         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
40016         * tests/test-copy-acl.sh: Likewise.
40017
40018 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40019
40020         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
40021         based on character occurrence counts.
40022
40023 2008-09-15  Eric Blake  <ebb9@byu.net>
40024
40025         tests: avoid some compiler warnings
40026         * tests/test-memchr.c (main): Pass NULL indirectly.
40027         * tests/test-closein.c (main): Avoid unused variable.
40028
40029 2008-09-15  Bruno Haible  <bruno@clisp.org>
40030
40031         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
40032         are missing on OpenBSD 4.0 individually.
40033         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40034
40035 2008-09-15  Bruno Haible  <bruno@clisp.org>
40036
40037         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
40038         * doc/posix-functions/strerror.texi: Mention also Cygwin.
40039         * doc/posix-functions/perror.texi: Likewise.
40040         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
40041         is missing.
40042         Reported by Eric Blake.
40043
40044         * lib/errno.in.h: Use replacement values >= 2000.
40045         Reported by Eric Blake.
40046
40047 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40048
40049         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
40050         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
40051         limit.
40052         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
40053         compareseq was aborted.
40054
40055 2008-09-14  Bruno Haible  <bruno@clisp.org>
40056
40057         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
40058         yvec_edit_count.
40059         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
40060         (fstrcmp_bounded): Simplify result computation accordingly.
40061
40062 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40063
40064         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
40065         (fstrcmp): Define in terms of fstrcmp_bounded.
40066         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
40067         lower_bound argument.
40068         Return quickly if the result is certainly < lower_bound.
40069         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
40070
40071 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40072
40073         * lib/diffseq.h (EARLY_ABORT): New macro.
40074         (compareseq): Change return type to bool. Return true when EARLY_ABORT
40075         evaluates to true.
40076
40077 2008-09-14  Bruno Haible  <bruno@clisp.org>
40078
40079         * modules/perror-tests: New file.
40080         * tests/test-perror.sh: New file.
40081         * tests/test-perror.c: New file.
40082
40083         New module 'perror'.
40084         * lib/stdio.in.h (perror): New declaration.
40085         * lib/perror.c: New file.
40086         * m4/perror.m4: New file.
40087         * modules/perror: New file.
40088         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
40089         * doc/posix-functions/perror.texi: Mention the perror module.
40090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
40091         REPLACE_PERROR.
40092         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
40093         REPLACE_PERROR.
40094
40095 2008-09-14  Bruno Haible  <bruno@clisp.org>
40096
40097         * modules/stdio (Makefile.am): Reorder to match the order in
40098         lib/stdio.in.h.
40099         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40100
40101 2008-09-13  Bruno Haible  <bruno@clisp.org>
40102
40103         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
40104
40105 2008-09-13  Bruno Haible  <bruno@clisp.org>
40106
40107         Extend strerror to cover the added errno values.
40108         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
40109         (rpl_strerror): Provide error messages for the added errno values and
40110         for the WSA* values.
40111         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
40112         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
40113         strerror.
40114         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
40115         * modules/strerror (Depends-on): Add errno.
40116         * doc/posix-functions/strerror.texi: Document the change.
40117         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
40118         and EOVERFLOW.
40119
40120 2008-09-13  Bruno Haible  <bruno@clisp.org>
40121
40122         * modules/EOVERFLOW: Remove file.
40123         * m4/eoverflow.m4: Remove file.
40124         * modules/EOVERFLOW-tests: Remove file.
40125         * tests/test-EOVERFLOW.c: Remove file.
40126         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
40127         * modules/ftell (Depends-on): Likewise.
40128         * modules/getdelim (Depends-on): Likewise.
40129         * modules/getugroups (Depends-on): Likewise.
40130         * modules/poll (Depends-on): Likewise.
40131         * modules/snprintf (Depends-on): Likewise.
40132         * modules/sprintf-posix (Depends-on): Likewise.
40133         * modules/vasnprintf (Depends-on): Likewise.
40134         * modules/vasprintf (Depends-on): Likewise.
40135         * modules/vfprintf-posix (Depends-on): Likewise.
40136         * modules/vsnprintf (Depends-on): Likewise.
40137         * modules/vsprintf-posix (Depends-on): Likewise.
40138         * modules/xvasprintf (Depends-on): Likewise.
40139         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40140         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
40141         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
40142         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
40143         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40144         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
40145         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
40146         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
40147         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40148         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
40149         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
40150         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
40151         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40152         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
40153         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
40154         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
40155         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40156         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
40157         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
40158         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
40159         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40160         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
40161         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
40162         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
40163         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
40164         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40165         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
40166         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
40167         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
40168         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
40169         * MODULES.html.sh: Remove EOVERFLOW.
40170         * NEWS: Mention the change.
40171
40172 2008-09-13  Bruno Haible  <bruno@clisp.org>
40173
40174         * modules/errno-tests: New file.
40175         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
40176
40177         * lib/errno.in.h: New file.
40178         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
40179         * modules/errno: New file.
40180         * doc/posix-headers/errno.texi: Update documentation.
40181         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
40182
40183 2008-09-13  Bruno Haible  <bruno@clisp.org>
40184
40185         * tests/test-poll.c: Use #if for native Windows, rather than testing
40186         __MSVCRT__.
40187
40188 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40189             Bruno Haible  <bruno@clisp.org>
40190
40191         * lib/glob.c: Don't include <pwd.h> on native Windows.
40192         (WINDOWS32): New macro.
40193         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
40194
40195 2008-09-13  Bruno Haible  <bruno@clisp.org>
40196
40197         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
40198         (ETIMEDOUT): Remove macro.
40199         (glthread_cond_timedwait_multithreaded): New declaration.
40200         (glthread_cond_timedwait): Use it.
40201         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
40202         (glthread_cond_timedwait_multithreaded): New function.
40203
40204 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40205
40206         * modules/poll-tests: Do not check for io.h.
40207         * tests/test-poll.c: Check for __MSVCRT__ instead.
40208
40209 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40210
40211         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
40212         * modules/poll-tests: Add inet_pton, stdbool, sockets.
40213         * tests/test-poll.c: Use them.  Use _pipe on Windows.
40214
40215 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40216
40217         * modules/poll-tests: New.
40218         * tests/test-poll.c: New.
40219
40220 2008-09-12  Eric Blake  <ebb9@byu.net>
40221
40222         frexp: test for NetBSD failure on -0.0
40223         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
40224         not all, bugs from NetBSD 3.0 have been fixed.
40225         * doc/posix-functions/frexp.texi (frexp): Document bug.
40226         Reported by Thomas Klausner.
40227
40228         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
40229         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
40230         literal -0.0.
40231         Reported by Jonathan C. Patschke <jp@centtech.com>.
40232
40233 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40234
40235         * lib/glthread/cond.h: Use dummy implementation also if
40236         USE_WIN32_THREADS.
40237
40238 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40239
40240         * modules/fnmatch-posix (License): Change to LGPLv2+.
40241         * modules/fnmatch-gnu (License): Likewise.
40242
40243 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40244
40245         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
40246
40247 2008-09-11  Jim Meyering  <meyering@redhat.com>
40248
40249         * users.txt: Add gtk-vnc.
40250
40251 2008-09-08  Simon Josefsson  <simon@josefsson.org>
40252
40253         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
40254         rotate amounts.
40255
40256         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
40257         required for 16-bit and 8-bit rotates.
40258         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
40259         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
40260         UINT8_MAX instead of hard-coded constants.
40261         Suggested by Paul Eggert.
40262
40263 2008-09-07  Bruno Haible  <bruno@clisp.org>
40264
40265         * tests/test-striconveh.c (main): Check behaviour when converting from
40266         UTF-7.
40267
40268         Make striconveh work better with stateful encodings.
40269         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
40270         that iconv does not increment the inptr when returning -1/EINVAL.
40271
40272 2008-09-07  Bruno Haible  <bruno@clisp.org>
40273
40274         * build-aux/config.rpath: Update according to libtool-2.2.6.
40275         * build-aux/config.libpath: Likewise.
40276
40277 2008-09-06  Bruno Haible  <bruno@clisp.org>
40278
40279         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
40280         * lib/freadptr.c (freadptr): Likewise.
40281         * lib/freadseek.c (freadptrinc): Likewise.
40282         Reported by Simon Josefsson.
40283
40284 2008-09-06  Bruno Haible  <bruno@clisp.org>
40285
40286         * modules/freadptr (License): Change to LGPLv2+.
40287         * modules/freadseek (License): Likewise.
40288         Suggested by Eric Blake.
40289
40290         * modules/memchr2 (License): Change to LGPLv2+.
40291         Approved by Eric Blake.
40292
40293 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40294             Bruno Haible  <bruno@clisp.org>
40295
40296         Make gnulib-tool work with native 'sed' on AIX.
40297         * gnulib-tool (sed_noop): New variable.
40298         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
40299         func_add_or_update, func_create_testdir): Use it to initialize sed
40300         script variables.
40301         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40302
40303 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
40304             Bruno Haible  <bruno@clisp.org>
40305
40306         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
40307         also works after #include directives.
40308
40309 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
40310
40311         getdate.y: reject an out-of-range timezone value
40312         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
40313         the range [-24...+24].  When specified with only one or two digits,
40314         * tests/test-getdate.c: Tests for the fix.
40315         * doc/getdate.texi: Document this change.
40316
40317 2008-09-03  Bruno Haible  <bruno@clisp.org>
40318
40319         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
40320
40321 2008-09-02  Simon Josefsson  <simon@josefsson.org>
40322
40323         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
40324         <bruce.korb@gmail.com> with ideas from Ben Pfaff
40325         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
40326         Blake <ebb9@byu.net>.
40327
40328         * tests/test-bitrotate.c: Add more test vectors.
40329
40330 2008-09-02  Eric Blake  <ebb9@byu.net>
40331
40332         vasnprintf-posix: handle large precision via %.*d
40333         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
40334         when handling it ourselves.
40335         * tests/test-vasnprintf-posix.c (test_function): Add test.
40336         * tests/test-snprintf-posix.h (test_function): Likewise.
40337         * tests/test-sprintf-posix.h (test_function): Likewise.
40338         * tests/test-vasprintf-posix.c (test_function): Likewise.
40339         Reported by Alain Guibert.
40340
40341 2008-09-01  Eric Blake  <ebb9@byu.net>
40342
40343         c-stack: make configure-time check more robust
40344         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
40345         successful sigaction call.
40346         Reported by Tom G. Christensen.
40347
40348 2008-09-01  Bruno Haible  <bruno@clisp.org>
40349
40350         New module 'findprog-lgpl'.
40351         * modules/findprog-lgpl: New file.
40352         * lib/findprog-lgpl.c: New file.
40353         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
40354         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
40355         to decide whether to use strdup or xstrdup, concatenated_filename or
40356         xconcatenated_filename.
40357
40358 2008-09-01  Bruno Haible  <bruno@clisp.org>
40359
40360         Split module 'concat-filename' into 'concat-filename' (LGPL) and
40361         'xconcat-filename' (GPL).
40362         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
40363         (License): Change to LGPLv2+.
40364         * modules/xconcat-filename: New file.
40365         * lib/concat-filename.h (concatenated_filename): Change specification.
40366         (xconcatenated_filename): New declaration.
40367         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
40368         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
40369         memory situations.
40370         * lib/xconcat-filename.c: New file.
40371         * NEWS: Mention the change.
40372         * lib/findprog.c: Include concat-filename.h, not filename.h.
40373         (find_in_path): Use xconcatenated_filename instead of
40374         concatenated_filename.
40375         * lib/javacomp.c: Include concat-filename.h, not filename.h.
40376         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
40377         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
40378         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
40379         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
40380         instead of concatenated_filename.
40381         * lib/javaexec.c: Include concat-filename.h, not filename.h.
40382         (execute_java_class): Use xconcatenated_filename instead of
40383         concatenated_filename.
40384         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
40385         * modules/javacomp (Depends-on): Likewise.
40386         * modules/javaexec (Depends-on): Likewise.
40387
40388 2008-09-01  Bruno Haible  <bruno@clisp.org>
40389
40390         Split module 'filename' into 'filename' and 'concat-filename'.
40391         * modules/filename: Keep only lib/filename.h.
40392         (License): Change to LGPLv2+.
40393         * modules/concat-filename: New file, extracted from modules/filename.
40394         * lib/filename.h (concatenated_filename): Remove declaration.
40395         * lib/concat-filename.h: New file, extracted from lib/filename.h.
40396         * lib/concat-filename.c: Include concat-filename.h.
40397         * NEWS: Mention the change.
40398
40399 2008-09-01  Simon Josefsson  <simon@josefsson.org>
40400
40401         * lib/bitrotate.h (rotl8, rotr8): Add.
40402
40403         * modules/bitrotate (configure.ac): Need
40404         AC_REQUIRE([AC_C_INLINE]).
40405         (Description): Mention stdint.h.  Reported by Bruno Haible
40406         <bruno@clisp.org>.
40407
40408         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
40409         Paolo Bonzini <bonzini@gnu.org>.
40410
40411 2008-08-31  Bruno Haible  <bruno@clisp.org>
40412
40413         Assume Solaris specific bi-arch conventions on Solaris systems.
40414         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
40415         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
40416         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
40417         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
40418         like acl_libdirstem.
40419         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
40420         acl_libdirstem.
40421         * NEWS: Mention the change.
40422         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
40423
40424 2008-08-31  Jim Meyering  <meyering@redhat.com>
40425
40426         * lib/strftime.h: Add comments describing the two added arguments.
40427
40428         remove duplicate #include directives
40429         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
40430         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
40431
40432 2008-08-31  Bruno Haible  <bruno@clisp.org>
40433
40434         New module 'sigpipe-die'.
40435         * modules/sigpipe-die: New file.
40436         * lib/sigpipe-die.h: New file.
40437         * lib/sigpipe-die.c: New file.
40438         * MODULES.html.sh (Signal handling): Add sigpipe-die.
40439
40440 2008-08-31  Bruno Haible  <bruno@clisp.org>
40441
40442         Don't override previously installed signal handlers.
40443         * lib/fatal-signal.c (saved_sigactions): New variable.
40444         (uninstall_handlers): Reset the signal to the saved handler, not
40445         to SIG_DFL (except when ignored).
40446         (install_handlers): Save the previous handlers.
40447
40448 2008-08-30  Bruno Haible  <bruno@clisp.org>
40449
40450         * gnulib-tool (func_reset_sigpipe): New function.
40451         (func_get_automake_snippet, func_modules_transitive_closure,
40452         func_import): Invoke it before a join command that reads from stdin,
40453         to avoid "echo: write error: Broken pipe" error messages on stderr.
40454         Reported by Sam Steingold <sds@gnu.org>.
40455
40456 2008-08-30  Bruno Haible  <bruno@clisp.org>
40457
40458         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
40459         Code copied from m4/open.m4.
40460         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
40461         access and the filename ends in a slash. Code copied from lib/open.c.
40462         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
40463         * tests/test-fopen.c (main): Check against bug with trailing slash.
40464
40465 2008-08-29  Bruno Haible  <bruno@clisp.org>
40466
40467         Avoid some "gcc -pedantic" warnings.
40468         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
40469         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
40470         * lib/dirent.in.h: Likewise.
40471         * lib/fcntl.in.h: Likewise.
40472         * lib/float.in.h: Likewise.
40473         * lib/iconv.in.h: Likewise.
40474         * lib/inttypes.in.h: Likewise.
40475         * lib/locale.in.h: Likewise.
40476         * lib/math.in.h: Likewise.
40477         * lib/netinet_in.in.h: Likewise.
40478         * lib/search.in.h: Likewise.
40479         * lib/signal.in.h: Likewise.
40480         * lib/stdarg.in.h: Likewise.
40481         * lib/stdint.in.h: Likewise.
40482         * lib/stdio.in.h: Likewise.
40483         * lib/stdlib.in.h: Likewise.
40484         * lib/string.in.h: Likewise.
40485         * lib/strings.in.h: Likewise.
40486         * lib/sys_select.in.h: Likewise.
40487         * lib/sys_socket.in.h: Likewise.
40488         * lib/sys_stat.in.h: Likewise.
40489         * lib/sys_time.in.h: Likewise.
40490         * lib/sysexits.in.h: Likewise.
40491         * lib/time.in.h: Likewise.
40492         * lib/unistd.in.h: Likewise.
40493         * lib/wchar.in.h: Likewise.
40494         * lib/wctype.in.h: Likewise.
40495         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
40496         * modules/fchdir (Makefile.am): Likewise.
40497         * modules/fcntl (Makefile.am): Likewise.
40498         * modules/float (Makefile.am): Likewise.
40499         * modules/iconv_open (Makefile.am): Likewise.
40500         * modules/inttypes (Makefile.am): Likewise.
40501         * modules/locale (Makefile.am): Likewise.
40502         * modules/math (Makefile.am): Likewise.
40503         * modules/netinet_in (Makefile.am): Likewise.
40504         * modules/search (Makefile.am): Likewise.
40505         * modules/signal (Makefile.am): Likewise.
40506         * modules/stdarg (Makefile.am): Likewise.
40507         * modules/stdint (Makefile.am): Likewise.
40508         * modules/stdio (Makefile.am): Likewise.
40509         * modules/stdlib (Makefile.am): Likewise.
40510         * modules/string (Makefile.am): Likewise.
40511         * modules/strings (Makefile.am): Likewise.
40512         * modules/sys_select (Makefile.am): Likewise.
40513         * modules/sys_socket (Makefile.am): Likewise.
40514         * modules/sys_stat (Makefile.am): Likewise.
40515         * modules/sys_time (Makefile.am): Likewise.
40516         * modules/sysexits (Makefile.am): Likewise.
40517         * modules/time (Makefile.am): Likewise.
40518         * modules/unistd (Makefile.am): Likewise.
40519         * modules/wchar (Makefile.am): Likewise.
40520         * modules/wctype (Makefile.am): Likewise.
40521         Reported by Reuben Thomas <rrt@sc3d.org>.
40522
40523 2008-08-29  Bruno Haible  <bruno@clisp.org>
40524
40525         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
40526         any more.
40527
40528 2008-08-29  Simon Josefsson  <simon@josefsson.org>
40529
40530         * MODULES.html.sh (Misc): Add bitrotate.
40531
40532         * modules/bitrotate: New file.
40533
40534         * lib/bitrotate.h: New file.
40535
40536         * modules/bitrotate-tests: New file.
40537
40538         * tests/test-bitrotate.c: New file.
40539
40540         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
40541         on the bitrotate module.
40542
40543         * lib/arctwo.c: Use new bitrotate module.
40544
40545 2008-08-29  Jim Meyering  <meyering@redhat.com>
40546
40547         bootstrap: merge changes from coreutils
40548         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
40549         of copied files.  Remove a kludge, now that this is fixed.
40550         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
40551         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
40552         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
40553
40554 2008-08-29  Bruno Haible  <bruno@clisp.org>
40555
40556         * MODULES.html.sh: Remove --cvs-urls option.
40557
40558 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
40559
40560         maint.mk: adjust to file name change
40561         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
40562
40563 2008-08-28  Jim Meyering  <meyering@redhat.com>
40564
40565         * modules/getndelim2 (License): Relicense to LGPLv2+.
40566         Approved by Richard Stallman for the version of 1995, and by
40567         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
40568
40569 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
40570
40571         * lib/getdelim.c (flockfile, funlockfile): Make all of them
40572         dummy if one is not available.  Do not touch them if
40573         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
40574         (getc_maybe_unlocked): New.
40575         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
40576
40577 2008-08-26  Eric Blake  <ebb9@byu.net>
40578
40579         doc/INSTALL: resync from autoconf
40580         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
40581         (INSTALL_PRELUDE): Delete; this is done more efficiently by
40582         moving...
40583         * install.texi [!autoconf]: ...here.  Resync from autoconf.
40584         * INSTALL: Regenerate.
40585         * INSTALL.ISO: New file.
40586         * INSTALL.UTF-8: Likewise.
40587
40588 2008-08-26  Jim Meyering  <meyering@redhat.com>
40589
40590         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
40591         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
40592         these definitions conditional, so that they may be overridden, too.
40593
40594 2008-08-26  Bruno Haible  <bruno@clisp.org>
40595
40596         Generate INSTALL file variants with prettier quotes.
40597         * doc/Makefile (INSTALL_PRELUDE): New macro.
40598         (INSTALL): Use it.
40599         (INSTALL.ISO, INSTALL.UTF-8): New rules.
40600
40601 2008-08-26  Bruno Haible  <bruno@clisp.org>
40602
40603         Run makeinfo in an English locale.
40604         * doc/Makefile (MAKEINFO): New variable.
40605
40606 2008-08-26  Bruno Haible  <bruno@clisp.org>
40607
40608         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
40609         Suggested by Eric Blake.
40610
40611 2008-08-25  Bruno Haible  <bruno@clisp.org>
40612
40613         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
40614
40615 2008-08-25  Eric Blake  <ebb9@byu.net>
40616
40617         c-stack: test that stack overflow can be caught
40618         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
40619         that platform allows handling stack overflow; at least OS/2 EMX
40620         has sigaltstack, but crashes before transferring control to
40621         handler on stack overflow.
40622         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
40623         check for HAVE_STACK_OVERFLOW_HANDLING.
40624         Reported by Elbert Pol.
40625
40626 2008-08-25  Bruno Haible  <bruno@clisp.org>
40627
40628         * doc/posix-functions/strftime.texi: Fix description of strftime
40629         module.
40630
40631 2008-08-24  Bruno Haible  <bruno@clisp.org>
40632
40633         * tests/uniwidth/test-uc_width2.c: New file.
40634         * tests/uniwidth/test-uc_width2.sh: New file.
40635         * modules/uniwidth/width-tests (Files): Add the new files.
40636         (TESTS): Add uniwidth/test-uc_width2.sh.
40637         (TESTS_ENVIRONMENT): New variable.
40638         (check_PROGRAMS): Add test-uc_width2.
40639         (test_uc_width2_SOURCES): New variable.
40640
40641         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
40642         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
40643         not 0x00AB.
40644         Reported by Alexander V. Lukyanov <lav@netis.ru>.
40645
40646 2008-08-22  Eric Blake  <ebb9@byu.net>
40647
40648         test-lock, test-tls: mention why a test is skipped
40649         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
40650         skipped.
40651         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
40652
40653         count-one-bits: relax license
40654         * modules/count-one-bits (License): Relicense to LGPLv2+.
40655         Suggested by Ludovic Courtès, approved by Ben Pfaff.
40656
40657 2008-08-22  Andreas Schwab  <schwab@suse.de>
40658
40659         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
40660         Remove spurious space in assignment.
40661
40662 2008-08-21  Simon Josefsson  <simon@josefsson.org>
40663
40664         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
40665         Paul Eggert <eggert@CS.UCLA.EDU>.
40666
40667 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
40668
40669         * modules/gettext: Add m4/threadlib.m4.
40670
40671 2008-08-19  Eric Blake  <ebb9@byu.net>
40672
40673         test-c-stack: fix compilation failure on FreeBSD 5.0
40674         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
40675         headers before <sys/resource.h>.
40676         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
40677         the bug.
40678         Reported by Nelson H. F. Beebe.
40679
40680         strverscmp: migrate from "strverscmp.h" to <string.h>
40681         * modules/string (Makefile.am): Add new hooks.
40682         * modules/strverscmp (Files): Remove strverscmp.h.
40683         (Depends-on): Add string.
40684         (configure.ac): Add indicator.
40685         (Include): Mention new header.
40686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
40687         defaults.
40688         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
40689         results.
40690         * lib/strverscmp.h: Delete.
40691         * lib/string.in.h (strverscmp): Provide declaration, when needed.
40692         * tests/test-strverscmp.c (includes): Adjust client.
40693         * lib/check-version.c (includes): Likewise.
40694         * NEWS: Document the change.
40695
40696         strverscmp: add unit test
40697         * modules/strverscmp-tests: New file.
40698         * tests/test-strverscmp.c: Likewise.
40699
40700 2008-08-19  Simon Josefsson  <simon@josefsson.org>
40701
40702         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
40703         regarding Windows crypto stuff, from Mono.
40704
40705 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
40706
40707         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
40708         if present, for intel RND.  Return error on failures.
40709
40710 2008-08-18  Ben Pfaff  <blp@gnu.org>
40711
40712         gitlog-to-changelog: give better diagnostic for failed pipe-open
40713         * build-aux/gitlog-to-changelog: Improve error message: suggest
40714         that the version of Git may be too old.
40715
40716 2008-08-18  Simon Josefsson  <simon@josefsson.org>
40717
40718         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
40719         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
40720
40721 2008-08-18  Bruno Haible  <bruno@clisp.org>
40722
40723         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
40724         pthread_in_use().
40725
40726 2008-08-18  Bruno Haible  <bruno@clisp.org>
40727
40728         * lib/glthread/threadlib.c: Include <pthread.h>.
40729
40730 2008-08-18  Bruno Haible  <bruno@clisp.org>
40731
40732         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
40733         glthread_recursive_lock_* macros.
40734         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
40735         Fix syntax error.
40736
40737 2008-08-18  Bruno Haible  <bruno@clisp.org>
40738
40739         * lib/glthread/thread.c: Avoid forcing a context switch right after
40740         thread creation.
40741
40742 2008-08-17  Bruno Haible  <bruno@clisp.org>
40743
40744         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
40745         * lib/glthread/thread.h: Provide Win32 specific implementation.
40746         * modules/thread (Files): Add lib/glthread/thread.c.
40747         (Depends-on): Add lock.
40748         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
40749
40750 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40751
40752         New module 'yield'.
40753         * modules/yield: New file.
40754         * lib/glthread/yield.h: New file.
40755         * m4/yield.m4: New file.
40756         * MODULES.html.sh (Multithreading): Add yield.
40757
40758 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40759
40760         New module 'thread'.
40761         * modules/thread: New file.
40762         * lib/glthread/thread.h: New file.
40763         * m4/thread.m4: New file.
40764         * MODULES.html.sh (Multithreading): Add thread.
40765
40766 2008-08-17  Bruno Haible  <bruno@clisp.org>
40767
40768         * lib/glthread/lock.h: Include <stdlib.h> always.
40769         * lib/glthread/tls.h: Likewise.
40770         * lib/glthread/cond.h: Likewise.
40771
40772 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40773
40774         New module 'cond'.
40775         * modules/cond: New file.
40776         * lib/glthread/cond.h: New file.
40777         * lib/glthread/cond.c: New file.
40778         * m4/cond.m4: New file.
40779         * MODULES.html.sh (Multithreading): Add cond.
40780
40781 2008-08-16  Eric Blake  <ebb9@byu.net>
40782
40783         c-stack: fix regression on Irix 5.3 from 2008-06-21
40784         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
40785         sa_sigaction...
40786         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
40787         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
40788         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
40789         * modules/signal (Makefile.am): Use the value.
40790         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
40791         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
40792         * doc/posix-headers/signal.texi (signal.h): Document this
40793         portability issue.
40794         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
40795         Reported by Tom G. Christensen.
40796
40797 2008-08-17  Bruno Haible  <bruno@clisp.org>
40798
40799         New module 'threadlib'.
40800         * modules/threadlib: New file.
40801         * lib/glthread/threadlib.c: New file, extracted from
40802         lib/glthread/lock.c.
40803         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
40804         functions.
40805         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
40806         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
40807         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
40808         macros.
40809         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
40810         (gl_DISABLE_THREADS): Remove macro.
40811         * modules/lock (Files): Remove build-aux/config.rpath.
40812         (Depends-on): Remove havelib. Add threadlib.
40813         (configure.ac-early): Remove section.
40814         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
40815         * modules/tls (Depends-on): Remove lock. Add threadlib.
40816         (Link): New section, copied from threadlib.
40817         * MODULES.html.sh (Multithreading): Add threadlib.
40818
40819 2008-08-14  Bruno Haible  <bruno@clisp.org>
40820
40821         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
40822         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
40823         glthread_rwlock_unlock, glthread_rwlock_destroy,
40824         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
40825         glthread_recursive_lock_destroy): Define as macros always.
40826         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
40827         glthread_lock_lock.
40828         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
40829         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
40830         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
40831         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
40832         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
40833         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
40834         (glthread_recursive_lock_lock_func): Renamed from
40835         glthread_recursive_lock_lock.
40836         (glthread_recursive_lock_unlock_func): Renamed from
40837         glthread_recursive_lock_unlock.
40838         (glthread_recursive_lock_destroy_func): Renamed from
40839         glthread_recursive_lock_destroy.
40840
40841 2008-08-14  Bruno Haible  <bruno@clisp.org>
40842
40843         * lib/glthread/lock.h: Renamed from lib/lock.h.
40844         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
40845         * lib/glthread/tls.h: Renamed from lib/tls.h.
40846         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
40847         * lib/fstrcmp.c: Update includes.
40848         * lib/strsignal.c: Update includes.
40849         * modules/lock (Files, Makefile.am): Update.
40850         (Include): Change to "glthread/lock.h".
40851         * modules/tls (Files, Makefile.am): Update.
40852         (Include): Change to "glthread/tls.h".
40853         * tests/test-lock.c: Update includes.
40854         * tests/test-tls.c: Update includes.
40855         * NEWS: Mention the renamed header files.
40856
40857 2008-08-11  Jim Meyering  <meyering@redhat.com>
40858
40859         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
40860
40861 2008-08-11  Eric Blake  <ebb9@byu.net>
40862
40863         test-c-stack: avoid C99-ism
40864         * tests/test-c-stack.c (main): Fix whitespace, move declaration
40865         before statement.
40866         Reported by Alain Guibert.
40867
40868 2008-08-10  Jim Meyering  <meyering@redhat.com>
40869
40870         ensure that return value of uinttostr et al are not ignored
40871         * lib/inttostr.h (__GNUC_PREREQ): Define.
40872         (__attribute_warn_unused_result__): Define.
40873         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
40874
40875 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
40876
40877         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
40878         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
40879
40880 2008-08-07  Jim Meyering  <meyering@redhat.com>
40881
40882         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
40883
40884         * modules/mkstemp (License): Relicense under LGPLv2+.
40885         * modules/tempname (License): Likewise.
40886
40887 2008-08-06  Bruno Haible  <bruno@clisp.org>
40888
40889         * lib/poll.c (poll): Further micro-optimization.
40890
40891 2008-08-06  Jim Meyering  <meyering@redhat.com>
40892
40893         inet_pton.c: use locale-independent tolower
40894         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
40895         (inet_pton6): Use c_tolower rather than tolower.
40896         * modules/inet_pton (Depends-on): Add c-ctype.
40897
40898 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
40899
40900         * lib/poll.c (poll): Avoid division when timeout is 0, cache
40901         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
40902
40903 2008-08-06  Jim Meyering  <meyering@redhat.com>
40904
40905         * modules/inet_pton (License): Relicense under LGPLv2+.
40906
40907 2008-08-03  Bruno Haible  <bruno@clisp.org>
40908
40909         Additional non-aborting API for lock and tls.
40910         * lib/lock.h: Include <errno.h>.
40911         (glthread_lock_init): New macro/function.
40912         (gl_lock_init): Define as wrapper around glthread_lock_init.
40913         (glthread_lock_lock): New macro/function.
40914         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
40915         (glthread_lock_unlock): New macro/function.
40916         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
40917         (glthread_lock_destroy): New macro/function.
40918         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
40919         (glthread_rwlock_init): New macro/function.
40920         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
40921         (glthread_rwlock_rdlock): New macro/function.
40922         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
40923         (glthread_rwlock_wrlock): New macro/function.
40924         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
40925         (glthread_rwlock_unlock): New macro/function.
40926         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
40927         (glthread_rwlock_destroy): New macro/function.
40928         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
40929         (glthread_recursive_lock_init): New macro/function.
40930         (gl_recursive_lock_init): Define as wrapper around
40931         glthread_recursive_lock_init.
40932         (glthread_recursive_lock_lock): New macro/function.
40933         (gl_recursive_lock_lock): Define as wrapper around
40934         glthread_recursive_lock_lock.
40935         (glthread_recursive_lock_unlock): New macro/function.
40936         (gl_recursive_lock_unlock): Define as wrapper around
40937         glthread_recursive_lock_unlock.
40938         (glthread_recursive_lock_destroy): New macro/function.
40939         (gl_recursive_lock_destroy): Define as wrapper around
40940         glthread_recursive_lock_destroy.
40941         (glthread_once): New macro/function.
40942         (gl_once): Define as wrapper around glthread_once.
40943         Update function declarations.
40944         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
40945         glthread_rwlock_init. Return error code.
40946         (glthread_rwlock_rdlock_multithreaded): Renamed from
40947         glthread_rwlock_rdlock. Return error code.
40948         (glthread_rwlock_wrlock_multithreaded): Renamed from
40949         glthread_rwlock_wrlock. Return error code.
40950         (glthread_rwlock_unlock_multithreaded): Renamed from
40951         glthread_rwlock_unlock. Return error code.
40952         (glthread_rwlock_destroy_multithreaded): Renamed from
40953         glthread_rwlock_destroy. Return error code.
40954         (glthread_recursive_lock_init_multithreaded): Renamed from
40955         glthread_recursive_lock_init. Return error code.
40956         (glthread_recursive_lock_lock_multithreaded): Renamed from
40957         glthread_recursive_lock_lock. Return error code.
40958         (glthread_recursive_lock_unlock_multithreaded): Renamed from
40959         glthread_recursive_lock_unlock. Return error code.
40960         (glthread_recursive_lock_destroy_multithreaded): Renamed from
40961         glthread_recursive_lock_destroy. Return error code.
40962         (glthread_once_call): Make static.
40963         (glthread_once_multithreaded): Renamed from glthread_once.
40964         * lib/tls.h: Include <errno.h>.
40965         (glthread_tls_key_init): New macro/function.
40966         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
40967         (glthread_tls_set): New macro/function.
40968         (gl_tls_set): Define as wrapper around glthread_tls_set.
40969         (glthread_tls_key_destroy): New macro/function.
40970         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
40971         Update function declarations.
40972         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
40973         glthread_tls_get.
40974         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40975
40976 2008-08-04  Eric Blake  <ebb9@byu.net>
40977
40978         gnumakefile: use space, not TAB, outside of targets
40979         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
40980
40981 2008-08-02  Jim Meyering  <meyering@redhat.com>
40982
40983         getdate.y: avoid locale-dependent date parsing failure
40984         In Turkish locales, getdate would fail to recognize keywords
40985         containing a lowercase "i".  The solution is not to rely on
40986         locale-sensitive case-conversion.
40987         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
40988         (lookup_word): Use c_toupper in place of toupper.
40989         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
40990         Reported by Vefa Bicakci <bicave@superonline.com> in
40991         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
40992         * modules/getdate (Depends-on): Add c-ctype.
40993
40994 2008-08-02  Bruno Haible  <bruno@clisp.org>
40995
40996         * gnulib-tool (func_import): When updating or creating a .gitignore
40997         file, prepend each added line with a slash, and ignore leading slashes
40998         from the existing lines.
40999         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41000
41001 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41002
41003         Portability fix for GNU make 3.79.1.
41004         * top/GNUmakefile: Avoid 'else COND', which older GNU make
41005         versions do not understand.
41006
41007 2008-08-01  Bruno Haible  <bruno@clisp.org>
41008
41009         Work around bug of HP-UX 10.20 cc with -0.0 literal.
41010         * tests/test-isnanf.h (zero): New variable.
41011         (main): Avoid literal -0.0f.
41012         * tests/test-isnand.h (zero): New variable.
41013         (main): Avoid literal -0.0.
41014         * tests/test-isnanl.h (zero): New variable.
41015         (main): Avoid literal -0.0L.
41016         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
41017         (test_float, test_double, test_long_double): Avoid literals -0.0f,
41018         -0.0, -0.0L.
41019         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
41020         (test_signbitd): Avoid literal -0.0.
41021         (test_signbitl): Avoid literal -0.0L.
41022         * tests/test-ceilf1.c (zero): New variable.
41023         (main): Avoid literal -0.0f.
41024         * tests/test-ceill.c (zero): New variable.
41025         (main): Avoid literal -0.0L.
41026         * tests/test-floorf1.c (zero): New variable.
41027         (main): Avoid literal -0.0f.
41028         * tests/test-floorl.c (zero): New variable.
41029         (main): Avoid literal -0.0L.
41030         * tests/test-roundf1.c (zero): New variable.
41031         (main): Avoid literal -0.0f.
41032         * tests/test-round1.c (zero): New variable.
41033         (main): Avoid literal -0.0.
41034         * tests/test-roundl.c (zero): New variable.
41035         (main): Avoid literal -0.0L.
41036         * tests/test-truncf1.c (zero): New variable.
41037         (main): Avoid literal -0.0f.
41038         * tests/test-trunc1.c (zero): New variable.
41039         (main): Avoid literal -0.0.
41040         * tests/test-truncl.c (zero): New variable.
41041         (main): Avoid literal -0.0L.
41042         * tests/test-frexp.c (zero): New variable.
41043         (main): Avoid literal -0.0.
41044         * tests/test-frexpl.c (zero): New variable.
41045         (main): Avoid literal -0.0L.
41046         * tests/test-ldexpl.c (zero): New variable.
41047         (main): Avoid literal -0.0L.
41048         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
41049         (zerod, zerol): New variables.
41050         (test_function): Avoid literals -0.0, -0.0L.
41051         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
41052         (zerod, zerol): New variables.
41053         (test_function): Avoid literals -0.0, -0.0L.
41054         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
41055         (zerod, zerol): New variables.
41056         (test_function): Avoid literals -0.0, -0.0L.
41057         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
41058         (zerod, zerol): New variables.
41059         (test_function): Avoid literals -0.0, -0.0L.
41060         * tests/test-strtod.c (zero): New variable.
41061         (main): Avoid literal -0.0.
41062         Reported by Jonathan C. Patschke <jp@centtech.com>.
41063
41064 2008-07-31  Jim Meyering  <meyering@redhat.com>
41065
41066         sha256.h: correct definition of SHA224_DIGEST_SIZE
41067         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
41068         Reported by Paulie Pena IV <paulie4@gmail.com>.
41069         Define as 224 / 8, rather than as a literal.
41070         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
41071         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
41072         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
41073
41074 2008-07-31  Bruno Haible  <bruno@clisp.org>
41075
41076         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
41077         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
41078         Reported by Jonathan Patschke <jp@centtech.com>.
41079
41080 2008-07-31  Bruno Haible  <bruno@clisp.org>
41081
41082         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
41083         Reported by Paolo Bonzini <bonzini@gnu.org>.
41084
41085 2008-07-30  Eric Blake  <ebb9@byu.net>
41086
41087         test-strtod: allow compilation without -lm
41088         * tests/test-strtod.c (main): Avoid link dependence on fabs.
41089         Reported by Dennis Clarke <blastwave@gmail.com>.
41090
41091 2008-07-28  Jim Meyering  <meyering@redhat.com>
41092
41093         bootstrap: work also when there are no .po files in po/
41094         * build-aux/bootstrap (update_po_files): Complete the change
41095         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
41096
41097 2008-07-27  Jim Meyering  <meyering@redhat.com>
41098
41099         * users.txt: Add zile.
41100
41101 2008-07-26  Ben Pfaff  <blp@gnu.org>
41102
41103         Add missing dependencies on new m4/exponent[fdl].m4 files.
41104         * modules/isnanf-nolibm: Add m4/exponentf.m4.
41105         * modules/isnand-nolibm: Add m4/exponentd.m4.
41106         * modules/isnanl-nolibm: Add m4/exponentl.m4.
41107         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
41108         m4/isnan[fdl].m4, because the macros actually used moved.
41109         Reported by Jim Meyering.
41110
41111 2008-07-14  Ben Pfaff  <blp@gnu.org>
41112
41113         Add isinf module.
41114         * lib/isinf.c: New file.
41115         * lib/math.in.h: Define isinf macro if we have decided to replace
41116         it.
41117         * m4/isinf.m4: New file.
41118         * m4/math_h.m4: Initialize and substitute variables for isinf
41119         module.
41120         * modules/isinf: New file.
41121         * modules/isinf-tests: New file.
41122         * modules/math: Add substitutions for new module.
41123         * tests/test-isinf.c: New file.
41124         * doc/posix-functions/isinf.texi: Mention new module.
41125         * MODULES.html.sh: Mention new module.
41126
41127 2008-07-14  Ben Pfaff  <blp@gnu.org>
41128
41129         Factor out some macros for use by additional modules.
41130         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
41131         exponentf.m4.
41132         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
41133         exponentd.m4.
41134         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
41135         file exponentl.m4.
41136         * m4/exponentf.m4: New file.
41137         * m4/exponentd.m4: New file.
41138         * m4/exponentl.m4: New file.
41139         * modules/isnanf: Use new file m4/exponentf.m4.
41140         * modules/isnand: Use new file m4/exponentd.m4.
41141         * modules/isnanl: Use new file m4/exponentl.m4.
41142
41143 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
41144
41145         mktime.c: normalize tp->tm_isdst value to -1/0/1.
41146         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
41147         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
41148         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
41149
41150         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
41151         readlink on platforms without PATH_MAX.
41152
41153 2008-07-21  Eric Blake  <ebb9@byu.net>
41154
41155         Warn, not fail, on stale version.
41156         * top/GNUmakefile (_curr-ver): Tone down previous patch.
41157
41158         Don't allow installation with stale devel version number.
41159         * top/GNUmakefile (_is-install-target): New macro.
41160         (_curr-ver): Forbid installation with stale version number.
41161
41162 2008-07-20  Bruno Haible  <bruno@clisp.org>
41163
41164         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
41165         TESTS_ENVIRONMENT.
41166         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
41167
41168 2008-07-20  Bruno Haible  <bruno@clisp.org>
41169
41170         * lib/c-stack.h (c_stack_action): Add documentation.
41171         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
41172
41173 2008-07-20  Bruno Haible  <bruno@clisp.org>
41174
41175         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
41176         * modules/readlink (License): Likewise.
41177
41178 2008-07-17  Eric Blake  <ebb9@byu.net>
41179
41180         * modules/c-stack (Link): Fix typo.
41181
41182         Make c-stack use libsigsegv, when available.
41183         * modules/c-stack (Depends-on): Add libsigsegv.
41184         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
41185         needed.
41186         * lib/c-stack.c (SIGSTKSZ): Define fallback.
41187         (segv_handler, overflow_handler, c_stack_action)
41188         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
41189         implementation when libsigsegv is available, but only when using
41190         the library is necessary.
41191         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
41192         comment, explaining why XSI check fails on Linux.
41193         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
41194         * tests/test-c-stack2.sh: Tweak skip message.
41195         * NEWS: Document new link-time requirements.
41196
41197 2008-07-16  Eric Blake  <ebb9@byu.net>
41198
41199         c-stack: Expose false positives when not using libsigsegv.
41200         * modules/c-stack-tests (Files): Expand test.
41201         * tests/test-c-stack.c (main): Add means to conditionally trigger
41202         non-overflow SIGSEGV.
41203         * tests/test-c-stack2.sh: New file.
41204
41205 2008-07-14  Bruno Haible  <bruno@clisp.org>
41206
41207         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
41208         Reported by Eric Blake.
41209
41210 2008-07-14  Sam Steingold  <sds@gnu.org>
41211             Bruno Haible  <bruno@clisp.org>
41212
41213         New module libsigsegv.
41214         * modules/libsigsegv: New file.
41215         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
41216         modifications.
41217         * MODULES.html.sh (Signal handling): New section.
41218
41219 2008-07-14  Bruno Haible  <bruno@clisp.org>
41220
41221         * modules/unictype/ctype-* (Description): Add the word "function".
41222         Improves the resulting doc in MODULES.html.
41223
41224 2008-07-12  Ben Pfaff  <blp@gnu.org>
41225
41226         Add longlong module.
41227         * modules/longlong: New file.
41228
41229 2008-07-12  Bruno Haible  <bruno@clisp.org>
41230
41231         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
41232         to empty.
41233
41234 2008-07-10  Ben Pfaff  <blp@gnu.org>
41235
41236         Add isnan module.
41237         * doc/posix-functions/isnan.texi: Mention new module.
41238         * lib/math.in.h: Define isnan macro if we have decided to replace
41239         it.
41240         * m4/isnan.m4: New file.
41241         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
41242         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
41243         also.
41244         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
41245         redundancy.
41246         * m4/math_h.m4: Initialize and substitute variables for isnan
41247         module.
41248         * modules/isnan: New file.
41249         * modules/isnan-tests: New file.
41250         * modules/math: Add substitutions for new module.
41251         * tests/test-isnan.c: New file.
41252         * MODULES.html.sh: Mention new module.
41253
41254 2008-07-10  Ben Pfaff  <blp@gnu.org>
41255
41256         Add isnanf module.
41257         * lib/isnanf.m4: New file.
41258         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
41259         (gl_HAVE_ISNANF_IN_LIBM): New macro.
41260         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
41261         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
41262         * modules/isnanf: New file.
41263         * modules/isnanf-tests: New file.
41264         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
41265         files.
41266         * tests/test-isnanf-nolibm.c: factored most of its contents into
41267         new file tests/test-isnanf.h.
41268         * tests/test-isnanf.h: New file.
41269         * tests/test-isnanf.c: New file.
41270         * MODULES.html.sh: Mention new module.
41271         * doc/glibc-functions/isnanf.texi: Mention new module.
41272
41273 2008-07-10  Ben Pfaff  <blp@gnu.org>
41274
41275         Add isnand module.
41276         * lib/isnand.h: New file.
41277         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
41278         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
41279         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
41280         functionality also.
41281         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
41282         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
41283         (gl_HAVE_ISNAND_IN_LIBM): New macro.
41284         * modules/isnand: New file.
41285         * modules/isnand-tests: New file.
41286         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
41287         files.
41288         * tests/test-isnand-nolibm.c: factored most of its contents into
41289         new file tests/test-isnand.h.
41290         * tests/test-isnand.h: New file.
41291         * tests/test-isnand.c: New file.
41292         * MODULES.html.sh: Mention new module.
41293
41294 2008-07-10  Ben Pfaff  <blp@gnu.org>
41295
41296         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
41297         * lib/isnand.h: Rename lib/isnand-nolibm.h.
41298         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
41299         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
41300         * modules/isnanf-nolibm: Update references to renamed files.
41301         * modules/isnand-nolibm: Likewise.
41302         * modules/isnanf-nolibm-tests: Likewise.
41303         * modules/isnand-nolibm-tests: Likewise.
41304         * lib/frexp.c: Likewise.
41305         * lib/isfinite.c: Likewise.
41306         * lib/signbitd.c: Likewise.
41307         * lib/signbitf.c: Likewise.
41308         * lib/vasnprintf.c: Likewise.
41309         * tests/test-ceilf1.c: Likewise.
41310         * tests/test-ceilf2.c: Likewise.
41311         * tests/test-floorf1.c: Likewise.
41312         * tests/test-floorf2.c: Likewise.
41313         * tests/test-frexp.c: Likewise.
41314         * tests/test-round1.c: Likewise.
41315         * tests/test-round2.c: Likewise.
41316         * tests/test-roundf1.c: Likewise.
41317         * tests/test-strtod.c: Likewise.
41318         * tests/test-trunc1.c: Likewise.
41319         * tests/test-trunc2.c: Likewise.
41320         * tests/test-truncf1.c: Likewise.
41321         * tests/test-truncf2.c: Likewise.
41322         * NEWS: Mention the renamed header files.
41323
41324 2008-07-11  Jim Meyering  <meyering@redhat.com>
41325
41326         vc-list-files: make the last-resort awk code more portable
41327         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
41328         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
41329         does not support it.
41330
41331 2008-07-10  Eric Blake  <ebb9@byu.net>
41332
41333         Work with tar's bootstrap.
41334         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
41335         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
41336         an m4 comment.
41337
41338 2008-07-09  Jim Meyering  <meyering@redhat.com>
41339
41340         posix-shell.m4: fix typo that made this test malfunction
41341         * m4/posix-shell.m4: Remove capitalization in variable name.
41342
41343 2008-07-08  Bruno Haible  <bruno@clisp.org>
41344
41345         * m4/onceonly.m4: Update comments.
41346         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41347
41348 2008-07-04  Jim Meyering  <meyering@redhat.com>
41349
41350         * users.txt: Add vc-dwim.
41351         (bison, coreutils): Use the gitweb URL.
41352
41353 2008-07-03  Jim Meyering  <meyering@redhat.com>
41354
41355         * users.txt: Add libffcall.  From Sam Steingold.
41356
41357 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
41358
41359         getdate.y: do not ignore TZ with relative day, month or year offset
41360         * lib/getdate.y (get_date): Move the tz-handling block to follow the
41361         relative-date-handling, since otherwise, the latter would clobber the
41362         sole output (an updated Start value) of the tz-handling block.
41363         * tests/test-getdate.c: Tests for the fix
41364
41365 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41366
41367         Recognize 'foo_LIBRARIES += libgnu.a'.
41368         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
41369         makefile snippet has already specified an installation location,
41370         also using '+='.
41371
41372 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
41373
41374         getdate.y: factor out common actions
41375         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
41376         Use them in place of open-coded actions.
41377
41378 2008-07-01  Simon Josefsson  <simon@josefsson.org>
41379
41380         Add self-test for getdate module.
41381         * modules/getdate-tests: New file.
41382         * tests/test-getdate.c: New file.
41383
41384 2008-06-29  Bruno Haible  <bruno@clisp.org>
41385
41386         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
41387         .gitignore.
41388         Reported by Sylvain Beucler <beuc@beuc.net>.
41389
41390 2008-06-29  Bruno Haible  <bruno@clisp.org>
41391
41392         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
41393         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
41394
41395 2008-06-29  Bruno Haible  <bruno@clisp.org>
41396
41397         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
41398         EXTRA_DIST.
41399         Reported by Sylvain Beucler <beuc@beuc.net>.
41400
41401 2008-06-26  Jim Meyering  <meyering@redhat.com>
41402
41403         make several modules depend on the "open" module
41404         This provides slightly increased consistency when opening-for-write
41405         the name of a non-directory spelled with a trailing slash.
41406         * modules/chdir-safer: Likewise.
41407         * modules/chown: Likewise.
41408         * modules/clean-temp: Likewise.
41409         * modules/copy-file: Likewise.
41410         * modules/fchdir: Likewise.
41411         * modules/fcntl-safer: Likewise.
41412         * modules/pipe: Likewise.
41413         * modules/utime: Likewise.
41414         Prompted by Eric Blake and Bruno Haible.
41415
41416 2008-06-24  Andreas Schwab  <schwab@suse.de>
41417
41418         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
41419         literals can be used as initializers for global variables.
41420
41421 2008-06-23  Eric Blake  <ebb9@byu.net>
41422
41423         Make gnulib-cache.m4 easier to diff.
41424         * gnulib-tool (func_import): Allow newlines when reading cached
41425         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
41426
41427 2008-06-23  Bruno Haible  <bruno@clisp.org>
41428
41429         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
41430         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
41431         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
41432         m4/signalblocking.m4.
41433         (gl_PREREQ_SIGACTION): Don't invoke it.
41434         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
41435         gl_PREREQ_SIG_HANDLER_H.
41436         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
41437         Don't check for sigaction here.
41438
41439 2008-06-23  Bruno Haible  <bruno@clisp.org>
41440
41441         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
41442         (install_handlers): Don't set the SA_RESETHAND flag.
41443
41444 2008-06-23  Bruno Haible  <bruno@clisp.org>
41445
41446         * m4/sigaction.m4: Comment fixes.
41447         * lib/signal.in.h: Likewise.
41448
41449 2008-06-23  Eric Blake  <ebb9@byu.net>
41450
41451         Fix typo.
41452         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
41453
41454         Avoid SA_ namespace.
41455         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
41456         Reported by Ralf Wildenhues.
41457
41458         Avoid test failure due to SA_RESTORER.
41459         * tests/test-sigaction.c (SA_MASK): New macro.
41460         (main): Avoid failing due to extension flags being set.
41461         Reported by Jim Meyering.
41462
41463         Revert use of sig-handler.h in sigprocmask.c.
41464         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
41465         it requires the existence of struct sigaction.
41466         * lib/sigprocmask.c (handler_t): Restore typedef.
41467         (rpl_signal, old_handlers): Use local type.
41468
41469 2008-06-22  Bruno Haible  <bruno@clisp.org>
41470
41471         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
41472         conditionally.
41473         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41474
41475 2008-06-22  Bruno Haible  <bruno@clisp.org>
41476
41477         * doc/posix-functions/siginterrupt.texi: Move note.
41478
41479         * lib/signal.in.h (SA_RESTART): New macro.
41480         * lib/sigaction.c: Update comment.
41481
41482         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
41483
41484         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
41485         (gl_PREREQ_SIGPROCMASK): Invoke it.
41486         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
41487
41488         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
41489
41490         * lib/sigprocmask.c: Update a comment.
41491
41492 2008-06-21  Eric Blake  <ebb9@byu.net>
41493
41494         Use sigaction module rather than signal().
41495         * modules/c-stack (Depends-on): Add sigaction.
41496         * modules/fatal-signal (Depends-on): Likewise.
41497         * modules/nanosleep (Depends-on): Likewise.
41498         * modules/sigprocmask (Files): Add sig-handler.h.
41499         * modules/sigaction (Files): Likewise.
41500         * lib/sig-handler.h (get_handler): New file, suggested by Paul
41501         Eggert.
41502         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
41503         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
41504         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
41505         (init_fatal_signals): Likewise.
41506         * lib/nanosleep.c (rpl_nanosleep): Likewise.
41507         (siginterrupt): Delete fallback.
41508         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
41509         instead.
41510         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
41511         siginterrupt.
41512
41513         New module sigaction, for mingw.
41514         * modules/sigaction: New module...
41515         * modules/sigaction-tests: ...and its test.
41516         * m4/sigaction.m4: New file.
41517         * lib/sigaction.c: Likewise.
41518         * tests/test-sigaction.c: Likewise.
41519         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
41520         * modules/signal (Makefile.am): Likewise.
41521         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
41522         needed.
41523         * doc/posix-headers/signal.texi (signal.h): Mention provided
41524         types.
41525         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
41526         that sigaction is preferable.
41527         * doc/posix-functions/sigaction.texi (sigaction): Mention new
41528         module.
41529         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41530         sigaction.
41531
41532         Improve robustness of sigprocmask by overriding signal.
41533         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
41534         is in use.
41535         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
41536         (SIGKILL, SIGSTOP): Provide fallbacks.
41537         (rpl_signal): Implement.
41538         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
41539         signal can be called inside handlers.
41540
41541         Fix nanosleep module on mingw.
41542         * modules/nanosleep (Depends-on): Add sys_select.
41543         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
41544
41545         Fix licensing of sigprocmask.
41546         * modules/raise (License): Relicense as LGPL.
41547
41548 2008-06-21  Bruno Haible  <bruno@clisp.org>
41549
41550         * lib/propername.c (proper_name_utf8): Don't use the transliterated
41551         result if it contains question marks.
41552         Reported by Michael Geng <linux@michaelgeng.de>.
41553
41554 2008-06-19  Bruno Haible  <bruno@clisp.org>
41555
41556         Fix CVS-ism.
41557         * doc/gnulib.texi: Include updated-stamp.texi.
41558         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
41559         (updated-stamp.texi): New rule.
41560         (gnulib.info): Depend on it.
41561         * doc/.gitignore: Add updated-stamp.texi.
41562         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
41563
41564 2008-06-19  Bruno Haible  <bruno@clisp.org>
41565
41566         * doc/Makefile (gnulib.info): Update and simplify dependencies.
41567         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41568
41569 2008-06-19  Eric Blake  <ebb9@byu.net>
41570
41571         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
41572         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
41573         Reported by Stepan Kasal.
41574
41575 2008-06-18  Bruno Haible  <bruno@clisp.org>
41576
41577         * lib/fatal-signal.c (init_fatal_signals): Add comment.
41578         Reported by Eric Blake.
41579
41580 2008-06-18  Eric Blake  <ebb9@byu.net>
41581
41582         Work around cygwin 1.5.25 strsignal bug.
41583         * tests/test-strsignal.c: Allow for const char *.
41584         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
41585
41586 2008-06-18  Simon Josefsson  <simon@josefsson.org>
41587
41588         * users.txt: Update URL to article and add author/date
41589         information.
41590
41591 2008-06-17  Bruno Haible  <bruno@clisp.org>
41592
41593         New macro gl_DISABLE_THREADS.
41594         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
41595         if the user did not pass --enable-threads or --disable-threads option.
41596         (gl_DISABLE_THREADS): New macro.
41597         Reported by Eric Blake <ebb9@byu.net>.
41598
41599 2008-06-17  Bruno Haible  <bruno@clisp.org>
41600
41601         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
41602         when the macro ignores it.
41603         Based on a patch by Eric Blake <ebb9@byu.net>.
41604
41605 2008-06-17  Bruno Haible  <bruno@clisp.org>
41606
41607         * modules/tls (License): Change to LGPLv2+.
41608         Reported by Eric Blake.
41609
41610 2008-06-17  Eric Blake  <ebb9@byu.net>
41611
41612         Simplify c-stack prerequisites.
41613         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
41614         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
41615         no longer requires <ucontext.h> to exist.  Optimize setrlimit
41616         check.
41617         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
41618         <sys/resource.h>.
41619
41620         Move c-stack test into testsuite.
41621         * modules/c-stack-tests: New file.
41622         * lib/c-stack.c [DEBUG]: Move test program...
41623         * tests/test-c-stack.c: ...into this new file.  Skip rather than
41624         fail test if sigaltstack is lacking.
41625         * tests/test-c-stack.sh: New driver file.
41626
41627 2008-06-16  Eric Blake  <ebb9@byu.net>
41628
41629         Use raise module consistently.
41630         * modules/fatal-signal (Depends-on): Add raise.
41631         * modules/sigprocmask (Depends-on): Likewise.
41632         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
41633         * lib/sigprocmask.c (sigprocmask): Likewise.
41634         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
41635         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
41636
41637         Fix compliance bug in sigpending.
41638         * lib/sigprocmask.c (sigpending): Return pending array via
41639         parameter, not return value.
41640
41641 2008-06-14  Eric Blake  <ebb9@byu.net>
41642
41643         Improve obstack-printf test code.
41644         * tests/test-obstack-printf.c (test_function): Fix comment, and
41645         simplify usage of obstack_* in macros.  Add a test for coverage.
41646         Reported by Bruno Haible.
41647
41648 2008-06-14  Bruno Haible  <bruno@clisp.org>
41649
41650         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
41651         array size as a constant, not as a const variable.
41652         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
41653         AC_USE_SYSTEM_EXTENSIONS.
41654         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
41655         Test whether the obstack_printf function actually exists.
41656         * modules/obstack-printf (Depends-on): Add extensions.
41657         (Include): Remove obstack.h.
41658         * modules/obstack-printf-posix (Depends-on): Add extensions.
41659         (Include): Remove obstack.h.
41660
41661 2008-06-13  Eric Blake  <ebb9@byu.net>
41662
41663         Add obstack-printf and obstack-printf-posix modules.
41664         * modules/obstack-printf: New file.
41665         * modules/obstack-printf-posix: Likewise.
41666         * MODULES.html.sh (Misc): Mention them.
41667         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41668         Likewise.
41669         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41670         Likewise.
41671         * modules/stdio (Makefile.am): Accomodate new modules.
41672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41673         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
41674         Declare.
41675         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
41676         functions.
41677         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
41678         (gl_REPLACE_OBSTACK_PRINTF): New macros
41679         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
41680         * tests/test-obstack-printf.c: New file.
41681         * modules/obstack-printf-tests: Likewise.
41682         * modules/obstack-printf-posix-tests: Likewise.
41683
41684 2008-06-11  Bruno Haible  <bruno@clisp.org>
41685
41686         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
41687         * lib/open.c: Include errno.h.
41688         (open): Fail when attempting to write to a file that has a trailing
41689         slash.
41690         * tests/test-open.c (main): Test against trailing slash bug.
41691         * doc/posix-functions/open.texi: Mention the trailing slash bug.
41692
41693 2008-06-10  Bruno Haible  <bruno@clisp.org>
41694
41695         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
41696         for $? to work inside the trap command, with various /bin/sh-s.
41697         * tests/test-vc-list-files-cvs.sh: Likewise.
41698
41699 2008-06-10  Bruno Haible  <bruno@clisp.org>
41700
41701         * lib/acl-internal.h: Don't include gettext.h here.
41702         * lib/set-mode-acl.c: Include gettext.h here.
41703         * lib/copy-acl.c: Likewise.
41704
41705 2008-06-10  Bruno Haible  <bruno@clisp.org>
41706
41707         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
41708         * lib/wait-process.c (wait_subprocess): Likewise.
41709         * lib/execute.h (execute): Add termsigp argument.
41710         * lib/execute.c (execute): Likewise.
41711         * lib/csharpcomp.c (compile_csharp_using_pnet,
41712         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
41713         * lib/csharpexec.c (execute_csharp_using_pnet,
41714         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
41715         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
41716         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
41717         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
41718         is_jikes_present): Update.
41719         * lib/javaexec.c (execute_java_class): Update.
41720         * lib/javaversion.c (execute_and_read_line): Update.
41721         * NEWS: Document the changes.
41722         Reported by Eric Blake.
41723
41724 2008-06-10  Eric Blake  <ebb9@byu.net>
41725
41726         Add missing include.
41727         * tests/test-strstr.c (includes): Add <signal.h>.
41728         * tests/test-strcasestr.c (includes): Likewise.
41729         * tests/test-memmem.c (includes): Likewise.
41730
41731 2008-06-10  Bruno Haible  <bruno@clisp.org>
41732
41733         * lib/wait-process.c (wait_subprocess): Add an assertion.
41734
41735 2008-06-10  Bruno Haible  <bruno@clisp.org>
41736
41737         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
41738
41739 2008-06-10  Bruno Haible  <bruno@clisp.org>
41740
41741         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
41742         using alarm().
41743         * tests/test-strcasestr.c (main): Likewise.
41744         * tests/test-strstr.c (main): Likewise.
41745
41746 2008-06-09  Bruno Haible  <bruno@clisp.org>
41747
41748         Work around the Solaris 10 ACE ACLs ABI change.
41749         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
41750         declare if ACL_NO_TRIVIAL is present.
41751         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
41752         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
41753         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
41754         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
41755         define if ACL_NO_TRIVIAL is present.
41756         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
41757         and use the current ABI.
41758         (file_has_acl): Use same #if condition as elsewhere.
41759         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
41760         in use, and use the current ABI.
41761         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
41762         Reported by Jim Meyering.
41763
41764 2008-06-09  Eric Blake  <ebb9@byu.net>
41765
41766         Work around environments that (stupidly) ignore SIGALRM.
41767         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
41768         before using alarm().
41769         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41770         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41771         Reported by Ian Beckwith <ianb@erislabs.net>.
41772
41773         Produce autobuild blurb earlier in log.
41774         * modules/autobuild (configure.ac-early): Move AB_INIT here.
41775
41776 2008-06-09  Jim Meyering  <meyering@redhat.com>
41777         and OndÅ™ej Vašík  <ovasik@redhat.com>
41778
41779         utimens.c: correct kernel bug work-around
41780         OndÅ™ej Vašík found that the invalid return value of 280 indicates
41781         failure, not success, and the kernel bug we're trying to work
41782         around affects not just the utimensat call, but also the fallback
41783         futimens call.
41784         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
41785         not success.
41786         [HAVE_FUTIMENS]: Use the same work-around, here.
41787
41788 2008-06-09  Jim Meyering  <meyering@redhat.com>
41789
41790         add more guards around definition of ACE_-related code
41791         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
41792         ALLOW and ACE_OWNER are also defined.
41793
41794 2008-06-08  Bruno Haible  <bruno@clisp.org>
41795
41796         * lib/acl-internal.h: Add me as co-author.
41797         * lib/file-has-acl.c: Likewise.
41798         * lib/set-mode-acl.c: Likewise.
41799         * lib/copy-acl.c: Likewise.
41800
41801 2008-06-08  Bruno Haible  <bruno@clisp.org>
41802
41803         Add support for AIX ACLs.
41804         * lib/acl-internal.h (acl_nontrivial): New declaration.
41805         * lib/file-has-acl.c (acl_nontrivial): New function.
41806         (file_has_acl): Add implementation using AIX 4 ACL API.
41807         * lib/set-mode-acl.c (qset_acl): Likewise.
41808         * lib/copy-acl.c (qcopy_acl): Likewise.
41809
41810 2008-06-08  Bruno Haible  <bruno@clisp.org>
41811
41812         Add support for HP-UX ACLs.
41813         * lib/acl-internal.h (acl_nontrivial): New declaration.
41814         * lib/file-has-acl.c (acl_nontrivial): New function.
41815         (file_has_acl): Add implementation using HP-UX 11 ACL API.
41816         * lib/set-mode-acl.c (qset_acl): Likewise.
41817         * lib/copy-acl.c (qcopy_acl): Likewise.
41818
41819 2008-06-08  Bruno Haible  <bruno@clisp.org>
41820
41821         Add support for Cygwin ACLs.
41822         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
41823         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
41824         the chmod_or_fchmod call.
41825         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
41826
41827 2008-06-08  Bruno Haible  <bruno@clisp.org>
41828
41829         Fix bug with setuid modes in Solaris 10+ code.
41830         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
41831         succeeded, when the mode contains some special bits.
41832
41833 2008-06-08  Bruno Haible  <bruno@clisp.org>
41834
41835         Add support for Solaris 7..10 ACLs.
41836         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
41837         declarations.
41838         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
41839         functions.
41840         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
41841         * lib/set-mode-acl.c (qset_acl): Likewise.
41842         * lib/copy-acl.c (qcopy_acl): Likewise.
41843
41844 2008-06-08  Bruno Haible  <bruno@clisp.org>
41845
41846         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
41847         declaration.
41848         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
41849         (acl_access_nontrivial): Remove MacOS X case.
41850         (file_has_acl): Use acl_extended_nontrivial.
41851         * lib/copy-acl.c (qcopy_acl): Likewise.
41852
41853 2008-06-08  Bruno Haible  <bruno@clisp.org>
41854
41855         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
41856
41857 2008-06-08  Jim Meyering  <meyering@redhat.com>
41858
41859         * modules/acl (Maintainer): Add Bruno Haible.
41860
41861 2008-06-07  Bruno Haible  <bruno@clisp.org>
41862
41863         Improve support for Tru64 ACLs.
41864         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
41865         ACL on OSF/1.
41866
41867 2008-06-07  Bruno Haible  <bruno@clisp.org>
41868
41869         Add support for MacOS X ACLs.
41870         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
41871         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
41872         * lib/set-mode-acl.c (qset_acl): Likewise.
41873         * lib/copy-acl.c (qcopy_acl): Likewise.
41874
41875 2008-06-07  Bruno Haible  <bruno@clisp.org>
41876
41877         Fix memory leak introduced on 2008-05-22.
41878         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
41879         use.
41880
41881 2008-06-07  Bruno Haible  <bruno@clisp.org>
41882
41883         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
41884         to construct an empty ACL.
41885
41886 2008-06-07  Bruno Haible  <bruno@clisp.org>
41887
41888         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
41889         precisely.
41890         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
41891
41892 2008-06-07  Bruno Haible  <bruno@clisp.org>
41893
41894         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
41895         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
41896
41897 2008-06-07  Bruno Haible  <bruno@clisp.org>
41898
41899         * doc/posix-functions/_setjmp.texi: Explain the use of this function
41900         regardless of POSIX.
41901         * doc/posix-functions/_longjmp.texi: Likewise.
41902         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
41903         SystemV platform in this case.
41904
41905 2008-06-06  Eric Blake  <ebb9@byu.net>
41906
41907         Document abort() bugs.
41908         * doc/posix-functions/abort.texi (abort): Mention anomalies.
41909
41910         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
41911         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
41912         sigsetjmp.
41913         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
41914         siglongjmp, but only as a macro.
41915         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
41916         is obsolete.
41917         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
41918
41919         Tweak documentation to cover cygwin argz bugs.
41920         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
41921         argz bug fix; no code change needed since no cygwin releases
41922         occurred between the last fix and the bug being tested.
41923         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
41924         module and recently fixed cygwin bugs.
41925         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
41926         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
41927         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
41928         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
41929         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
41930         Likewise.
41931         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
41932         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
41933         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
41934         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
41935         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
41936         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
41937         Likewise.
41938
41939         Avoid gcc warning on cygwin.
41940         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
41941         !ACL_NO_TRIVIAL]: Avoid unused variable.
41942
41943 2008-06-05  Eric Blake  <ebb9@byu.net>
41944
41945         Be tolerant of UNKNOWN version in gnulib-tool test dir.
41946         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
41947         git-version-gen fails to come up with a version.
41948         Reported by Simon Josefsson.
41949
41950 2008-06-05  Jim Meyering  <meyering@redhat.com>
41951             Paul Eggert  <eggert@cs.ucla.edu>
41952
41953         utimens.c: work around a probable Linux kernel bug
41954         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
41955         appears to be a kernel bug that causes utimensat to return 280
41956         instead of 0, indicating success.
41957
41958 2008-06-04  Bruno Haible  <bruno@clisp.org>
41959
41960         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
41961         2008-06-01 commit.
41962
41963 2008-06-04  Bruno Haible  <bruno@clisp.org>
41964
41965         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
41966         * lib/file-has-acl.c (acl_access_nontrivial): New function.
41967         (file_has_acl): Use it. Save errno afterwards.
41968         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
41969
41970 2008-06-03  Bruno Haible  <bruno@clisp.org>
41971
41972         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
41973         draft code. Simplify #ifs.
41974         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
41975         Put Solaris code after POSIX-draft code. Fix comments regarding
41976         Solaris 10, HP-UX. Mention Cygwin.
41977         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
41978
41979 2008-06-03  Eric Blake  <ebb9@byu.net>
41980
41981         Provide fallback for older kernels.
41982         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
41983         Provide runtime fallback if kernel lacks support.
41984         Reported by Mike Frysinger.
41985
41986 2008-06-02  Bruno Haible  <bruno@clisp.org>
41987
41988         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
41989         it exists.
41990
41991 2008-06-02  Bruno Haible  <bruno@clisp.org>
41992
41993         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
41994         * lib/copy-acl.c (qcopy_acl): Update comment.
41995
41996 2008-06-02  Bruno Haible  <bruno@clisp.org>
41997
41998         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
41999         like ACL APIs.
42000
42001 2008-06-02  Bruno Haible  <bruno@clisp.org>
42002
42003         * tests/test-file-has-acl.sh: Use different code for Cygwin.
42004         * tests/test-set-mode-acl.sh: Likewise.
42005         * tests/test-copy-acl.sh: Likewise.
42006         * tests/test-copy-file.sh: Likewise.
42007
42008 2008-06-02  Bruno Haible  <bruno@clisp.org>
42009
42010         * tests/test-file-has-acl.sh: Remove unused code.
42011
42012 2008-06-01  Bruno Haible  <bruno@clisp.org>
42013
42014         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
42015         (copy_acl): Just a wrapper around qcopy_acl that emits the error
42016         messages.
42017         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
42018
42019 2008-06-01  Bruno Haible  <bruno@clisp.org>
42020
42021         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
42022         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
42023         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
42024         APIs.
42025         * modules/acl-tests (configure.ac): Remove tests now contained in
42026         m4/acl.m4.
42027
42028 2008-06-02  Jim Meyering  <meyering@redhat.com>
42029
42030         announce-gen: use a better key-server host name
42031         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
42032         it may be more consistently reliable.  Suggested by Werner Koch
42033         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
42034
42035 2008-06-01  Bruno Haible  <bruno@clisp.org>
42036
42037         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
42038         Reported by Voroskoi Andras <voroskoi@gmail.com>.
42039
42040 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
42041
42042         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
42043
42044 2008-06-01  Bruno Haible  <bruno@clisp.org>
42045
42046         New ACL tests.
42047         * tests/test-file-has-acl.sh: New file.
42048         * tests/test-file-has-acl.c: New file.
42049         * tests/test-set-mode-acl.sh: New file.
42050         * tests/test-set-mode-acl.c: New file.
42051         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
42052         * tests/test-copy-acl.c: New file.
42053         * modules/acl-tests: New file, based on modules/copy-file-tests.
42054         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
42055         (Depends-on): Add acl-tests.
42056         (configure.ac): Remove checks.
42057         (Makefile.am): Don't create test-sameacls program here any more.
42058
42059 2008-06-01  Bruno Haible  <bruno@clisp.org>
42060
42061         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
42062         * tests/test-sameacls.c: Include progname.h.
42063         (main): Invoke set_program_name. Portability fixes for MacOS X,
42064         Solaris, HP-UX.
42065
42066 2008-06-01  Bruno Haible  <bruno@clisp.org>
42067
42068         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
42069         function.
42070         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
42071
42072 2008-06-01  Bruno Haible  <bruno@clisp.org>
42073
42074         * modules/rpmatch (Depends-on): Add strdup.
42075
42076 2008-06-01  Bruno Haible  <bruno@clisp.org>
42077
42078         * lib/pipe.c: Include unistd-safer.h.
42079         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
42080         * modules/pipe (Depends-on): Add unistd-safer.
42081
42082 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42083
42084         * modules/autobuild (configure.ac): Call AB_INIT.
42085
42086 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42087
42088         * tests/test-getaddrinfo.c: Don't print debug messages by default.
42089         Suggested by Bruno Haible <bruno@clisp.org>.
42090
42091 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42092
42093         * tests/test-base64.c: Cast size_t to unsigned long when invoking
42094         printf.  Use %lu instead of %d.  Reported by Bruno Haible
42095         <bruno@clisp.org>.
42096
42097 2008-05-29  Eric Blake  <ebb9@byu.net>
42098
42099         Prefer new POSIX 200x interfaces over futimesat.
42100         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
42101         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
42102         when available.
42103         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
42104
42105 2008-05-28  Bruno Haible  <bruno@clisp.org>
42106
42107         * modules/stpcpy (License): Change to LGPLv2+.
42108         Requested by David Lutterkort <dlutter@redhat.com>.
42109
42110 2008-05-27  Bruno Haible  <bruno@clisp.org>
42111
42112         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
42113         current mingw.
42114         Reported by Jose E. Marchesi <jemarch@gnu.org>.
42115
42116 2008-05-27  Bruno Haible  <bruno@clisp.org>
42117
42118         * modules/iconv_open (Link): New section, from module 'iconv'.
42119         * modules/striconv (Link): Likewise.
42120         * modules/striconveh (Link): Likewise.
42121         * modules/xstriconv (Link): Likewise.
42122         * modules/unicodeio (Link): Likewise.
42123         * modules/propername (Link): Likewise.
42124         Reported by Jim Meyering.
42125
42126 2008-05-26  Jim Meyering  <meyering@redhat.com>
42127
42128         sha256: do not artificially restrict buffer length to be < 2^32
42129         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
42130         uint32_t to size_t.
42131         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
42132         to match.
42133
42134         avoid unaligned access errors, e.g., on sparc
42135         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
42136         direct access through a possibly-unaligned uint64* pointer.
42137         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
42138         direct access through a possibly-unaligned uint32* pointer.
42139         Prompted by this patch from Tom "spot" Callaway:
42140         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
42141
42142         sha512.c: fix typo in comment
42143         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
42144
42145 2008-05-25  Bruno Haible  <bruno@clisp.org>
42146
42147         * lib/set-mode-acl.c: Renamed from lib/acl.c.
42148         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
42149         (Makefile.am): Update lib_SOURCES.
42150
42151 2008-05-25  Bruno Haible  <bruno@clisp.org>
42152
42153         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
42154
42155 2008-05-25  Jim Meyering  <meyering@redhat.com>
42156
42157         useless-if-before-free: freed expr may have white-space differences
42158         * build-aux/useless-if-before-free: Recognize cases in which the
42159         freed expression differs from the tested one in embedded white
42160         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
42161         $1 was used, so we can't make any regexp shy.  Improved tests now
42162         detect this.
42163
42164         useless-if-before-free: accept white space in the expression.
42165         * build-aux/useless-if-before-free: For now, any white space
42166         in the expression must be identical in the free argument.
42167
42168         useless-if-before-free: efficiency tweak
42169         * build-aux/useless-if-before-free: Make the expression-matching
42170         regexp "shy".
42171         Make the *outer* regexp shy, not the expr-matching one.
42172
42173         update code-in-comment to accept cast of free arg
42174         * build-aux/useless-if-before-free: Update regexp.
42175
42176 2008-05-25  Bruno Haible  <bruno@clisp.org>
42177
42178         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
42179         * modules/copy-file-tests (Files, Makefile.am): Update.
42180         * tests/test-copy-file.c (func_test_copy): Update.
42181
42182 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
42183
42184         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
42185
42186 2008-05-23  Bruno Haible  <bruno@clisp.org>
42187
42188         Improve support for ACLs on OSF/1.
42189         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
42190         Remove fallback for unknown flavors of ACLs.
42191
42192 2008-05-22  Bruno Haible  <bruno@clisp.org>
42193
42194         Add support for ACLs on OSF/1.
42195         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
42196         replacements.
42197         (acl_free_text): New macro fallback.
42198         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
42199         acl_free.
42200         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
42201         acl_free_text function. Require AC_C_INLINE.
42202
42203 2008-05-22  Bruno Haible  <bruno@clisp.org>
42204
42205         Make copy_acl work on MacOS X 10.5.
42206         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
42207         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
42208         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
42209         If MODE_INSIDE_ACL, don't assume that every system has the same text
42210         representation for ACLs as FreeBSD.
42211         * lib/copy-acl.c (copy_acl): Add support for platforms with
42212         !MODE_INSIDE_ACL.
42213         * lib/file-has-acl.c (file_has_acl): Likewise.
42214         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
42215         FreeBSD, MacOS X, or IRIX, respectively.
42216
42217 2008-05-22  Bruno Haible  <bruno@clisp.org>
42218
42219         * lib/acl.h: Don't include <sys/acl.h>.
42220         (GETACLCNT): Move fallback to lib/acl-internal.h.
42221         * lib/acl-internal.h: Include <sys/acl.h> here.
42222         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
42223
42224 2008-05-22  Bruno Haible  <bruno@clisp.org>
42225
42226         Split off copy_acl function to separate file.
42227         * lib/copy-acl.c: New file, extracted from lib/acl.c.
42228         * lib/acl.c (copy_acl): Moved function to separate file.
42229         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
42230         * modules/acl (Files): Add lib/copy-acl.c.
42231         (Makefiles.am): Augment lib_SOURCES.
42232
42233 2008-05-22  Bruno Haible  <bruno@clisp.org>
42234
42235         * modules/copy-file-tests: New file.
42236         * tests/test-copy-file.sh: New file.
42237         * tests/test-copy-file.c: New file.
42238         * tests/test-copy-file-sameacls.c: New file.
42239
42240 2008-05-22  Eric Blake  <ebb9@byu.net>
42241
42242         Avoid gcc warning.
42243         * tests/test-memcmp.c (main): Pass NULL indirectly.
42244
42245 2008-05-21  Bruno Haible  <bruno@clisp.org>
42246
42247         Add reference doc about ACLs.
42248         * doc/acl-resources.txt: New file.
42249         * doc/acl-cygwin.txt: New file.
42250
42251 2008-05-21  Bruno Haible  <bruno@clisp.org>
42252
42253         Avoid one more warning from gcc.
42254         * lib/vasnprintf.c (IF_LINT): Update comments.
42255         (VASNPRINTF): Use it also for the 'prefix' array initializer.
42256
42257 2008-05-21  Jim Meyering  <meyering@redhat.com>
42258
42259         avoid a warning from gcc
42260         * lib/vasnprintf.c (IF_LINT): Define.
42261         (scale10_round_decimal_long_double):
42262         Use it to avoid a "may be used uninitialized" warning.
42263         (scale10_round_decimal_double): Likewise.
42264
42265 2008-05-21  Simon Josefsson  <simon@josefsson.org>
42266
42267         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
42268         declared.
42269
42270 2008-05-20  Bruno Haible  <bruno@clisp.org>
42271
42272         * tests/test-memcmp.c (main): Test also the sign of the result. Test
42273         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
42274
42275 2008-05-20  Simon Josefsson  <simon@josefsson.org>
42276
42277         * modules/memcmp-tests: New file.
42278         * tests/test-memcmp.c: New file.
42279
42280 2008-05-19  Bruno Haible  <bruno@clisp.org>
42281
42282         * modules/propername (Notice, configure.ac): Put quoted "..." into
42283         --keyword option.
42284         * lib/propername.h: Update comments accordingly.
42285         Reported by Eric Blake.
42286
42287 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
42288
42289         * modules/getpass-gnu (Depends-on): Add fseeko.
42290
42291 2008-05-19  Simon Josefsson  <simon@josefsson.org>
42292
42293         * modules/base64-tests: New file.
42294
42295 2008-05-19  Bo Borgerson <gigabo@gmail.com>
42296
42297         * lib/base64.c (base64_decode_ctx): If a decode context structure
42298         was passed in use it to ignore newlines.  If a context structure
42299         was _not_ passed in, continue to treat newlines as garbage (this
42300         is the historical behavior).  Formerly base64_decode.
42301         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
42302         takes a decode context structure.
42303         * lib/base64.h (base64_decode): Macro for four-argument calls.
42304         (base64_decode_alloc): Likewise.
42305         * lib/base64.c (base64_decode_ctx): If a decode context structure
42306         was passed in use it to ignore newlines.  If a context structure
42307         was _not_ passed in, continue to treat newlines as garbage (this
42308         is the historical behavior).  Formerly base64_decode.
42309         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
42310         takes a decode context structure.
42311         * lib/base64.h (base64_decode): Macro for four-argument calls.
42312         (base64_decode_alloc): Likewise.
42313
42314 2008-05-19  Jim Meyering  <meyering@redhat.com>
42315
42316         avoid a warning from gcc
42317         * lib/trim.c (IF_LINT): Define.
42318         (trim2): Use it to avoid a "may be used uninitialized" warning.
42319
42320         Fix doc typo.
42321         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
42322
42323 2008-05-19  Bruno Haible  <bruno@clisp.org>
42324
42325         * doc/glibc-functions/getpass.texi: Document limits of other
42326         implementations.
42327
42328 2008-05-19  Simon Josefsson  <simon@josefsson.org>
42329             Bruno Haible <bruno@clisp.org>
42330
42331         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
42332
42333 2008-05-18  Bruno Haible  <bruno@clisp.org>
42334
42335         * modules/propername: New file, from GNU gettext.
42336         * lib/propername.h: New file, from GNU gettext.
42337         * lib/propername.c: New file, from GNU gettext.
42338         * MODULES.html.sh (Internationalization functions): Add propername.
42339
42340 2008-05-16  Jim Meyering  <meyering@redhat.com>
42341             Bruno Haible  <bruno@clisp.org>
42342
42343         Avoid some warnings from "gcc -Wshadow".
42344         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
42345
42346 2008-05-15  Eric Blake  <ebb9@byu.net>
42347
42348         Extend previous patch to cygwin 1.7.0.
42349         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
42350         fast implementation in cygwin >= 1.7.0.
42351         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42352         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42353
42354 2008-05-15  Bruno Haible  <bruno@clisp.org>
42355
42356         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
42357         implementation in glibc >= 2.9.
42358         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42359         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42360
42361 2008-05-15  Bruno Haible  <bruno@clisp.org>
42362
42363         * MODULES.html.sh (Internationalization functions): Remove linebreak.
42364         (Unicode string functions): Add unilbrk/*.
42365         Reported by Karl Berry.
42366
42367 2008-05-15  Eric Blake  <ebb9@byu.net>
42368
42369         Fix violation of <stdbool.h> replacement in regex.
42370         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
42371         * lib/regexec.c (re_search_internal): Likewise.
42372         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
42373
42374 2008-05-15  Jim Meyering  <meyering@redhat.com>
42375
42376         avoid distracting test output when git or cvs is not found
42377         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
42378         * tests/test-vc-list-files-git.sh: Likewise.
42379
42380 2008-05-15  Eric Blake  <ebb9@byu.net>
42381
42382         Glibc finally accepted the memmem speedup code, bugzilla #5514.
42383         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
42384         glibc version.
42385         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42386         * doc/posix-functions/strstr.texi (strstr): Likewise.
42387         * lib/str-two-way.h (MAX): Sychronize with glibc.
42388
42389 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
42390
42391         * lib/regcomp.c (optimize_utf8): Add a note on why we test
42392         opr.ctx_type.
42393         (calc_first): Initialize constraint field.
42394         (duplicate_node_closure): Use it instead of special casing ANCHORS.
42395         Fix grammar.
42396         (duplicate_node): Merge constraint field for all node types.
42397         (calc_eclosure_iter): Look at constraint field for all node types.
42398         * lib/regex_internal.c (create_cd_newstate): Don't look at
42399         opr.ctx_type.
42400
42401 2008-05-14  Bruno Haible  <bruno@clisp.org>
42402
42403         Help GCC to do better code generation.
42404         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
42405         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
42406         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
42407         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
42408         Declare with attribute 'malloc' if supported.
42409
42410 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
42411
42412         use "echo STR|wc -c" rather than unportable "expr length STR"
42413         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
42414         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
42415
42416 2008-05-14  Jim Meyering  <meyering@redhat.com>
42417
42418         use dd ibs=$n count=1 ... rather than less-portable head -c$n
42419         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
42420         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
42421         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
42422         via Collin Lasse.
42423
42424 2008-05-14  Eric Blake  <ebb9@byu.net>
42425
42426         Avoid quadratic growth in gl_LIBSOURCES.
42427         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
42428         Suggested by Bruno Haible.
42429
42430         Test xmemdup0.
42431         * modules/xmemdup0-tests: New file.
42432         * tests/test-xmemdup0.c: Likewise.
42433
42434 2008-05-13  Eric Blake  <ebb9@byu.net>
42435
42436         Split xmemdup0 into its own module.
42437         * modules/xmemdup0: New file.
42438         * lib/xmemdup0.h: Likewise.
42439         * lib/xmemdup0.c: Likewise.
42440         * MODULES.html.sh (Memory management functions): Add xmemdup0.
42441         * lib/xalloc.h (xmemdup0): Remove.
42442         * lib/xmalloc.c (xmemdup0): Likewise.
42443
42444 2008-05-13  Eric Blake  <ebb9@byu.net>
42445             Bruno Haible  <bruno@clisp.org>
42446
42447         Reduce number of forks required during autoconf.
42448         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
42449         and gl_LIBSOURCES_DIR.
42450         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
42451         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
42452         m4_syscmd per file.
42453         <m4_foreach_w>: Move...
42454         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
42455
42456 2008-05-13  Eric Blake  <ebb9@byu.net>
42457
42458         * gnulib-tool: Fix various comment typos.
42459
42460 2008-05-12  Bruno Haible  <bruno@clisp.org>
42461
42462         Tailor the linebreaking algorithm.
42463         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
42464
42465 2008-05-12  Bruno Haible  <bruno@clisp.org>
42466
42467         Update to Unicode 5.0.0.
42468         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
42469         LBP_JV, LBP_JT. Redistribute values.
42470         (unilbrk_table): Change size.
42471         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
42472         Unicode TR#14 rev. 22.
42473         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
42474         LBP_JV, LBP_JT. Redistribute values.
42475         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
42476         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
42477         Update.
42478         * lib/unilbrk/lbrkprop1.h: Regenerated.
42479         * lib/unilbrk/lbrkprop2.h: Regenerated.
42480         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
42481         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
42482         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
42483         Likewise.
42484         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
42485         Likewise.
42486         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
42487         result.
42488         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
42489         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
42490         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
42491         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
42492         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
42493         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
42494
42495 2008-05-11  Bruno Haible  <bruno@clisp.org>
42496
42497         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
42498
42499 2008-05-11  Bruno Haible  <bruno@clisp.org>
42500
42501         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
42502         * modules/unilbrk/gen-lbrk: New file.
42503
42504 2008-05-11  Bruno Haible  <bruno@clisp.org>
42505
42506         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
42507         * m4/sha512.m4 (gl_SHA512): Likewise.
42508
42509 2008-05-11  Jim Meyering  <meyering@redhat.com>
42510
42511         New modules: crypto/sha256, crypto/sha512 (from coreutils)
42512         * modules/crypto/sha256: New file.
42513         * modules/crypto/sha512: Likewise.
42514         * lib/sha256.c: Likewise.
42515         * lib/sha256.h: Likewise.
42516         * lib/sha512.c: Likewise.
42517         * lib/sha512.h: Likewise.
42518         * lib/u64.h: Likewise.
42519         * m4/sha256.m4: Likewise.
42520         * m4/sha512.m4: Likewise.
42521         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
42522
42523 2008-05-10  Bruno Haible  <bruno@clisp.org>
42524
42525         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
42526         (Input/Output <stdio.h>): Add xprintf.
42527         (Signal handling <signal.h>): Add strsignal.
42528         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
42529         (Core language properties): Add func.
42530         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
42531         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
42532         strings.
42533         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
42534         (Input/output): New section.
42535         (File system functions): Add openat-die, stat-macros.
42536         (Networking functions): Add sockets.
42537         (Unicode string functions): Add unictype/*.
42538         (Support for building libraries and executables): Add gperf.
42539         (Support for building documentation): Add agpl-3.0.
42540         (Misc): Add nocrash.
42541
42542 2008-05-10  Bruno Haible  <bruno@clisp.org>
42543
42544         * modules/unictype/gen-ctype: New file.
42545
42546 2008-05-10  Jim Meyering  <meyering@redhat.com>
42547
42548         Make chdir-safer.c more efficient on a system with no symlinks.
42549         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
42550         also if ELOOP is zero.  Suggested by Bruno Haible.
42551
42552         Make chdir-safer.c slightly safer.
42553         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
42554         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
42555
42556         Avoid compile failure on systems without ELOOP (like mingw).
42557         * lib/chdir-safer.c (ELOOP): Define if not already defined.
42558         Reported by Bruno Haible.
42559
42560 2008-05-10  Bruno Haible  <bruno@clisp.org>
42561
42562         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
42563         (is_utf8_encoding): Use a case-insensitive comparison.
42564         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
42565         streq.
42566
42567 2008-05-10  Bruno Haible  <bruno@clisp.org>
42568
42569         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
42570         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
42571         * lib/unilbrk/ulc-common.h (iconv_string_length,
42572         iconv_string_keeping_offsets): Remove declarations.
42573         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
42574         Don't include <iconv.h>, streq.h, xsize.h.
42575         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
42576         conversion.
42577         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
42578         <iconv.h>, streq.h, xsize.h.
42579         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
42580         conversion.
42581         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
42582         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
42583         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
42584         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
42585
42586 2008-05-10  Bruno Haible  <bruno@clisp.org>
42587
42588         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
42589         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
42590
42591         * modules/unilbrk/u32-width-linebreaks-tests: New file.
42592         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
42593
42594         * modules/unilbrk/u16-width-linebreaks-tests: New file.
42595         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
42596
42597         * modules/unilbrk/u8-width-linebreaks-tests: New file.
42598         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
42599
42600         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
42601         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
42602
42603         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
42604         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
42605
42606         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
42607         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
42608
42609         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
42610         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
42611
42612 2008-05-10  Bruno Haible  <bruno@clisp.org>
42613
42614         Split up 'linebreak' module.
42615         * lib/unilbrk.h: New file, based on lib/linebreak.h.
42616         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
42617         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
42618         modifications.
42619         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
42620         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
42621         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
42622         lib/linebreak.c.
42623         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
42624         lib/linebreak.c.
42625         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
42626         lib/linebreak.c.
42627         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
42628         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
42629         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
42630         lib/linebreak.c.
42631         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
42632         lib/linebreak.c.
42633         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
42634         lib/linebreak.c.
42635         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
42636         lib/linebreak.c.
42637         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
42638         lib/linebreak.c.
42639         * modules/unilbrk/base: New file.
42640         * modules/unilbrk/tables: New file.
42641         * modules/unilbrk/u8-possible-linebreaks: New file.
42642         * modules/unilbrk/u16-possible-linebreaks: New file.
42643         * modules/unilbrk/u32-possible-linebreaks: New file.
42644         * modules/unilbrk/ulc-common: New file.
42645         * modules/unilbrk/ulc-possible-linebreaks: New file.
42646         * modules/unilbrk/u8-width-linebreaks: New file.
42647         * modules/unilbrk/u16-width-linebreaks: New file.
42648         * modules/unilbrk/u32-width-linebreaks: New file.
42649         * modules/unilbrk/ulc-width-linebreaks: New file.
42650         * lib/linebreak.h: Remove file.
42651         * lib/linebreak.c: Remove file.
42652         * m4/linebreak.m4: Remove file.
42653         * modules/linebreak: Remove file.
42654         * NEWS: Mention the changes.
42655
42656 2008-05-09  Eric Blake  <ebb9@byu.net>
42657
42658         Add xmemdup0.
42659         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
42660         implementation.
42661         * lib/xmalloc.c (xmemdup0): New C implementation.
42662
42663 2008-05-08  Bruno Haible  <bruno@clisp.org>
42664
42665         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
42666
42667 2008-05-07  Eric Blake  <ebb9@byu.net>
42668
42669         Support cross-compilation of <wctype.h>.
42670         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
42671         AC_CACHE_CHECK.
42672
42673 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
42674
42675         * build-aux/vc-list-files: Add support for bzr.
42676
42677 2008-05-03  Jim Meyering  <meyering@redhat.com>
42678
42679         avoid failed assertion with tight malloc
42680         * tests/test-getndelim2.c: Correct an off-by-one assertion.
42681
42682 2008-05-03  Simon Josefsson  <simon@josefsson.org>
42683
42684         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
42685         are needed from arpa/inet.h.
42686         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
42687         Reported by Bruno Haible.
42688
42689 2008-05-02  Jim Meyering  <meyering@redhat.com>
42690
42691         avoid compilation error on FreeBSD 6
42692         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
42693
42694 2008-05-01  Jim Meyering  <meyering@redhat.com>
42695
42696         useless-if-before-free: correct --help's exit status description
42697         * build-aux/useless-if-before-free (usage): Like grep, exit 0
42698         for one or more matches, etc.  Reported by Bruno Haible.
42699
42700         vc-list-files: make the stand-alone gnulib test work
42701         * modules/vc-list-files-tests (configure.ac):
42702         Define and AC_SUBST abs_aux_dir.
42703         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
42704         $(abs_top_srcdir) to each script and having each of them
42705         duplicate the work of setting PATH, set PATH here, using
42706         the new variable, abs_aux_dir instead.
42707         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
42708         * tests/test-vc-list-files-git.sh: Likewise.
42709         Reported by Bruno Haible.
42710
42711 2008-05-01  Bruno Haible  <bruno@clisp.org>
42712
42713         * lib/getndelim2.c (getndelim2): Fix newsize computation during
42714         reallocation. Rename 'done' to 'found_delimiter'.
42715
42716 2008-05-01  Jim Meyering  <meyering@redhat.com>
42717
42718         vc-list-files: accommodate /bin/sh like the one from Solaris 10
42719         * build-aux/vc-list-files: Use `...`, not $(...).
42720
42721 2008-04-30  Jim Meyering  <meyering@redhat.com>
42722
42723         add tests for vc-list-files
42724         * modules/vc-list-files-tests: New module.
42725         * tests/test-vc-list-files-cvs.sh: New file.
42726         * tests/test-vc-list-files-git.sh: New file.
42727
42728         avoid a warning from gcc
42729         * lib/getndelim2.c (IF_LINT): Define.
42730         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
42731
42732         vc-list-files: work properly with build-aux/cvsu, too
42733         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
42734         to all cvs-based clauses.
42735
42736         vc-list-files: work properly in the CVS+awk case, too
42737         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
42738
42739         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
42740         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
42741         take more than one file argument, so .  Add quotes, just in case $dir
42742         ever contains a shell meta-character.  Prompted by Soren Hansen in
42743         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
42744
42745 2008-04-29  Eric Blake  <ebb9@byu.net>
42746
42747         Optimize getndelim2 to use block operations when possible.
42748         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
42749         freadseek, and memchr2.
42750         * lib/getndelim2.c (getndelim2): Use them for block reads.
42751
42752 2008-04-29  Bruno Haible  <bruno@clisp.org>
42753
42754         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
42755         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42756         * modules/inet_ntop (Depends-on): Add extensions.
42757         * modules/inet_pton (Depends-on): Likewise.
42758         Reported by Simon Josefsson.
42759
42760 2008-04-29  Jim Meyering  <meyering@redhat.com>
42761
42762         When the is more than one match in a block, match all of them.
42763         * build-aux/useless-if-before-free: Iterate through each block
42764         until there are no more matches.
42765
42766         Fix broken useless-if-before-free script.
42767         * build-aux/useless-if-before-free: Fix typo: missing "?" after
42768         the expression to match cast of argument to free-like function.
42769
42770 2008-04-29  Eric Blake  <ebb9@byu.net>
42771
42772         Use new header.
42773         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
42774
42775 2008-04-29  Jim Meyering  <meyering@redhat.com>
42776
42777         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
42778         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
42779         by gnulib to exist and to declare e.g., inet_ntop.
42780         Don't include "inet_ntop.h", now removed.
42781
42782         * m4/arpa_inet_h.m4: Remove trailing blanks.
42783
42784 2008-04-29  Eric Blake  <ebb9@byu.net>
42785
42786         Silence valgrind on safe reads beyond potential array bounds.
42787         * lib/rawmemchr.valgrind: New file.
42788         * lib/strchrnul.valgrind: Likewise.
42789         * modules/rawmemchr (Files): Distribute new file.
42790         * modules/strchrnul (Files): Likewise.
42791         Suggested by Bruno Haible.
42792
42793 2008-04-29  Bruno Haible  <bruno@clisp.org>
42794
42795         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
42796         (inet_ntop, inet_pton): Change portability warning's wording.
42797         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
42798         Invoke gl_CHECK_NEXT_HEADERS.
42799         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
42800         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
42801         set ARPA_INET_H.
42802         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42803         * modules/arpa_inet (Description): No longer only for systems that
42804         lack it.
42805         (Depends-on): Add include_next.
42806         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
42807         HAVE_ARPA_INET_H.
42808
42809 2008-04-29  Jim Meyering  <meyering@redhat.com>
42810
42811         * modules/mkdir (License): Re-license as LGPLv2+.
42812
42813 2008-04-29  Bruno Haible  <bruno@clisp.org>
42814
42815         * modules/rawmemchr (Maintainer): Set to Eric.
42816         * modules/strchrnul (Maintainer): Likewise.
42817
42818 2008-04-29  Simon Josefsson  <simon@josefsson.org>
42819
42820         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
42821         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
42822
42823         * modules/arpa_inet (arpa/inet.h): Use them.
42824
42825 2008-04-28  Eric Blake  <ebb9@byu.net>
42826
42827         Test getndelim2.
42828         * modules/getndelim2-tests: New file.
42829         * tests/test-getndelim2.c: Likewise.
42830         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
42831         stream.
42832         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
42833
42834         * MODULES.html.sh: Document new module.
42835
42836 2008-04-20  Bruno Haible  <bruno@clisp.org>
42837
42838         * lib/c-stack.c (die): Use raise.
42839         * modules/c-stack (Depends-on): Add raise.
42840
42841 2008-04-28  Bruno Haible  <bruno@clisp.org>
42842
42843         Expect rpmatch to be declared.
42844         * lib/yesno.c (rpmatch): Remove declaration.
42845
42846         Declare rpmatch.
42847         * lib/stdlib.in.h (rpmatch): New declaration.
42848         * lib/rpmatch.c: Include <stdlib.h> first.
42849         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
42850         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
42851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
42852         HAVE_RPMATCH.
42853         * modules/rpmatch (Depends-on): Add stdlib, extensions.
42854         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42855         (Include): Set to <stdlib.h>.
42856         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
42857         HAVE_RPMATCH.
42858         * NEWS: Document the change.
42859
42860 2008-04-28  Bruno Haible  <bruno@clisp.org>
42861
42862         Change rpmatch to use nl_langinfo when appropriate.
42863         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
42864         (N_): New macro.
42865         (localized_pattern): New function/macro.
42866         (try): Remove match, nomatch arguments. Copy the pattern into safe
42867         memory before caching it.
42868         (rpmatch): Use localized_pattern. Add translator comments.
42869         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
42870         Suggested by Eric Blake.
42871         * modules/rpmatch (Depends-on): Add stdbool.
42872
42873 2008-04-28  Eric Blake  <ebb9@byu.net>
42874
42875         Add rawmemchr module, matching glibc.
42876         * modules/string (Makefile.am): New indicator.
42877         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
42878         * lib/string.in.h (rawmemchr): Declare when appropriate.
42879         * modules/rawmemchr: New file.
42880         * m4/rawmemchr.m4: Likewise.
42881         * lib/rawmemchr.c: Likewise.
42882         * modules/rawmemchr-tests: Likewise.
42883         * tests/test-rawmemchr.c: Likewise.
42884         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
42885         module.
42886         * modules/strchrnul (Depends-on): Add rawmemchr.
42887         * lib/strchrnul.c (strchrnul): Optimize a corner case.
42888
42889         Whitespace cleanup.
42890         * tests/test-strchrnul.c: Reindent.
42891         * lib/strchrnul.c: Likewise.
42892
42893         Optimize and test strchrnul.
42894         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
42895         * modules/strchrnul-tests: New file.
42896         * tests/test-strchrnul.c: Likewise.
42897
42898         Remove intprops dependency.
42899         * modules/memchr (Depends-on): Remove intprops.
42900         * modules/memrchr (Depends-on): Likewise.
42901         * modules/memchr2 (Depends-on): Likewise.
42902         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
42903         * lib/memrchr.c (__memrchr): Likewise.
42904         * lib/memrchr2.c (memchr2): Likewise.
42905         Reported by Simon Josefsson.
42906
42907 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42908
42909         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
42910         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42911
42912 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42913
42914         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
42915
42916         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
42917
42918         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
42919
42920         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
42921         declarations.
42922         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
42923
42924         * m4/inet_pton.m4: Don't check for header files.
42925
42926         * m4/inet_ntop.m4: Don't check for header files.
42927
42928 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42929
42930         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
42931         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
42932         trigger for cygwin).
42933         Reported by Bruno Haible  <bruno@clisp.org>.
42934
42935 2008-04-28  Bruno Haible  <bruno@clisp.org>
42936
42937         * doc/posix-functions/strdup.texi: Mention mingw problem.
42938
42939 2008-04-27  Bruno Haible  <bruno@clisp.org>
42940
42941         * modules/stat-time-tests (Depends-on): Add sleep.
42942         * tests/test-stat-time.c (force_unlink): New function.
42943         (cleanup): Use it.
42944         (test_mtime): Remove the ctime related tests.
42945         (test_ctime): New function, containing the ctime related tests.
42946         (main): Call test_ctime, except on native Windows platforms.
42947
42948 2008-04-27  Bruno Haible  <bruno@clisp.org>
42949
42950         * lib/rpmatch.c (rpmatch): Add some comments.
42951         Reported by James Youngman <jay@gnu.org>.
42952
42953 2008-04-27  Bruno Haible  <bruno@clisp.org>
42954
42955         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
42956         quiet NaNs.
42957
42958 2008-04-27  Bruno Haible  <bruno@clisp.org>
42959
42960         Make test-yesno.sh work on mingw.
42961         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
42962         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
42963         (main): Set stdin to binary mode.
42964         * modules/yesno-tests (Depends-on): Add binary-io.
42965
42966 2008-04-27  Bruno Haible  <bruno@clisp.org>
42967
42968         Fix 'isfinite' on x86, x86_64, ia64 platforms.
42969         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
42970         argument that lie outside the IEEE 854 domain.
42971         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
42972         (gl_ISFINITE): Use it.
42973         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
42974
42975 2008-04-27  Bruno Haible  <bruno@clisp.org>
42976
42977         Allow local renaming in config.h.
42978         * lib/memrchr.c (memrchr): Don't undefine outside libc.
42979
42980 2008-04-27  Bruno Haible  <bruno@clisp.org>
42981
42982         * lib/memchr.c (__memchr): Change type of 'i'.
42983         * lib/memchr2.c (memchr2): Likewise.
42984
42985 2008-04-26  Eric Blake  <ebb9@byu.net>
42986         and Bruno Haible  <bruno@clisp.org>
42987
42988         Optimize and test memrchr.
42989         * modules/memrchr (Depends-on): Add intprops.
42990         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
42991         * modules/memrchr-tests: New file.
42992         * tests/test-memrchr.c: New file.
42993
42994 2008-04-26  Bruno Haible  <bruno@clisp.org>
42995
42996         Add tentative support for DragonFly BSD.
42997         * lib/stdio-impl.h: Add macros for DragonFly BSD.
42998         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
42999         fp.
43000         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
43001         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
43002         * lib/fpurge.c (fpurge): Likewise.
43003         * lib/freadable.c (freaadable): Likewise.
43004         * lib/freadahead.c (freadahead): Likewise.
43005         * lib/freading.c (freading): Likewise.
43006         * lib/freadptr.c (freadptr): Likewise.
43007         * lib/freadseek.c (freadptrinc): Likewise.
43008         * lib/fseeko.c (fseeko): Likewise.
43009         * lib/fseterr.c (fseterr): Likewise.
43010         * lib/fwritable.c (fwritable): Likewise.
43011         * lib/fwriting.c (fwriting): Likewise.
43012
43013 2008-04-26  Bruno Haible  <bruno@clisp.org>
43014
43015         * lib/stdio-impl.h: New file.
43016         * lib/fbufmode.c: Include stdio-impl.h.
43017         (fbufmode): Use fp_, remove redundant #defines.
43018         * lib/fflush.c: Include stdio-impl.h.
43019         (clear_ungetc_buffer): Remove redundant #defines.
43020         * lib/fpurge.c: Include stdio-impl.h.
43021         (fpurge): Remove redundant #defines.
43022         * lib/freadable.c: Include stdio-impl.h.
43023         (freadable): Remove redundant #defines.
43024         * lib/freadahead.c: Include stdio-impl.h.
43025         (freadahead): Remove redundant #defines.
43026         * lib/freading.c: Include stdio-impl.h.
43027         (freading): Remove redundant #defines.
43028         * lib/freadptr.c: Include stdio-impl.h.
43029         (freadptr): Remove redundant #defines.
43030         * lib/freadseek.c: Include stdio-impl.h.
43031         (freadptrinc): Remove redundant #defines.
43032         * lib/fseeko.c: Include stdio-impl.h.
43033         (rpl_fseeko): Remove redundant #defines.
43034         * lib/fseterr.c: Include stdio-impl.h.
43035         (fseterr): Remove redundant #defines.
43036         * lib/fwritable.c: Include stdio-impl.h.
43037         (fwritable: Remove redundant #defines.
43038         * lib/fwriting.c: Include stdio-impl.h.
43039         (fwriting): Remove redundant #defines.
43040         * modules/fbufmode (Files): Add lib/stdio-impl.h.
43041         * modules/fflush (Files): Likewise.
43042         * modules/fpurge (Files): Likewise.
43043         * modules/freadable (Files): Likewise.
43044         * modules/freadahead (Files): Likewise.
43045         * modules/freading (Files): Likewise.
43046         * modules/freadptr (Files): Likewise.
43047         * modules/freadseek (Files): Likewise.
43048         * modules/fseeko (Files): Likewise.
43049         * modules/fseterr (Files): Likewise.
43050         * modules/fwritable (Files): Likewise.
43051         * modules/fwriting (Files): Likewise.
43052
43053 2008-04-26  Bruno Haible  <bruno@clisp.org>
43054
43055         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
43056         restore_seek_optimization, update_fpos_cache): New functions, extracted
43057         from rpl_fflush.
43058         (rpl_fflush): Use them.
43059         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
43060         (gl_REPLACE_FFLUSH): Use it.
43061
43062 2008-04-26  Bruno Haible  <bruno@clisp.org>
43063
43064         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
43065         on Solaris.
43066         * tests/test-xstrtoimax.sh: Likewise.
43067         * tests/test-xstrtoumax.sh: Likewise.
43068         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43069
43070 2008-04-26  Bruno Haible  <bruno@clisp.org>
43071
43072         * modules/memchr-tests: New file.
43073         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
43074
43075 2008-04-26  Eric Blake  <ebb9@byu.net>
43076             Bruno Haible  <bruno@clisp.org>
43077
43078         * lib/memchr.c: Include intprops.h.
43079         (__memchr): Optimize parallel detection of matching bytes. Rename local
43080         variables. Add explanatory comments.
43081
43082 2008-04-26  Bruno Haible  <bruno@clisp.org>
43083
43084         Fix module 'memchr', broken since 2000-10-28.
43085         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
43086
43087 2008-04-26  Bruno Haible  <bruno@clisp.org>
43088
43089         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
43090         comments.
43091
43092 2008-04-25  Eric Blake  <ebb9@byu.net>
43093
43094         Use native fstatat on cygwin 1.7.0.
43095         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
43096         first.
43097
43098 2008-04-23  Eric Blake  <ebb9@byu.net>
43099
43100         Improve memchr2 performance.
43101         * lib/memchr2.c (memchr2): Further optimize parallel detection of
43102         NUL bytes.
43103         * modules/memchr2 (Depends-on): Use intprops.h.
43104
43105 2008-04-23  Simon Josefsson  <simon@josefsson.org>
43106
43107         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
43108         an inline function instead of a CPP macro.  Patch by Ben Pfaff
43109         <blp@cs.stanford.edu>.
43110
43111 2008-04-23  Simon Josefsson  <simon@josefsson.org>
43112
43113         * lib/arpa_inet.in.h: New file.
43114
43115         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
43116         (Makefile.am): Sed in substitute header file.
43117
43118         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
43119         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
43120
43121         * modules/inet_ntop (configure.ac): Use
43122         gl_ARPA_INET_MODULE_INDICATOR.
43123
43124         * modules/inet_pton (configure.ac): Use
43125         gl_ARPA_INET_MODULE_INDICATOR.
43126
43127 2008-04-22  Jim Meyering  <meyering@redhat.com>
43128
43129         * modules/verify (License): Re-license as LGPLv2+.
43130
43131 2008-04-22  Simon Josefsson  <simon@josefsson.org>
43132
43133         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
43134         parameter to void* as per POSIX standard (MinGW uses char*).
43135
43136 2008-04-21  Bruno Haible  <bruno@clisp.org>
43137
43138         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43139         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
43140         Define to replacements if REPLACE_ISWCNTRL is 1.
43141         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
43142         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
43143         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
43144         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
43145         what it fixes.
43146         * doc/posix-functions/iswalpha.texi: Likewise.
43147         * doc/posix-functions/iswblank.texi: Likewise.
43148         * doc/posix-functions/iswcntrl.texi: Likewise.
43149         * doc/posix-functions/iswdigit.texi: Likewise.
43150         * doc/posix-functions/iswgraph.texi: Likewise.
43151         * doc/posix-functions/iswlower.texi: Likewise.
43152         * doc/posix-functions/iswprint.texi: Likewise.
43153         * doc/posix-functions/iswpunct.texi: Likewise.
43154         * doc/posix-functions/iswspace.texi: Likewise.
43155         * doc/posix-functions/iswupper.texi: Likewise.
43156         * doc/posix-functions/iswxdigit.texi: Likewise.
43157         Reported by Alain Guibert.
43158
43159 2008-04-21  Bruno Haible  <bruno@clisp.org>
43160
43161         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
43162         Patch by Alain Guibert.
43163
43164 2008-04-21  Bruno Haible  <bruno@clisp.org>
43165
43166         Fix test failures on mingw.
43167         * tests/test-xstrtol.c (print_no_progname): New function.
43168         (main): Install it in error_print_progname hook.
43169         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
43170         * tests/test-xstrtoimax.sh: Likewise.
43171         * tests/test-xstrtoumax.sh: Likewise.
43172
43173 2008-04-21  Bruno Haible  <bruno@clisp.org>
43174
43175         Fix test failure on mingw.
43176         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
43177
43178 2008-04-21  Bruno Haible  <bruno@clisp.org>
43179
43180         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
43181         Actually assign a value.
43182
43183 2008-04-20  Bruno Haible  <bruno@clisp.org>
43184
43185         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
43186         take 2.
43187         * lib/canonicalize.c (canonicalize_file_name): Elide if the
43188         'canonicalize-lgpl' module is also used.
43189         * lib/canonicalize-lgpl.c: Undo last change.
43190         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
43191
43192 2008-04-20  Bruno Haible  <bruno@clisp.org>
43193
43194         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
43195         config.h. Provide _mkdir based fallback for mingw.
43196         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
43197         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
43198         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
43199         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
43200         rather than defining mkdir in config.h.
43201         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
43202         (gl_SYS_STAT_H_DEFAULTS): New macro.
43203         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
43204         HAVE_IO_H any more.
43205         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
43206         HAVE_DECL_MKDIR and HAVE_IO_H.
43207
43208 2008-04-20  Bruno Haible  <bruno@clisp.org>
43209
43210         * lib/isapipe.c: Port to native Windows platforms.
43211
43212 2008-04-20  Bruno Haible  <bruno@clisp.org>
43213
43214         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
43215
43216 2008-04-21  Eric Blake  <ebb9@byu.net>
43217
43218         Work around preprocessors that don't handle UINTMAX_MAX.
43219         * lib/memchr2.c (memchr2): Avoid embedded #if.
43220         Reported by Alain Guibert, fix suggested by Bruno Haible.
43221
43222 2008-04-21  Simon Josefsson  <simon@josefsson.org>
43223
43224         * doc/posix-functions/strftime.texi (strftime): Explain better
43225         Windows incompatibility.  Suggested by Micah Cowan
43226         <micah@cowan.name>.
43227
43228 2008-04-20  Bruno Haible  <bruno@clisp.org>
43229
43230         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
43231         unistr/u8-mblen.
43232
43233 2008-04-20  Bruno Haible  <bruno@clisp.org>
43234
43235         Fix test failure on platforms with non-GNU iconv.
43236         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
43237         (U_TO_U8): Use it, rather than u16_to_u8.
43238         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
43239         units at the end of the input string.
43240         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
43241
43242 2008-04-20  Bruno Haible  <bruno@clisp.org>
43243
43244         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
43245         when the resulting length is 0.
43246         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
43247
43248 2008-04-20  Bruno Haible  <bruno@clisp.org>
43249
43250         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
43251         works.
43252         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
43253
43254 2008-04-20  Bruno Haible  <bruno@clisp.org>
43255
43256         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
43257         * modules/tsearch-tests (configure.ac): Test for initstate function.
43258
43259 2008-04-20  Bruno Haible  <bruno@clisp.org>
43260
43261         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
43262         for nlink_t if missing.
43263         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
43264
43265 2008-04-19  Bruno Haible  <bruno@clisp.org>
43266
43267         Work around snprintf bug on Linux libc5.
43268         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
43269         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43270         gl_SNPRINTF_SIZE1.
43271         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43272         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
43273         that test failed.
43274         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
43275         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
43276         * modules/snprintf (Files): Add m4/printf.m4.
43277         * modules/vsnprintf (Files): Likewise.
43278         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
43279         * doc/posix-functions/vsnprintf.texi: Likewise.
43280
43281 2008-04-19  Bruno Haible  <bruno@clisp.org>
43282
43283         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
43284         from 0.0058 to less than 10^-7.
43285
43286 2008-04-19  Bruno Haible  <bruno@clisp.org>
43287
43288         Fix rounding when a precision is given.
43289         * lib/vasnprintf.c (is_borderline): New function.
43290         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
43291         9...9x.
43292         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
43293         %e, %g.
43294         * tests/test-vasprintf-posix.c (test_function): Likewise.
43295         * tests/test-snprintf-posix.h (test_function): Likewise.
43296         * tests/test-sprintf-posix.h (test_function): Likewise.
43297         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
43298         * tests/test-printf-posix.h (test_function): Likewise.
43299         * tests/test-printf-posix.output: Update.
43300         Reported by John Darrington <john@darrington.wattle.id.au> via
43301         Ben Pfaff <blp@cs.stanford.edu>.
43302
43303 2008-04-18  Simon Josefsson  <simon@josefsson.org>
43304
43305         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
43306         Suggested by Bruno Haible <bruno@clisp.org>.
43307
43308 2008-04-17  Bruno Haible  <bruno@clisp.org>
43309
43310         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
43311         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
43312         implementation.
43313         Patch by Bruce Merry <bmerry@gmail.com>.
43314
43315 2008-04-17  Simon Josefsson  <simon@josefsson.org>
43316
43317         * doc/posix-functions/strftime.texi (strftime): Mention that %e
43318         doesn't work under Windows.
43319
43320 2008-04-16  Bruno Haible  <bruno@clisp.org>
43321
43322         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
43323         New macros.
43324         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
43325         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
43326         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
43327         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
43328         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
43329         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
43330         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
43331         macros.
43332         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
43333         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
43334         Northern Sotho, Uighur.
43335
43336 2008-04-16  Bruno Haible  <bruno@clisp.org>
43337
43338         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
43339         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
43340         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
43341         Reported by Daniel Bergström <daniel@octocode.com>.
43342
43343 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
43344             Bruno Haible  <bruno@clisp.org>
43345
43346         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
43347         function.
43348         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
43349         New functions, mostly extracted from gl_locale_name_default.
43350         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
43351
43352 2008-04-16  Eric Blake  <ebb9@byu.net>
43353
43354         Adjust strtod detection to catch glibc 2.7 bug.
43355         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
43356         Reported by John Gatewood Ham.
43357
43358 2008-04-16  Bruno Haible  <bruno@clisp.org>
43359
43360         Add tentative support for Linux libc5.
43361         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
43362         * lib/fpurge.c (fpurge): Likewise.
43363         * lib/freadable.c (freadable): Likewise.
43364         * lib/freadahead.c (freadahead): Likewise.
43365         * lib/freading.c (freading): Likewise.
43366         * lib/freadptr.c (freadptr): Likewise.
43367         * lib/freadseek.c (freadptrinc): Likewise.
43368         * lib/fseeko.c (rpl_fseeko): Likewise.
43369         * lib/fseterr.c (fseterr): Likewise.
43370         * lib/fwritable.c (fwritable): Likewise.
43371         * lib/fwriting.c (fwriting): Likewise.
43372         Reported by Alain Guibert <alguibert+bts@free.fr>.
43373
43374 2008-04-15  Bruno Haible  <bruno@clisp.org>
43375
43376         * modules/mathl (configure.ac): Define module indicator.
43377
43378 2008-04-15  Bruno Haible  <bruno@clisp.org>
43379
43380         * lib/logl.c (logl): Remove unused variables.
43381
43382 2008-04-15  Bruno Haible  <bruno@clisp.org>
43383
43384         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
43385         fails.
43386
43387 2008-04-15  Bruno Haible  <bruno@clisp.org>
43388
43389         * lib/trim.c (trim2): Fix argument of isspace() macro.
43390
43391 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
43392
43393         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
43394         to 0.
43395         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
43396
43397 2008-04-14  Bruno Haible  <bruno@clisp.org>
43398
43399         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
43400         AC_LANG_PROGRAM argument.
43401         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
43402         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
43403         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
43404         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
43405         * m4/math_h.m4 (gl_MATH_H): Likewise.
43406         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
43407         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
43408         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
43409         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
43410         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
43411         * m4/regex.m4 (gl_REGEX): Likewise.
43412         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
43413         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
43414         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43415         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
43416         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
43417         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43418         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43419         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
43420
43421 2008-04-14  Jim Meyering  <meyering@redhat.com>
43422
43423         test-strtod: fix typos: s/abs/fabs/
43424         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
43425
43426 2008-04-13  Bruno Haible  <bruno@clisp.org>
43427
43428         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
43429         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
43430         module is also used and while not building the reloc-wrapper.
43431
43432 2008-04-13  Bruno Haible  <bruno@clisp.org>
43433
43434         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
43435
43436 2008-04-13  Bruno Haible  <bruno@clisp.org>
43437
43438         Fix AIX compilation failure introduced on 2008-04-02.
43439         * tests/test-frexp.c (exp): Undefine before redefining.
43440         * tests/test-frexpl.c (exp): Likewise.
43441
43442 2008-04-13  Bruno Haible  <bruno@clisp.org>
43443
43444         Work around a HP-UX stdio bug.
43445         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
43446         * tests/test-ftello.c (main): Likewise.
43447         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
43448         * doc/posix-functions/ftello.texi: Likewise.
43449
43450 2008-04-13  Bruno Haible  <bruno@clisp.org>
43451
43452         Make test-signbit pass on HP-UX/hppa.
43453         * tests/test-signbit.c (minus_zerol): New variable.
43454         (test_signbitl): Use it.
43455
43456 2008-04-13  Bruno Haible  <bruno@clisp.org>
43457
43458         Make truncl work on OSF/1 4.0.
43459         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
43460         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
43461         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
43462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
43463         HAVE_DECL_TRUNCL.
43464         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
43465         HAVE_DECL_TRUNCL.
43466         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
43467
43468 2008-04-13  Bruno Haible  <bruno@clisp.org>
43469
43470         * lib/unictype.h: Remove trailing comma from enumeration definitions.
43471
43472 2008-04-13  Bruno Haible  <bruno@clisp.org>
43473
43474         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
43475         expression, so as to avoid HP-UX 11 cc compiler bug.
43476
43477 2008-04-13  Bruno Haible  <bruno@clisp.org>
43478
43479         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
43480
43481 2008-04-13  Bruno Haible  <bruno@clisp.org>
43482
43483         * lib/git-merge-changelog.c: Remove empty declaration outside of
43484         functions.
43485
43486 2008-04-13  Bruno Haible  <bruno@clisp.org>
43487
43488         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
43489
43490 2008-04-13  Bruno Haible  <bruno@clisp.org>
43491
43492         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
43493         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
43494         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
43495         also if it exists but lacks definitions of the SHUT_* macros.
43496         * modules/sys_socket (Description): Update.
43497         Reported by Elbert Pol <e.pol@chello.nl>.
43498
43499 2008-04-13  Bruno Haible  <bruno@clisp.org>
43500
43501         * lib/localcharset.c (OS2): Don't redefine if already defined.
43502         Reported by Elbert Pol <e.pol@chello.nl>.
43503
43504 2008-04-13  Bruno Haible  <bruno@clisp.org>
43505
43506         * lib/binary-io.h [__EMX__]: Include <io.h>.
43507         Reported by Elbert Pol <e.pol@chello.nl>.
43508
43509 2008-04-12  Bruno Haible  <bruno@clisp.org>
43510
43511         * lib/fpucw.h: Enable the definitions also for x86_64.
43512         Needed for NetBSD/x86_64.
43513         Reported by Thomas Klausner <tk@giga.or.at>.
43514
43515 2008-04-12  Bruno Haible  <bruno@clisp.org>
43516
43517         * tests/test-strtod.c: Include isnand.h.
43518         (main): Use isnand instead of isnan.
43519         Reported by Jim Meyering.
43520
43521 2008-04-12  Bruno Haible  <bruno@clisp.org>
43522
43523         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
43524         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
43525
43526 2008-04-12  Jim Meyering  <meyering@redhat.com>
43527
43528         * m4/math_h.m4 (gl_MATH_H): Fix typos.
43529
43530 2008-04-12  Bruno Haible  <bruno@clisp.org>
43531
43532         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
43533         Reported by Elbert Pol <e.pol@chello.nl>.
43534
43535 2008-04-12  Eric Blake  <ebb9@byu.net>
43536
43537         Work around Solaris 10 math.h bug.
43538         * m4/math_h.m4 (gl_MATH_H): Check for bug.
43539         (gl_MATH_H_DEFAULTS): Set up default.
43540         * modules/math (Makefile.am): Replace new indicators.
43541         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
43542         * tests/test-math.c (main): Test this.
43543         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
43544         * doc/posix-headers/math.texi (math.h): Mention bug.
43545         Reported by Nelson H. F. Beebe and Jim Meyering.
43546
43547 2008-04-11  Bruno Haible  <bruno@clisp.org>
43548
43549         Adapt to future versions of Apple GCC.
43550         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
43551         Reported by Peter O'Gorman <peter@pogma.com>.
43552
43553 2008-04-11  Bruno Haible  <bruno@clisp.org>
43554
43555         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
43556
43557 2008-04-11  Bruno Haible  <bruno@clisp.org>
43558
43559         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
43560
43561         * modules/getaddrinfo-tests (Makefile.am): Define
43562         test_getaddrinfo_LDADD.
43563
43564 2008-04-11  Bruno Haible  <bruno@clisp.org>
43565
43566         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
43567         (init): Fix syntax error.
43568         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
43569         is declared.
43570
43571 2008-04-11  Bruno Haible  <bruno@clisp.org>
43572
43573         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
43574         * modules/glob (Depends-on): Add stdbool.
43575
43576 2008-04-11  Bruno Haible  <bruno@clisp.org>
43577
43578         * lib/trim.c: Include <string.h>.
43579
43580 2008-04-11  Eric Blake  <ebb9@byu.net>
43581
43582         Avoid compile failure on OS/2.
43583         * lib/regex_internal.h (internal_function): Disable optimization
43584         on OS/2 (__EMX__), where it caused compiler error.
43585         Reported by Elbert Pol.
43586
43587 2008-04-11  Bruno Haible  <bruno@clisp.org>
43588
43589         Flush the standard error stream before aborting. Needed on mingw.
43590         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
43591         * tests/test-array_list.c (ASSERT): Likewise.
43592         * tests/test-array_oset.c (ASSERT): Likewise.
43593         * tests/test-avltree_list.c (ASSERT): Likewise.
43594         * tests/test-avltree_oset.c (ASSERT): Likewise.
43595         * tests/test-avltreehash_list.c (ASSERT): Likewise.
43596         * tests/test-binary-io.c (ASSERT): Likewise.
43597         * tests/test-byteswap.c (ASSERT): Likewise.
43598         * tests/test-c-ctype.c (ASSERT): Likewise.
43599         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
43600         * tests/test-c-strcasestr.c (ASSERT): Likewise.
43601         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
43602         * tests/test-c-strstr.c (ASSERT): Likewise.
43603         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
43604         * tests/test-canonicalize.c (ASSERT): Likewise.
43605         * tests/test-carray_list.c (ASSERT): Likewise.
43606         * tests/test-ceilf1.c (ASSERT): Likewise.
43607         * tests/test-ceilf2.c (ASSERT): Likewise.
43608         * tests/test-ceill.c (ASSERT): Likewise.
43609         * tests/test-count-one-bits.c (ASSERT): Likewise.
43610         * tests/test-fbufmode.c (ASSERT): Likewise.
43611         * tests/test-fflush2.c (ASSERT): Likewise.
43612         * tests/test-floorf1.c (ASSERT): Likewise.
43613         * tests/test-floorf2.c (ASSERT): Likewise.
43614         * tests/test-floorl.c (ASSERT): Likewise.
43615         * tests/test-fopen.c (ASSERT): Likewise.
43616         * tests/test-fpending.c (ASSERT): Likewise.
43617         * tests/test-fprintf-posix.c (ASSERT): Likewise.
43618         * tests/test-fpurge.c (ASSERT): Likewise.
43619         * tests/test-freadable.c (ASSERT): Likewise.
43620         * tests/test-freadahead.c (ASSERT): Likewise.
43621         * tests/test-freading.c (ASSERT): Likewise.
43622         * tests/test-freadptr.c (ASSERT): Likewise.
43623         * tests/test-freadptr2.c (ASSERT): Likewise.
43624         * tests/test-freadseek.c (ASSERT): Likewise.
43625         * tests/test-freopen.c (ASSERT): Likewise.
43626         * tests/test-frexp.c (ASSERT): Likewise.
43627         * tests/test-frexpl.c (ASSERT): Likewise.
43628         * tests/test-fseek.c (ASSERT): Likewise.
43629         * tests/test-fseeko.c (ASSERT): Likewise.
43630         * tests/test-fstrcmp.c (ASSERT): Likewise.
43631         * tests/test-ftell.c (ASSERT): Likewise.
43632         * tests/test-ftello.c (ASSERT): Likewise.
43633         * tests/test-func.c (ASSERT): Likewise.
43634         * tests/test-fwritable.c (ASSERT): Likewise.
43635         * tests/test-fwriting.c (ASSERT): Likewise.
43636         * tests/test-getdelim.c (ASSERT): Likewise.
43637         * tests/test-getline.c (ASSERT): Likewise.
43638         * tests/test-i-ring.c (ASSERT): Likewise.
43639         * tests/test-iconv-utf.c (ASSERT): Likewise.
43640         * tests/test-iconv.c (ASSERT): Likewise.
43641         * tests/test-isfinite.c (ASSERT): Likewise.
43642         * tests/test-isnand.c (ASSERT): Likewise.
43643         * tests/test-isnanf.c (ASSERT): Likewise.
43644         * tests/test-isnanl.h (ASSERT): Likewise.
43645         * tests/test-ldexpl.c (ASSERT): Likewise.
43646         * tests/test-linked_list.c (ASSERT): Likewise.
43647         * tests/test-linkedhash_list.c (ASSERT): Likewise.
43648         * tests/test-localename.c (ASSERT): Likewise.
43649         * tests/test-lseek.c (ASSERT): Likewise.
43650         * tests/test-mbscasecmp.c (ASSERT): Likewise.
43651         * tests/test-mbscasestr1.c (ASSERT): Likewise.
43652         * tests/test-mbscasestr2.c (ASSERT): Likewise.
43653         * tests/test-mbscasestr3.c (ASSERT): Likewise.
43654         * tests/test-mbscasestr4.c (ASSERT): Likewise.
43655         * tests/test-mbschr.c (ASSERT): Likewise.
43656         * tests/test-mbscspn.c (ASSERT): Likewise.
43657         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
43658         * tests/test-mbspbrk.c (ASSERT): Likewise.
43659         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
43660         * tests/test-mbsrchr.c (ASSERT): Likewise.
43661         * tests/test-mbsspn.c (ASSERT): Likewise.
43662         * tests/test-mbsstr1.c (ASSERT): Likewise.
43663         * tests/test-mbsstr2.c (ASSERT): Likewise.
43664         * tests/test-mbsstr3.c (ASSERT): Likewise.
43665         * tests/test-memchr2.c (ASSERT): Likewise.
43666         * tests/test-memmem.c (ASSERT): Likewise.
43667         * tests/test-open.c (ASSERT): Likewise.
43668         * tests/test-printf-frexp.c (ASSERT): Likewise.
43669         * tests/test-printf-frexpl.c (ASSERT): Likewise.
43670         * tests/test-printf-posix.c (ASSERT): Likewise.
43671         * tests/test-quotearg.c (ASSERT): Likewise.
43672         * tests/test-rbtree_list.c (ASSERT): Likewise.
43673         * tests/test-rbtree_oset.c (ASSERT): Likewise.
43674         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
43675         * tests/test-round1.c (ASSERT): Likewise.
43676         * tests/test-roundf1.c (ASSERT): Likewise.
43677         * tests/test-roundl.c (ASSERT): Likewise.
43678         * tests/test-signbit.c (ASSERT): Likewise.
43679         * tests/test-sleep.c (ASSERT): Likewise.
43680         * tests/test-snprintf-posix.c (ASSERT): Likewise.
43681         * tests/test-snprintf.c (ASSERT): Likewise.
43682         * tests/test-sprintf-posix.c (ASSERT): Likewise.
43683         * tests/test-stat-time.c (ASSERT): Likewise.
43684         * tests/test-strcasestr.c (ASSERT): Likewise.
43685         * tests/test-strerror.c (ASSERT): Likewise.
43686         * tests/test-striconv.c (ASSERT): Likewise.
43687         * tests/test-striconveh.c (ASSERT): Likewise.
43688         * tests/test-striconveha.c (ASSERT): Likewise.
43689         * tests/test-strsignal.c (ASSERT): Likewise.
43690         * tests/test-strstr.c (ASSERT): Likewise.
43691         * tests/test-strtod.c (ASSERT): Likewise.
43692         * tests/test-trunc1.c (ASSERT): Likewise.
43693         * tests/test-trunc2.c (ASSERT): Likewise.
43694         * tests/test-truncf1.c (ASSERT): Likewise.
43695         * tests/test-truncf2.c (ASSERT): Likewise.
43696         * tests/test-truncl.c (ASSERT): Likewise.
43697         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
43698         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
43699         * tests/test-vasnprintf.c (ASSERT): Likewise.
43700         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
43701         * tests/test-vasprintf.c (ASSERT): Likewise.
43702         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
43703         * tests/test-vprintf-posix.c (ASSERT): Likewise.
43704         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
43705         * tests/test-vsnprintf.c (ASSERT): Likewise.
43706         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
43707         * tests/test-wcwidth.c (ASSERT): Likewise.
43708         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
43709         * tests/test-xprintf-posix.c (ASSERT): Likewise.
43710         * tests/test-xvasprintf.c (ASSERT): Likewise.
43711         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
43712         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
43713         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
43714         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
43715         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
43716         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
43717         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
43718         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
43719         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
43720         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
43721         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
43722         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
43723         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
43724         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
43725         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
43726         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
43727         * tests/unictype/test-block_list.c (ASSERT): Likewise.
43728         * tests/unictype/test-block_of.c (ASSERT): Likewise.
43729         * tests/unictype/test-block_test.c (ASSERT): Likewise.
43730         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
43731         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
43732         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
43733         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
43734         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
43735         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
43736         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
43737         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
43738         * tests/unictype/test-combining.c (ASSERT): Likewise.
43739         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
43740         * tests/unictype/test-digit.c (ASSERT): Likewise.
43741         * tests/unictype/test-mirror.c (ASSERT): Likewise.
43742         * tests/unictype/test-numeric.c (ASSERT): Likewise.
43743         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
43744         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
43745         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
43746         * tests/unictype/test-scripts.c (ASSERT): Likewise.
43747         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
43748         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
43749         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
43750         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
43751         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
43752         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
43753         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
43754         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
43755         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
43756         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
43757         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
43758         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
43759         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
43760         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
43761         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
43762         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
43763         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
43764         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
43765         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
43766         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
43767         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
43768         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
43769         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
43770         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
43771         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
43772         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
43773         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
43774         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
43775         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
43776         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
43777         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
43778         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
43779         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
43780         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
43781         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
43782         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
43783         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
43784         Reported by Eric Blake.
43785
43786 2008-04-11  Bruno Haible  <bruno@clisp.org>
43787
43788         * lib/wchar.in.h: Tweak comment.
43789
43790 2008-04-11  Bruno Haible  <bruno@clisp.org>
43791
43792         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
43793         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
43794         gl_COMMON.
43795         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
43796
43797 2008-04-11  Bruno Haible  <bruno@clisp.org>
43798
43799         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
43800
43801 2008-04-11  Simon Josefsson  <simon@josefsson.org>
43802
43803         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
43804         of attempting to use non-existing /dev/*random.  Based on patch
43805         from Adam Strzelecki <ono@java.pl> in
43806         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
43807
43808 2008-04-08  Bruno Haible  <bruno@clisp.org>
43809
43810         Add tentative support for emx+gcc.
43811         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
43812         * lib/fpurge.c (fpurge): Likewise.
43813         * lib/freadable.c (freadable): Likewise.
43814         * lib/freadahead.c (freadahead): Likewise.
43815         * lib/freading.c (freading): Likewise.
43816         * lib/freadptr.c (freadptr): Likewise.
43817         * lib/freadseek.c (freadptrinc): Likewise.
43818         * lib/fseeko.c (rpl_fseeko): Likewise.
43819         * lib/fseterr.c (fseterr): Likewise.
43820         * lib/fwritable.c (fwritable): Likewise.
43821         * lib/fwriting.c (fwriting): Likewise.
43822         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
43823
43824 2008-04-09  Eric Blake  <ebb9@byu.net>
43825
43826         Avoid some autoconf warnings.
43827         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
43828         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
43829         * m4/afs.m4 (gl_AFS): Likewise.
43830         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
43831         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
43832         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43833         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
43834         (gl_INTEGER_TYPE_SUFFIX): Likewise.
43835         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
43836         (AC_CHECK_DECLS_ONCE): Likewise.
43837         Rename file...
43838         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
43839         gnulib-tool requires autoconf 2.59 or better.
43840         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
43841
43842 2008-04-08  Eric Blake  <ebb9@byu.net>
43843
43844         Use 'git describe --match' if present (added in git 1.5.5).
43845         * build-aux/git-version-gen: Limit result to tags that match 'v*'
43846         if possible.
43847
43848 2008-04-08  Bruno Haible  <bruno@clisp.org>
43849
43850         Add tentative support for OpenServer.
43851         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
43852         _ptr, _cnt.
43853         * lib/fpurge.c (fpurge): Likewise.
43854         * lib/freadable.c (freadable): Likewise.
43855         * lib/freadahead.c (freadahead): Likewise.
43856         * lib/freading.c (freading): Likewise.
43857         * lib/freadptr.c (freadptr): Likewise.
43858         * lib/freadseek.c (freadptrinc): Likewise.
43859         * lib/fseeko.c (rpl_fseeko): Likewise.
43860         * lib/fseterr.c (fseterr): Likewise.
43861         * lib/fwritable.c (fwritable): Likewise.
43862         * lib/fwriting.c (fwriting): Likewise.
43863         Reported by Roger Cornelius <rac@tenzing.org> and
43864         Brian K. White <brian@aljex.com>.
43865
43866 2008-04-06  Jim Meyering  <meyering@redhat.com>
43867
43868         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
43869
43870 2008-04-06  Bruno Haible  <bruno@clisp.org>
43871
43872         Avoid possible error with non-ASCII bytes in UTF-8 locales.
43873         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
43874         * tests/test-printf-posix.sh: Likewise.
43875         * tests/test-vfprintf-posix.sh: Likewise.
43876         * tests/test-vprintf-posix.sh: Likewise.
43877         * tests/test-xprintf-posix.sh: Likewise.
43878
43879 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43880
43881         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
43882         hide error from 'ls', needed on OS/2.
43883         Report by Elbert Pol <elbert.pol@gmail.com>.
43884
43885 2008-04-04  Eric Blake  <ebb9@byu.net>
43886
43887         Make test-fseeko.c failures meaningful.
43888         * tests/test-fseeko.c: Print line number on failure.
43889         * tests/test-fseek.c: Likewise.
43890         Reported by Nelson H. F. Beebe.
43891
43892         Improve strtod bug detection check.
43893         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
43894         required for Solaris 10.
43895         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
43896
43897 2008-04-04  Bruno Haible  <bruno@clisp.org>
43898
43899         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
43900         by m4/setenv.m4.
43901
43902 2008-04-03  Eric Blake  <ebb9@byu.net>
43903
43904         Ensure sane .version contents.
43905         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
43906         version string.
43907         * build-aux/git-version-gen: Improve documentation.
43908
43909         Make GNU make output nicer.
43910         * top/GNUmakefile [!_have-Makefile]: Add dependency on
43911         MAKECMDGOALS to enforce message for all command line targets.  Set
43912         srcdir for use in maint.mk.
43913
43914         Another maintainer tweak.
43915         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
43916         a target that regenerates version.
43917
43918 2008-04-03  Jim Meyering  <meyering@redhat.com>
43919
43920         vc-list-files: don't cause coreutils "make po-check" failure
43921         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
43922
43923 2008-04-03  Eric Blake  <ebb9@byu.net>
43924
43925         Allow VPATH usage of vc-list-files.
43926         * build-aux/vc-list-files (scriptversion): Add timestamp.
43927         (options): Add --help, --version, -C.
43928         (CVS): Support installed cvsu.
43929
43930 2008-04-02  Bruno Haible  <bruno@clisp.org>
43931
43932         Avoid some "statement with no effect" warnings from gcc.
43933         * tests/test-wctype.c (main): Explicitly ignore unused values.
43934         Reported by Jim Meyering.
43935
43936 2008-04-02  Jim Meyering  <meyering@redhat.com>
43937
43938         Avoid some warnings from "gcc -Wshadow".
43939         * tests/test-frexp.c (exp): Define to a different identifier.
43940         * tests/test-frexpl.c (exp): Likewise.
43941
43942 2008-04-03  Jim Meyering  <meyering@redhat.com>
43943
43944         bootstrap: remove dangling *.[ch] symlinks from lib
43945         * build-aux/bootstrap [dangling symlink removal]: Move find's
43946         -depth option to precede all others, to avoid a warning.
43947         Remove *.[ch] files too, and from "$source_base" (usually lib/).
43948
43949 2008-04-02  Bruno Haible  <bruno@clisp.org>
43950
43951         Avoid some warnings from "gcc -Wshadow".
43952         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
43953         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
43954         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
43955         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
43956         Reported by Jim Meyering.
43957
43958 2008-04-01  Bruno Haible  <bruno@clisp.org>
43959
43960         Fix test to work on IRIX 6.5 with cc.
43961         * tests/test-math.c (numeric_equal): New function.
43962         (main): Use it.
43963
43964 2008-04-01  Bruno Haible  <bruno@clisp.org>
43965
43966         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
43967
43968 2008-04-01  Bruno Haible  <bruno@clisp.org>
43969
43970         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
43971         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43972         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
43973         (Depends-on): Remove math.
43974
43975         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
43976         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43977         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
43978         (Depends-on): Remove math.
43979
43980         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
43981         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43982         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
43983         (Depends-on): Remove math.
43984         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
43985         (Depends-on): Remove math.
43986
43987         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
43988         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43989         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
43990         (Depends-on): Remove math.
43991         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
43992         (Depends-on): Remove math.
43993
43994         * tests/test-round1.c: Include nan.h.
43995         (main): Use NaNd instead of NAN.
43996         * modules/round-tests (Files): Add tests/nan.h.
43997
43998         * tests/test-trunc1.c: Include nan.h.
43999         (main): Use NaNd instead of NAN.
44000         * modules/trunc-tests (Files): Add tests/nan.h.
44001
44002         * tests/test-roundf1.c: Include nan.h.
44003         (main): Use NaNf instead of NAN.
44004         * modules/roundf-tests (Files): Add tests/nan.h.
44005
44006         * tests/test-truncf1.c: Include nan.h.
44007         (main): Use NaNf instead of NAN.
44008         * modules/truncf-tests (Files): Add tests/nan.h.
44009
44010         * tests/test-ceilf1.c: Include nan.h.
44011         (main): Use NaNf instead of NAN.
44012         * modules/ceilf-tests (Files): Add tests/nan.h.
44013
44014         * tests/test-floorf1.c: Include nan.h.
44015         (main): Use NaNf instead of NAN.
44016         * modules/floorf-tests (Files): Add tests/nan.h.
44017
44018         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
44019         (main): Use NaNf instead of NAN.
44020         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
44021
44022         * tests/test-isnand.c: Include nan.h instead of <math.h>.
44023         (main): Use NaNd instead of NAN.
44024         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
44025
44026         * tests/test-frexp.c: Include nan.h.
44027         (main): Use NaNd instead of NAN.
44028         * modules/frexp-tests (Files): Add tests/nan.h.
44029
44030         * lib/isnan.c: Don't include <math.h>.
44031         (FUNC): Don't use NAN macro.
44032         * modules/isnand-nolibm (Depends-on): Remove math.
44033         * modules/isnanf-nolibm (Depends-on): Remove math.
44034         * modules/isnanl (Depends-on): Remove math.
44035         * modules/isnanl-nolibm (Depends-on): Remove math.
44036
44037         * tests/nan.h: New file.
44038
44039 2008-04-01  Eric Blake  <ebb9@byu.net>
44040
44041         Fix typos.
44042         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
44043         values to be the right type.
44044
44045         For now, cater to gnulib strtod inaccuracies.
44046         * tests/test-strtod.c (main): Allow 1-ulp error on expected
44047         fractional results.  While not as nice from a QoI perspective, it
44048         is a quicker patch than correctly implementing decimal to binary
44049         rounding.
44050
44051 2008-03-31  Eric Blake  <ebb9@byu.net>
44052
44053         Guarantee a definition of NAN.
44054         * lib/math.in.h (NAN): Define if missing.
44055         * tests/test-math.c (main): Test it.
44056         * doc/posix-headers/math.texi (math.h): Document this.
44057         * lib/isnan.c (rpl_isnand): Use it.
44058         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
44059         * tests/test-floorf1.c (NaN): Likewise.
44060         * tests/test-frexp.c (NaN): Likewise.
44061         * tests/test-isnand.c (NaN): Likewise.
44062         * tests/test-isnanf.c (NaN): Likewise.
44063         * tests/test-round1.c (NaN): Likewise.
44064         * tests/test-roundf1.c (NaN): Likewise.
44065         * tests/test-snprintf-posix.h (NaN): Likewise.
44066         * tests/test-sprintf-posix.h (NaN): Likewise.
44067         * tests/test-trunc1.c (NaN): Likewise.
44068         * tests/test-truncf1.c (NaN): Likewise.
44069         * tests/test-vasnprintf-posix.c (NaN): Likewise.
44070         * tests/test-vasprintf-posix.c (NaN): Likewise.
44071         * modules/isnand-nolibm (Depends-on): Add math.
44072         * modules/isnanf-nolibm (Depends-on): Likewise.
44073         * modules/isnanl (Depends-on): Likewise.
44074         * modules/isnanl-nolibm (Depends-on): Likewise.
44075         * modules/snprintf-posix-tests (Depends-on): Likewise.
44076         * modules/sprintf-posix-tests (Depends-on): Likewise.
44077         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
44078         * modules/vsprintf-posix-tests (Depends-on): Likewise.
44079         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
44080         * modules/vasprintf-posix-tests (Depends-on): Likewise.
44081
44082 2008-03-31  Bruno Haible  <bruno@clisp.org>
44083
44084         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
44085         * doc/posix-functions/strtod.texi: Likewise.
44086
44087 2008-03-31  Bruno Haible  <bruno@clisp.org>
44088
44089         * tests/test-strtod.c (main): Don't use C99 syntax.
44090
44091 2008-03-31  Bruno Haible  <bruno@clisp.org>
44092
44093         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
44094         Reported by Eric Blake.
44095
44096 2008-03-31  Jim Meyering  <meyering@redhat.com>
44097
44098         Don't compare actual signbit return values.
44099         * tests/test-strtod.c (main): Rather, compare only their
44100         zero/non-zero nature.
44101
44102 2008-03-31  Eric Blake  <ebb9@byu.net>
44103
44104         More strtod documentation.
44105         * doc/posix-functions/strtod.texi (strtod): Interpret more test
44106         failures as distinct bugs.
44107
44108 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
44109
44110         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
44111         Problem reported by Erik Benada in
44112         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
44113
44114 2008-03-30  Bruno Haible  <bruno@clisp.org>
44115
44116         * tests/test-strtod.c: Add comments about which assertion fails on which
44117         platform.
44118         * doc/posix-functions/strtod.texi: Add info about many more platforms.
44119
44120 2008-03-30  Eric Blake  <ebb9@byu.net>
44121
44122         Test signbit behavior on zeros.
44123         * tests/test-signbit.c (test_signbitf): Add tests for zero.
44124         (test_signbitd, test_signbitl): Likewise.
44125
44126         More strtod touchups.
44127         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
44128         sign of negative underflow, for now.  Use .5, not .1.
44129         * doc/posix-functions/strtod.texi (strtod): Mention these
44130         limitations.
44131         Reported by Jim Meyering.
44132
44133 2008-03-30  Bruno Haible  <bruno@clisp.org>
44134
44135         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
44136         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
44137
44138 2008-03-30  Bruno Haible  <bruno@clisp.org>
44139
44140         Avoid failure when attempting to return empty iconv results on some
44141         platforms.
44142         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
44143         allocation, don't report ENOMEM when the resulting string is empty.
44144
44145 2008-03-30  Bruno Haible  <bruno@clisp.org>
44146
44147         Fix buffer overrun.
44148         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
44149         Don't consider the width for tmp_length. Check count against tmp_length
44150         before doing the padding. Ensure enough allocation during padding.
44151
44152 2008-03-30  Eric Blake  <ebb9@byu.net>
44153
44154         strtod touchups.
44155         * lib/strtod.c (strtod): Avoid compiler warnings.
44156         Reported by Jim Meyering.
44157
44158 2008-03-30  Bruno Haible  <bruno@clisp.org>
44159
44160         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
44161         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
44162         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
44163         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
44164         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
44165         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
44166         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
44167         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
44168
44169         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
44170         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
44171         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
44172         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
44173         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
44174         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
44175         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
44176         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
44177
44178         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
44179         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
44180         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
44181         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
44182         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
44183         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
44184         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
44185         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
44186
44187         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
44188         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
44189
44190         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
44191         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
44192
44193         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
44194         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
44195
44196         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
44197         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
44198         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
44199
44200         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
44201         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
44202         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
44203
44204         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
44205         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
44206         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
44207
44208         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
44209         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
44210         * modules/vasprintf (Depends-on): Add EOVERFLOW.
44211
44212         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
44213         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
44214         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
44215         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
44216         (Depends-on): Add EOVERFLOW.
44217         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
44218         (Depends-on): Add EOVERFLOW.
44219         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
44220         (Depends-on): Add EOVERFLOW.
44221         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
44222         (Depends-on): Add EOVERFLOW.
44223         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
44224         (Depends-on): Add EOVERFLOW.
44225         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
44226         (Depends-on): Add EOVERFLOW.
44227         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
44228         (Depends-on): Add EOVERFLOW.
44229         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
44230         (Depends-on): Add EOVERFLOW.
44231
44232         * lib/sprintf.c (EOVERFLOW): Remove fallback.
44233         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
44234         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
44235
44236         * lib/snprintf.c (EOVERFLOW): Remove fallback.
44237         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
44238         * modules/snprintf (Depends-on): Add EOVERFLOW.
44239
44240         * lib/poll.c (EOVERFLOW): Remove fallback.
44241         * modules/poll (Depends-on): Add EOVERFLOW.
44242
44243         * lib/getugroups.c (EOVERFLOW): Remove fallback.
44244         * modules/getugroups (Depends-on): Add EOVERFLOW.
44245
44246         * lib/getdelim.c (EOVERFLOW): Remove fallback.
44247         * modules/getdelim (Depends-on): Add EOVERFLOW.
44248
44249         * lib/ftell.c (EOVERFLOW): Remove fallback.
44250         * modules/ftell (Depends-on): Add EOVERFLOW.
44251
44252         * lib/fprintf.c (EOVERFLOW): Remove fallback.
44253         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
44254         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
44255
44256         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
44257
44258         * modules/EOVERFLOW-tests: New file.
44259         * tests/test-EOVERFLOW.c: New file.
44260
44261         * modules/EOVERFLOW: New file.
44262         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
44263
44264 2008-03-30  Bruno Haible  <bruno@clisp.org>
44265
44266         Fix bug introduced on 2007-06-10.
44267         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
44268         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
44269
44270 2008-03-30  Bruno Haible  <bruno@clisp.org>
44271
44272         Improve freadseek's efficiency after ungetc.
44273         * lib/freadseek.c: Include freadahead.h.
44274         (freadptrinc): New function, extracted from freadseek.
44275         (freadseek): Use it in a loop. Use freadahead to determine the number
44276         of loop iterations.
44277         * modules/freadseek (Depends-on): Add freadahead.
44278         (configure.ac): Require AC_C_INLINE.
44279
44280 2008-03-30  Bruno Haible  <bruno@clisp.org>
44281
44282         * lib/freadseek.c (freadseek): Don't ignore the return value of
44283         freadptr.
44284
44285 2008-03-29  Eric Blake  <ebb9@byu.net>
44286
44287         Add hex float support.
44288         * modules/strtod (Depends-on): Add c-ctype.
44289         (Link): Mention POW_LIB.
44290         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
44291         whitespace between 'e' and exponent.
44292         * tests/test-strtod.c (main): Enable hex float tests.
44293         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
44294         now provides.
44295
44296         Document various strtod bugs, with some fixes.
44297         * doc/posix-functions/strtod.texi (strtod): Document bugs with
44298         "-0x", "inf", "nan", and hex constants.
44299         * doc/posix-functions/atof.texi (atof): Likewise.
44300         * modules/stdlib (Makefile.am): Support strtod.
44301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44302         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
44303         detect additional strtod bugs.
44304         * lib/stdlib.in.h (rpl_strtod): Add declarations.
44305         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
44306         bool where appropriate.  Parse 'inf' and 'nan'.
44307         * tests/test-strtod.c: New file.
44308         * modules/strtod (Depends-on): Add stdbool, stdlib.
44309         (configure.ac): Turn on module indicator.
44310         * modules/strtod-tests: New module.
44311
44312 2008-03-29  Eric Blake  <ebb9@byu.net>
44313
44314         Fix ftell on mingw.
44315         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
44316         * modules/ftell-tests (Depends-on): Add binary-io.
44317         * modules/ftello-tests (Depends-on): Likewise.
44318         * tests/test-ftell.c (main): Enhance test to cover behavior after
44319         ungetc.  Enforce binary mode.
44320         * tests/test-ftello.c (main): Likewise.
44321
44322         Pass test-freadseek on cygwin.
44323         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
44324         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
44325         ungetc buffer.
44326
44327         * tests/test-fflush2.c (main): Fix typo.
44328
44329 2008-03-29  Bruno Haible  <bruno@clisp.org>
44330
44331         * tests/test-fflush2.c (main): Temporarily disable the contents of
44332         this test.
44333         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
44334         Reported by Eric Blake.
44335
44336 2008-03-28  Simon Josefsson  <simon@josefsson.org>
44337
44338         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
44339         (GC_SHA224_DIGEST_SIZE): Add.
44340
44341         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
44342         (gc_hash_digest_length): Likewise.
44343         (gc_hash_buffer): Likewise.
44344
44345 2008-03-25  Bruno Haible  <bruno@clisp.org>
44346
44347         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
44348         detail which gettext release to use.
44349         Reported by Simon Josefsson.
44350
44351 2008-03-26  Jim Meyering  <meyering@redhat.com>
44352
44353         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
44354         * modules/gnumakefile (clean-GNUmakefile): Also, use
44355         test ... && ... || : syntax rather than if-then ... fi.
44356
44357         gnumakefile: Don't double-quote-expand $(VPATH) value.
44358         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
44359
44360 2008-03-24  Eric Blake  <ebb9@byu.net>
44361
44362         Alter GNUmakefile to install into top directory.
44363         * modules/maintainer-makefile: Split, and add dependency...
44364         * modules/gnumakefile: to this new module.
44365         * build-aux/GNUmakefile: Move...
44366         * top/GNUmakefile: ...here.
44367         * build-aux/maint.mk: Move...
44368         * top/maint.mk: ...here.
44369         * MODULES.html.sh (Support for maintaining...): Document new
44370         module.
44371
44372 2008-03-23  Bruno Haible  <bruno@clisp.org>
44373
44374         * gnulib-tool: New options --vc-files, --no-vc-files.
44375         (func_usage): Document them.
44376         (vc_files): New variable.
44377         (func_import): Consider vc_files.
44378         (func_create_testdir): Set vc_files to empty.
44379         Suggested by Jim Meyering and Karl Berry.
44380
44381 2008-03-23  Bruno Haible  <bruno@clisp.org>
44382
44383         Fix regex compilation error on HP-UX 11.
44384         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
44385         * modules/regex (Files): Add m4/mbstate_t.m4.
44386         Reported by Ton Voon <ton.voon@altinity.com>.
44387
44388 2008-03-23  Bruno Haible  <bruno@clisp.org>
44389
44390         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
44391
44392 2008-03-23  Eric Blake  <ebb9@byu.net>
44393             Bruno Haible  <bruno@clisp.org>
44394
44395         Install files from top/ in the destination directory.
44396         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
44397         augmentation also for the files from top/.
44398         (func_import, func_create_testdir): Rewrite file names:
44399         top/filename -> filename.
44400
44401 2008-03-23  Bruno Haible  <bruno@clisp.org>
44402
44403         Tweak "gnulib --version" output.
44404         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
44405
44406 2008-03-23  Bruno Haible  <bruno@clisp.org>
44407
44408         Tweak "gnulib --version" output.
44409         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
44410         rather than contents of ChangeLog, when possible.
44411
44412 2008-03-21  Eric Blake  <ebb9@byu.net>
44413
44414         More --version tweaks.
44415         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
44416         date of last ChangeLog entry.
44417
44418 2008-03-21  Jim Meyering  <meyering@redhat.com>
44419
44420         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
44421
44422 2008-03-20  Eric Blake  <ebb9@byu.net>
44423
44424         VPATH fix.
44425         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
44426
44427 2008-03-20  Simon Josefsson  <simon@josefsson.org>
44428
44429         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
44430         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
44431
44432 2008-03-20  Eric Blake  <ebb9@byu.net>
44433
44434         Sync GNUmakefile with coreutils.
44435         * build-aux/GNUmakefile (have-Makefile): Rename...
44436         (_have-Makefile): ...to this, for namespace consideration.
44437         (GNUmakefile.cfg): Include, if present.
44438         (_autoreconf): Define a default.
44439         (_is-dist-target): New rule for rebuilds to pick up intra-release
44440         version.
44441         (maint-cfg.mk): Rename...
44442         (cfg.mk): ...to this.
44443
44444 2008-03-18  Jim Meyering  <meyering@redhat.com>
44445
44446         New script and module: mktempd
44447         * MODULES.html.sh (maint+release support): Add mktempd.
44448         * build-aux/mktempd: New file.
44449         * modules/mktempd: New file.
44450
44451 2008-03-15  Jim Meyering  <meyering@redhat.com>
44452
44453         Undo last change.
44454         * lib/sha1.c, lib/md5.c: 63 != ~63.
44455         Reported by Andreas Schwab.
44456
44457         sha1.c, md5.c: Hoist a redundant expression.
44458         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
44459         "ctx->buflen" only once, before calling *_process_block.
44460         * lib/md5.c (md5_process_bytes): Likewise.
44461
44462 2008-03-14  Eric Blake  <ebb9@byu.net>
44463
44464         Bump copyright year in files generated by gnulib-tool.
44465         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
44466         gnulib-tool, rather than hard-coding it.
44467
44468         Fix 'gnulib-tool --version' output to work with git.
44469         * gnulib-tool (func_gnulib_dir): New function, extracted from...
44470         (startup): ...here.
44471         (func_version): Use it to invoke git-version-gen, rather than
44472         relying on CVS keyword expansion.  Modernize wording.
44473         (cvsdatestamp, last_checkin_date, version): Kill unused
44474         variables.
44475
44476 2008-03-12  Jim Meyering  <meyering@redhat.com>
44477
44478         Recognize optional cast of the argument to free.
44479         * build-aux/useless-if-before-free: Update regexps.
44480
44481         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
44482
44483 2008-03-11  Bruno Haible  <bruno@clisp.org>
44484
44485         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
44486         by a single package.
44487         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
44488         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
44489         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
44490         Reported by Sam Steingold <sds@gnu.org>.
44491
44492 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44493
44494         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
44495         repositories.
44496
44497 2008-03-11  Bruno Haible  <bruno@clisp.org>
44498
44499         Avoid conflicts between local macro definitions.
44500         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
44501         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
44502
44503 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
44504             Bruno Haible  <bruno@clisp.org>
44505
44506         Make va_copy work with some version of xlc on AIX 5.1.
44507         * lib/stdarg.in.h: New file.
44508         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
44509         On AIX, use a <stdarg.h> file substitute.
44510         * modules/stdarg (Files): Add lib/stdarg.in.h.
44511         (Depends-on): Add include_next.
44512         (Makefile.am): Build a stdarg.h substitute if requested.
44513         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
44514
44515 2008-03-10  Bruno Haible  <bruno@clisp.org>
44516
44517         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
44518         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44519         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
44520
44521 2008-03-10  Bruno Haible  <bruno@clisp.org>
44522
44523         * modules/stdlib (Depends-on): Add include_next, remove
44524         absolute-header.
44525
44526 2008-03-09  Bruno Haible  <bruno@clisp.org>
44527
44528         * lib/freadahead.h (freadahead): Document more precisely.
44529         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
44530         the sum of both buffer sizes.
44531         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
44532         * NEWS: Document the change.
44533
44534 2008-03-09  Bruno Haible  <bruno@clisp.org>
44535
44536         Extend freadptr to return also the buffer size.
44537         * lib/freadptr.h (freadptr): Add sizep argument.
44538         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
44539         (freadptr): Add sizep argument. Determine buffer size like freadahead
44540         does.
44541         * tests/test-freadptr.c: Don't include freadahead.h.
44542         (main): Adapt for new calling convention of freadptr.
44543         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
44544         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
44545         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
44546         tests/test-freadptr2.sh.
44547         (Depends): Remove freadahead.
44548         (TESTS): Add test-freadptr2.sh.
44549         (check_PROGRAMS): Add test-freadptr2.
44550
44551 2008-03-09  Bruno Haible  <bruno@clisp.org>
44552
44553         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
44554         Report and solution by Simon Josefsson.
44555
44556 2008-03-06  Bruno Haible  <bruno@clisp.org>
44557
44558         Make fflush after ungetc work on BSD platforms.
44559         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
44560         * tests/test-fflush2.c: New file.
44561         * tests/test-fflush2.sh: New file.
44562         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
44563         tests/test-fflush2.c.
44564         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
44565         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
44566
44567 2008-03-06  Eric Blake  <ebb9@byu.net>
44568
44569         Likewise for ftello.
44570         * modules/ftello (Dependencies): Add extensions.
44571         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
44572
44573 2008-03-06  Bruno Haible  <bruno@clisp.org>
44574
44575         * modules/fseeko (Dependencies): Add extensions.
44576         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
44577         Needed on glibc systems.
44578
44579 2008-03-06  Bruno Haible  <bruno@clisp.org>
44580
44581         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
44582         email address.
44583         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44584
44585 2008-03-06  Bruno Haible  <bruno@clisp.org>
44586
44587         * users.txt: Add libgnupdf.
44588
44589 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
44590
44591         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
44592         (Header File Substitutes, Function Substitutes,
44593         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
44594         (Build robot for gnulib): Fix typo.
44595
44596 2008-03-06  Bruno Haible  <bruno@clisp.org>
44597
44598         * doc/gnulib-tool.texi (VCS Issues): Small updates.
44599         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44600
44601 2008-03-06  Bruno Haible  <bruno@clisp.org>
44602
44603         * doc/func.texi: New file, extracted from doc/gnulib.texi.
44604         * doc/gnulib.texi: Include it.
44605
44606 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44607
44608         * modules/func (License): Change license to unlimited; there was
44609         no LGPL parts in the module anyway.
44610
44611 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44612
44613         * modules/__func__: Renamed to modules/func.
44614         * modules/__func__-tests: Renamed to modules/func-tests.
44615         * tests/test-__func__.c: Renamed to tests/test-func.c.
44616         * m4/__func__.m4: Renamed to m4/func.m4.
44617         * doc/gnulib.texi (__func__): Section renamed to func.
44618         Suggested by Eric Blake <ebb9@byu.net>.
44619
44620 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44621
44622         * doc/gnulib.texi (__func__): Use C99 terminology when talking
44623         about __func__.  Make example self-contained.  Suggested by Eric
44624         Blake <ebb9@byu.net>.
44625
44626         * tests/test-__func__.c (main): Avoid extraneous () around __func.
44627         Suggested by Eric Blake <ebb9@byu.net>.
44628
44629 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44630
44631         * modules/__func__: New file.
44632         * modules/__func__-tests: New file.
44633         * tests/test-__func__.c: New file.
44634         * m4/__func__.m4: New file.
44635         * doc/gnulib.texi (__func__): Document __func__ module.
44636
44637 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44638
44639         * modules/byteswap (License): Re-license as LGPLv2+.
44640
44641 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44642
44643         * doc/Makefile: Add pdf target.
44644
44645 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44646
44647         * modules/inline (License): Use 'unlimited', since there are only
44648         *.m4 files in this module.
44649
44650 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
44651             Bruno Haible  <bruno@clisp.org>
44652
44653         Add support for HP C 7.1 on OpenVMS 8.3.
44654         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
44655
44656 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
44657
44658         Update VMS specifics.
44659         * lib/getopt.c [VMS]: Remove include of unixlib.h.
44660
44661 2008-03-02  Jim Meyering  <meyering@redhat.com>
44662
44663         Remove the last dependency on the "free" module.
44664         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
44665         Reported by Bob Proulx.
44666
44667         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
44668
44669         Remove useless "if" tests before free.  Deprecate "free" module.
44670         * doc/posix-functions/free.texi: Mention that this
44671         module is no longer useful.
44672         * modules/free (Notice): Say this module is obsolete.
44673         * modules/readutmp (Depends-on): Remove free.
44674         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
44675         * lib/putenv.c (putenv): Likewise.
44676         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
44677         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
44678         * tests/test-c-strcasestr.c (main): Likewise.
44679         * tests/test-c-strstr.c (main): Likewise.
44680         * tests/test-mbscasestr1.c (main): Likewise.
44681         * tests/test-mbscasestr2.c (main): Likewise.
44682         * tests/test-mbsstr1.c (main): Likewise.
44683         * tests/test-mbsstr2.c (main): Likewise.
44684         * tests/test-memmem.c (main): Likewise.
44685         * tests/test-strcasestr.c (main): Likewise.
44686         * tests/test-striconv.c (main): Likewise.
44687         * tests/test-striconveh.c (main): Likewise.
44688         * tests/test-striconveha.c (main): Likewise.
44689         * tests/test-strstr.c (main): Likewise.
44690
44691         * build-aux/git-version-gen: Adjust a comment and the Usage string.
44692
44693         bootstrap: sync from coreutils again
44694         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
44695
44696 2008-03-01  Jim Meyering  <meyering@redhat.com>
44697
44698         bootstrap: sync from coreutils
44699         * build-aux/bootstrap (update_po_files): Copy a .po file into place
44700         also when the target doesn't exist.
44701
44702 2008-03-01  Eric Blake  <ebb9@byu.net>
44703
44704         Fix bugs in last patch.
44705         * lib/memchr2.c (memchr2): Fix typo.
44706         * tests/test-memchr2.c: Test previous bug, and don't use GNU
44707         extension.
44708         Reported by Bruce Korb.
44709
44710         New module 'memchr2'.
44711         * modules/memchr2: New file.
44712         * modules/memchr2-tests: Likewise.
44713         * lib/memchr2.h: Likewise.
44714         * lib/memchr2.c: Likewise, based on memchr.c.
44715         * tests/test-memchr2.c: New test.
44716         * MODULES.html.sh (String handling): Add memchr2.
44717
44718 2008-02-29  Bruno Haible  <bruno@clisp.org>
44719
44720         * modules/freadseek-tests: New file.
44721         * tests/test-freadseek.sh: New file.
44722         * tests/test-freadseek.c: New file.
44723
44724         New module 'freadseek'.
44725         * modules/freadseek: New file.
44726         * lib/freadseek.h: New file.
44727         * lib/freadseek.c: New file.
44728         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
44729
44730 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
44731
44732         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
44733         wydawca.
44734
44735         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
44736         program_invocation_name and program_invocation_short_name are
44737         present.
44738
44739 2008-02-28  Bruno Haible  <bruno@clisp.org>
44740
44741         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
44742         * tests/test-freadptr.sh: Also test non-seekable stdin.
44743
44744 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
44745
44746         * build-aux/bootstrap (source_base, m4_base)
44747         (doc_base, tests_base): New variables.
44748         (gnulib_tool_options): Do not hardcode base directories, use
44749         the above variables instead.
44750
44751 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
44752
44753         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
44754
44755 2008-02-28  Bruno Haible  <bruno@clisp.org>
44756
44757         * modules/freadptr-tests: New file.
44758         * tests/test-freadptr.sh: New file.
44759         * tests/test-freadptr.c: New file.
44760
44761         New module 'freadptr'.
44762         * modules/freadptr: New file.
44763         * lib/freadptr.h: New file.
44764         * lib/freadptr.c: New file.
44765         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
44766
44767 2008-02-26  Karl Berry  <karl@freefriends.org>
44768
44769         Sync from Libtool:
44770         * libltdl/argz.c (argz_add, argz_count): New functions.
44771         * libltdl/argz.in.h: Declare them.
44772         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
44773
44774 2008-02-22  Bruno Haible  <bruno@clisp.org>
44775
44776         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
44777         is a pointer type.  Needed for HP-UX 10.
44778         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
44779         * doc/posix-functions/gmtime_r.texi: Likewise.
44780         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
44781
44782 2008-02-24  Bruno Haible  <bruno@clisp.org>
44783
44784         * modules/environ-tests: New file.
44785         * tests/test-environ.c: New file.
44786
44787         New module 'environ'.
44788         * modules/environ: New file.
44789         * lib/unistd.in.h (environ): New declaration.
44790         * m4/environ.m4: New file.
44791         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
44792         after use.
44793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
44794         HAVE_DECL_ENVIRON.
44795         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
44796         HAVE_DECL_ENVIRON.
44797         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
44798         wrong claim that 'environ' is missing on some systems.
44799         * modules/execute (Depends-on): Add environ.
44800         * lib/execute.c (environ): Remove fallback declaration.
44801         * modules/pipe (Depends-on): Add environ.
44802         * lib/pipe.c (environ): Remove fallback declaration.
44803         * modules/setenv (Depends-on): Add environ.
44804         * lib/setenv.c (environ): Remove fallback declaration.
44805         * modules/unsetenv (Depends-on): Add environ.
44806         * lib/unsetenv.c (environ): Remove fallback declaration.
44807         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
44808         m4/environ.m4.
44809         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
44810         (gl_PREREQ_UNSETENV): Likewise.
44811
44812 2008-02-24  Bruno Haible  <bruno@clisp.org>
44813
44814         * doc/posix-functions/environ.texi: Document the MacOS X problem.
44815
44816 2008-02-20  Bob Proulx  <bob@proulx.com>
44817
44818         Enable use of older two part flavor 'git describe'.
44819         * build-aux/git-version-gen: If using the older two part flavor of
44820         git version then recreate the third part now present in the
44821         newer three part flavor of git describe.
44822
44823 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
44824
44825         * lib/fts.c (fts_build): Typo correction to comment.
44826
44827 2008-02-17  Bruno Haible  <bruno@clisp.org>
44828
44829         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
44830         generating no-op conflicts.
44831
44832 2008-02-17  Bruno Haible  <bruno@clisp.org>
44833
44834         Speed up by 10%.
44835         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
44836         result_entries, rather than an index-based loop.
44837
44838 2008-02-17  Bruno Haible  <bruno@clisp.org>
44839
44840         Speed up by 25%.
44841         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
44842         'hashcode_cached'.
44843         (entry_create): New function.
44844         (entry_hashcode): Use the cached hashcode if possible.
44845         (read_changelog_file, try_split_merged_entry): Use entry_create.
44846
44847 2008-02-17  Bruno Haible  <bruno@clisp.org>
44848
44849         Speed up from O(n^2) to O(n) for long ChangeLog files.
44850         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
44851         (read_changelog_file): Change implementation of entries_reversed list
44852         to rbtreehash.
44853         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
44854
44855 2008-02-17  Bruno Haible  <bruno@clisp.org>
44856
44857         New option --split-merged-entry.
44858         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
44859         (find_paragraph_end, try_split_merged_entry): New functions.
44860         (long_options): Add option --split-merged-entry.
44861         (usage): Document option --split-merged-entry.
44862         (main): Implement option --split-merged-entry.
44863         Reported by Eric Blake.
44864
44865 2008-02-17  Bruno Haible  <bruno@clisp.org>
44866
44867         * lib/git-merge-changelog.c: Include c-strstr.h.
44868         (main): Support the "git pull --rebase" situation.
44869         * modules/git-merge-changelog (Depends-on): Add c-strstr.
44870         Reported by Eric Blake.
44871
44872 2008-02-16  Eric Blake  <ebb9@byu.net>
44873
44874         Avoid doubling \ in common case of "c-maybe" quoting style.
44875         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
44876         eliding outer quotes.
44877         * lib/quotearg.h: Document this.
44878         * tests/test-quotearg.c (result_strings, inputs, results_g)
44879         (flag_results, locale_results): Test it by adding a new string to
44880         each test group.
44881         (compare_strings): Test new string.
44882
44883 2008-02-13  Eric Blake  <ebb9@byu.net>
44884
44885         Avoid trigraph quoting in default output.
44886         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
44887         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
44888         unless explicitly requested.
44889         * tests/test-quotearg.c (flag_results, main): Add additional tests.
44890
44891 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
44892
44893         Don't rely on signed integer overflowing to negative value.
44894         * lib/getugroups.c (getugroups): Include <limits.h>.
44895         Instead, compare against INT_MAX, and increment only if the test passes.
44896
44897 2008-02-13  Jim Meyering  <meyering@redhat.com>
44898         and Eric Blake  <ebb9@byu.net>
44899
44900         Avoid shadowing warning and compile errors on Linux.
44901         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
44902         forwarding macros on Linux.
44903         (dcgettext): Define a stub, for Linux.
44904         (results_g, main): Avoid warnings.
44905
44906 2008-02-12  Eric Blake  <ebb9@byu.net>
44907
44908         Silence warning in last patch.
44909         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
44910
44911         Quotearg part 4: add tests, fix c-maybe colon quoting.
44912         * lib/quotearg.h: Improve documentation.
44913         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
44914         escapes when adding outer quotes.  When quoting trigraphs, use
44915         valid C notation.  When quoting NUL, omit extra characters if next
44916         character is not digit.  Alter prototype.
44917         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
44918         callers.
44919         * modules/quotearg-tests: New module.
44920         * tests/test-quotearg.c: New test.
44921
44922 2008-02-07  Eric Blake  <ebb9@byu.net>
44923
44924         Quotearg part 3: add flag to control outer quote elision.
44925         * lib/quotearg.h (c_maybe_quoting_style): New style.
44926         (enum quoting_flags): Better documentation of flags.
44927         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
44928         c-maybe style.
44929         (quotearg_buffer_restyled): Handle new flag to elide outer
44930         quotes.
44931
44932         Quotearg part 2: add flag that can control NUL elision.
44933         * lib/quotearg.h (set_quoting_flags): New prototype.
44934         * lib/quotearg.c (struct quoting_options): Add flag field.
44935         (set_quoting_flags): New function.
44936         (quotearg_buffer_restyled): Add flags parameter.
44937         (quotearg_alloc_mem): Set the flag if length cannot be returned.
44938         (quotearg_n_options): Set the flag, since length cannot be
44939         returned.
44940         (quoting_options_from_style): Default flags correctly.
44941
44942         Quotearg part 1: more wrappers, restore quotearg_char state.
44943         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
44944         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
44945         (quotearg_colon_mem): New wrappers.
44946         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
44947         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
44948         functions.
44949         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
44950         (quotearg_colon_mem): New functions.
44951
44952 2008-02-11  Bruno Haible  <bruno@clisp.org>
44953
44954         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
44955         library in the current directory: it does not work with parallel make.
44956         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44957
44958 2008-02-11  Bruno Haible  <bruno@clisp.org>
44959
44960         * .gitattributes: New file.
44961
44962 2008-02-11  Jim Meyering  <meyering@redhat.com>
44963
44964         useless-if-before-free: Fix reversed exit values.
44965         * build-aux/useless-if-before-free: Use correct values
44966         for EXIT_MATCH and EXIT_NO_MATCH.
44967
44968         * build-aux/useless-if-before-free: Close stdout carefully.
44969
44970 2008-02-10  Bruno Haible  <bruno@clisp.org>
44971
44972         New module 'git-merge-changelog'.
44973         * modules/git-merge-changelog: New file.
44974         * lib/git-merge-changelog.c: New file.
44975
44976 2008-02-10  Jim Meyering  <meyering@redhat.com>
44977
44978         useless-if-before-free: New option: --list (-l).
44979
44980         useless-if-before-free: Don't exit immediately upon open failure.
44981         * build-aux/useless-if-before-free: Exit 2 for errors.
44982         Upon failure to open a file, don't exit immediately.
44983         Rather, just warn and continue with any remaining files.
44984
44985 2008-02-10  Bruno Haible  <bruno@clisp.org>
44986
44987         New abstract list operation 'node_set_value'.
44988         * lib/gl_list.h (gl_list_node_set_value): New function.
44989         (struct gl_list_implementation): New field node_set_value.
44990         * lib/gl_list.c (gl_list_node_set_value): New function.
44991         * lib/gl_array_list.c (gl_array_node_set_value): New function.
44992         (gl_array_list_implementation): Update.
44993         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
44994         (gl_carray_list_implementation): Update.
44995         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
44996         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44997         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44998         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
44999         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
45000         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
45001         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
45002         Update.
45003         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
45004         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
45005         (gl_sublist_list_implementation): Update.
45006
45007 2008-02-10  Bruno Haible  <bruno@clisp.org>
45008
45009         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
45010         Needed when ELEMENT is #defined to 'some_type *'.
45011
45012 2008-02-10  Jim Meyering  <meyering@redhat.com>
45013
45014         New script and module: useless-if-before-free
45015         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
45016         * build-aux/useless-if-before-free: New file.
45017         * modules/useless-if-before-free: New file.
45018
45019         * build-aux/gitlog-to-changelog: Use committer date, not author date.
45020
45021         xstrtol_error: Fix typo.
45022         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
45023         s/exit_failure/exit_status/.
45024
45025 2008-02-09  Jim Meyering  <meyering@redhat.com>
45026
45027         New script and module: gitlog-to-changelog
45028         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
45029         * modules/gitlog-to-changelog: New file.
45030         * build-aux/gitlog-to-changelog: New file.
45031
45032 2008-02-08  Jim Meyering  <meyering@redhat.com>
45033
45034         Avoid two "parameter unused" warnings.
45035         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
45036         Mark "st" as used.
45037
45038         Use "git COMMAND", not "git-COMMAND".
45039         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
45040         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
45041         * build-aux/git-version-gen: Use "git status", not "git-status".
45042
45043 2008-02-07  Bruno Haible  <bruno@clisp.org>
45044
45045         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
45046         Avoids a crash on Windows Vista.
45047         Reported by Adam Strzelecki <ono@java.pl> via
45048         Simon Josefsson <simon@josefsson.org>.
45049
45050 2008-02-06  Bruno Haible  <bruno@clisp.org>
45051
45052         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
45053         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
45054         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
45055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
45056         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45057         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45058         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
45059         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
45060         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45061         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45062         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45063         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45064         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45065         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45066         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45067         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
45068         left-adjust flag.
45069         * tests/test-snprintf-posix.h (test_function): Likewise.
45070         * tests/test-sprintf-posix.h (test_function): Likewise.
45071         * tests/test-vasprintf-posix.c (test_function): Likewise.
45072         * doc/posix-functions/fprintf.texi: Update.
45073         * doc/posix-functions/printf.texi: Update.
45074         * doc/posix-functions/snprintf.texi: Update.
45075         * doc/posix-functions/sprintf.texi: Update.
45076         * doc/posix-functions/vfprintf.texi: Update.
45077         * doc/posix-functions/vprintf.texi: Update.
45078         * doc/posix-functions/vsnprintf.texi: Update.
45079         * doc/posix-functions/vsprintf.texi: Update.
45080         Reported by Peter Fales <psfales@alcatel-lucent.com>.
45081
45082 2008-02-06  Bruno Haible  <bruno@clisp.org>
45083
45084         Fix bug introduced on 2008-01-26.
45085         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
45086
45087 2008-02-06  Bruno Haible  <bruno@clisp.org>
45088
45089         Fix bug introduced on 2007-06-10.
45090         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
45091         !NEED_PRINTF_FLAG_ZERO.
45092
45093 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
45094
45095         getloadavg: use libperfstat on AIX5
45096         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
45097
45098 2008-02-03  Bruno Haible  <bruno@clisp.org>
45099
45100         * lib/diffseq.h: Add comments about required #includes.
45101         Reported by Michael Biggs <gnulib@doubleplum.net>.
45102
45103 2008-02-01  Bruno Haible  <bruno@clisp.org>
45104
45105         * users.txt: Add gnuit.
45106
45107 2008-01-31  Bruno Haible  <bruno@clisp.org>
45108
45109         * lib/md4.c (set_uint32): Mark as inline.
45110         * lib/md5.c (set_uint32): Likewise.
45111         * lib/sha1.c (set_uint32): Likewise.
45112         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
45113         * m4/md5.m4 (gl_MD5): Likewise.
45114         * m4/sha1.m4 (gl_SHA1): Likewise.
45115
45116 2008-01-31  Jim Meyering  <meyering@redhat.com>
45117
45118         Use "sizeof VAR", rather than a literal "4".
45119         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
45120         * lib/md4.c (md4_read_ctx): Likewise.
45121         * lib/sha1.c (sha1_read_ctx): Likewise.
45122
45123 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45124
45125         * tests/test-sha1.c: New file, based on test-md5.c.
45126
45127         * modules/crypto/sha1-tests: New file.
45128
45129 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45130
45131         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
45132
45133 2008-01-31  Jim Meyering  <meyering@redhat.com>
45134
45135         Prefer "sizeof v" over the equivalent "4".
45136         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
45137         * lib/md5.c (set_uint32): Likewise.
45138         * lib/sha1.c (set_uint32): Likewise.
45139
45140 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45141
45142         * lib/sha1.c (set_uint32): Mark function as static.
45143
45144 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45145
45146         md2: clarify comments to say that alignment is not required.
45147         * lib/md2.h: Remove warning about alignment in comment.
45148         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
45149         never been required.
45150
45151 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45152
45153         md4: adapt alignment constraint fix from sha1.
45154         * lib/md4.c (set_uint32): New function, from sha1.c
45155         (md4_read_ctx): Use it.
45156         (md4_finish_ctx): Doc fix.
45157         * lib/md4.h: Doc fix.
45158
45159 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45160
45161         md5: adapt alignment constraint fix from sha1.
45162         * lib/md5.c (set_uint32): New function, from sha1.c
45163         (md5_read_ctx): Use it.
45164         (md5_finish_ctx): Doc fix.
45165         * lib/md5.h: Doc fix.
45166
45167 2008-01-30  Peter Palfrader  <weasel@debian.org>
45168
45169         sha1: remove the result buffer alignment constraint
45170         * lib/sha1.c (set_uint32): New function.
45171         (sha1_read_ctx): Rewrite to remove the result buffer alignment
45172         constraint.
45173         (sha1_finish_ctx): Remove comment warning about alignment constraint.
45174         * lib/sha1.h: Likewise.
45175
45176 2008-01-30  Andreas Schwab  <schwab@suse.de>
45177             Bruno Haible  <bruno@clisp.org>
45178
45179         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
45180         correct definition of LDBL_MIN_EXP.
45181
45182 2008-01-30  Karl Berry  <karl@gnu.org>
45183
45184         * config/srclist-update: try to preserve x bit on updates.
45185         * config/srclistvars.sh: update for karl.
45186
45187 2008-01-29  Jim Meyering  <meyering@redhat.com>
45188
45189         vasnprintf.c: Avoid warning about unused label
45190         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
45191         "overflow" label definition and associated code with the
45192         same cpp condition that guards the sole use of that label.
45193
45194 2008-01-26  Bruno Haible  <bruno@clisp.org>
45195
45196         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
45197         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
45198         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
45199         * lib/isnanl-nolibm.h (isnanl): Likewise.
45200         Reported by Paul Eggert <eggert@cs.ucla.edu>.
45201
45202 2008-01-26  Bruno Haible  <bruno@clisp.org>
45203
45204         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
45205         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
45206
45207 2008-01-26  Bruno Haible  <bruno@clisp.org>
45208
45209         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
45210         GCC >= 4.0 built-in.
45211         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
45212
45213 2008-01-26  Bruno Haible  <bruno@clisp.org>
45214
45215         Rename isnan, applicable to 'double' only, to isnand.
45216         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
45217         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
45218         (configure.ac): Update.
45219         (Include): Replace "isnan.h" with "isnand.h".
45220         * m4/isnand.m4: Renamed from m4/isnan.m4.
45221         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
45222         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
45223         instead of isnan.c.
45224         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
45225         instead of HAVE_ISNAN_IN_LIBC.
45226         (isnand): Renamed from isnan.
45227         * lib/isnand.c: New file.
45228         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
45229         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
45230         (Makefile.am): Update.
45231         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
45232         Include isnand.h instead of isnan.h.
45233         (main): Test isnand instead of isnan.
45234         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
45235         isnan-nolibm.
45236         * modules/frexp (Depends-on): Likewise.
45237         * modules/frexp-tests (Depends-on): Likewise.
45238         * modules/frexp-nolibm (Depends-on): Likewise.
45239         * modules/frexp-nolibm-tests (Depends-on): Likewise.
45240         * modules/isfinite (Depends-on): Likewise.
45241         * modules/round-tests (Depends-on): Likewise.
45242         * modules/signbit (Depends-on): Likewise.
45243         * modules/signbit-tests (Depends-on): Likewise.
45244         * modules/snprintf-posix (Depends-on): Likewise.
45245         * modules/sprintf-posix (Depends-on): Likewise.
45246         * modules/trunc-tests (Depends-on): Likewise.
45247         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45248         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45249         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45250         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45251         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45252         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45253         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45254         * modules/vasnprintf-posix (Depends-on): Likewise.
45255         * modules/vasprintf-posix (Depends-on): Likewise.
45256         * modules/vfprintf-posix (Depends-on): Likewise.
45257         * modules/vsnprintf-posix (Depends-on): Likewise.
45258         * modules/vsprintf-posix (Depends-on): Likewise.
45259         * lib/frexp.c: Include isnand.h instead of isnan.h.
45260         (ISNAN): Set to isnand instead of isnan.
45261         * lib/isfinite.c: Include isnand.h instead of isnan.h.
45262         (gl_isfinited): Use isnand instead of isnan.
45263         * lib/signbitd.c: Include isnand.h instead of isnan.h.
45264         (gl_signbitd): Use isnand instead of isnan.
45265         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
45266         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
45267         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
45268         (main): Use isnand instead of isnan.
45269         * tests/test-round1.c: Include isnand.h.
45270         (main): Use isnand instead of isnan.
45271         * tests/test-round2.c: Include isnand.h instead of isnan.h.
45272         (ISNAN): Set to isnand instead of isnan.
45273         * tests/test-trunc1.c: Include isnand.h.
45274         (main): Use isnand instead of isnan.
45275         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
45276         (equal): Use isnand instead of isnan.
45277         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
45278         isnand-nolibm.
45279         * NEWS: Mention the change.
45280
45281 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
45282             Bruno Haible  <bruno@clisp.org>
45283
45284         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
45285         the GCC builtins for signbits are present and set
45286         REPLACE_SIGNBIT_USING_GCC if so.
45287         * lib/math.in.h (signbit): Define using GCC builtins if
45288         REPLACE_SIGNBIT_USING_GCC is set.
45289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
45290         REPLACE_SIGNBIT_USING_GCC.
45291         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
45292
45293 2008-01-25  Jim Meyering  <meyering@redhat.com>
45294
45295         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
45296         * lib/poll.c: Include <config.h>, not "config.h".
45297         * tests/test-getaddrinfo.c: Likewise.
45298
45299 2008-01-25  Simon Josefsson  <simon@josefsson.org>
45300
45301         * modules/sockets-tests: New file.
45302
45303 2008-01-24  Simon Josefsson  <simon@josefsson.org>
45304
45305         * modules/sockets: New module, can be used to call WSA_Startup and
45306         WSA_Cleanup when needed.
45307
45308         * lib/sockets.h, lib/sockets.c: New files.
45309
45310         * m4/sockets.m4: New file.
45311
45312         * tests/test-sockets.c: New file.
45313
45314 2008-01-19  Bruno Haible  <bruno@clisp.org>
45315
45316         * doc/posix-headers: Renamed from doc/headers.
45317         * doc/posix-functions: Renamed from doc/functions.
45318         * doc/gnulib.texi: Update.
45319
45320 2008-01-19  Bruno Haible  <bruno@clisp.org>
45321
45322         * doc/glibc-functions/strcasestr.texi: Include contents of
45323         doc/functions/strcasestr.texi, fixing the list of platforms.
45324         * doc/functions/strcasestr.texi: Remove file.
45325
45326 2008-01-19  Bruno Haible  <bruno@clisp.org>
45327
45328         * doc/glibc-functions/memmem.texi: Include contents of
45329         doc/functions/memmem.texi.
45330         * doc/functions/memmem.texi: Remove file.
45331
45332 2008-01-18  Bruno Haible  <bruno@clisp.org>
45333
45334         * doc/glibc-functions/*.texi: New files.
45335         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
45336         to use the new files.
45337
45338 2008-01-17  Bruno Haible  <bruno@clisp.org>
45339
45340         * tests/test-gethostname.c (main): Fix printf statement.
45341
45342 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45343
45344         * modules/gethostname-tests: New file.
45345
45346         * tests/test-gethostname.c: New file.
45347
45348 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45349
45350         * lib/gethostname.c: Include string.h unconditionally, strncpy is
45351         used by the UNAME case.  Reported by Bruno Haible
45352         <bruno@clisp.org>.
45353
45354 2008-01-17  Eric Blake  <ebb9@byu.net>
45355
45356         Convert c-strcasestr to be more efficient.
45357         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
45358         (Depends-on): Add c-strcase, remove malloca, strnlen.
45359         * tests/test-c-strcasestr.c (main): Enhance test.
45360         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
45361
45362 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
45363
45364         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
45365         Use it in creating po/Makevars.
45366
45367 2008-01-15  Simon Josefsson  <simon@josefsson.org>
45368
45369         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
45370         Applications that requires it should initialize libgcrypt
45371         manually.
45372
45373 2008-01-16  Simon Josefsson  <simon@josefsson.org>
45374
45375         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
45376
45377 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
45378
45379         Fix problem with getdate on mingw32 reported by Simon Josefsson
45380         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
45381         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
45382         tzname", when deciding whether to declare tzname.
45383         * lib/strftime.c (tzname): Likewise.
45384
45385 2008-01-15  Bruno Haible  <bruno@clisp.org>
45386
45387         Work around a MacOS X 10.5 bug in frexpl().
45388         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
45389         * doc/functions/frexpl.texi: Document the bug.
45390         Reported by Elias Pipping <pipping@gentoo.org>.
45391
45392 2008-01-14  Eric Blake  <ebb9@byu.net>
45393
45394         Touch up previous patch.
45395         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
45396         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
45397
45398         Convert strcasestr module to use Two-Way algorithm.
45399         * modules/strcasestr-simple: New module, based on the old
45400         strcasestr, but with Two-Way rather than KMP.
45401         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
45402         * lib/string.in.h (rpl_strcasestr): Declare.
45403         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
45404         performance.
45405         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
45406         * modules/string (Makefile.am): Support strcasestr.
45407         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45408         * modules/strcasestr-tests (Depends-on): Check for alarm.
45409         * tests/test-strcasestr.c: Augment test.
45410         * lib/str-two-way.h: Clean up stray macro.
45411         * NEWS: Document new module.
45412         * MODULES.html.sh (string handling): Likewise.
45413         * doc/functions/strcasestr.texi: New file.
45414         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
45415         here, since it is not a POSIX function.
45416
45417 2008-01-14  Colin Watson  <cjwatson@debian.org>
45418             Bruno Haible  <bruno@clisp.org>
45419
45420         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
45421         works fine; if not, set REPLACE_STRSIGNAL.
45422         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
45423         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45424         REPLACE_STRSIGNAL.
45425         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
45426         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
45427         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
45428
45429 2008-01-14  Bruno Haible  <bruno@clisp.org>
45430
45431         * modules/strsignal (Include): Change to <string.h>.
45432
45433 2008-01-14  Colin Watson  <cjwatson@debian.org>
45434
45435         * modules/argp (Notice): Add a notice recommending to change
45436         XGETTEXT_OPTIONS.
45437         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
45438
45439 2008-01-13  Colin Watson  <cjwatson@debian.org>
45440
45441         * modules/strsignal-tests: New file.
45442         * tests/test-strsignal.c: New file.
45443
45444         * lib/strsignal.c: New file, from glibc with modifications.
45445         * lib/siglist.h: New file, from glibc with modifications.
45446         * lib/string.in.h (strsignal): New declaration.
45447         * m4/strsignal.m4: New file.
45448         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45449         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
45450         * modules/strsignal: New file.
45451         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
45452         HAVE_DECL_STRSIGNAL.
45453
45454 2008-01-13  Bruno Haible  <bruno@clisp.org>
45455
45456         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
45457         locale encoding is not ASCII. Needed for OpenBSD 4.0.
45458         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45459         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45460
45461 2008-01-13  Bruno Haible  <bruno@clisp.org>
45462
45463         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
45464         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
45465         * lib/argp.h (__attribute__): Likewise.
45466         * lib/c-stack.c (__attribute__): Likewise.
45467         * lib/error.h (__attribute__): Likewise.
45468         * lib/fts.c (__attribute__): Likewise.
45469         * lib/openat.h (__attribute__): Likewise.
45470         * lib/stdio.in.h (__attribute__): Likewise.
45471         * lib/string.in.h (__attribute__): Likewise.
45472         * lib/utimens.c (__attribute__): Likewise.
45473         * lib/vasnprintf.h (__attribute__): Likewise.
45474         * lib/xalloc.h (__attribute__): Likewise.
45475         * lib/xprintf.h (__attribute__): Likewise.
45476         * lib/xstrtol.h (__attribute__): Likewise.
45477         * lib/xvasprintf.h (__attribute__): Likewise.
45478
45479 2008-01-12  Bruno Haible  <bruno@clisp.org>
45480
45481         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
45482         * doc/glibc-headers/a.out.texi: New file.
45483         * doc/glibc-headers/aliases.texi: New file.
45484         * doc/glibc-headers/alloca.texi: New file.
45485         * doc/glibc-headers/ar.texi: New file.
45486         * doc/glibc-headers/argp.texi: New file.
45487         * doc/glibc-headers/argz.texi: New file.
45488         * doc/glibc-headers/byteswap.texi: New file.
45489         * doc/glibc-headers/crypt.texi: New file.
45490         * doc/glibc-headers/endian.texi: New file.
45491         * doc/glibc-headers/envz.texi: New file.
45492         * doc/glibc-headers/err.texi: New file.
45493         * doc/glibc-headers/error.texi: New file.
45494         * doc/glibc-headers/execinfo.texi: New file.
45495         * doc/glibc-headers/fpu_control.texi: New file.
45496         * doc/glibc-headers/fstab.texi: New file.
45497         * doc/glibc-headers/fts.texi: New file.
45498         * doc/glibc-headers/getopt.texi: New file.
45499         * doc/glibc-headers/ieee754.texi: New file.
45500         * doc/glibc-headers/ifaddrs.texi: New file.
45501         * doc/glibc-headers/libintl.texi: New file.
45502         * doc/glibc-headers/mcheck.texi: New file.
45503         * doc/glibc-headers/mntent.texi: New file.
45504         * doc/glibc-headers/obstack.texi: New file.
45505         * doc/glibc-headers/paths.texi: New file.
45506         * doc/glibc-headers/printf.texi: New file.
45507         * doc/glibc-headers/pty.texi: New file.
45508         * doc/glibc-headers/resolv.texi: New file.
45509         * doc/glibc-headers/shadow.texi: New file.
45510         * doc/glibc-headers/sysexits.texi: New file.
45511         * doc/glibc-headers/ttyent.texi: New file.
45512
45513 2008-01-12  Jim Meyering  <meyering@redhat.com>
45514
45515         announce-gen: emit Gnulib's git-based version string.
45516         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
45517         New option --gnulib-version=V, where V is expected to be
45518         the output of running git describe in the gnulib directory.
45519         (get_tool_versions): Request feedback on xdelta.  I suspect it's
45520         not useful, and plan to stop publishing an xdelta file with each
45521         coreutils release.
45522
45523         * build-aux/announce-gen: Also check for lzma-compressed files.
45524
45525 2008-01-11  Bruno Haible  <bruno@clisp.org>
45526
45527         * tests/test-memmem.c (main): Increase maximum allowed time.
45528         * tests/test-strstr.c (main): Likewise.
45529
45530 2008-01-11  Bruno Haible  <bruno@clisp.org>
45531
45532         * doc/functions/memmem.texi: Add more precisions about platforms.
45533         * doc/functions/strstr.texi: Likewise.
45534
45535 2008-01-10  Eric Blake  <ebb9@byu.net>
45536
45537         * m4/strstr.m4: Delete cruft from copy-n-paste.
45538         Reported by Bruno Haible.
45539
45540 2008-01-10  Bruno Haible  <bruno@clisp.org>
45541
45542         Make c-strstr rely on strstr.
45543         * lib/c-strstr.c: Don't include str-kmp.h.
45544         (c_strstr): Define in terms of strstr.
45545         * modules/c-strstr (Files): Remove lib/str-kmp.h.
45546         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
45547
45548 2008-01-10  Bruno Haible  <bruno@clisp.org>
45549
45550         * doc/gnulib.texi (String Functions in C Locale): New section.
45551         * doc/c-ctype.texi: New file.
45552         * doc/c-strcase.texi: New file.
45553         * doc/c-strcaseeq.texi: New file.
45554         * doc/c-strcasestr.texi: New file.
45555         * doc/c-strstr.texi: New file.
45556         * doc/c-strtod.texi: New file.
45557         * doc/c-strtold.texi: New file.
45558
45559 2008-01-10  Eric Blake  <ebb9@byu.net>
45560
45561         * lib/relocatable.h: Fix a comment.
45562
45563 2008-01-10  Eric Blake  <ebb9@byu.net>
45564
45565         Share two-way algorithm.
45566         * lib/str-two-way.h: New file, merged from...
45567         * lib/memmem.c: ...here...
45568         * lib/strstr.c: ...and here.
45569         * modules/memmem (Files): Use it.
45570         * modules/strstr (Files): Likewise.
45571
45572         Avoid quadratic strstr implementations.
45573         * lib/strstr.c: New file.
45574         * m4/strstr.m4: Likewise.
45575         * modules/strstr: Likewise.
45576         * modules/strstr-tests: Likewise.
45577         * tests/test-strstr.c: Likewise.
45578         * lib/string.in.h (rpl_strstr): Declare.
45579         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
45580         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
45581         * modules/string (Makefile.am): Likewise.
45582         * MODULES.html.sh (string handling): Mention new module.
45583         * doc/functions/strstr.texi (strstr): Document the bug.
45584
45585 2008-01-10  Bruno Haible  <bruno@clisp.org>
45586
45587         * lib/relocatable.h (relocate): State whether result is freshly
45588         allocated or not.
45589         * lib/relocatable.c (relocate): Return a freshly allocated string
45590         instead of a pointer to a privately held string.
45591         Reported by Sylvain Beucler <beuc@gnu.org>.
45592
45593 2008-01-10  Colin Watson  <cjwatson@debian.org>
45594
45595         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
45596         s/S_ISNLK/S_ISLNK/.
45597
45598 2008-01-09  Bruno Haible  <bruno@clisp.org>
45599
45600         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
45601         and other files.
45602         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
45603         if it's only a guess.
45604         * modules/memmem: Simplify by depending on memmem-simple.
45605
45606 2008-01-09  Bruno Haible  <bruno@clisp.org>
45607
45608         Work around OpenBSD 4.0 tdelete() bug.
45609         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
45610         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
45611         macros and don't redefine the enum values.
45612         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
45613         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
45614         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
45615
45616 2008-01-09  Bruno Haible  <bruno@clisp.org>
45617
45618         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
45619         (main): Don't perform the tests if setlocale did not install a UTF-8
45620         locale. Needed on OpenBSD 4.0.
45621         * modules/wcwidth-tests (Depends-on): Add localcharset.
45622
45623 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45624
45625         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
45626         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
45627         * NEWS: announce this.
45628         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
45629
45630 2008-01-09  Simon Josefsson  <simon@josefsson.org>
45631         and Eric Blake  <ebb9@byu.net>
45632
45633         Add memmem-simple module.
45634         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
45635         (gl_FUNC_MEMMEM): Separate performance from presence checks.
45636         * modules/memmem-simple: New file.
45637         * modules/memmem (Description): Tweak.
45638         * MODULES.html.sh (string handling): Mention new module.
45639         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
45640         addressed by memmem-simple.
45641         * NEWS: Document the difference.
45642
45643 2008-01-09  Eric Blake  <ebb9@byu.net>
45644
45645         Give gcc some memmem optimization hints.
45646         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
45647         (strcasestr): Declare as pure.
45648         * modules/memmem (Maintainer): Claim my implementation.
45649
45650 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45651
45652         Support AIX 6.1 and higher.
45653         * build-aux/config.libpath: Likewise.
45654         * build-aux/config.rpath: Likewise.
45655
45656 2008-01-08  Jim Meyering  <meyering@redhat.com>
45657             Bruno Haible  <bruno@clisp.org>
45658
45659         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
45660         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
45661         Reported by Peter Fales in
45662         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
45663
45664 2008-01-08  Bruno Haible  <bruno@clisp.org>
45665
45666         * modules/unictype/category-of (Depends-on): Add
45667         unictype/category-none.
45668         * modules/unictype/category-and-tests (Depends-on): Add
45669         unictype/category-{L,N,Lu,Nd}.
45670         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
45671         * modules/unictype/category-or-tests (Depends-on): Add
45672         unictype/category-{L,N}.
45673         * modules/unictype/category-name-tests (Depends-on): Add
45674         unictype/category-{Z,Nl}.
45675         Reported by Simon Josefsson.
45676
45677 2008-01-08  Bruno Haible  <bruno@clisp.org>
45678
45679         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
45680         convention better.
45681         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
45682         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
45683         Reported by Peter Miller <millerp@canb.auug.org.au>.
45684
45685 2008-01-08  Eric Blake  <ebb9@byu.net>
45686
45687         Rewrite memmem to guarantee linear complexity without malloc.
45688         * lib/memmem.c (memmem): Use Two-Way rather than
45689         Knuth-Morris-Pratt, to allow O(1) space usage.
45690         (critical_factorization, two_way_short_needle)
45691         (two_way_long_needle): New functions.
45692         (knuth_morris_pratt): Delete.
45693         * modules/memmem (Depends-on): No longer need malloca or stdbool.
45694         Add stdint.
45695         * tests/test-memmem.c (main): Add tests for periodic needle and
45696         sublinear performance.
45697         * doc/functions/memmem.texi (memmem): Document other deficiencies
45698         in cygwin and older glibc.
45699
45700 2008-01-08  Bruno Haible  <bruno@clisp.org>
45701
45702         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
45703         augmentation.
45704
45705 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
45706
45707         Add a configure time option: --disable-acl.
45708         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
45709         AC_ARG_ENABLE(acl).
45710
45711 2008-01-06  Simon Josefsson  <simon@josefsson.org>
45712
45713         * tests/test-localename.c: Don't include obsolete "setenv.h".
45714
45715         * modules/localename-tests (Depends-on): Need unsetenv.
45716
45717 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45718
45719         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
45720
45721 2008-01-06  Colin Watson  <cjwatson@debian.org>
45722
45723         * users.txt: Add man-db.
45724
45725 2008-01-07  Bruno Haible  <bruno@clisp.org>
45726
45727         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
45728         previous section name.
45729
45730 2008-01-07  Bruno Haible  <bruno@clisp.org>
45731
45732         * lib/progname.c (set_program_name): Don't strip off a leading
45733         "lt-" prefix outside a .libs directory.
45734         Suggested by Paul Eggert.
45735
45736 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
45737             Bruno Haible  <bruno@clisp.org>
45738
45739         Improve memory cleanup in 'relocatable' module.
45740         * lib/relocatable.h (compute_curr_prefix): Change return type to
45741         'char *'.
45742         * lib/relocatable.c (compute_curr_prefix): Change return type to
45743         'char *'. Free curr_installdir after use.
45744         (relocate): Free curr_prefix_better after use.
45745         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
45746
45747 2008-01-01  Bruno Haible  <bruno@clisp.org>
45748
45749         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
45750         failure on older glibc systems.
45751         Reported by Peter Fales <psfales@alcatel-lucent.com>.
45752
45753 2008-01-05  Eric Blake  <ebb9@byu.net>
45754
45755         Avoid quadratic system memmem.
45756         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
45757         Reported by Ralf Wildenhues.
45758
45759         Fix memmem test for mingw.
45760         * modules/memmem-tests (configure.ac): Check for alarm.
45761         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
45762         it.
45763         * doc/functions/memmem.texi: New file.
45764         * doc/gnulib.texi (Function Substitutes): Add memmem.
45765         Reported by Bruno Haible.
45766
45767 2008-01-04  Bruno Haible  <bruno@clisp.org>
45768
45769         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
45770         Require gl_HEADER_STRINGS_H_DEFAULTS, not
45771         gl_HEADER_STRING_H_DEFAULTS.
45772
45773 2008-01-04  Eric Blake  <ebb9@byu.net>
45774
45775         Shorten duration of memmem test.
45776         * tests/test-memmem.c (main): Use alarm to declare failure if test
45777         is taking too long.
45778         Reported by Ralf Wildenhues.
45779
45780 2007-12-21  Simon Josefsson  <simon@josefsson.org>
45781
45782         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
45783         string, needed by strerror.
45784
45785 2008-01-03  Colin Watson  <cjwatson@debian.org>
45786             Bruno Haible  <bruno@clisp.org>
45787
45788         * doc/gnulib-tool.texi (Localization): New section.
45789
45790 2008-01-02  Bruno Haible  <bruno@clisp.org>
45791
45792         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
45793         variables to 'unsigned char *' type.
45794         Reported by Paul Eggert.
45795
45796 2008-01-02  Jim Meyering  <jim@meyering.net>
45797
45798         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
45799
45800 2007-12-31  Jim Meyering  <jim@meyering.net>
45801
45802         Avoid use of private FTS type name.
45803         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
45804
45805 2007-12-30  Karl Berry  <karl@gnu.org>
45806
45807         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
45808         work around defect in Texinfo and/or the standalone Info browser.
45809
45810 2007-12-30  Bruno Haible  <bruno@clisp.org>
45811
45812         Unify 5 copies of the KMP code.
45813         * lib/str-kmp.h: New file.
45814         * lib/c-strcasestr.c: Include str-kmp.h.
45815         (knuth_morris_pratt): Remove function.
45816         (c_strcasestr): Update.
45817         * lib/c-strstr.c: Include str-kmp.h.
45818         (knuth_morris_pratt): Remove function.
45819         (c_strcasestr): Update.
45820         * lib/mbscasestr.c: Include str-kmp.h.
45821         (knuth_morris_pratt_unibyte): Remove function.
45822         * lib/mbsstr.c: Include str-kmp.h.
45823         (knuth_morris_pratt_unibyte): Remove function.
45824         * lib/strcasestr.c: Include str-kmp.h.
45825         (knuth_morris_pratt): Remove function.
45826         (strcasestr): Update.
45827         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
45828         * modules/c-strstr (Files): Likewise.
45829         * modules/mbscasestr (Files): Likewise.
45830         * modules/mbsstr (Files): Likewise.
45831         * modules/strcasestr (Files): Likewise.
45832         Suggested by Paul Eggert.
45833
45834 2007-12-30  Bruno Haible  <bruno@clisp.org>
45835
45836         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
45837         defined.
45838
45839 2007-12-30  Bruno Haible  <bruno@clisp.org>
45840
45841         * lib/xmalloca.h: Include xalloc.h.
45842         (xnmalloca): New macro.
45843
45844 2007-12-30  Bruno Haible  <bruno@clisp.org>
45845
45846         * lib/malloca.h (nmalloca): New macro.
45847         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
45848         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
45849         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
45850         knuth_morris_pratt_multibyte): Likewise.
45851         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
45852         knuth_morris_pratt_multibyte): Likewise.
45853         * lib/memmem.c (knuth_morris_pratt): Likewise.
45854         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
45855
45856 2007-12-25  Bruno Haible  <bruno@clisp.org>
45857
45858         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
45859         * lib/glob.c: Don't include openat.h.
45860         (link_exists2_p): Add back the code that deals with the
45861         !GLOB_ALTDIRFUNC case.
45862         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
45863         let it do the filename concatenation.
45864         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
45865         * modules/glob (Depends-on): Remove openat.
45866
45867 2007-12-31  Bruno Haible  <bruno@clisp.org>
45868
45869         * modules/dirfd (License): Change to LGPLv2+.
45870         Approved by Jim Meyering.
45871
45872 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45873
45874         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
45875         when multiplying M by sizeof (size_t).
45876
45877 2007-12-10  Martin Lambers  <marlam@marlam.de>
45878
45879         Override getpagesize on mingw.
45880         * lib/getpagesize.c: New file.
45881         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
45882         * modules/getpagesize (Files): Add lib/getpagesize.c.
45883         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
45884         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45885         REPLACE_GETPAGESIZE.
45886         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
45887
45888 2007-12-25  Bruno Haible  <bruno@clisp.org>
45889
45890         * modules/localcharset (Notice): New field.
45891         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
45892         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
45893
45894 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45895             Bruno Haible  <bruno@clisp.org>
45896
45897         Avoid using the syntax symbol() in formatted documentation.
45898         * MODULES.html.sh (func_module): When replacing symbol() with a
45899         hyperlink, remove the parentheses. Show an error if some remain.
45900         Recognize and render the '...' syntax.
45901         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
45902         Rework. Add paragraph about GCC's inlining.
45903         * doc/alloca.texi: Likewise.
45904         * doc/error.texi: Remove parentheses from symbol reference.
45905         * doc/gnulib-intro.texi: Likewise.
45906         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
45907         * modules/fnmatch (Description): Reword to say "the ... function".
45908         * modules/full-read (Description): Likewise.
45909         * modules/full-write (Description): Likewise.
45910         * modules/safe-read (Description): Likewise.
45911         * modules/safe-write (Description): Likewise.
45912         * modules/strchrnul (Description): Likewise.
45913         * modules/trim (Description): Likewise.
45914         * modules/error (Description): Remove parentheses from symbol
45915         references.
45916         * modules/verror (Description): Likewise.
45917         Reported by Karl Berry.
45918
45919 2007-12-25  Bruno Haible  <bruno@clisp.org>
45920
45921         Fixup after 2007-10-16 commit.
45922         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
45923
45924 2007-12-24  Bruno Haible  <bruno@clisp.org>
45925
45926         Make --enable-relocatable work with DESTDIR.
45927         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
45928         to compute installdir from destprog.
45929         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
45930         also set the RELOC_DESTDIR variable.
45931         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45932
45933 2007-12-24  Bruno Haible  <bruno@clisp.org>
45934
45935         Fix link error due to xalloc_die().
45936         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
45937         of xreadlink.
45938         * lib/relocwrapper.c: Update comments.
45939         * build-aux/install-reloc: Remove xreadlink.c from file list.
45940         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
45941         xreadlink.c.
45942         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45943
45944 2007-12-24  Bruno Haible  <bruno@clisp.org>
45945
45946         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
45947         * lib/setenv.h: Remove file.
45948         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
45949         lib/setenv.h.
45950         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
45951         (Depends-on): Add stdlib.
45952         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
45953         gl_FUNC_UNSETENV.
45954         (Include): Replace setenv.h with <stdlib.h>.
45955         * modules/unsetenv: New file.
45956         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
45957         * lib/unsetenv.c: Include <stdlib.h> first.
45958         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
45959         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
45960         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
45961         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
45962         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
45963         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45964         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
45965         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45966         * doc/functions/unsetenv.texi: Update.
45967         * modules/xsetenv (Depends-on): Add unsetenv.
45968         * modules/getdate (Depends-on): Likewise.
45969         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
45970         * lib/xsetenv.c: Don't include setenv.h.
45971         * lib/getdate.y: Likewise.
45972         * lib/relocwrapper.c: Likewise.
45973         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
45974         (Depends-on): Add stdlib.
45975         * NEWS: Mention the changes.
45976         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45977
45978 2007-12-23  Bruno Haible  <bruno@clisp.org>
45979
45980         * lib/memmem.c (memmem): Use lowercase variable names. Tab
45981         indentation.
45982
45983 2007-12-23  Bruno Haible  <bruno@clisp.org>
45984
45985         * lib/c-strcasestr.c: Add more comments.
45986         * lib/c-strstr.c: Likewise.
45987         * lib/mbscasestr.c: Likewise.
45988         * lib/mbsstr.c: Likewise.
45989         * lib/strcasestr.c: Likewise.
45990         * lib/memmem.c: Likewise.
45991
45992 2007-12-23  Bruno Haible  <bruno@clisp.org>
45993
45994         * tests/test-memmem.c: Include <string.h> first.
45995
45996 2007-12-22  Bruno Haible  <bruno@clisp.org>
45997
45998         * gnulib-tool (func_create_testdir): Change $auxdir while generating
45999         the contents of $testsbase.
46000         Reported by Ralf Wildenhues.
46001
46002 2007-12-22  Bruno Haible  <bruno@clisp.org>
46003
46004         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
46005         two variables local_ldadd_before, local_ldadd_last.
46006
46007 2007-12-20  Eric Blake  <ebb9@byu.net>
46008
46009         Work around circular library issue when cross-compiling.
46010         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
46011         that progname.o does not need to pull in rpl_memcmp.
46012
46013 2007-12-19  Eric Blake  <ebb9@byu.net>
46014
46015         Fix memmem to avoid O(n^2) worst-case complexity.
46016         * lib/memmem.c (knuth_morris_pratt): New function.
46017         (memmem): Use it if first few naive iterations fail.
46018         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
46019         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
46020         * modules/memchr (License): Likewise.
46021         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
46022         malloca.
46023         * tests/test-memmem.c: Rewrite, borrowing ideas from
46024         test-mbsstr1.c; the old version wouldn't even compile!
46025         * modules/memmem-tests: New file.
46026         * lib/string.in.h (rpl_memmem): Add declaration.
46027         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
46028         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
46029         REPLACE_MEMMEM.
46030
46031 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46032
46033         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
46034         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
46035         before any system include files, and undef after them all.  This
46036         should fix a problem on VMS reported by John E. Malmberg in
46037         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
46038
46039 2007-12-17  Eric Blake  <ebb9@byu.net>
46040
46041         Revert addition of verify, for BSD/OS.
46042         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
46043         can't handle large files, for the sake of obsolete platforms.
46044         * modules/fseeko (Depends-on): Remove verify.
46045         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
46046         * doc/functions/ftello.texi (ftello): Likewise.
46047         * doc/functions/fgetpos.texi (fgetpos): Likewise.
46048         Reported by Larry Jones.
46049
46050 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
46051
46052         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
46053         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
46054
46055 2007-12-17  Jim Meyering  <meyering@redhat.com>
46056
46057         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
46058         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
46059         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
46060         * modules/getcwd (Depends-on): Add openat.
46061         Reported by Petr Salinger.
46062
46063 2007-12-17  Bruno Haible  <bruno@clisp.org>
46064
46065         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
46066         avoid a segmentation fault of the configure test on x86_64 systems.
46067
46068 2007-12-15  Jim Meyering  <meyering@redhat.com>
46069
46070         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
46071
46072 2007-12-13  Eric Blake  <ebb9@byu.net>
46073
46074         Another fseek test.
46075         * tests/test-fseek.c (main): Also test ungetc handling.
46076         * tests/test-fseeko.c (main): Likewise.
46077         * modules/fseeko (Depends-on): Add verify.
46078         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
46079         large.
46080         Reported by Larry Jones.
46081
46082         Fix fseeko on mingw.
46083         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
46084         seek.
46085
46086         Beef up fseek tests.
46087         * tests/test-fseek.c (main): Also test eof handling.
46088         * tests/test-fseeko.c (main): Likewise.
46089         Reported by Larry Jones.
46090
46091 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
46092
46093         Fix fseeko on BSD-based platforms.
46094         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
46095         successful seek.
46096
46097 2007-12-12  Eric Blake  <ebb9@byu.net>
46098
46099         Allow circular dependency of separate libtests.a
46100         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
46101         when use_libtests.
46102
46103 2007-12-11  Eric Blake  <ebb9@byu.net>
46104
46105         Fix bug with -0.0L in previous patch.
46106         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
46107         * tests/test-isnan.c (main): Also test on zeroes.
46108         * tests/test-isnanf.c (main): Likewise.
46109         * tests/test-isnanl.h (main): Likewise.
46110
46111         Detect pseudo-denormals on x86 even when cross-compiling.
46112         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
46113         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
46114         invalid bit patterns that happen to satisfy ==.
46115
46116         Avoid link failures with separate libtests.a.
46117         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
46118         last, to satisfy circular dependencies.
46119
46120 2007-12-11  Eric Blake  <ebb9@byu.net>
46121         and Bruno Haible  <bruno@clisp.org>
46122
46123         Fix OpenBSD 4.0 <float.h> handling of long double.
46124         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
46125         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
46126         * doc/headers/float.texi (float.h): Document OpenBSD bug.
46127
46128 2007-12-11  Jim Meyering  <meyering@redhat.com>
46129
46130         * users.txt: Add libvirt.
46131
46132         Support versions of autoconf prior to 2.59c.
46133         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
46134         if it is not already defined.
46135
46136 2007-12-09  Bruno Haible  <bruno@clisp.org>
46137
46138         Let 'gnulib-tool --import' collect sources needed for the tests in
46139         tests/ rather than in lib/.
46140         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
46141         argument. If true, add rules to generate libtests.a, and put libtests.a
46142         into $(LDADD). Consider source files in subdirectories and set
46143         uses_subdirs.
46144         (func_emit_initmacro_start, func_emit_initmacro_end,
46145         func_emit_initmacro_done): Pass all arguments explicitly.
46146         (func_import): Determine two module lists main_modules,
46147         testsrelated_modules. Determine use_libtests. Determine two variables
46148         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
46149         instead of just sed_transform_lib_file. Determine two variables
46150         main_files and testsrelated_files. Compute 'files' as the union of
46151         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
46152         func_add_or_update. In the generated gnulib-comp.m4, collect the
46153         object files for tests/ in different variables than those for lib/.
46154         Substitute LIBTESTS_LIBDEPS.
46155         (func_create_testdir): Combine the uses_subdirs results from
46156         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
46157
46158 2007-12-09  Bruno Haible  <bruno@clisp.org>
46159
46160         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
46161         the build-aux directory.
46162
46163 2007-12-09  Bruno Haible  <bruno@clisp.org>
46164
46165         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
46166         introduced on 2006-09-09.
46167
46168 2007-12-07  Jim Meyering  <meyering@redhat.com>
46169
46170         Let these macros work also with autoconf-2.59.
46171         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
46172         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
46173         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46174
46175 2007-12-06  Jim Meyering  <meyering@redhat.com>
46176
46177         Avoid a configure-time syntax error in gl_FUNC_ACL.
46178         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
46179         function in each branch, before testing the cache variable.
46180
46181 2007-12-04  Eric Blake  <ebb9@byu.net>
46182
46183         Make scripts executable.
46184         * build-aux/config.guess: Add execute permissions.
46185         * build-aux/config.sub: Likewise.
46186         * build-aux/gendocs.sh: Likewise.
46187
46188         Fix frexp on mingw.
46189         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
46190         cross-compiling.
46191         * doc/functions/frexp.texi (frexp): Document the bug.
46192
46193         Make cygwin fseeko check more reliable.
46194         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
46195         version numbers, rather than unrelated feature check.
46196         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
46197         * doc/functions/ftello.texi (ftello): Likewise.
46198         Reported by Bruno Haible.
46199
46200         * m4/strerror.m4: Bump version number.
46201
46202 2007-12-03  Bruno Haible  <bruno@clisp.org>
46203
46204         * doc/functions/mprotect.texi: Mention the mingw problem.
46205
46206 2007-12-03  Eric Blake  <ebb9@byu.net>
46207
46208         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
46209         REPLACE_STRERROR is initialized before this macro.
46210
46211 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
46212
46213         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
46214         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
46215         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
46216         put -lsec in even for programs other than 'ls'.  This fixes a problem
46217         for gettext reported by Bruno Haible in
46218         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
46219         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
46220         Add support for Solaris 10.  This isn't efficient, but should get the
46221         job done for now.
46222
46223 2007-12-03  James Youngman  <jay@gnu.org>
46224
46225         * doc/regexprops-generic.texi: change "an close-group" to "a
46226         close-group" and "illegal" to "not allowed".
46227
46228 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46229
46230         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
46231         pr_byname.h. Needed for the rare case when the maintainer has done
46232         "make maintainer-clean" in the source directory and then attempts a
46233         build outside the source directory.
46234         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
46235         scripts_byname.h.
46236
46237 2007-12-02  Martin Lambers <marlam@marlam.de>
46238             Bruno Haible  <bruno@clisp.org>
46239
46240         * lib/getpagesize.h: Remove file.
46241         * lib/unistd.in.h: Include declaration of getpagesize here.
46242         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
46243         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
46244         HAVE_SYS_PARAM_H.
46245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
46246         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
46247         * modules/getpagesize (Files): Remove lib/getpagesize.h.
46248         (Depends-on): Add unistd.
46249         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46250         (Include): Use <unistd.h> instead of getpagesize.h.
46251         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
46252         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
46253         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
46254         gl_GETPAGESIZE invocation, already handled by module dependency.
46255         * lib/pagealign_alloc.c: Don't include getpagesize.h.
46256
46257 2007-12-02  Bruno Haible  <bruno@clisp.org>
46258
46259         * modules/strings-tests: New file.
46260         * tests/test-strings.c: New file.
46261
46262         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
46263         * lib/strings.in.h: New file.
46264         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
46265         * m4/strings_h.m4: New file.
46266         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
46267         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
46268         * modules/strings: New file.
46269         * modules/string (Makefile.am): Update.
46270         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
46271         Reported by Karl Berry.
46272
46273 2007-12-01  Eric Blake  <ebb9@byu.net>
46274
46275         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
46276         accomodate fix in cygwin 1.5.25.
46277
46278 2007-12-01  Jim Meyering  <meyering@redhat.com>
46279
46280         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
46281         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
46282         that would inhibit utf8-optimization of a regexp containing line-
46283         or buffer-anchors, e.g., `^', `$'.
46284
46285 2007-11-30  Bruno Haible  <bruno@clisp.org>
46286
46287         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
46288         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
46289         glthread_recursive_lock_init.
46290         * lib/lock.c (glthread_recursive_lock_init)
46291         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
46292         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46293
46294 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
46295
46296         New function qset_acl, like set_acl but with syscall semantics.
46297         * lib/acl.h (qset_acl): New decl.
46298         * lib/acl.c (qset_acl): New function.
46299         (set_acl): Use new function.  Use more-consistent diagnostics.
46300
46301 2007-11-28  Jim Meyering  <meyering@redhat.com>
46302
46303         * modules/physmem (License): Change from GPL to LGPLv2+.
46304
46305 2007-11-26  Bruno Haible  <bruno@clisp.org>
46306
46307         * lib/vasnprintf.c (decode_long_double): Don't abort if the
46308         'long double' type has excess precision.
46309         Reported by Jim Meyering in
46310         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
46311
46312 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46313
46314         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
46315         Sync from <http://gnu.org/licenses>.
46316         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
46317         with license text from same location.
46318         * doc/maintain.texi, doc/standards.texi:  Sync from
46319         <http://savannah.gnu.org/projects/gnustandards>.
46320
46321 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
46322         and Jim Meyering  <meyering@redhat.com>
46323
46324         Adjust getdate' grammar to accept a slightly more regular language.
46325         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
46326         Before, the former was rejected.
46327         * lib/getdate.y (digits_to_date_time): New function, factored
46328         out of ...
46329         (number): ...here.  Just call digits_to_date_time.
46330         (hybrid): New non-terminal to handle an <unsigned number,
46331         signed relative offset> sequence consistently.
46332
46333 2007-11-18  Jim Meyering  <meyering@redhat.com>
46334
46335         Pull my changes from coreutils:
46336         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
46337         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
46338         use of $gnulib_tool_option_extras, so that it's separated from the
46339         preceding argument.
46340
46341         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
46342         * build-aux/bootstrap (cp_mark_as_generated): Create any required
46343         parent destination directories before copying a file into place.
46344
46345 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
46346
46347         bootstrap: work also with 4-argument variant of AC_INIT
46348         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
46349
46350 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46351
46352         Port test-getaddrinfo to Solaris.
46353         Problem reported by Bruno Haible in
46354         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
46355         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
46356         explanation of setting 'hints'.
46357         Don't reject an implementation merely because it returns EAI_SERVICE.
46358         (EAI_SERVICE): Define to 0 if not defined.
46359
46360 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46361
46362         The license of gnu-make and posix-shell is now "GPLed build tool".
46363         * modules/gnu-make (License): Likewise.
46364         * modules/posix-shell (License): Likewise.
46365
46366         New module posix-shell, for determining a POSIX shell
46367         or perhaps something that is close enough to a POSIX shell.
46368         * m4/posix-shell.m4: New file.
46369         * modules/posix-shell: New file.
46370
46371         * MODULES.html.sh: Mention new module.
46372
46373         New module gnu-make, for determining whether we're using GNU Make.
46374         * m4/gnu-make.m4: New file.
46375         * modules/gnu-make: New file.
46376         * MODULES.html.sh: Mention new module.
46377
46378 2007-11-14  Jim Meyering  <meyering@redhat.com>
46379
46380         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
46381         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
46382         use this macro to create a function _definition_.
46383         Remove useless "#undef ARGMATCH_DIE".
46384
46385 2007-11-14  Bruno Haible  <bruno@clisp.org>
46386
46387         * lib/config.charset: Update for OpenBSD 4.1.
46388         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
46389
46390 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
46391
46392         Document 64-bit #if problems in stdint.texi.
46393         * doc/headers/stdint.texi (stdint.h): Mention problems with
46394         64-bit-#if, and how to work around them.
46395
46396         Don't insist on 'long long int' support in the preprocessor.  It
46397         breaks too many things.  For example, PRIdMAX still uses a 'long
46398         long int' format with the latest Sun compiler, even though
46399         HAVE_LONG_LONG_INT isn't defined due to that compiler's
46400         preprocessor problem.  This causes the latest coreutils to dump
46401         core on Solaris 10 sparc with the Sun C compiler.
46402         Instead, fix the 2007-10-16 problem in a different way, by evaluating
46403         the troublesome expressions at configure-time, not at #if-time.
46404         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
46405         preprocessor.
46406         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
46407         compile-time C checks, done at 'configure'-time.
46408         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
46409         * modules/inttypes (Makefile): Substitute the new symbols that
46410         gl_INTTYPES_H now generates.
46411         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
46412
46413 2007-11-12  Bruno Haible  <bruno@clisp.org>
46414
46415         Tests for Unicode character classification functions.
46416
46417         * modules/unictype/bidicategory-byname-tests: New file.
46418         * modules/unictype/bidicategory-name-tests: New file.
46419         * modules/unictype/bidicategory-of-tests: New file.
46420         * modules/unictype/bidicategory-test-tests: New file.
46421         * modules/unictype/block-list-tests: New file.
46422         * modules/unictype/block-of-tests: New file.
46423         * modules/unictype/block-test-tests: New file.
46424         * modules/unictype/category-C-tests: New file.
46425         * modules/unictype/category-Cc-tests: New file.
46426         * modules/unictype/category-Cf-tests: New file.
46427         * modules/unictype/category-Cn-tests: New file.
46428         * modules/unictype/category-Co-tests: New file.
46429         * modules/unictype/category-Cs-tests: New file.
46430         * modules/unictype/category-L-tests: New file.
46431         * modules/unictype/category-Ll-tests: New file.
46432         * modules/unictype/category-Lm-tests: New file.
46433         * modules/unictype/category-Lo-tests: New file.
46434         * modules/unictype/category-Lt-tests: New file.
46435         * modules/unictype/category-Lu-tests: New file.
46436         * modules/unictype/category-M-tests: New file.
46437         * modules/unictype/category-Mc-tests: New file.
46438         * modules/unictype/category-Me-tests: New file.
46439         * modules/unictype/category-Mn-tests: New file.
46440         * modules/unictype/category-N-tests: New file.
46441         * modules/unictype/category-Nd-tests: New file.
46442         * modules/unictype/category-Nl-tests: New file.
46443         * modules/unictype/category-No-tests: New file.
46444         * modules/unictype/category-P-tests: New file.
46445         * modules/unictype/category-Pc-tests: New file.
46446         * modules/unictype/category-Pd-tests: New file.
46447         * modules/unictype/category-Pe-tests: New file.
46448         * modules/unictype/category-Pf-tests: New file.
46449         * modules/unictype/category-Pi-tests: New file.
46450         * modules/unictype/category-Po-tests: New file.
46451         * modules/unictype/category-Ps-tests: New file.
46452         * modules/unictype/category-S-tests: New file.
46453         * modules/unictype/category-Sc-tests: New file.
46454         * modules/unictype/category-Sk-tests: New file.
46455         * modules/unictype/category-Sm-tests: New file.
46456         * modules/unictype/category-So-tests: New file.
46457         * modules/unictype/category-Z-tests: New file.
46458         * modules/unictype/category-Zl-tests: New file.
46459         * modules/unictype/category-Zp-tests: New file.
46460         * modules/unictype/category-Zs-tests: New file.
46461         * modules/unictype/category-and-not-tests: New file.
46462         * modules/unictype/category-and-tests: New file.
46463         * modules/unictype/category-byname-tests: New file.
46464         * modules/unictype/category-name-tests: New file.
46465         * modules/unictype/category-none-tests: New file.
46466         * modules/unictype/category-of-tests: New file.
46467         * modules/unictype/category-or-tests: New file.
46468         * modules/unictype/category-test-withtable-tests: New file.
46469         * modules/unictype/combining-class-tests: New file.
46470         * modules/unictype/ctype-alnum-tests: New file.
46471         * modules/unictype/ctype-alpha-tests: New file.
46472         * modules/unictype/ctype-blank-tests: New file.
46473         * modules/unictype/ctype-cntrl-tests: New file.
46474         * modules/unictype/ctype-digit-tests: New file.
46475         * modules/unictype/ctype-graph-tests: New file.
46476         * modules/unictype/ctype-lower-tests: New file.
46477         * modules/unictype/ctype-print-tests: New file.
46478         * modules/unictype/ctype-punct-tests: New file.
46479         * modules/unictype/ctype-space-tests: New file.
46480         * modules/unictype/ctype-upper-tests: New file.
46481         * modules/unictype/ctype-xdigit-tests: New file.
46482         * modules/unictype/decimal-digit-tests: New file.
46483         * modules/unictype/digit-tests: New file.
46484         * modules/unictype/mirror-tests: New file.
46485         * modules/unictype/numeric-tests: New file.
46486         * modules/unictype/property-alphabetic-tests: New file.
46487         * modules/unictype/property-ascii-hex-digit-tests: New file.
46488         * modules/unictype/property-bidi-arabic-digit-tests: New file.
46489         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
46490         * modules/unictype/property-bidi-block-separator-tests: New file.
46491         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
46492         * modules/unictype/property-bidi-common-separator-tests: New file.
46493         * modules/unictype/property-bidi-control-tests: New file.
46494         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
46495         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
46496         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
46497         * modules/unictype/property-bidi-european-digit-tests: New file.
46498         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
46499         * modules/unictype/property-bidi-left-to-right-tests: New file.
46500         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
46501         * modules/unictype/property-bidi-other-neutral-tests: New file.
46502         * modules/unictype/property-bidi-pdf-tests: New file.
46503         * modules/unictype/property-bidi-segment-separator-tests: New file.
46504         * modules/unictype/property-bidi-whitespace-tests: New file.
46505         * modules/unictype/property-byname-tests: New file.
46506         * modules/unictype/property-combining-tests: New file.
46507         * modules/unictype/property-composite-tests: New file.
46508         * modules/unictype/property-currency-symbol-tests: New file.
46509         * modules/unictype/property-dash-tests: New file.
46510         * modules/unictype/property-decimal-digit-tests: New file.
46511         * modules/unictype/property-default-ignorable-code-point-tests: New file.
46512         * modules/unictype/property-deprecated-tests: New file.
46513         * modules/unictype/property-diacritic-tests: New file.
46514         * modules/unictype/property-extender-tests: New file.
46515         * modules/unictype/property-format-control-tests: New file.
46516         * modules/unictype/property-grapheme-base-tests: New file.
46517         * modules/unictype/property-grapheme-extend-tests: New file.
46518         * modules/unictype/property-grapheme-link-tests: New file.
46519         * modules/unictype/property-hex-digit-tests: New file.
46520         * modules/unictype/property-hyphen-tests: New file.
46521         * modules/unictype/property-id-continue-tests: New file.
46522         * modules/unictype/property-id-start-tests: New file.
46523         * modules/unictype/property-ideographic-tests: New file.
46524         * modules/unictype/property-ids-binary-operator-tests: New file.
46525         * modules/unictype/property-ids-trinary-operator-tests: New file.
46526         * modules/unictype/property-ignorable-control-tests: New file.
46527         * modules/unictype/property-iso-control-tests: New file.
46528         * modules/unictype/property-join-control-tests: New file.
46529         * modules/unictype/property-left-of-pair-tests: New file.
46530         * modules/unictype/property-line-separator-tests: New file.
46531         * modules/unictype/property-logical-order-exception-tests: New file.
46532         * modules/unictype/property-lowercase-tests: New file.
46533         * modules/unictype/property-math-tests: New file.
46534         * modules/unictype/property-non-break-tests: New file.
46535         * modules/unictype/property-not-a-character-tests: New file.
46536         * modules/unictype/property-numeric-tests: New file.
46537         * modules/unictype/property-other-alphabetic-tests: New file.
46538         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
46539         * modules/unictype/property-other-grapheme-extend-tests: New file.
46540         * modules/unictype/property-other-id-continue-tests: New file.
46541         * modules/unictype/property-other-id-start-tests: New file.
46542         * modules/unictype/property-other-lowercase-tests: New file.
46543         * modules/unictype/property-other-math-tests: New file.
46544         * modules/unictype/property-other-uppercase-tests: New file.
46545         * modules/unictype/property-paired-punctuation-tests: New file.
46546         * modules/unictype/property-paragraph-separator-tests: New file.
46547         * modules/unictype/property-pattern-syntax-tests: New file.
46548         * modules/unictype/property-pattern-white-space-tests: New file.
46549         * modules/unictype/property-private-use-tests: New file.
46550         * modules/unictype/property-punctuation-tests: New file.
46551         * modules/unictype/property-quotation-mark-tests: New file.
46552         * modules/unictype/property-radical-tests: New file.
46553         * modules/unictype/property-sentence-terminal-tests: New file.
46554         * modules/unictype/property-soft-dotted-tests: New file.
46555         * modules/unictype/property-space-tests: New file.
46556         * modules/unictype/property-terminal-punctuation-tests: New file.
46557         * modules/unictype/property-test-tests: New file.
46558         * modules/unictype/property-titlecase-tests: New file.
46559         * modules/unictype/property-unassigned-code-value-tests: New file.
46560         * modules/unictype/property-unified-ideograph-tests: New file.
46561         * modules/unictype/property-uppercase-tests: New file.
46562         * modules/unictype/property-variation-selector-tests: New file.
46563         * modules/unictype/property-white-space-tests: New file.
46564         * modules/unictype/property-xid-continue-tests: New file.
46565         * modules/unictype/property-xid-start-tests: New file.
46566         * modules/unictype/property-zero-width-tests: New file.
46567         * modules/unictype/scripts-tests: New file.
46568         * modules/unictype/syntax-c-ident-tests: New file.
46569         * modules/unictype/syntax-c-whitespace-tests: New file.
46570         * modules/unictype/syntax-java-ident-tests: New file.
46571         * modules/unictype/syntax-java-whitespace-tests: New file.
46572         * tests/unictype/test-bidi_byname.c: New file.
46573         * tests/unictype/test-bidi_name.c: New file.
46574         * tests/unictype/test-bidi_of.c: New file.
46575         * tests/unictype/test-bidi_test.c: New file.
46576         * tests/unictype/test-block_list.c: New file.
46577         * tests/unictype/test-block_of.c: New file.
46578         * tests/unictype/test-block_test.c: New file.
46579         * tests/unictype/test-categ_and.c: New file.
46580         * tests/unictype/test-categ_and_not.c: New file.
46581         * tests/unictype/test-categ_byname.c: New file.
46582         * tests/unictype/test-categ_name.c: New file.
46583         * tests/unictype/test-categ_none.c: New file.
46584         * tests/unictype/test-categ_of.c: New file.
46585         * tests/unictype/test-categ_or.c: New file.
46586         * tests/unictype/test-categ_test_withtable.c: New file.
46587         * tests/unictype/test-combining.c: New file.
46588         * tests/unictype/test-decdigit.c: New file.
46589         * tests/unictype/test-digit.c: New file.
46590         * tests/unictype/test-mirror.c: New file.
46591         * tests/unictype/test-numeric.c: New file.
46592         * tests/unictype/test-pr_byname.c: New file.
46593         * tests/unictype/test-pr_test.c: New file.
46594         * tests/unictype/test-predicate-part1.h: New file.
46595         * tests/unictype/test-predicate-part2.h: New file.
46596         * tests/unictype/test-scripts.c: New file.
46597         * tests/unictype/test-sy_c_ident.c: New file.
46598         * tests/unictype/test-sy_java_ident.c: New file.
46599
46600         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
46601         for Unicode 5.0.0.
46602         * tests/unictype/test-categ_Cc.c: Likewise.
46603         * tests/unictype/test-categ_Cf.c: Likewise.
46604         * tests/unictype/test-categ_Cn.c: Likewise.
46605         * tests/unictype/test-categ_Co.c: Likewise.
46606         * tests/unictype/test-categ_Cs.c: Likewise.
46607         * tests/unictype/test-categ_L.c: Likewise.
46608         * tests/unictype/test-categ_Ll.c: Likewise.
46609         * tests/unictype/test-categ_Lm.c: Likewise.
46610         * tests/unictype/test-categ_Lo.c: Likewise.
46611         * tests/unictype/test-categ_Lt.c: Likewise.
46612         * tests/unictype/test-categ_Lu.c: Likewise.
46613         * tests/unictype/test-categ_M.c: Likewise.
46614         * tests/unictype/test-categ_Mc.c: Likewise.
46615         * tests/unictype/test-categ_Me.c: Likewise.
46616         * tests/unictype/test-categ_Mn.c: Likewise.
46617         * tests/unictype/test-categ_N.c: Likewise.
46618         * tests/unictype/test-categ_Nd.c: Likewise.
46619         * tests/unictype/test-categ_Nl.c: Likewise.
46620         * tests/unictype/test-categ_No.c: Likewise.
46621         * tests/unictype/test-categ_P.c: Likewise.
46622         * tests/unictype/test-categ_Pc.c: Likewise.
46623         * tests/unictype/test-categ_Pd.c: Likewise.
46624         * tests/unictype/test-categ_Pe.c: Likewise.
46625         * tests/unictype/test-categ_Pf.c: Likewise.
46626         * tests/unictype/test-categ_Pi.c: Likewise.
46627         * tests/unictype/test-categ_Po.c: Likewise.
46628         * tests/unictype/test-categ_Ps.c: Likewise.
46629         * tests/unictype/test-categ_S.c: Likewise.
46630         * tests/unictype/test-categ_Sc.c: Likewise.
46631         * tests/unictype/test-categ_Sk.c: Likewise.
46632         * tests/unictype/test-categ_Sm.c: Likewise.
46633         * tests/unictype/test-categ_So.c: Likewise.
46634         * tests/unictype/test-categ_Z.c: Likewise.
46635         * tests/unictype/test-categ_Zl.c: Likewise.
46636         * tests/unictype/test-categ_Zp.c: Likewise.
46637         * tests/unictype/test-categ_Zs.c: Likewise.
46638         * tests/unictype/test-ctype_alnum.c: Likewise.
46639         * tests/unictype/test-ctype_alpha.c: Likewise.
46640         * tests/unictype/test-ctype_blank.c: Likewise.
46641         * tests/unictype/test-ctype_cntrl.c: Likewise.
46642         * tests/unictype/test-ctype_digit.c: Likewise.
46643         * tests/unictype/test-ctype_graph.c: Likewise.
46644         * tests/unictype/test-ctype_lower.c: Likewise.
46645         * tests/unictype/test-ctype_print.c: Likewise.
46646         * tests/unictype/test-ctype_punct.c: Likewise.
46647         * tests/unictype/test-ctype_space.c: Likewise.
46648         * tests/unictype/test-ctype_upper.c: Likewise.
46649         * tests/unictype/test-ctype_xdigit.c: Likewise.
46650         * tests/unictype/test-decdigit.h: Likewise.
46651         * tests/unictype/test-digit.h: Likewise.
46652         * tests/unictype/test-numeric.h: Likewise.
46653         * tests/unictype/test-pr_alphabetic.c: Likewise.
46654         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
46655         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
46656         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
46657         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
46658         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
46659         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
46660         * tests/unictype/test-pr_bidi_control.c: Likewise.
46661         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
46662         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
46663         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
46664         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
46665         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
46666         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
46667         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
46668         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
46669         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
46670         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
46671         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
46672         * tests/unictype/test-pr_combining.c: Likewise.
46673         * tests/unictype/test-pr_composite.c: Likewise.
46674         * tests/unictype/test-pr_currency_symbol.c: Likewise.
46675         * tests/unictype/test-pr_dash.c: Likewise.
46676         * tests/unictype/test-pr_decimal_digit.c: Likewise.
46677         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
46678         * tests/unictype/test-pr_deprecated.c: Likewise.
46679         * tests/unictype/test-pr_diacritic.c: Likewise.
46680         * tests/unictype/test-pr_extender.c: Likewise.
46681         * tests/unictype/test-pr_format_control.c: Likewise.
46682         * tests/unictype/test-pr_grapheme_base.c: Likewise.
46683         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
46684         * tests/unictype/test-pr_grapheme_link.c: Likewise.
46685         * tests/unictype/test-pr_hex_digit.c: Likewise.
46686         * tests/unictype/test-pr_hyphen.c: Likewise.
46687         * tests/unictype/test-pr_id_continue.c: Likewise.
46688         * tests/unictype/test-pr_id_start.c: Likewise.
46689         * tests/unictype/test-pr_ideographic.c: Likewise.
46690         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
46691         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
46692         * tests/unictype/test-pr_ignorable_control.c: Likewise.
46693         * tests/unictype/test-pr_iso_control.c: Likewise.
46694         * tests/unictype/test-pr_join_control.c: Likewise.
46695         * tests/unictype/test-pr_left_of_pair.c: Likewise.
46696         * tests/unictype/test-pr_line_separator.c: Likewise.
46697         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
46698         * tests/unictype/test-pr_lowercase.c: Likewise.
46699         * tests/unictype/test-pr_math.c: Likewise.
46700         * tests/unictype/test-pr_non_break.c: Likewise.
46701         * tests/unictype/test-pr_not_a_character.c: Likewise.
46702         * tests/unictype/test-pr_numeric.c: Likewise.
46703         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
46704         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
46705         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
46706         * tests/unictype/test-pr_other_id_continue.c: Likewise.
46707         * tests/unictype/test-pr_other_id_start.c: Likewise.
46708         * tests/unictype/test-pr_other_lowercase.c: Likewise.
46709         * tests/unictype/test-pr_other_math.c: Likewise.
46710         * tests/unictype/test-pr_other_uppercase.c: Likewise.
46711         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
46712         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
46713         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
46714         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
46715         * tests/unictype/test-pr_private_use.c: Likewise.
46716         * tests/unictype/test-pr_punctuation.c: Likewise.
46717         * tests/unictype/test-pr_quotation_mark.c: Likewise.
46718         * tests/unictype/test-pr_radical.c: Likewise.
46719         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
46720         * tests/unictype/test-pr_soft_dotted.c: Likewise.
46721         * tests/unictype/test-pr_space.c: Likewise.
46722         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
46723         * tests/unictype/test-pr_titlecase.c: Likewise.
46724         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
46725         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
46726         * tests/unictype/test-pr_uppercase.c: Likewise.
46727         * tests/unictype/test-pr_variation_selector.c: Likewise.
46728         * tests/unictype/test-pr_white_space.c: Likewise.
46729         * tests/unictype/test-pr_xid_continue.c: Likewise.
46730         * tests/unictype/test-pr_xid_start.c: Likewise.
46731         * tests/unictype/test-pr_zero_width.c: Likewise.
46732         * tests/unictype/test-sy_c_whitespace.c: Likewise.
46733         * tests/unictype/test-sy_java_whitespace.c: Likewise.
46734
46735 2007-11-12  Bruno Haible  <bruno@clisp.org>
46736
46737         Unicode character classification functions.
46738         * lib/unictype.h: New file.
46739         * modules/unictype/base: New file.
46740         * modules/unictype/category-L: New file.
46741         * modules/unictype/category-Lu: New file.
46742         * modules/unictype/category-Ll: New file.
46743         * modules/unictype/category-Lt: New file.
46744         * modules/unictype/category-Lm: New file.
46745         * modules/unictype/category-Lo: New file.
46746         * modules/unictype/category-M: New file.
46747         * modules/unictype/category-Mn: New file.
46748         * modules/unictype/category-Mc: New file.
46749         * modules/unictype/category-Me: New file.
46750         * modules/unictype/category-N: New file.
46751         * modules/unictype/category-Nd: New file.
46752         * modules/unictype/category-Nl: New file.
46753         * modules/unictype/category-No: New file.
46754         * modules/unictype/category-P: New file.
46755         * modules/unictype/category-Pc: New file.
46756         * modules/unictype/category-Pd: New file.
46757         * modules/unictype/category-Ps: New file.
46758         * modules/unictype/category-Pe: New file.
46759         * modules/unictype/category-Pi: New file.
46760         * modules/unictype/category-Pf: New file.
46761         * modules/unictype/category-Po: New file.
46762         * modules/unictype/category-S: New file.
46763         * modules/unictype/category-Sm: New file.
46764         * modules/unictype/category-Sc: New file.
46765         * modules/unictype/category-Sk: New file.
46766         * modules/unictype/category-So: New file.
46767         * modules/unictype/category-Z: New file.
46768         * modules/unictype/category-Zs: New file.
46769         * modules/unictype/category-Zl: New file.
46770         * modules/unictype/category-Zp: New file.
46771         * modules/unictype/category-C: New file.
46772         * modules/unictype/category-Cc: New file.
46773         * modules/unictype/category-Cf: New file.
46774         * modules/unictype/category-Cs: New file.
46775         * modules/unictype/category-Co: New file.
46776         * modules/unictype/category-Cn: New file.
46777         * modules/unictype/category-or: New file.
46778         * modules/unictype/category-of: New file.
46779         * modules/unictype/category-test: New file.
46780         * modules/unictype/category-test-withtable: New file.
46781         * modules/unictype/category-byname: New file.
46782         * modules/unictype/category-none: New file.
46783         * modules/unictype/category-and: New file.
46784         * modules/unictype/category-and-not: New file.
46785         * modules/unictype/category-name: New file.
46786         * modules/unictype/combining-class: New file.
46787         * modules/unictype/category-all: New file.
46788         * modules/unictype/bidicategory-all: New file.
46789         * modules/unictype/bidicategory-byname: New file.
46790         * modules/unictype/bidicategory-name: New file.
46791         * modules/unictype/bidicategory-of: New file.
46792         * modules/unictype/bidicategory-test: New file.
46793         * modules/unictype/decimal-digit: New file.
46794         * modules/unictype/digit: New file.
46795         * modules/unictype/numeric: New file.
46796         * modules/unictype/mirror: New file.
46797         * modules/unictype/property-white-space: New file.
46798         * modules/unictype/property-alphabetic: New file.
46799         * modules/unictype/property-other-alphabetic: New file.
46800         * modules/unictype/property-not-a-character: New file.
46801         * modules/unictype/property-default-ignorable-code-point: New file.
46802         * modules/unictype/property-other-default-ignorable-code-point: New
46803         file.
46804         * modules/unictype/property-deprecated: New file.
46805         * modules/unictype/property-logical-order-exception: New file.
46806         * modules/unictype/property-variation-selector: New file.
46807         * modules/unictype/property-private-use: New file.
46808         * modules/unictype/property-unassigned-code-value: New file.
46809         * modules/unictype/property-uppercase: New file.
46810         * modules/unictype/property-other-uppercase: New file.
46811         * modules/unictype/property-lowercase: New file.
46812         * modules/unictype/property-other-lowercase: New file.
46813         * modules/unictype/property-titlecase: New file.
46814         * modules/unictype/property-soft-dotted: New file.
46815         * modules/unictype/property-id-start: New file.
46816         * modules/unictype/property-other-id-start: New file.
46817         * modules/unictype/property-id-continue: New file.
46818         * modules/unictype/property-other-id-continue: New file.
46819         * modules/unictype/property-xid-start: New file.
46820         * modules/unictype/property-xid-continue: New file.
46821         * modules/unictype/property-pattern-white-space: New file.
46822         * modules/unictype/property-pattern-syntax: New file.
46823         * modules/unictype/property-join-control: New file.
46824         * modules/unictype/property-grapheme-base: New file.
46825         * modules/unictype/property-grapheme-extend: New file.
46826         * modules/unictype/property-other-grapheme-extend: New file.
46827         * modules/unictype/property-grapheme-link: New file.
46828         * modules/unictype/property-bidi-control: New file.
46829         * modules/unictype/property-bidi-left-to-right: New file.
46830         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
46831         * modules/unictype/property-bidi-arabic-right-to-left: New file.
46832         * modules/unictype/property-bidi-european-digit: New file.
46833         * modules/unictype/property-bidi-eur-num-separator: New file.
46834         * modules/unictype/property-bidi-eur-num-terminator: New file.
46835         * modules/unictype/property-bidi-arabic-digit: New file.
46836         * modules/unictype/property-bidi-common-separator: New file.
46837         * modules/unictype/property-bidi-block-separator: New file.
46838         * modules/unictype/property-bidi-segment-separator: New file.
46839         * modules/unictype/property-bidi-whitespace: New file.
46840         * modules/unictype/property-bidi-non-spacing-mark: New file.
46841         * modules/unictype/property-bidi-boundary-neutral: New file.
46842         * modules/unictype/property-bidi-pdf: New file.
46843         * modules/unictype/property-bidi-embedding-or-override: New file.
46844         * modules/unictype/property-bidi-other-neutral: New file.
46845         * modules/unictype/property-hex-digit: New file.
46846         * modules/unictype/property-ascii-hex-digit: New file.
46847         * modules/unictype/property-ideographic: New file.
46848         * modules/unictype/property-unified-ideograph: New file.
46849         * modules/unictype/property-radical: New file.
46850         * modules/unictype/property-ids-binary-operator: New file.
46851         * modules/unictype/property-ids-trinary-operator: New file.
46852         * modules/unictype/property-zero-width: New file.
46853         * modules/unictype/property-space: New file.
46854         * modules/unictype/property-non-break: New file.
46855         * modules/unictype/property-iso-control: New file.
46856         * modules/unictype/property-format-control: New file.
46857         * modules/unictype/property-dash: New file.
46858         * modules/unictype/property-hyphen: New file.
46859         * modules/unictype/property-punctuation: New file.
46860         * modules/unictype/property-line-separator: New file.
46861         * modules/unictype/property-paragraph-separator: New file.
46862         * modules/unictype/property-quotation-mark: New file.
46863         * modules/unictype/property-sentence-terminal: New file.
46864         * modules/unictype/property-terminal-punctuation: New file.
46865         * modules/unictype/property-currency-symbol: New file.
46866         * modules/unictype/property-math: New file.
46867         * modules/unictype/property-other-math: New file.
46868         * modules/unictype/property-paired-punctuation: New file.
46869         * modules/unictype/property-left-of-pair: New file.
46870         * modules/unictype/property-combining: New file.
46871         * modules/unictype/property-composite: New file.
46872         * modules/unictype/property-decimal-digit: New file.
46873         * modules/unictype/property-numeric: New file.
46874         * modules/unictype/property-diacritic: New file.
46875         * modules/unictype/property-extender: New file.
46876         * modules/unictype/property-ignorable-control: New file.
46877         * modules/unictype/property-test: New file.
46878         * modules/unictype/property-byname: New file.
46879         * modules/unictype/property-all: New file.
46880         * modules/unictype/scripts: New file.
46881         * modules/unictype/scripts-all: New file.
46882         * modules/unictype/block-of: New file.
46883         * modules/unictype/block-test: New file.
46884         * modules/unictype/block-list: New file.
46885         * modules/unictype/block-all: New file.
46886         * modules/unictype/syntax-c-whitespace: New file.
46887         * modules/unictype/syntax-java-whitespace: New file.
46888         * modules/unictype/syntax-c-ident: New file.
46889         * modules/unictype/syntax-java-ident: New file.
46890         * modules/unictype/ctype-alnum: New file.
46891         * modules/unictype/ctype-alpha: New file.
46892         * modules/unictype/ctype-cntrl: New file.
46893         * modules/unictype/ctype-digit: New file.
46894         * modules/unictype/ctype-graph: New file.
46895         * modules/unictype/ctype-lower: New file.
46896         * modules/unictype/ctype-print: New file.
46897         * modules/unictype/ctype-punct: New file.
46898         * modules/unictype/ctype-space: New file.
46899         * modules/unictype/ctype-upper: New file.
46900         * modules/unictype/ctype-xdigit: New file.
46901         * modules/unictype/ctype-blank: New file.
46902         * lib/unictype/bidi_byname.c: New file.
46903         * lib/unictype/bidi_name.c: New file.
46904         * lib/unictype/bidi_of.c: New file.
46905         * lib/unictype/bidi_test.c: New file.
46906         * lib/unictype/bitmap.h: New file.
46907         * lib/unictype/block_test.c: New file.
46908         * lib/unictype/blocks.c: New file.
46909         * lib/unictype/categ_C.c: New file.
46910         * lib/unictype/categ_Cc.c: New file.
46911         * lib/unictype/categ_Cf.c: New file.
46912         * lib/unictype/categ_Cn.c: New file.
46913         * lib/unictype/categ_Co.c: New file.
46914         * lib/unictype/categ_Cs.c: New file.
46915         * lib/unictype/categ_L.c: New file.
46916         * lib/unictype/categ_Ll.c: New file.
46917         * lib/unictype/categ_Lm.c: New file.
46918         * lib/unictype/categ_Lo.c: New file.
46919         * lib/unictype/categ_Lt.c: New file.
46920         * lib/unictype/categ_Lu.c: New file.
46921         * lib/unictype/categ_M.c: New file.
46922         * lib/unictype/categ_Mc.c: New file.
46923         * lib/unictype/categ_Me.c: New file.
46924         * lib/unictype/categ_Mn.c: New file.
46925         * lib/unictype/categ_N.c: New file.
46926         * lib/unictype/categ_Nd.c: New file.
46927         * lib/unictype/categ_Nl.c: New file.
46928         * lib/unictype/categ_No.c: New file.
46929         * lib/unictype/categ_P.c: New file.
46930         * lib/unictype/categ_Pc.c: New file.
46931         * lib/unictype/categ_Pd.c: New file.
46932         * lib/unictype/categ_Pe.c: New file.
46933         * lib/unictype/categ_Pf.c: New file.
46934         * lib/unictype/categ_Pi.c: New file.
46935         * lib/unictype/categ_Po.c: New file.
46936         * lib/unictype/categ_Ps.c: New file.
46937         * lib/unictype/categ_S.c: New file.
46938         * lib/unictype/categ_Sc.c: New file.
46939         * lib/unictype/categ_Sk.c: New file.
46940         * lib/unictype/categ_Sm.c: New file.
46941         * lib/unictype/categ_So.c: New file.
46942         * lib/unictype/categ_Z.c: New file.
46943         * lib/unictype/categ_Zl.c: New file.
46944         * lib/unictype/categ_Zp.c: New file.
46945         * lib/unictype/categ_Zs.c: New file.
46946         * lib/unictype/categ_and.c: New file.
46947         * lib/unictype/categ_and_not.c: New file.
46948         * lib/unictype/categ_byname.c: New file.
46949         * lib/unictype/categ_name.c: New file.
46950         * lib/unictype/categ_none.c: New file.
46951         * lib/unictype/categ_of.c: New file.
46952         * lib/unictype/categ_or.c: New file.
46953         * lib/unictype/categ_test.c: New file.
46954         * lib/unictype/combining.c: New file.
46955         * lib/unictype/ctype_alnum.c: New file.
46956         * lib/unictype/ctype_alpha.c: New file.
46957         * lib/unictype/ctype_blank.c: New file.
46958         * lib/unictype/ctype_cntrl.c: New file.
46959         * lib/unictype/ctype_digit.c: New file.
46960         * lib/unictype/ctype_graph.c: New file.
46961         * lib/unictype/ctype_lower.c: New file.
46962         * lib/unictype/ctype_print.c: New file.
46963         * lib/unictype/ctype_punct.c: New file.
46964         * lib/unictype/ctype_space.c: New file.
46965         * lib/unictype/ctype_upper.c: New file.
46966         * lib/unictype/ctype_xdigit.c: New file.
46967         * lib/unictype/decdigit.c: New file.
46968         * lib/unictype/digit.c: New file.
46969         * lib/unictype/identsyntaxmap.h: New file.
46970         * lib/unictype/mirror.c: New file.
46971         * lib/unictype/numeric.c: New file.
46972         * lib/unictype/pr_alphabetic.c: New file.
46973         * lib/unictype/pr_ascii_hex_digit.c: New file.
46974         * lib/unictype/pr_bidi_arabic_digit.c: New file.
46975         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
46976         * lib/unictype/pr_bidi_block_separator.c: New file.
46977         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
46978         * lib/unictype/pr_bidi_common_separator.c: New file.
46979         * lib/unictype/pr_bidi_control.c: New file.
46980         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
46981         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
46982         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
46983         * lib/unictype/pr_bidi_european_digit.c: New file.
46984         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
46985         * lib/unictype/pr_bidi_left_to_right.c: New file.
46986         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
46987         * lib/unictype/pr_bidi_other_neutral.c: New file.
46988         * lib/unictype/pr_bidi_pdf.c: New file.
46989         * lib/unictype/pr_bidi_segment_separator.c: New file.
46990         * lib/unictype/pr_bidi_whitespace.c: New file.
46991         * lib/unictype/pr_byname.c: New file.
46992         * lib/unictype/pr_byname.gperf: New file.
46993         * lib/unictype/pr_combining.c: New file.
46994         * lib/unictype/pr_composite.c: New file.
46995         * lib/unictype/pr_currency_symbol.c: New file.
46996         * lib/unictype/pr_dash.c: New file.
46997         * lib/unictype/pr_decimal_digit.c: New file.
46998         * lib/unictype/pr_default_ignorable_code_point.c: New file.
46999         * lib/unictype/pr_deprecated.c: New file.
47000         * lib/unictype/pr_diacritic.c: New file.
47001         * lib/unictype/pr_extender.c: New file.
47002         * lib/unictype/pr_format_control.c: New file.
47003         * lib/unictype/pr_grapheme_base.c: New file.
47004         * lib/unictype/pr_grapheme_extend.c: New file.
47005         * lib/unictype/pr_grapheme_link.c: New file.
47006         * lib/unictype/pr_hex_digit.c: New file.
47007         * lib/unictype/pr_hyphen.c: New file.
47008         * lib/unictype/pr_id_continue.c: New file.
47009         * lib/unictype/pr_id_start.c: New file.
47010         * lib/unictype/pr_ideographic.c: New file.
47011         * lib/unictype/pr_ids_binary_operator.c: New file.
47012         * lib/unictype/pr_ids_trinary_operator.c: New file.
47013         * lib/unictype/pr_ignorable_control.c: New file.
47014         * lib/unictype/pr_iso_control.c: New file.
47015         * lib/unictype/pr_join_control.c: New file.
47016         * lib/unictype/pr_left_of_pair.c: New file.
47017         * lib/unictype/pr_line_separator.c: New file.
47018         * lib/unictype/pr_logical_order_exception.c: New file.
47019         * lib/unictype/pr_lowercase.c: New file.
47020         * lib/unictype/pr_math.c: New file.
47021         * lib/unictype/pr_non_break.c: New file.
47022         * lib/unictype/pr_not_a_character.c: New file.
47023         * lib/unictype/pr_numeric.c: New file.
47024         * lib/unictype/pr_other_alphabetic.c: New file.
47025         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
47026         * lib/unictype/pr_other_grapheme_extend.c: New file.
47027         * lib/unictype/pr_other_id_continue.c: New file.
47028         * lib/unictype/pr_other_id_start.c: New file.
47029         * lib/unictype/pr_other_lowercase.c: New file.
47030         * lib/unictype/pr_other_math.c: New file.
47031         * lib/unictype/pr_other_uppercase.c: New file.
47032         * lib/unictype/pr_paired_punctuation.c: New file.
47033         * lib/unictype/pr_paragraph_separator.c: New file.
47034         * lib/unictype/pr_pattern_syntax.c: New file.
47035         * lib/unictype/pr_pattern_white_space.c: New file.
47036         * lib/unictype/pr_private_use.c: New file.
47037         * lib/unictype/pr_punctuation.c: New file.
47038         * lib/unictype/pr_quotation_mark.c: New file.
47039         * lib/unictype/pr_radical.c: New file.
47040         * lib/unictype/pr_sentence_terminal.c: New file.
47041         * lib/unictype/pr_soft_dotted.c: New file.
47042         * lib/unictype/pr_space.c: New file.
47043         * lib/unictype/pr_terminal_punctuation.c: New file.
47044         * lib/unictype/pr_test.c: New file.
47045         * lib/unictype/pr_titlecase.c: New file.
47046         * lib/unictype/pr_unassigned_code_value.c: New file.
47047         * lib/unictype/pr_unified_ideograph.c: New file.
47048         * lib/unictype/pr_uppercase.c: New file.
47049         * lib/unictype/pr_variation_selector.c: New file.
47050         * lib/unictype/pr_white_space.c: New file.
47051         * lib/unictype/pr_xid_continue.c: New file.
47052         * lib/unictype/pr_xid_start.c: New file.
47053         * lib/unictype/pr_zero_width.c: New file.
47054         * lib/unictype/scripts.c: New file.
47055         * lib/unictype/sy_c_ident.c: New file.
47056         * lib/unictype/sy_c_whitespace.c: New file.
47057         * lib/unictype/sy_java_ident.c: New file.
47058         * lib/unictype/sy_java_whitespace.c: New file.
47059
47060         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
47061         Unicode 5.0.0.
47062         * lib/unictype/blocks.h: Likewise.
47063         * lib/unictype/categ_C.h: Likewise.
47064         * lib/unictype/categ_Cc.h: Likewise.
47065         * lib/unictype/categ_Cf.h: Likewise.
47066         * lib/unictype/categ_Cn.h: Likewise.
47067         * lib/unictype/categ_Co.h: Likewise.
47068         * lib/unictype/categ_Cs.h: Likewise.
47069         * lib/unictype/categ_L.h: Likewise.
47070         * lib/unictype/categ_Ll.h: Likewise.
47071         * lib/unictype/categ_Lm.h: Likewise.
47072         * lib/unictype/categ_Lo.h: Likewise.
47073         * lib/unictype/categ_Lt.h: Likewise.
47074         * lib/unictype/categ_Lu.h: Likewise.
47075         * lib/unictype/categ_M.h: Likewise.
47076         * lib/unictype/categ_Mc.h: Likewise.
47077         * lib/unictype/categ_Me.h: Likewise.
47078         * lib/unictype/categ_Mn.h: Likewise.
47079         * lib/unictype/categ_N.h: Likewise.
47080         * lib/unictype/categ_Nd.h: Likewise.
47081         * lib/unictype/categ_Nl.h: Likewise.
47082         * lib/unictype/categ_No.h: Likewise.
47083         * lib/unictype/categ_P.h: Likewise.
47084         * lib/unictype/categ_Pc.h: Likewise.
47085         * lib/unictype/categ_Pd.h: Likewise.
47086         * lib/unictype/categ_Pe.h: Likewise.
47087         * lib/unictype/categ_Pf.h: Likewise.
47088         * lib/unictype/categ_Pi.h: Likewise.
47089         * lib/unictype/categ_Po.h: Likewise.
47090         * lib/unictype/categ_Ps.h: Likewise.
47091         * lib/unictype/categ_S.h: Likewise.
47092         * lib/unictype/categ_Sc.h: Likewise.
47093         * lib/unictype/categ_Sk.h: Likewise.
47094         * lib/unictype/categ_Sm.h: Likewise.
47095         * lib/unictype/categ_So.h: Likewise.
47096         * lib/unictype/categ_Z.h: Likewise.
47097         * lib/unictype/categ_Zl.h: Likewise.
47098         * lib/unictype/categ_Zp.h: Likewise.
47099         * lib/unictype/categ_Zs.h: Likewise.
47100         * lib/unictype/categ_of.h: Likewise.
47101         * lib/unictype/combining.h: Likewise.
47102         * lib/unictype/ctype_alnum.h: Likewise.
47103         * lib/unictype/ctype_alpha.h: Likewise.
47104         * lib/unictype/ctype_blank.h: Likewise.
47105         * lib/unictype/ctype_cntrl.h: Likewise.
47106         * lib/unictype/ctype_digit.h: Likewise.
47107         * lib/unictype/ctype_graph.h: Likewise.
47108         * lib/unictype/ctype_lower.h: Likewise.
47109         * lib/unictype/ctype_print.h: Likewise.
47110         * lib/unictype/ctype_punct.h: Likewise.
47111         * lib/unictype/ctype_space.h: Likewise.
47112         * lib/unictype/ctype_upper.h: Likewise.
47113         * lib/unictype/ctype_xdigit.h: Likewise.
47114         * lib/unictype/decdigit.h: Likewise.
47115         * lib/unictype/digit.h: Likewise.
47116         * lib/unictype/mirror.h: Likewise.
47117         * lib/unictype/numeric.h: Likewise.
47118         * lib/unictype/pr_alphabetic.h: Likewise.
47119         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
47120         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
47121         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
47122         * lib/unictype/pr_bidi_block_separator.h: Likewise.
47123         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
47124         * lib/unictype/pr_bidi_common_separator.h: Likewise.
47125         * lib/unictype/pr_bidi_control.h: Likewise.
47126         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
47127         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
47128         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
47129         * lib/unictype/pr_bidi_european_digit.h: Likewise.
47130         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
47131         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
47132         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
47133         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
47134         * lib/unictype/pr_bidi_pdf.h: Likewise.
47135         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
47136         * lib/unictype/pr_bidi_whitespace.h: Likewise.
47137         * lib/unictype/pr_combining.h: Likewise.
47138         * lib/unictype/pr_composite.h: Likewise.
47139         * lib/unictype/pr_currency_symbol.h: Likewise.
47140         * lib/unictype/pr_dash.h: Likewise.
47141         * lib/unictype/pr_decimal_digit.h: Likewise.
47142         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
47143         * lib/unictype/pr_deprecated.h: Likewise.
47144         * lib/unictype/pr_diacritic.h: Likewise.
47145         * lib/unictype/pr_extender.h: Likewise.
47146         * lib/unictype/pr_format_control.h: Likewise.
47147         * lib/unictype/pr_grapheme_base.h: Likewise.
47148         * lib/unictype/pr_grapheme_extend.h: Likewise.
47149         * lib/unictype/pr_grapheme_link.h: Likewise.
47150         * lib/unictype/pr_hex_digit.h: Likewise.
47151         * lib/unictype/pr_hyphen.h: Likewise.
47152         * lib/unictype/pr_id_continue.h: Likewise.
47153         * lib/unictype/pr_id_start.h: Likewise.
47154         * lib/unictype/pr_ideographic.h: Likewise.
47155         * lib/unictype/pr_ids_binary_operator.h: Likewise.
47156         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
47157         * lib/unictype/pr_ignorable_control.h: Likewise.
47158         * lib/unictype/pr_iso_control.h: Likewise.
47159         * lib/unictype/pr_join_control.h: Likewise.
47160         * lib/unictype/pr_left_of_pair.h: Likewise.
47161         * lib/unictype/pr_line_separator.h: Likewise.
47162         * lib/unictype/pr_logical_order_exception.h: Likewise.
47163         * lib/unictype/pr_lowercase.h: Likewise.
47164         * lib/unictype/pr_math.h: Likewise.
47165         * lib/unictype/pr_non_break.h: Likewise.
47166         * lib/unictype/pr_not_a_character.h: Likewise.
47167         * lib/unictype/pr_numeric.h: Likewise.
47168         * lib/unictype/pr_other_alphabetic.h: Likewise.
47169         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
47170         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
47171         * lib/unictype/pr_other_id_continue.h: Likewise.
47172         * lib/unictype/pr_other_id_start.h: Likewise.
47173         * lib/unictype/pr_other_lowercase.h: Likewise.
47174         * lib/unictype/pr_other_math.h: Likewise.
47175         * lib/unictype/pr_other_uppercase.h: Likewise.
47176         * lib/unictype/pr_paired_punctuation.h: Likewise.
47177         * lib/unictype/pr_paragraph_separator.h: Likewise.
47178         * lib/unictype/pr_pattern_syntax.h: Likewise.
47179         * lib/unictype/pr_pattern_white_space.h: Likewise.
47180         * lib/unictype/pr_private_use.h: Likewise.
47181         * lib/unictype/pr_punctuation.h: Likewise.
47182         * lib/unictype/pr_quotation_mark.h: Likewise.
47183         * lib/unictype/pr_radical.h: Likewise.
47184         * lib/unictype/pr_sentence_terminal.h: Likewise.
47185         * lib/unictype/pr_soft_dotted.h: Likewise.
47186         * lib/unictype/pr_space.h: Likewise.
47187         * lib/unictype/pr_terminal_punctuation.h: Likewise.
47188         * lib/unictype/pr_titlecase.h: Likewise.
47189         * lib/unictype/pr_unassigned_code_value.h: Likewise.
47190         * lib/unictype/pr_unified_ideograph.h: Likewise.
47191         * lib/unictype/pr_uppercase.h: Likewise.
47192         * lib/unictype/pr_variation_selector.h: Likewise.
47193         * lib/unictype/pr_white_space.h: Likewise.
47194         * lib/unictype/pr_xid_continue.h: Likewise.
47195         * lib/unictype/pr_xid_start.h: Likewise.
47196         * lib/unictype/pr_zero_width.h: Likewise.
47197         * lib/unictype/scripts.h: Likewise.
47198         * lib/unictype/scripts_byname.gperf: Likewise.
47199         * lib/unictype/sy_c_ident.h: Likewise.
47200         * lib/unictype/sy_c_whitespace.h: Likewise.
47201         * lib/unictype/sy_java_ident.h: Likewise.
47202         * lib/unictype/sy_java_whitespace.h: Likewise.
47203
47204         * lib/unictype/Makefile: New file.
47205         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
47206         glibc.
47207         * lib/unictype/3level.h: New file, copied from glibc.
47208         * lib/unictype/3levelbit.h: New file.
47209
47210 2007-11-11  Bruno Haible  <bruno@clisp.org>
47211
47212         * modules/gperf: New file.
47213         * modules/iconv_open (Depends-on): Add it.
47214         (Makefile.am): Remove the GPERF definition.
47215
47216 2007-11-11  Bruno Haible  <bruno@clisp.org>
47217
47218         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
47219         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
47220
47221 2007-11-11  Bruno Haible  <bruno@clisp.org>
47222
47223         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
47224         (usage): Remove function.
47225
47226 2007-11-11  Bruno Haible  <bruno@clisp.org>
47227
47228         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
47229         gl_FUNC_CEILF_LIBS.
47230         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
47231         gl_FUNC_CEIL_LIBS.
47232         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
47233         gl_FUNC_CEILL_LIBS.
47234         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
47235         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
47236         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
47237
47238 2007-11-11  Bruno Haible  <bruno@clisp.org>
47239
47240         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
47241         roundf were declared but do not exist on functions.
47242         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
47243         roundl were declared but do not exist on functions.
47244         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
47245         HAVE_FLOORL_AND_CEILL, respectively.
47246         Needed for Sun C on Solaris 10.
47247
47248 2007-11-11  Bruno Haible  <bruno@clisp.org>
47249
47250         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
47251         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
47252         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
47253         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
47254         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
47255         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
47256         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
47257         HAVE_DECL_ROUNDF.
47258         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
47259         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
47260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
47261         of HAVE_DECL_ROUND*.
47262         * modules/math (Makefile.am): Update.
47263
47264 2007-11-10  Bruno Haible  <bruno@clisp.org>
47265
47266         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
47267         ptrdiff_t as m4/intl.m4.
47268
47269 2007-11-10  Jim Meyering  <meyering@redhat.com>
47270
47271         Avoid link failure for the argmatch test.
47272         * tests/test-argmatch.c (usage): Define function to avoid a link
47273         failure: argmatch_die requires a usage function.
47274
47275 2007-11-09  Bruno Haible  <bruno@clisp.org>
47276
47277         * doc/functions/snprintf.texi: Mention BeOS deficiency.
47278         * doc/functions/vsnprintf.texi: Likewise.
47279         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
47280         with a size argument < 2.
47281
47282 2007-11-09  Bruno Haible  <bruno@clisp.org>
47283
47284         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
47285         buffer. Fixes an inefficiency introduced on 2007-11-03.
47286
47287 2007-11-09  Bruno Haible  <bruno@clisp.org>
47288
47289         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
47290         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
47291
47292 2007-11-08  Jim Meyering  <meyering@redhat.com>
47293
47294         Change cache variable name prefix "jm_" to "gl_" everywhere.
47295         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
47296         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
47297         * m4/uptime.m4: s/gl_/jm_/
47298
47299 2007-11-07  Bruno Haible  <bruno@clisp.org>
47300
47301         Update to GNU gettext 0.17.
47302         * m4/intl.m4: Update to GNU gettext 0.17.
47303         * m4/po.m4: Likewise.
47304         * modules/gettext (Files): Remove m4/ulonglong.m4.
47305         (configure.ac): Require gettext infrastructure from version 0.17.
47306
47307 2007-11-06  Bruno Haible  <bruno@clisp.org>
47308
47309         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
47310         symbolic values are not defined in a public header.
47311         * lib/freadable.c (freadable) [QNX]: Likewise.
47312         * lib/freadahead.c (freadahead) [QNX]: Likewise.
47313         * lib/freading.c (freading) [QNX]: Likewise.
47314         * lib/fseterr.c (fseterr) [QNX]: Likewise.
47315         * lib/fwritable.c (fwritable) [QNX]: Likewise.
47316         * lib/fwriting.c (fwriting) [QNX]: Likewise.
47317         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
47318         Reported by Alain Magloire.
47319
47320         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
47321
47322 2007-11-05  Bruno Haible  <bruno@clisp.org>
47323
47324         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
47325         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
47326         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
47327         Reported by Eric Blake.
47328
47329 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47330             Bruno Haible  <bruno@clisp.org>
47331
47332         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
47333         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
47334         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
47335         (malloc): Undefine also before including <stdlib.h>.
47336         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
47337         Needed on OSF/1 4.0.
47338
47339 2007-11-05  Jim Meyering  <meyering@redhat.com>
47340
47341         git-version-gen: sync from coreutils.
47342         * build-aux/git-version-gen: Add comments.
47343         Change the first '-' to '.' in the snapshot version string,
47344         e.g., 6.9-377-08144 -> 6.9.377-08144
47345         Remove first parameter.
47346         Don't declare a version "-dirty" merely because a time
47347         stamp has changed.
47348
47349 2007-11-04  Bruno Haible  <bruno@clisp.org>
47350
47351         * lib/lock.h: Protect all macro definitions containing an 'if'
47352         statement through a "do { ... } while (0)".
47353         * lib/tls.h: Likewise.
47354
47355 2007-11-04  Bruno Haible  <bruno@clisp.org>
47356
47357         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
47358
47359 2007-11-04  Bruno Haible  <bruno@clisp.org>
47360
47361         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
47362         * modules/fprintf-posix (Depends-on): Add nocrash.
47363         * modules/snprintf-posix (Depends-on): Likewise.
47364         * modules/sprintf-posix (Depends-on): Likewise.
47365         * modules/vasnprintf-posix (Depends-on): Likewise.
47366         * modules/vasprintf-posix (Depends-on): Likewise.
47367         * modules/vfprintf-posix (Depends-on): Likewise.
47368         * modules/vsnprintf-posix (Depends-on): Likewise.
47369         * modules/vsprintf-posix (Depends-on): Likewise.
47370         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47371         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47372         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47373         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47374         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47375         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47376         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47377
47378 2007-11-04  Bruno Haible  <bruno@clisp.org>
47379
47380         * modules/nocrash: New file.
47381         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
47382         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
47383
47384 2007-11-04  Bruno Haible  <bruno@clisp.org>
47385
47386         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
47387         precision handling.
47388         * tests/test-vasprintf-posix.c (test_function): Likewise.
47389         * tests/test-snprintf-posix.h (test_function): Likewise.
47390         * tests/test-sprintf-posix.h (test_function): Likewise.
47391
47392         Fix *printf behaviour for large precisions on mingw and BeOS.
47393         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
47394         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
47395         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
47396         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47397         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47398         gl_PRINTF_PRECISION and test its result. Invoke
47399         gl_PREREQ_VASNPRINTF_PRECISION.
47400         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47401         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47402         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47403         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47404         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47405         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47406         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47407         * doc/functions/fprintf.texi: Update.
47408         * doc/functions/printf.texi: Update.
47409         * doc/functions/snprintf.texi: Update.
47410         * doc/functions/sprintf.texi: Update.
47411         * doc/functions/vfprintf.texi: Update.
47412         * doc/functions/vprintf.texi: Update.
47413         * doc/functions/vsnprintf.texi: Update.
47414         * doc/functions/vsprintf.texi: Update.
47415
47416 2007-11-04  Bruno Haible  <bruno@clisp.org>
47417
47418         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
47419
47420 2007-11-04  Bruno Haible  <bruno@clisp.org>
47421
47422         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
47423         Reported by Sylvain Beucler <beuc@gnu.org>.
47424
47425 2007-11-03  Bruno Haible  <bruno@clisp.org>
47426
47427         * tests/test-fprintf-posix2.sh: New file.
47428         * tests/test-fprintf-posix2.c: New file.
47429         * modules/fprintf-posix-tests (Files): Add them.
47430         (TESTS): Add test-fprintf-posix2.sh.
47431         (configure.ac): Check for getrlimit and setrlimit.
47432         (check_PROGRAMS): Add test-fprintf-posix2.
47433
47434         * tests/test-printf-posix2.sh: New file.
47435         * tests/test-printf-posix2.c: New file.
47436         * modules/printf-posix-tests (Files): Add them.
47437         (TESTS): Add test-printf-posix2.sh.
47438         (configure.ac): Check for getrlimit and setrlimit.
47439         (check_PROGRAMS): Add test-printf-posix2.
47440
47441         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
47442         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
47443         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
47444         (decode_double): New function, copied from decode_long_double.
47445         (scale10_round_decimal_decoded): New function, extracted from
47446         scale10_round_decimal_long_double.
47447         (scale10_round_decimal_long_double): Use it.
47448         (scale10_round_decimal_double): New function.
47449         (floorlog10): New function.
47450         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
47451         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
47452         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47453         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47454         gl_PRINTF_ENOMEM and test its result. Invoke
47455         gl_PREREQ_VASNPRINTF_ENOMEM.
47456         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47457         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47458         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47459         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47460         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47462         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47463         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
47464         * modules/snprintf-posix (Depends-on): Likewise.
47465         * modules/sprintf-posix (Depends-on): Likewise.
47466         * modules/vasnprintf-posix (Depends-on): Likewise.
47467         * modules/vasprintf-posix (Depends-on): Likewise.
47468         * modules/vfprintf-posix (Depends-on): Likewise.
47469         * modules/vsnprintf-posix (Depends-on): Likewise.
47470         * modules/vsprintf-posix (Depends-on): Likewise.
47471         * doc/functions/fprintf.texi: Update.
47472         * doc/functions/printf.texi: Update.
47473         * doc/functions/snprintf.texi: Update.
47474         * doc/functions/sprintf.texi: Update.
47475         * doc/functions/vfprintf.texi: Update.
47476         * doc/functions/vprintf.texi: Update.
47477         * doc/functions/vsnprintf.texi: Update.
47478         * doc/functions/vsprintf.texi: Update.
47479
47480 2007-11-03  Bruno Haible  <bruno@clisp.org>
47481
47482         * modules/frexp-nolibm-tests: New file.
47483
47484         * modules/frexp-nolibm: New file.
47485         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
47486
47487 2007-11-03  Bruno Haible  <bruno@clisp.org>
47488
47489         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
47490         value is C99 compliant.
47491         Needed for OSF/1 5.1.
47492
47493 2007-11-03  Bruno Haible  <bruno@clisp.org>
47494
47495         Fix out-of-memory handling of vasnprintf.
47496         * lib/printf-parse.c: Include <errno.h>.
47497         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
47498         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
47499         is already set.
47500
47501 2007-11-02  Eric Blake  <ebb9@byu.net>
47502
47503         Fix tests on cygwin.
47504         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
47505
47506 2007-11-01  Bruno Haible  <bruno@clisp.org>
47507
47508         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
47509         warning.
47510         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
47511         needed for POSIX compatibility.
47512
47513 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
47514
47515         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
47516         for compatibility with GNU.
47517
47518 2007-11-01  Bruno Haible  <bruno@clisp.org>
47519
47520         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
47521         (putenv): Renamed from rpl_putenv. Change argument type from
47522         'const char *' to 'char *'.
47523         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
47524         of defining putenv in config.h, just set REPLACE_PUTENV.
47525         * modules/putenv (Depends-on): Add stdlib.
47526         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47527         (Include): Use <stdlib.h>.
47528         * lib/stdlib.in.h (putenv): New declaration.
47529         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
47530         REPLACE_PUTENV.
47531         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
47532         REPLACE_PUTENV.
47533         Needed for MacOS X 10.5.0.
47534         Reported by Peter O'Gorman <peter@pogma.com>.
47535
47536 2007-11-01  Jim Meyering  <meyering@redhat.com>
47537
47538         Treat an empty date string exactly like "0".
47539         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
47540         if the remaining date string (to be parsed) is empty, use "0".
47541         Reported by Mischa Molhoek and discussed in this thread:
47542         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
47543
47544 2007-10-31  Bruno Haible  <bruno@clisp.org>
47545
47546         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
47547         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
47548         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
47549         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
47550         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
47551         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
47552
47553 2007-10-31  Bruno Haible  <bruno@clisp.org>
47554
47555         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
47556         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
47557         (AC_TYPE_LONG_LONG_INT): Use it.
47558         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
47559         it as well.
47560         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
47561         to m4/longlong.m4.
47562         * modules/stdint (Files): Remove m4/ulonglong.m4.
47563         * modules/strtoull (Files): Use m4/longlong.m4 instead of
47564         m4/ulonglong.m4.
47565         * modules/strtoumax (Files): Likewise.
47566
47567 2007-10-30  Bruno Haible  <bruno@clisp.org>
47568
47569         * modules/xvasprintf-posix: New file.
47570         Suggested by Eric Blake.
47571
47572 2007-10-30  Bruno Haible  <bruno@clisp.org>
47573
47574         * modules/xprintf-posix-tests: New file.
47575         * tests/test-xprintf-posix.sh: New file.
47576         * tests/test-xprintf-posix.c: New file.
47577         * tests/test-xfprintf-posix.c: New file.
47578
47579         * modules/xprintf-posix: New file.
47580
47581 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47582
47583         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
47584         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
47585         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
47586
47587 2007-10-29  Bruno Haible  <bruno@clisp.org>
47588
47589         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
47590         contain the special marker '_cv_'.
47591         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47592         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47593         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47594         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
47595         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47596         Reported by Ralf Wildenhues.
47597
47598 2007-10-29  Bruno Haible  <bruno@clisp.org>
47599
47600         * gnulib-tool (func_import): When --lgpl is not specified, set
47601         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
47602         GPLv3.
47603         Reported by Simon Josefsson.
47604
47605 2007-10-28  Bruno Haible  <bruno@clisp.org>
47606
47607         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
47608         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
47609         HAVE_DECL_ISFINITE.
47610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
47611         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
47612         HAVE_DECL_ISFINITE.
47613
47614 2007-10-28  Bruno Haible  <bruno@clisp.org>
47615
47616         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
47617         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
47618
47619 2007-10-28  Bruno Haible  <bruno@clisp.org>
47620
47621         Fix link errors with Sun C 5.0 on Solaris 10.
47622         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
47623         function is declared but not present in the compiler's libm.
47624         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
47625         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
47626         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
47627         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
47628         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
47629         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
47630         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
47631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
47632         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
47633         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
47634         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
47635         HAVE_DECL_FLOORL.
47636
47637 2007-10-28  Bruno Haible  <bruno@clisp.org>
47638
47639         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
47640         gl_FUNC_FLOORL. Cache the result.
47641         (gl_FUNC_FLOORL): Use it.
47642         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
47643         gl_FUNC_CEILL. Cache the result.
47644         (gl_FUNC_CEILL): Use it.
47645
47646         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
47647         gl_FUNC_FLOOR. Cache the result.
47648         (gl_FUNC_FLOOR): Use it.
47649         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
47650         gl_FUNC_CEIL. Cache the result.
47651         (gl_FUNC_CEIL): Use it.
47652
47653         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
47654         gl_FUNC_FLOORF. Cache the result.
47655         (gl_FUNC_FLOORF): Use it.
47656         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
47657         gl_FUNC_CEILF. Cache the result.
47658         (gl_FUNC_CEILF): Use it.
47659
47660 2007-10-28  Bruno Haible  <bruno@clisp.org>
47661
47662         * gnulib-tool: Allow specifying the LGPL version number through
47663         --lgpl=2 or --lgpl=3.
47664         (func_usage): Document --lgpl with argument.
47665         Handle --lgpl=... arguments.
47666         (func_import): Recognize also gl_LGPL calls with an argument. When
47667         --lgpl=2 is used and the module's license is just LGPL, report an
47668         error. Set sed_transform_lib_file according to the lgpl variable. In
47669         the generated files, use --lgpl or gl_LGPL invocations with argument,
47670         if necessary.
47671         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
47672         an LGPv2+ license.
47673         * doc/gnulib-tool.texi (Modified imports): Update explanation of
47674         gl_LGPL macro.
47675
47676 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47677             Bruno Haible  <bruno@clisp.org>
47678
47679         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
47680         (u16_uctomb_aux): Likewise.
47681         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
47682         !HAVE_INLINE.
47683         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
47684
47685 2007-10-28  Bruno Haible  <bruno@clisp.org>
47686
47687         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
47688         Invoke AM_GETTEXT_OPTION if it exists.
47689         * modules/vasprintf: Likewise.
47690         * modules/verror: Likewise.
47691         * modules/xprintf: Likewise.
47692         * modules/xvasprintf: Likewise.
47693
47694 2007-10-27  Ben Pfaff  <blp@gnu.org>
47695
47696         * lib/math.in.h: Define isfinite macro and prototypes for
47697         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
47698         implementations.
47699         * m4/math_h.m4: New substitutions for isfinite module.
47700         * lib/isfinite.c: New file.
47701         * m4/isfinite.m4: New file.
47702         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
47703         * modules/isfinite: New file.
47704         * modules/isfinite-tests: New file.
47705         * tests/tests-isfinite.c: New file.
47706         * doc/functions/isfinite.texi: Mention isfinite module.
47707         * MODULES.html.sh: Mention new module.
47708
47709 2007-10-27  Ben Pfaff  <blp@gnu.org>
47710
47711         Ralf Wildenhues reported that Tru64 4.0D declares the round
47712         functions but does not have definitions.
47713         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
47714         cannot be found in any library, set the output variable to
47715         "missing" instead of "".
47716         * m4/round.m4: Also use our substitute if we cannot find round in
47717         any library, even if it is declared.
47718         * m4/roundf.m4: Likewise for roundf.
47719         * m4/roundl.m4: Likewise for roundl.
47720         * lib/math.in.h: Undefine roundf, round, roundl before defining
47721         their replacements, to allow for hypothetical systems where these
47722         may be defined as macros but not available in libraries.
47723
47724 2007-10-27  Bruno Haible  <bruno@clisp.org>
47725
47726         * doc/gnulib.texi: Invoke @firstparagraphindent.
47727         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
47728         changes in gnulib.
47729         (Source changes): New section.
47730
47731 2007-10-26  Bruno Haible  <bruno@clisp.org>
47732
47733         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
47734         borrowed from autoconf.
47735
47736 2007-10-26  Bruno Haible  <bruno@clisp.org>
47737
47738         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
47739         strerror returned the empty string. Needed on HP-UX 11.00.
47740
47741 2007-10-24  Micah Cowan  <micah@cowan.name>
47742
47743         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
47744         * build-aux/bootstrap: Remove support for now-unnecessary option,
47745         --cvs-user, and envvars CVS_USER, CVS_RSH.
47746
47747 2007-10-24  Jim Meyering  <meyering@redhat.com>
47748
47749         Avoid diagnostics from sha1sum when there is no cached checksum.
47750         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
47751         if the po.s1 file hasn't been created yet.
47752
47753         * build-aux/bootstrap: Sync from coreutils:
47754         2007-10-24  Jim Meyering  <meyering@redhat.com>
47755         Get gnulib from the git repository, not from an obsolete cvs one.
47756         * build-aux/bootstrap: Suggestion from Micah Cowan.
47757         2007-10-04  Jim Meyering  <jim@meyering.net>
47758         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
47759         (update_po_files): Work also when there are no .po files in po/.
47760
47761 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47762
47763         * README: Append ".git" to git and cg examples.
47764         Problem reported by Benoit Sigoure.
47765
47766 2007-10-23  Micah Cowan  <micah@cowan.name>
47767
47768         * users.txt: Add wget.
47769
47770 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47771
47772         Fix linking of some unistdio tests on FreeBSD.
47773         * modules/unistdio/u16-vsnprintf-tests
47774         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
47775         * modules/unistdio/u16-vsprintf-tests
47776         (test_u16_vsnprintf1_LDADD): Likewise.
47777         * modules/unistdio/u32-vsnprintf-tests
47778         (test_u32_vsnprintf1_LDADD): Likewise.
47779         * modules/unistdio/u32-vsprintf-tests
47780         (test_u32_vsprintf1_LDADD): Likewise.
47781         * modules/unistdio/u8-vsnprintf-tests
47782         (test_u8_vsnprintf1_LDADD): Likewise.
47783         * modules/unistdio/u8-vsprintf-tests
47784         (test_u8_vsprintf1_LDADD): Likewise.
47785         * modules/unistdio/ulc-vsnprintf-tests
47786         (test_ulc_vsnprintf1_LDADD): Likewise.
47787         * modules/unistdio/ulc-vsprintf-tests
47788         (test_ulc_vsprintf1_LDADD): Likewise.
47789
47790         Fix linking of some uniconv tests on FreeBSD.
47791         * modules/uniconv/u16-conv-from-enc-tests
47792         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
47793         * modules/uniconv/u16-conv-to-enc-tests
47794         (test_u16_conv_to_enc_LDADD): Likewise.
47795         * modules/uniconv/u16-strconv-from-enc-tests
47796         (test_u16_strconv_from_enc_LDADD): Likewise.
47797         * modules/uniconv/u16-strconv-to-enc-tests
47798         (test_u16_strconv_to_enc_LDADD): Likewise.
47799         * modules/uniconv/u32-conv-from-enc-tests
47800         (test_u32_conv_from_enc_LDADD): Likewise.
47801         * modules/uniconv/u32-conv-to-enc-tests
47802         (test_u32_conv_to_enc_LDADD): Likewise.
47803         * modules/uniconv/u32-strconv-from-enc-tests
47804         (test_u32_strconv_from_enc_LDADD): Likewise.
47805         * modules/uniconv/u32-strconv-to-enc-tests
47806         (test_u32_strconv_to_enc_LDADD): Likewise.
47807         * modules/uniconv/u8-conv-from-enc-tests
47808         (test_u8_conv_from_enc_LDADD): Likewise.
47809         * modules/uniconv/u8-conv-to-enc-tests
47810         (test_u8_conv_to_enc_LDADD): Likewise.
47811         * modules/uniconv/u8-strconv-from-enc-tests
47812         (test_u8_strconv_from_enc_LDADD): Likewise.
47813         * modules/uniconv/u8-strconv-to-enc-tests
47814         (test_u8_strconv_to_enc_LDADD): Likewise.
47815
47816 2007-10-22  Bruno Haible  <bruno@clisp.org>
47817
47818         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
47819         size.
47820
47821 2007-10-22  Eric Blake  <ebb9@byu.net>
47822
47823         Tweak x*printf documentation.
47824         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
47825         variable name and comments.
47826         Suggested by Bruno Haible.
47827
47828 2007-10-22  Bruno Haible  <bruno@clisp.org>
47829
47830         * lib/acl.c (copy_acl): Fix file name in comment.
47831
47832 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47833
47834         Fix Tru64 problem with stdbool.h.
47835         * lib/stdbool.in.h (false, true):
47836         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
47837         Don't declare as an enum in this situation; it runs afoul of Tru64.
47838         Problem reported by Steven M. Schweda in
47839         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
47840
47841 2007-10-22  Eric Blake  <ebb9@byu.net>
47842
47843         Also wrap vf?printf.
47844         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
47845         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
47846         (xvprintf, xvfprintf): New functions.
47847
47848 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47849
47850         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
47851         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
47852
47853         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
47854         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
47855
47856 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47857
47858         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
47859         by Bruno Haible.
47860
47861 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47862
47863         * lib/getloadavg.c
47864         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
47865         Undef `sys' after including sys/table.h, for Tru64 4.0D.
47866
47867         * tests/test-i-ring.c: Work for C89.
47868
47869 2007-10-22  Bruno Haible  <bruno@clisp.org>
47870
47871         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
47872         -1u, in preprocessor expression, so that we don't test for the bug
47873         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
47874         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
47875
47876 2007-10-22  Eric Blake  <ebb9@byu.net>
47877
47878         * tests/test-yesno.sh: Silence stderr during test.
47879
47880 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47881
47882         * modules/crypto/gc-camellia: New file.
47883
47884         * m4/gc-camellia.m4: New file.
47885
47886         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
47887
47888         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
47889
47890 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47891
47892         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
47893         --help to stdout.  Reported by sms@antinode.org (Steven
47894         M. Schweda).
47895
47896 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47897
47898         * users.txt: Fix link to libksba.
47899
47900 2007-10-21  Ben Pfaff  <blp@gnu.org>
47901
47902         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
47903         round.c roundf implementation that depends on floorf and ceilf to
47904         be tested unconditionally.
47905
47906 2007-10-21  Ben Pfaff  <blp@gnu.org>
47907
47908         * m4/check-libm-func.m4: Removed.
47909         * m4/check-math-lib.m4: New file.
47910         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
47911         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
47912         definition and lack of AC_LIBOBJ([roundf]).
47913         * m4/roundl.m4: Ditto, and similarly for roundl.
47914         * modules/round: Reference new m4 file.
47915         * modules/roundf: Ditto.
47916         * modules/roundl: Ditto.
47917         * tests/test-round2.c (main): Use ROUND instead of round.
47918         Bug report from Bruno Haible.
47919
47920 2007-10-21  Bruno Haible  <bruno@clisp.org>
47921
47922         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
47923         context.
47924
47925 2007-10-21  Bruno Haible  <bruno@clisp.org>
47926
47927         * tests/test-wcwidth.c (main): Allow negative result for some control
47928         characters.
47929
47930         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
47931         Needed on OSF/1 5.1.
47932
47933 2007-10-21  Bruno Haible  <bruno@clisp.org>
47934
47935         * tests/test-floorf1.c: Include isnanf.h.
47936         (main): Use isnanf() instead of isnan().
47937         * tests/test-ceilf1.c: Include isnanf.h.
47938         (main): Use isnanf() instead of isnan().
47939         * tests/test-truncf1.c: Include isnanf.h.
47940         (main): Use isnanf() instead of isnan().
47941         * tests/test-roundf1.c: Include isnanf.h.
47942         (main): Use isnanf() instead of isnan().
47943
47944 2007-10-21  Eric Blake  <ebb9@byu.net>
47945
47946         * users.txt: Update URL for m4.
47947
47948 2007-10-21  Bruno Haible  <bruno@clisp.org>
47949
47950         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
47951
47952 2007-10-21  Bruno Haible  <bruno@clisp.org>
47953
47954         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
47955         Git's management files if the CVS files are not present.
47956
47957 2007-10-20  Bruno Haible  <bruno@clisp.org>
47958
47959         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
47960         gcc-3.4.x.
47961
47962 2007-10-20  Ben Pfaff  <blp@gnu.org>
47963
47964         * lib/math.in.h: Declare round, roundf, roundl if we are providing
47965         implementations.
47966         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
47967         * lib/round.c: New file.
47968         * lib/roundf.c: New file.
47969         * lib/roundl.c: New file.
47970         * m4/round.m4: New file.
47971         * m4/roundf.m4: New file.
47972         * m4/roundl.m4: New file.
47973         * m4/check-libm-func-m4: New file.
47974         * modules/math: Replace round, roundf, roundl related @VARS@ in
47975         math.in.h.
47976         * modules/round: New file.
47977         * modules/round-tests: New file.
47978         * modules/roundf: New file.
47979         * modules/roundf-tests: New file.
47980         * modules/roundl: New file.
47981         * modules/roundl-tests: New file.
47982         * tests/test-round1.c: New file.
47983         * tests/test-round2.c: New file.
47984         * tests/test-roundf1.c: New file.
47985         * tests/test-roundf2.c: New file.
47986         * tests/test-roundl.c: New file.
47987         * doc/functions/round.texi: Mention round module.
47988         * doc/functions/roundf.texi: Mention roundf module.
47989         * doc/functions/roundl.texi: Mention roundl module.
47990         * MODULES.html.sh: Mention new modules.
47991         Thanks to Bruno Haible for suggestions.
47992
47993 2007-10-20  Jim Meyering  <meyering@redhat.com>
47994
47995         * lib/xprintf.c: Include <config.h> unconditionally.
47996
47997         Change xprintf's license to GPL.
47998         * modules/xprintf (License): s/LGPL/GPL/, since this module
47999         depends on modules (exit and exitfail) which are GPL.
48000         Suggestion from Bruno Haible.
48001
48002         xprintf fixes.
48003         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
48004         Use a clearer diagnostic.
48005         Patch from Bruno Haible.
48006
48007 2007-10-20  Bruno Haible  <bruno@clisp.org>
48008
48009         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
48010         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
48011         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48012
48013 2007-10-20  Bruno Haible  <bruno@clisp.org>
48014
48015         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
48016         precision in the comparison result > x - 1 or similar.
48017         * tests/test-ceilf2.c (correct_result_p): Likewise.
48018         * tests/test-truncf2.c (correct_result_p): Likewise.
48019         * tests/test-trunc2.c (correct_result_p): Likewise.
48020         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48021
48022 2007-10-20  Bruno Haible  <bruno@clisp.org>
48023
48024         * modules/ceil: New file.
48025         * m4/ceil.m4: New file.
48026         * doc/functions/ceil.texi: Mention the 'ceil' module.
48027
48028 2007-10-20  Bruno Haible  <bruno@clisp.org>
48029
48030         * modules/floor: New file.
48031         * m4/floor.m4: New file.
48032         * doc/functions/floor.texi: Mention the 'floor' module.
48033
48034 2007-10-20  Bruno Haible  <bruno@clisp.org>
48035
48036         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
48037         of %a.
48038         * modules/floorf-tests (Depends-on): Likewise.
48039         * modules/truncf-tests (Depends-on): Likewise.
48040         * modules/trunc-tests (Depends-on): Likewise.
48041         Reported by Ben Pfaff.
48042
48043 2007-10-19  Jim Meyering  <meyering@redhat.com>
48044
48045         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
48046         Don't bother testing specific errno values.  Just test ferror.
48047
48048         New module: xprintf
48049         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
48050
48051 2007-10-19  Bruno Haible  <bruno@clisp.org>
48052
48053         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
48054         syntax.
48055         * modules/javaexec (Makefile.am): Likewise.
48056         * modules/relocatable-prog (Makefile.am): Likewise.
48057         Suggested by Jim Meyering.
48058
48059 2007-10-18  Bruno Haible  <bruno@clisp.org>
48060
48061         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
48062         Reported by Jim Meyering.
48063
48064 2007-10-18  Eric Blake  <ebb9@byu.net>
48065
48066         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
48067
48068 2007-10-18  Bruno Haible  <bruno@clisp.org>
48069
48070         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
48071         the format string into writable memory. Needed in Fortify conditions.
48072
48073 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
48074             Bruno Haible  <bruno@clisp.org>
48075
48076         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
48077         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
48078         * modules/trim (Depends-on): Add mbchar.
48079         (configure.ac): Add gl_FUNC_MBRTOWC.
48080         (Makefile.am): Augment lib_SOURCES.
48081
48082 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
48083
48084         Modify glob.c to use fstatat and dirfd, to simplify it.
48085         Suggested by Eric Blake.
48086         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
48087         Don't include <stdbool.h>; not used.
48088         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
48089         (link_exists_p): Simplify implementation, since we can now assume
48090         dirfd and fstatat.
48091         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
48092
48093 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48094
48095         * gnulib-tool (func_get_dependencies): Fix sed script to
48096         match only tests.
48097
48098 2007-10-17  Bruno Haible  <bruno@clisp.org>
48099
48100         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
48101         allow locale names without encoding suffix.
48102         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
48103         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
48104
48105 2007-10-16  Bruno Haible  <bruno@clisp.org>
48106
48107         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
48108         * lib/getgroups.c (getgroups): Likewise.
48109         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
48110
48111 2007-10-16  Bruno Haible  <bruno@clisp.org>
48112
48113         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
48114         * modules/malloc-posix (License): Likewise.
48115         * modules/realloc-posix (License): Likewise.
48116         * modules/calloc-posix (License): Likewise.
48117         * modules/intprops (License): Change from GPL to LGPL, with
48118         Paul Eggert's approval.
48119
48120 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48121
48122         Merge glibc changes into lib/glob.c.
48123
48124         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
48125         2007-10-15 04:59:03 UTC.  Here are the changes:
48126
48127         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
48128
48129         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
48130
48131         * lib/glob.c: Add some branch prediction throughout.
48132
48133         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
48134
48135         [BZ #5103]
48136         * lib/glob.c (glob): Recognize patterns starting \/.
48137
48138         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
48139
48140         [BZ #3996]
48141         * lib/glob.c (attribute_hidden): Define if not defined.
48142         (glob): Unescape dirname, filename or username when needed and not
48143         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
48144         is NULL.  Handle unescaped [ in pattern without closing ].
48145         Don't pass GLOB_CHECK down to recursive glob for directories.
48146         (__glob_pattern_type): New function.
48147         (__glob_pattern_p): Implement using __glob_pattern_type.
48148         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
48149         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
48150         Remove unreachable code.
48151
48152         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
48153
48154         * lib/glob.c (glob_in_dir): Add some comments and asserts to
48155         explain why there are no leaks.
48156
48157         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
48158
48159         [BZ #3253]
48160         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
48161         time, rather allocate increasingly bigger arrays of pointers, if
48162         possible with alloca, if too large with malloc.
48163
48164 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48165
48166         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
48167         Problem reported by H.Merijn Brand in
48168         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
48169         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
48170         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
48171
48172 2007-10-15  Bruno Haible  <bruno@clisp.org>
48173
48174         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
48175         with explicit rpl_ prefix.
48176         * lib/fopen.c (fopen): Likewise.
48177         * lib/freopen.c (freopen): Likewise.
48178         * lib/iconv.c (iconv): Likewise.
48179         * lib/iconv_close.c (iconv_close): Likewise.
48180
48181 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48182
48183         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
48184
48185 2007-10-15  Bruno Haible  <bruno@clisp.org>
48186
48187         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
48188         <stddef.h> instead of <stdlib.h> since we only need NULL.
48189         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48190
48191 2007-10-15  Bruno Haible  <bruno@clisp.org>
48192
48193         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
48194         Replace paragraph talking about LIBOBJS.
48195         Reported by Colin Watson <cjwatson@debian.org>.
48196
48197 2007-10-15  Bruno Haible  <bruno@clisp.org>
48198
48199         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
48200         <stdlib.h> before using NULL.
48201
48202 2007-10-15  Simon Josefsson  <simon@josefsson.org>
48203
48204         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
48205         Reported by Albert Chin <china@thewrittenword.com>.
48206
48207 2007-10-14  Bruno Haible  <bruno@clisp.org>
48208
48209         * modules/iconv_open-utf-tests: New file.
48210         * tests/test-iconv-utf.c: New file.
48211
48212         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
48213         * modules/iconv_open-utf: New file.
48214         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
48215         (iconv, iconv_close): New declarations.
48216         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
48217         be defined.
48218         (iconv_open): Add special handling of conversion between UTF-8 and
48219         UTF-{16,32}{BE,LE}.
48220         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
48221         * lib/iconv_close.c: New file.
48222         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
48223         gl_FUNC_ICONV_OPEN.
48224         (gl_FUNC_ICONV_OPEN): Use it.
48225         (gl_FUNC_ICONV_OPEN_UTF): New macro.
48226         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
48227         and REPLACE_ICONV_UTF.
48228         * modules/iconv_open (Depends-on): Add c-strcase.
48229         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
48230         ICONV_CONST.
48231         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
48232
48233 2007-10-13  Albert Chin  <china@thewrittenword.com>
48234             Bruno Haible  <bruno@clisp.org>
48235
48236         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
48237         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
48238
48239 2007-10-13  Bruno Haible  <bruno@clisp.org>
48240
48241         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
48242         defined, use the ISO C99 inline semantics.
48243         * lib/argp.h (ARGP_EI): Likewise.
48244
48245 2007-10-13  Bruno Haible  <bruno@clisp.org>
48246
48247         Handle 'inline' change in gcc 4.3.0.
48248         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
48249         argp_fmtstream_write, argp_fmtstream_set_lmargin,
48250         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
48251         argp_fmtstream_point): Disable 'extern' declaration if the function
48252         definition is going to be provided inline.
48253         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
48254         semantics, not the ISO C99 inline semantics.
48255         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
48256         'extern' declaration if the function definition is going to be provided
48257         inline.
48258         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
48259         the GNU C inline semantics, not the ISO C99 inline semantics. With
48260         GCC 4.2, avoid a warning.
48261
48262 2007-10-13  Bruno Haible  <bruno@clisp.org>
48263
48264         * lib/freading.h (freading): Enable the use of __freading for
48265         glibc >= 2.7.
48266         * lib/freading.c (freading): Likewise.
48267
48268 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48269
48270         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
48271         "warning: C99 inline functions are not supported; using GNU89".
48272
48273 2007-10-12  Bruno Haible  <bruno@clisp.org>
48274
48275         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
48276         of 2.
48277         * tests/test-ceilf2.c: New file.
48278         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
48279
48280         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
48281         * modules/ceilf-tests: Update.
48282
48283 2007-10-12  Bruno Haible  <bruno@clisp.org>
48284
48285         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
48286         of 2.
48287         * tests/test-floorf2.c: New file.
48288         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
48289
48290         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
48291         * modules/floorf-tests: Update.
48292
48293 2007-10-12  Bruno Haible  <bruno@clisp.org>
48294
48295         * tests/test-trunc2.c: New file.
48296         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
48297
48298         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
48299         * modules/trunc-tests: Update.
48300
48301 2007-10-12  Bruno Haible  <bruno@clisp.org>
48302
48303         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
48304         of 2.
48305         * tests/test-truncf2.c: New file.
48306         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
48307
48308         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
48309         * modules/truncf-tests: Update.
48310
48311 2007-10-11  Eric Blake  <ebb9@byu.net>
48312
48313         Don't claim strerror is broken on Interix.
48314         * doc/functions/strerror.texi (strerror): Known broken systems are
48315         now Solaris 8, and not Interix.
48316         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
48317         Interix on cross-compile.
48318         Reported by Martin Koeppe in
48319         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
48320
48321 2007-10-11  Bruno Haible  <bruno@clisp.org>
48322
48323         * modules/i-ring-tests: New file.
48324         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
48325         instead of assert.
48326
48327 2007-10-11  Bruno Haible  <bruno@clisp.org>
48328
48329         * modules/filenamecat-tests: New file.
48330         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
48331         * lib/filenamecat.c: Remove test code.
48332
48333 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48334
48335         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
48336
48337         * lib/strerror.c: Include <string.h> always, to test interface,
48338         and to remove the need for the dummy.
48339         Include intprops.h to compute width instead of doing it ourselves
48340         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
48341         (strerror): Define it to return NULL if there's no system strerror.
48342         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
48343         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
48344         ancient pre-strerror Unix systems well any more.  Saying "unknown
48345         system error" is enough.
48346         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
48347         simpler strerror.c implementation.
48348         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
48349         Simplify the tests to reflect the simpler strerror implementation.
48350         * modules/strerror (Depends-on): Add intprops.
48351
48352 2007-10-09  Eric Blake  <ebb9@byu.net>
48353
48354         Silence test-fpending.
48355         * modules/fpending-tests (Files): Add wrapper script.
48356         * tests/test-fpending.sh: New file.
48357
48358 2007-10-09  Bruno Haible  <bruno@clisp.org>
48359
48360         * MODULES.html.sh (func_module): Don't create a hyperlink for
48361         function names like 'printf_frexp'.
48362         (Misc): Add crc, memxor.
48363         (Characteristics of floating types): New section.
48364         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
48365         isnanf-nolibm, signbit, trunc, truncf, truncl.
48366         (Enhancements for ISO C 99 functions): New subsection Input/output.
48367         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
48368         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
48369         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
48370         (Compatibility checks for POSIX:2001 functions): Add clock-time.
48371         (Enhancements for POSIX:2001 functions): Add chdir-long.
48372         (File system functions): Add areadlink, chdir-safer, read-file.
48373         Remove cycle-check.
48374         (File system as inode set): New section.
48375         (Date and time): Add gethrxtime.
48376         (Multithreading): Add openmp.
48377         (Internationalization functions): Add localename.
48378         (Unicode string functions): Add unistr/u*-mbsnlen.
48379         (Support for maintaining and releasing projects): Add git-version-gen.
48380         (Lone files): Remove directories.
48381
48382 2007-10-08  Ben Pfaff  <blp@gnu.org>
48383
48384         * lib/xmalloca.h: Fix typo in comment.
48385
48386 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48387
48388         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
48389         when avoiding problems with integer overflow.  Use a portable test
48390         instead.
48391
48392 2007-10-08  Simon Josefsson  <simon@josefsson.org>
48393
48394         * modules/dummy (License): Change to LGPLv2+.
48395         * modules/float (License): Likewise
48396         * modules/realloc (License): Likewise
48397         * modules/stdlib (License): Likewise
48398
48399 2007-10-07  Bruno Haible  <bruno@clisp.org>
48400
48401         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
48402         * floor.c (TWO_MANT_DIG): Likewise.
48403         * ceil.c (TWO_MANT_DIG): Likewise.
48404         Reported by Ben Pfaff.
48405
48406 2007-10-07  Bruno Haible  <bruno@clisp.org>
48407
48408         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
48409         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
48410         * lib/frexp.c (FUNC): Likewise.
48411         * lib/printf-frexp.h (printf_frexp): Likewise.
48412         * lib/printf-frexpl.h (printf_frexpl): Likewise.
48413         * lib/printf-frexp.c (FUNC): Likewise.
48414         Suggested by Jim Meyering.
48415
48416 2007-10-07  Jim Meyering  <meyering@redhat.com>
48417
48418         Make xnanosleep's integer overflow test more robust.
48419         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
48420         so that gcc-4.3.0 doesn't optimize away this test for overflow.
48421
48422 2007-10-07  Bruno Haible  <bruno@clisp.org>
48423
48424         * NEWS: Mention the license change.
48425
48426         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
48427         abbreviations in the modules files.
48428
48429         Change copyright notice from GPLv2+ to GPLv3+.
48430         * README: Change copyright notice.
48431         * MODULES.html.sh: Likewise.
48432         * build-aux/bootstrap.conf: Likewise.
48433         * build-aux/config.libpath: Likewise.
48434         * build-aux/csharpcomp.sh.in: Likewise.
48435         * build-aux/csharpexec.sh.in: Likewise.
48436         * build-aux/install-reloc: Likewise.
48437         * build-aux/javacomp.sh.in: Likewise.
48438         * build-aux/javaexec.sh.in: Likewise.
48439         * build-aux/ldd.sh.in: Likewise.
48440         * build-aux/reloc-ldflags: Likewise.
48441         * build-aux/relocatable.sh.in: Likewise.
48442         * build-aux/x-to-1.in: Likewise.
48443         * check-module: Likewise.
48444         * config/srclistvars.sh: Likewise.
48445         * gnulib-tool: Likewise.
48446         * lib/acl-internal.h: Likewise.
48447         * lib/acl.c: Likewise.
48448         * lib/acl.h: Likewise.
48449         * lib/acl_entries.c: Likewise.
48450         * lib/areadlink-with-size.c: Likewise.
48451         * lib/areadlink.c: Likewise.
48452         * lib/areadlink.h: Likewise.
48453         * lib/argmatch.c: Likewise.
48454         * lib/argmatch.h: Likewise.
48455         * lib/argp-ba.c: Likewise.
48456         * lib/argp-eexst.c: Likewise.
48457         * lib/argp-fmtstream.c: Likewise.
48458         * lib/argp-fmtstream.h: Likewise.
48459         * lib/argp-fs-xinl.c: Likewise.
48460         * lib/argp-help.c: Likewise.
48461         * lib/argp-namefrob.h: Likewise.
48462         * lib/argp-parse.c: Likewise.
48463         * lib/argp-pin.c: Likewise.
48464         * lib/argp-pv.c: Likewise.
48465         * lib/argp-pvh.c: Likewise.
48466         * lib/argp-xinl.c: Likewise.
48467         * lib/argp.h: Likewise.
48468         * lib/at-func.c: Likewise.
48469         * lib/atanl.c: Likewise.
48470         * lib/backupfile.c: Likewise.
48471         * lib/backupfile.h: Likewise.
48472         * lib/basename.c: Likewise.
48473         * lib/binary-io.h: Likewise.
48474         * lib/byteswap.in.h: Likewise.
48475         * lib/c-stack.c: Likewise.
48476         * lib/c-stack.h: Likewise.
48477         * lib/c-strcasestr.c: Likewise.
48478         * lib/c-strcasestr.h: Likewise.
48479         * lib/c-strstr.c: Likewise.
48480         * lib/c-strstr.h: Likewise.
48481         * lib/c-strtod.c: Likewise.
48482         * lib/calloc.c: Likewise.
48483         * lib/canon-host.c: Likewise.
48484         * lib/canon-host.h: Likewise.
48485         * lib/canonicalize-lgpl.c: Likewise.
48486         * lib/canonicalize.c: Likewise.
48487         * lib/canonicalize.h: Likewise.
48488         * lib/ceil.c: Likewise.
48489         * lib/ceilf.c: Likewise.
48490         * lib/ceill.c: Likewise.
48491         * lib/chdir-long.c: Likewise.
48492         * lib/chdir-long.h: Likewise.
48493         * lib/chdir-safer.c: Likewise.
48494         * lib/chdir-safer.h: Likewise.
48495         * lib/chown.c: Likewise.
48496         * lib/classpath.c: Likewise.
48497         * lib/classpath.h: Likewise.
48498         * lib/clean-temp.c: Likewise.
48499         * lib/clean-temp.h: Likewise.
48500         * lib/cloexec.c: Likewise.
48501         * lib/close-stream.c: Likewise.
48502         * lib/closein.c: Likewise.
48503         * lib/closein.h: Likewise.
48504         * lib/closeout.c: Likewise.
48505         * lib/closeout.h: Likewise.
48506         * lib/concat-filename.c: Likewise.
48507         * lib/copy-file.c: Likewise.
48508         * lib/copy-file.h: Likewise.
48509         * lib/count-one-bits.h: Likewise.
48510         * lib/crc.c: Likewise.
48511         * lib/crc.h: Likewise.
48512         * lib/creat-safer.c: Likewise.
48513         * lib/csharpcomp.c: Likewise.
48514         * lib/csharpcomp.h: Likewise.
48515         * lib/csharpexec.c: Likewise.
48516         * lib/csharpexec.h: Likewise.
48517         * lib/cycle-check.c: Likewise.
48518         * lib/cycle-check.h: Likewise.
48519         * lib/diacrit.c: Likewise.
48520         * lib/diacrit.h: Likewise.
48521         * lib/diffseq.h: Likewise.
48522         * lib/dirchownmod.c: Likewise.
48523         * lib/dirent.in.h: Likewise.
48524         * lib/dirfd.c: Likewise.
48525         * lib/dirfd.h: Likewise.
48526         * lib/dirname.c: Likewise.
48527         * lib/dirname.h: Likewise.
48528         * lib/dummy.c: Likewise.
48529         * lib/dup-safer.c: Likewise.
48530         * lib/dup2.c: Likewise.
48531         * lib/eealloc.h: Likewise.
48532         * lib/error.c: Likewise.
48533         * lib/error.h: Likewise.
48534         * lib/euidaccess.c: Likewise.
48535         * lib/exclude.c: Likewise.
48536         * lib/exclude.h: Likewise.
48537         * lib/execute.c: Likewise.
48538         * lib/execute.h: Likewise.
48539         * lib/exitfail.c: Likewise.
48540         * lib/exitfail.h: Likewise.
48541         * lib/expl.c: Likewise.
48542         * lib/fatal-signal.c: Likewise.
48543         * lib/fatal-signal.h: Likewise.
48544         * lib/fbufmode.c: Likewise.
48545         * lib/fbufmode.h: Likewise.
48546         * lib/fchdir.c: Likewise.
48547         * lib/fchmodat.c: Likewise.
48548         * lib/fchownat.c: Likewise.
48549         * lib/fcntl--.h: Likewise.
48550         * lib/fcntl-safer.h: Likewise.
48551         * lib/fcntl.in.h: Likewise.
48552         * lib/fd-safer.c: Likewise.
48553         * lib/fflush.c: Likewise.
48554         * lib/file-has-acl.c: Likewise.
48555         * lib/file-set.c: Likewise.
48556         * lib/file-type.c: Likewise.
48557         * lib/file-type.h: Likewise.
48558         * lib/fileblocks.c: Likewise.
48559         * lib/filemode.c: Likewise.
48560         * lib/filemode.h: Likewise.
48561         * lib/filename.h: Likewise.
48562         * lib/filenamecat.c: Likewise.
48563         * lib/filenamecat.h: Likewise.
48564         * lib/findprog.c: Likewise.
48565         * lib/findprog.h: Likewise.
48566         * lib/float.in.h: Likewise.
48567         * lib/floor.c: Likewise.
48568         * lib/floorf.c: Likewise.
48569         * lib/floorl.c: Likewise.
48570         * lib/fopen-safer.c: Likewise.
48571         * lib/fopen.c: Likewise.
48572         * lib/fpending.c: Likewise.
48573         * lib/fpending.h: Likewise.
48574         * lib/fprintf.c: Likewise.
48575         * lib/fprintftime.h: Likewise.
48576         * lib/fpucw.h: Likewise.
48577         * lib/fpurge.c: Likewise.
48578         * lib/fpurge.h: Likewise.
48579         * lib/freadable.c: Likewise.
48580         * lib/freadable.h: Likewise.
48581         * lib/freadahead.c: Likewise.
48582         * lib/freadahead.h: Likewise.
48583         * lib/freading.c: Likewise.
48584         * lib/freading.h: Likewise.
48585         * lib/free.c: Likewise.
48586         * lib/freopen.c: Likewise.
48587         * lib/frexp.c: Likewise.
48588         * lib/frexpl.c: Likewise.
48589         * lib/fseek.c: Likewise.
48590         * lib/fseterr.c: Likewise.
48591         * lib/fseterr.h: Likewise.
48592         * lib/fstatat.c: Likewise.
48593         * lib/fstrcmp.c: Likewise.
48594         * lib/fstrcmp.h: Likewise.
48595         * lib/fsusage.c: Likewise.
48596         * lib/fsusage.h: Likewise.
48597         * lib/ftell.c: Likewise.
48598         * lib/ftello.c: Likewise.
48599         * lib/fts-cycle.c: Likewise.
48600         * lib/fts.c: Likewise.
48601         * lib/fts_.h: Likewise.
48602         * lib/full-read.c: Likewise.
48603         * lib/full-read.h: Likewise.
48604         * lib/full-write.c: Likewise.
48605         * lib/full-write.h: Likewise.
48606         * lib/fwritable.c: Likewise.
48607         * lib/fwritable.h: Likewise.
48608         * lib/fwriteerror.c: Likewise.
48609         * lib/fwriteerror.h: Likewise.
48610         * lib/fwriting.c: Likewise.
48611         * lib/fwriting.h: Likewise.
48612         * lib/gcd.c: Likewise.
48613         * lib/gcd.h: Likewise.
48614         * lib/getcwd.c: Likewise.
48615         * lib/getdate.h: Likewise.
48616         * lib/getdate.y: Likewise.
48617         * lib/getdomainname.c: Likewise.
48618         * lib/getdomainname.h: Likewise.
48619         * lib/getgroups.c: Likewise.
48620         * lib/gethostname.c: Likewise.
48621         * lib/gethrxtime.c: Likewise.
48622         * lib/gethrxtime.h: Likewise.
48623         * lib/getloadavg.c: Likewise.
48624         * lib/getndelim2.c: Likewise.
48625         * lib/getndelim2.h: Likewise.
48626         * lib/getnline.c: Likewise.
48627         * lib/getnline.h: Likewise.
48628         * lib/getopt.c: Likewise.
48629         * lib/getopt.in.h: Likewise.
48630         * lib/getopt1.c: Likewise.
48631         * lib/getopt_int.h: Likewise.
48632         * lib/getpagesize.h: Likewise.
48633         * lib/getsubopt.c: Likewise.
48634         * lib/gettime.c: Likewise.
48635         * lib/getugroups.c: Likewise.
48636         * lib/getugroups.h: Likewise.
48637         * lib/getusershell.c: Likewise.
48638         * lib/gl_anyavltree_list1.h: Likewise.
48639         * lib/gl_anyavltree_list2.h: Likewise.
48640         * lib/gl_anyhash_list1.h: Likewise.
48641         * lib/gl_anyhash_list2.h: Likewise.
48642         * lib/gl_anylinked_list1.h: Likewise.
48643         * lib/gl_anylinked_list2.h: Likewise.
48644         * lib/gl_anyrbtree_list1.h: Likewise.
48645         * lib/gl_anyrbtree_list2.h: Likewise.
48646         * lib/gl_anytree_list1.h: Likewise.
48647         * lib/gl_anytree_list2.h: Likewise.
48648         * lib/gl_anytree_oset.h: Likewise.
48649         * lib/gl_anytreehash_list1.h: Likewise.
48650         * lib/gl_anytreehash_list2.h: Likewise.
48651         * lib/gl_array_list.c: Likewise.
48652         * lib/gl_array_list.h: Likewise.
48653         * lib/gl_array_oset.c: Likewise.
48654         * lib/gl_array_oset.h: Likewise.
48655         * lib/gl_avltree_list.c: Likewise.
48656         * lib/gl_avltree_list.h: Likewise.
48657         * lib/gl_avltree_oset.c: Likewise.
48658         * lib/gl_avltree_oset.h: Likewise.
48659         * lib/gl_avltreehash_list.c: Likewise.
48660         * lib/gl_avltreehash_list.h: Likewise.
48661         * lib/gl_carray_list.c: Likewise.
48662         * lib/gl_carray_list.h: Likewise.
48663         * lib/gl_linked_list.c: Likewise.
48664         * lib/gl_linked_list.h: Likewise.
48665         * lib/gl_linkedhash_list.c: Likewise.
48666         * lib/gl_linkedhash_list.h: Likewise.
48667         * lib/gl_list.c: Likewise.
48668         * lib/gl_list.h: Likewise.
48669         * lib/gl_oset.c: Likewise.
48670         * lib/gl_oset.h: Likewise.
48671         * lib/gl_rbtree_list.c: Likewise.
48672         * lib/gl_rbtree_list.h: Likewise.
48673         * lib/gl_rbtree_oset.c: Likewise.
48674         * lib/gl_rbtree_oset.h: Likewise.
48675         * lib/gl_rbtreehash_list.c: Likewise.
48676         * lib/gl_rbtreehash_list.h: Likewise.
48677         * lib/gl_sublist.c: Likewise.
48678         * lib/gl_sublist.h: Likewise.
48679         * lib/group-member.c: Likewise.
48680         * lib/group-member.h: Likewise.
48681         * lib/hard-locale.c: Likewise.
48682         * lib/hard-locale.h: Likewise.
48683         * lib/hash-pjw.c: Likewise.
48684         * lib/hash-pjw.h: Likewise.
48685         * lib/hash-triple.c: Likewise.
48686         * lib/hash.c: Likewise.
48687         * lib/hash.h: Likewise.
48688         * lib/human.c: Likewise.
48689         * lib/human.h: Likewise.
48690         * lib/i-ring.c: Likewise.
48691         * lib/i-ring.h: Likewise.
48692         * lib/idcache.c: Likewise.
48693         * lib/imaxabs.c: Likewise.
48694         * lib/imaxdiv.c: Likewise.
48695         * lib/inet_pton.c: Likewise.
48696         * lib/inet_pton.h: Likewise.
48697         * lib/intprops.h: Likewise.
48698         * lib/inttostr.c: Likewise.
48699         * lib/inttostr.h: Likewise.
48700         * lib/inttypes.in.h: Likewise.
48701         * lib/isapipe.c: Likewise.
48702         * lib/isdir.c: Likewise.
48703         * lib/isnan.c: Likewise.
48704         * lib/isnan.h: Likewise.
48705         * lib/isnanf.c: Likewise.
48706         * lib/isnanf.h: Likewise.
48707         * lib/isnanl-nolibm.h: Likewise.
48708         * lib/isnanl.c: Likewise.
48709         * lib/isnanl.h: Likewise.
48710         * lib/javacomp.c: Likewise.
48711         * lib/javacomp.h: Likewise.
48712         * lib/javaexec.c: Likewise.
48713         * lib/javaexec.h: Likewise.
48714         * lib/javaversion.c: Likewise.
48715         * lib/javaversion.h: Likewise.
48716         * lib/javaversion.java: Likewise.
48717         * lib/lbrkprop.h: Likewise.
48718         * lib/lchmod.h: Likewise.
48719         * lib/lchown.c: Likewise.
48720         * lib/ldexpl.c: Likewise.
48721         * lib/linebreak.c: Likewise.
48722         * lib/linebreak.h: Likewise.
48723         * lib/linebuffer.c: Likewise.
48724         * lib/linebuffer.h: Likewise.
48725         * lib/locale.in.h: Likewise.
48726         * lib/logl.c: Likewise.
48727         * lib/long-options.c: Likewise.
48728         * lib/long-options.h: Likewise.
48729         * lib/lstat.c: Likewise.
48730         * lib/lstat.h: Likewise.
48731         * lib/math.in.h: Likewise.
48732         * lib/mbchar.c: Likewise.
48733         * lib/mbchar.h: Likewise.
48734         * lib/mbfile.h: Likewise.
48735         * lib/mbiter.h: Likewise.
48736         * lib/mbscasecmp.c: Likewise.
48737         * lib/mbscasestr.c: Likewise.
48738         * lib/mbschr.c: Likewise.
48739         * lib/mbscspn.c: Likewise.
48740         * lib/mbslen.c: Likewise.
48741         * lib/mbsncasecmp.c: Likewise.
48742         * lib/mbsnlen.c: Likewise.
48743         * lib/mbspbrk.c: Likewise.
48744         * lib/mbspcasecmp.c: Likewise.
48745         * lib/mbsrchr.c: Likewise.
48746         * lib/mbssep.c: Likewise.
48747         * lib/mbsspn.c: Likewise.
48748         * lib/mbsstr.c: Likewise.
48749         * lib/mbstok_r.c: Likewise.
48750         * lib/mbswidth.c: Likewise.
48751         * lib/mbswidth.h: Likewise.
48752         * lib/mbuiter.h: Likewise.
48753         * lib/memcasecmp.c: Likewise.
48754         * lib/memcasecmp.h: Likewise.
48755         * lib/memchr.c: Likewise.
48756         * lib/memcmp.c: Likewise.
48757         * lib/memcoll.c: Likewise.
48758         * lib/memcoll.h: Likewise.
48759         * lib/memcpy.c: Likewise.
48760         * lib/memrchr.c: Likewise.
48761         * lib/mkancesdirs.c: Likewise.
48762         * lib/mkdir-p.c: Likewise.
48763         * lib/mkdir-p.h: Likewise.
48764         * lib/mkdir.c: Likewise.
48765         * lib/mkdirat.c: Likewise.
48766         * lib/mkdtemp.c: Likewise.
48767         * lib/mkstemp-safer.c: Likewise.
48768         * lib/mkstemp.c: Likewise.
48769         * lib/modechange.c: Likewise.
48770         * lib/modechange.h: Likewise.
48771         * lib/mountlist.c: Likewise.
48772         * lib/mountlist.h: Likewise.
48773         * lib/mpsort.c: Likewise.
48774         * lib/nanosleep.c: Likewise.
48775         * lib/obstack.c: Likewise.
48776         * lib/obstack.h: Likewise.
48777         * lib/open-safer.c: Likewise.
48778         * lib/open.c: Likewise.
48779         * lib/openat-die.c: Likewise.
48780         * lib/openat-priv.h: Likewise.
48781         * lib/openat-proc.c: Likewise.
48782         * lib/openat.c: Likewise.
48783         * lib/openat.h: Likewise.
48784         * lib/pagealign_alloc.c: Likewise.
48785         * lib/pagealign_alloc.h: Likewise.
48786         * lib/physmem.c: Likewise.
48787         * lib/physmem.h: Likewise.
48788         * lib/pipe-safer.c: Likewise.
48789         * lib/pipe.c: Likewise.
48790         * lib/pipe.h: Likewise.
48791         * lib/posixtm.c: Likewise.
48792         * lib/posixtm.h: Likewise.
48793         * lib/posixver.c: Likewise.
48794         * lib/printf-frexp.c: Likewise.
48795         * lib/printf-frexp.h: Likewise.
48796         * lib/printf-frexpl.c: Likewise.
48797         * lib/printf-frexpl.h: Likewise.
48798         * lib/printf.c: Likewise.
48799         * lib/progname.c: Likewise.
48800         * lib/progname.h: Likewise.
48801         * lib/progreloc.c: Likewise.
48802         * lib/putenv.c: Likewise.
48803         * lib/quote.c: Likewise.
48804         * lib/quote.h: Likewise.
48805         * lib/quotearg.c: Likewise.
48806         * lib/quotearg.h: Likewise.
48807         * lib/raise.c: Likewise.
48808         * lib/readline.c: Likewise.
48809         * lib/readline.h: Likewise.
48810         * lib/readlink.c: Likewise.
48811         * lib/readtokens.c: Likewise.
48812         * lib/readtokens.h: Likewise.
48813         * lib/readtokens0.c: Likewise.
48814         * lib/readtokens0.h: Likewise.
48815         * lib/readutmp.c: Likewise.
48816         * lib/readutmp.h: Likewise.
48817         * lib/realloc.c: Likewise.
48818         * lib/relocwrapper.c: Likewise.
48819         * lib/rename-dest-slash.c: Likewise.
48820         * lib/rename.c: Likewise.
48821         * lib/rmdir.c: Likewise.
48822         * lib/rpmatch.c: Likewise.
48823         * lib/safe-read.c: Likewise.
48824         * lib/safe-read.h: Likewise.
48825         * lib/safe-write.c: Likewise.
48826         * lib/safe-write.h: Likewise.
48827         * lib/same-inode.h: Likewise.
48828         * lib/same.c: Likewise.
48829         * lib/same.h: Likewise.
48830         * lib/save-cwd.c: Likewise.
48831         * lib/save-cwd.h: Likewise.
48832         * lib/savedir.c: Likewise.
48833         * lib/savedir.h: Likewise.
48834         * lib/savewd.c: Likewise.
48835         * lib/savewd.h: Likewise.
48836         * lib/search.in.h: Likewise.
48837         * lib/setenv.c: Likewise.
48838         * lib/setenv.h: Likewise.
48839         * lib/settime.c: Likewise.
48840         * lib/sh-quote.c: Likewise.
48841         * lib/sh-quote.h: Likewise.
48842         * lib/sig2str.c: Likewise.
48843         * lib/sig2str.h: Likewise.
48844         * lib/signal.in.h: Likewise.
48845         * lib/signbitd.c: Likewise.
48846         * lib/signbitf.c: Likewise.
48847         * lib/signbitl.c: Likewise.
48848         * lib/sigprocmask.c: Likewise.
48849         * lib/sincosl.c: Likewise.
48850         * lib/sleep.c: Likewise.
48851         * lib/sprintf.c: Likewise.
48852         * lib/sqrtl.c: Likewise.
48853         * lib/stat-time.h: Likewise.
48854         * lib/stdio--.h: Likewise.
48855         * lib/stdio-safer.h: Likewise.
48856         * lib/stdlib--.h: Likewise.
48857         * lib/stdlib-safer.h: Likewise.
48858         * lib/stdlib.in.h: Likewise.
48859         * lib/stpcpy.c: Likewise.
48860         * lib/stpncpy.c: Likewise.
48861         * lib/strchrnul.c: Likewise.
48862         * lib/strcspn.c: Likewise.
48863         * lib/strerror.c: Likewise.
48864         * lib/strftime.c: Likewise.
48865         * lib/strftime.h: Likewise.
48866         * lib/striconveh.c: Likewise.
48867         * lib/striconveh.h: Likewise.
48868         * lib/striconveha.c: Likewise.
48869         * lib/striconveha.h: Likewise.
48870         * lib/stripslash.c: Likewise.
48871         * lib/strnlen1.c: Likewise.
48872         * lib/strnlen1.h: Likewise.
48873         * lib/strtod.c: Likewise.
48874         * lib/strtoimax.c: Likewise.
48875         * lib/strtok_r.c: Likewise.
48876         * lib/strtol.c: Likewise.
48877         * lib/strtoll.c: Likewise.
48878         * lib/strtoul.c: Likewise.
48879         * lib/strtoull.c: Likewise.
48880         * lib/sysexits.in.h: Likewise.
48881         * lib/tempname.c: Likewise.
48882         * lib/tempname.h: Likewise.
48883         * lib/timespec.h: Likewise.
48884         * lib/tls.c: Likewise.
48885         * lib/tls.h: Likewise.
48886         * lib/tmpdir.c: Likewise.
48887         * lib/tmpdir.h: Likewise.
48888         * lib/tmpfile-safer.c: Likewise.
48889         * lib/tmpfile.c: Likewise.
48890         * lib/trigl.c: Likewise.
48891         * lib/trigl.h: Likewise.
48892         * lib/trim.c: Likewise.
48893         * lib/trim.h: Likewise.
48894         * lib/trunc.c: Likewise.
48895         * lib/truncf.c: Likewise.
48896         * lib/truncl.c: Likewise.
48897         * lib/tsearch.c: Likewise.
48898         * lib/unicodeio.c: Likewise.
48899         * lib/unicodeio.h: Likewise.
48900         * lib/unistd--.h: Likewise.
48901         * lib/unistd-safer.h: Likewise.
48902         * lib/unistdio/ulc-fprintf.c: Likewise.
48903         * lib/unistdio/ulc-vfprintf.c: Likewise.
48904         * lib/unlinkdir.c: Likewise.
48905         * lib/unlinkdir.h: Likewise.
48906         * lib/unlocked-io.h: Likewise.
48907         * lib/unsetenv.c: Likewise.
48908         * lib/userspec.c: Likewise.
48909         * lib/utime.c: Likewise.
48910         * lib/utimecmp.c: Likewise.
48911         * lib/utimecmp.h: Likewise.
48912         * lib/utimens.c: Likewise.
48913         * lib/verify.h: Likewise.
48914         * lib/verror.c: Likewise.
48915         * lib/verror.h: Likewise.
48916         * lib/version-etc-fsf.c: Likewise.
48917         * lib/version-etc.c: Likewise.
48918         * lib/version-etc.h: Likewise.
48919         * lib/vfprintf.c: Likewise.
48920         * lib/vprintf.c: Likewise.
48921         * lib/vsprintf.c: Likewise.
48922         * lib/w32spawn.h: Likewise.
48923         * lib/wait-process.c: Likewise.
48924         * lib/wait-process.h: Likewise.
48925         * lib/wcwidth.c: Likewise.
48926         * lib/write-any-file.c: Likewise.
48927         * lib/xalloc-die.c: Likewise.
48928         * lib/xalloc.h: Likewise.
48929         * lib/xasprintf.c: Likewise.
48930         * lib/xgetcwd.c: Likewise.
48931         * lib/xgetcwd.h: Likewise.
48932         * lib/xgetdomainname.c: Likewise.
48933         * lib/xgetdomainname.h: Likewise.
48934         * lib/xgethostname.c: Likewise.
48935         * lib/xmalloc.c: Likewise.
48936         * lib/xmalloca.c: Likewise.
48937         * lib/xmalloca.h: Likewise.
48938         * lib/xmemcoll.c: Likewise.
48939         * lib/xnanosleep.c: Likewise.
48940         * lib/xreadlink.c: Likewise.
48941         * lib/xreadlink.h: Likewise.
48942         * lib/xsetenv.c: Likewise.
48943         * lib/xsetenv.h: Likewise.
48944         * lib/xstriconv.c: Likewise.
48945         * lib/xstriconv.h: Likewise.
48946         * lib/xstrndup.c: Likewise.
48947         * lib/xstrndup.h: Likewise.
48948         * lib/xstrtod.c: Likewise.
48949         * lib/xstrtod.h: Likewise.
48950         * lib/xstrtol-error.c: Likewise.
48951         * lib/xstrtol.c: Likewise.
48952         * lib/xstrtol.h: Likewise.
48953         * lib/xtime.h: Likewise.
48954         * lib/xvasprintf.c: Likewise.
48955         * lib/xvasprintf.h: Likewise.
48956         * lib/yesno.c: Likewise.
48957         * lib/yesno.h: Likewise.
48958         * posix-modules: Likewise.
48959         * tests/test-alloca-opt.c: Likewise.
48960         * tests/test-arcfour.c: Likewise.
48961         * tests/test-arctwo.c: Likewise.
48962         * tests/test-argmatch.c: Likewise.
48963         * tests/test-argp-2.sh: Likewise.
48964         * tests/test-argp.c: Likewise.
48965         * tests/test-arpa_inet.c: Likewise.
48966         * tests/test-array_list.c: Likewise.
48967         * tests/test-array_oset.c: Likewise.
48968         * tests/test-atexit.c: Likewise.
48969         * tests/test-avltree_list.c: Likewise.
48970         * tests/test-avltree_oset.c: Likewise.
48971         * tests/test-avltreehash_list.c: Likewise.
48972         * tests/test-base64.c: Likewise.
48973         * tests/test-binary-io.c: Likewise.
48974         * tests/test-byteswap.c: Likewise.
48975         * tests/test-c-ctype.c: Likewise.
48976         * tests/test-c-strcasecmp.c: Likewise.
48977         * tests/test-c-strcasestr.c: Likewise.
48978         * tests/test-c-strncasecmp.c: Likewise.
48979         * tests/test-c-strstr.c: Likewise.
48980         * tests/test-canonicalize-lgpl.c: Likewise.
48981         * tests/test-canonicalize.c: Likewise.
48982         * tests/test-carray_list.c: Likewise.
48983         * tests/test-ceilf.c: Likewise.
48984         * tests/test-ceill.c: Likewise.
48985         * tests/test-count-one-bits.c: Likewise.
48986         * tests/test-crc.c: Likewise.
48987         * tests/test-dirname.c: Likewise.
48988         * tests/test-fbufmode.c: Likewise.
48989         * tests/test-fcntl.c: Likewise.
48990         * tests/test-fflush.c: Likewise.
48991         * tests/test-floorf.c: Likewise.
48992         * tests/test-floorl.c: Likewise.
48993         * tests/test-fopen.c: Likewise.
48994         * tests/test-fprintf-posix.c: Likewise.
48995         * tests/test-fprintf-posix.h: Likewise.
48996         * tests/test-fpurge.c: Likewise.
48997         * tests/test-freadable.c: Likewise.
48998         * tests/test-freadahead.c: Likewise.
48999         * tests/test-freading.c: Likewise.
49000         * tests/test-freopen.c: Likewise.
49001         * tests/test-frexp.c: Likewise.
49002         * tests/test-frexpl.c: Likewise.
49003         * tests/test-fseek.c: Likewise.
49004         * tests/test-fseeko.c: Likewise.
49005         * tests/test-fseterr.c: Likewise.
49006         * tests/test-fstrcmp.c: Likewise.
49007         * tests/test-ftell.c: Likewise.
49008         * tests/test-ftello.c: Likewise.
49009         * tests/test-fwritable.c: Likewise.
49010         * tests/test-fwriting.c: Likewise.
49011         * tests/test-getaddrinfo.c: Likewise.
49012         * tests/test-getpass.c: Likewise.
49013         * tests/test-gettimeofday.c: Likewise.
49014         * tests/test-hmac-md5.c: Likewise.
49015         * tests/test-hmac-sha1.c: Likewise.
49016         * tests/test-iconv.c: Likewise.
49017         * tests/test-iconvme.c: Likewise.
49018         * tests/test-inttypes.c: Likewise.
49019         * tests/test-isnan.c: Likewise.
49020         * tests/test-isnanf.c: Likewise.
49021         * tests/test-isnanl-nolibm.c: Likewise.
49022         * tests/test-isnanl.c: Likewise.
49023         * tests/test-isnanl.h: Likewise.
49024         * tests/test-ldexpl.c: Likewise.
49025         * tests/test-linked_list.c: Likewise.
49026         * tests/test-linkedhash_list.c: Likewise.
49027         * tests/test-locale.c: Likewise.
49028         * tests/test-localename.c: Likewise.
49029         * tests/test-lock.c: Likewise.
49030         * tests/test-lseek.c: Likewise.
49031         * tests/test-malloca.c: Likewise.
49032         * tests/test-math.c: Likewise.
49033         * tests/test-mbscasecmp.c: Likewise.
49034         * tests/test-mbscasestr1.c: Likewise.
49035         * tests/test-mbscasestr2.c: Likewise.
49036         * tests/test-mbscasestr3.c: Likewise.
49037         * tests/test-mbscasestr4.c: Likewise.
49038         * tests/test-mbschr.c: Likewise.
49039         * tests/test-mbscspn.c: Likewise.
49040         * tests/test-mbsncasecmp.c: Likewise.
49041         * tests/test-mbspbrk.c: Likewise.
49042         * tests/test-mbspcasecmp.c: Likewise.
49043         * tests/test-mbsrchr.c: Likewise.
49044         * tests/test-mbsspn.c: Likewise.
49045         * tests/test-mbsstr1.c: Likewise.
49046         * tests/test-mbsstr2.c: Likewise.
49047         * tests/test-mbsstr3.c: Likewise.
49048         * tests/test-md5.c: Likewise.
49049         * tests/test-memmem.c: Likewise.
49050         * tests/test-netinet_in.c: Likewise.
49051         * tests/test-open.c: Likewise.
49052         * tests/test-printf-frexp.c: Likewise.
49053         * tests/test-printf-frexpl.c: Likewise.
49054         * tests/test-printf-posix.c: Likewise.
49055         * tests/test-printf-posix.h: Likewise.
49056         * tests/test-rbtree_list.c: Likewise.
49057         * tests/test-rbtree_oset.c: Likewise.
49058         * tests/test-rbtreehash_list.c: Likewise.
49059         * tests/test-read-file.c: Likewise.
49060         * tests/test-rijndael.c: Likewise.
49061         * tests/test-search.c: Likewise.
49062         * tests/test-signbit.c: Likewise.
49063         * tests/test-sleep.c: Likewise.
49064         * tests/test-snprintf-posix.c: Likewise.
49065         * tests/test-snprintf-posix.h: Likewise.
49066         * tests/test-snprintf.c: Likewise.
49067         * tests/test-sprintf-posix.c: Likewise.
49068         * tests/test-sprintf-posix.h: Likewise.
49069         * tests/test-stat-time.c: Likewise.
49070         * tests/test-stdbool.c: Likewise.
49071         * tests/test-stdint.c: Likewise.
49072         * tests/test-stdio.c: Likewise.
49073         * tests/test-stdlib.c: Likewise.
49074         * tests/test-stpncpy.c: Likewise.
49075         * tests/test-strcasestr.c: Likewise.
49076         * tests/test-striconv.c: Likewise.
49077         * tests/test-striconveh.c: Likewise.
49078         * tests/test-striconveha.c: Likewise.
49079         * tests/test-string.c: Likewise.
49080         * tests/test-sys_select.c: Likewise.
49081         * tests/test-sys_socket.c: Likewise.
49082         * tests/test-sys_stat.c: Likewise.
49083         * tests/test-sys_time.c: Likewise.
49084         * tests/test-sysexits.c: Likewise.
49085         * tests/test-time.c: Likewise.
49086         * tests/test-tls.c: Likewise.
49087         * tests/test-trunc.c: Likewise.
49088         * tests/test-truncf.c: Likewise.
49089         * tests/test-truncl.c: Likewise.
49090         * tests/test-unistd.c: Likewise.
49091         * tests/test-vasnprintf-posix.c: Likewise.
49092         * tests/test-vasnprintf-posix2.c: Likewise.
49093         * tests/test-vasnprintf.c: Likewise.
49094         * tests/test-vasprintf-posix.c: Likewise.
49095         * tests/test-vasprintf.c: Likewise.
49096         * tests/test-verify.c: Likewise.
49097         * tests/test-vfprintf-posix.c: Likewise.
49098         * tests/test-vprintf-posix.c: Likewise.
49099         * tests/test-vsnprintf-posix.c: Likewise.
49100         * tests/test-vsnprintf.c: Likewise.
49101         * tests/test-vsprintf-posix.c: Likewise.
49102         * tests/test-wchar.c: Likewise.
49103         * tests/test-wctype.c: Likewise.
49104         * tests/test-wcwidth.c: Likewise.
49105         * tests/test-xstrtol.c: Likewise.
49106         * tests/test-xvasprintf.c: Likewise.
49107         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
49108         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
49109         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49110         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49111         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49112         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
49113         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49114         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49115         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49116         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
49117         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49118         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49119         * tests/uniname/test-uninames.c: Likewise.
49120         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
49121         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
49122         * tests/unistdio/test-u16-printf1.h: Likewise.
49123         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
49124         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
49125         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
49126         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
49127         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
49128         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
49129         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
49130         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
49131         * tests/unistdio/test-u32-printf1.h: Likewise.
49132         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
49133         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
49134         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
49135         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
49136         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
49137         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
49138         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
49139         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
49140         * tests/unistdio/test-u8-printf1.h: Likewise.
49141         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
49142         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
49143         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
49144         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
49145         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
49146         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
49147         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
49148         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
49149         * tests/unistdio/test-ulc-printf1.h: Likewise.
49150         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
49151         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
49152         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
49153         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
49154         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
49155         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
49156         * tests/uniwidth/test-u16-strwidth.c: Likewise.
49157         * tests/uniwidth/test-u16-width.c: Likewise.
49158         * tests/uniwidth/test-u32-strwidth.c: Likewise.
49159         * tests/uniwidth/test-u32-width.c: Likewise.
49160         * tests/uniwidth/test-u8-strwidth.c: Likewise.
49161         * tests/uniwidth/test-u8-width.c: Likewise.
49162         * tests/uniwidth/test-uc_width.c: Likewise.
49163         * config/srclist-update: Likewise.
49164         (fixlicense): Update to GPLv3+.
49165
49166         Change copyright notice from LGPLv2.1+ to LGPLv3+.
49167         * tests/test-tsearch.c: Change copyright notice.
49168
49169         Change copyright notice from LGPLv2.0+ to LGPLv3+.
49170         * lib/c-strcaseeq.h: Change copyright notice.
49171         * lib/streq.h: Likewise.
49172         * lib/uniconv.h: Likewise.
49173         * lib/uniconv/u-conv-from-enc.h: Likewise.
49174         * lib/uniconv/u-conv-to-enc.h: Likewise.
49175         * lib/uniconv/u-strconv-from-enc.h: Likewise.
49176         * lib/uniconv/u-strconv-to-enc.h: Likewise.
49177         * lib/uniconv/u16-conv-from-enc.c: Likewise.
49178         * lib/uniconv/u16-conv-to-enc.c: Likewise.
49179         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
49180         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
49181         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
49182         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
49183         * lib/uniconv/u32-conv-from-enc.c: Likewise.
49184         * lib/uniconv/u32-conv-to-enc.c: Likewise.
49185         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
49186         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
49187         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
49188         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
49189         * lib/uniconv/u8-conv-from-enc.c: Likewise.
49190         * lib/uniconv/u8-conv-to-enc.c: Likewise.
49191         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
49192         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
49193         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
49194         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
49195         * lib/uniname.h: Likewise.
49196         * lib/uniname/uniname.c: Likewise.
49197         * lib/unistdio.h: Likewise.
49198         * lib/unistdio/u-asnprintf.h: Likewise.
49199         * lib/unistdio/u-asprintf.h: Likewise.
49200         * lib/unistdio/u-printf-args.c: Likewise.
49201         * lib/unistdio/u-printf-args.h: Likewise.
49202         * lib/unistdio/u-printf-parse.h: Likewise.
49203         * lib/unistdio/u-snprintf.h: Likewise.
49204         * lib/unistdio/u-sprintf.h: Likewise.
49205         * lib/unistdio/u-vasprintf.h: Likewise.
49206         * lib/unistdio/u-vsnprintf.h: Likewise.
49207         * lib/unistdio/u-vsprintf.h: Likewise.
49208         * lib/unistdio/u16-asnprintf.c: Likewise.
49209         * lib/unistdio/u16-asprintf.c: Likewise.
49210         * lib/unistdio/u16-printf-parse.c: Likewise.
49211         * lib/unistdio/u16-snprintf.c: Likewise.
49212         * lib/unistdio/u16-sprintf.c: Likewise.
49213         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
49214         * lib/unistdio/u16-u16-asprintf.c: Likewise.
49215         * lib/unistdio/u16-u16-snprintf.c: Likewise.
49216         * lib/unistdio/u16-u16-sprintf.c: Likewise.
49217         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
49218         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
49219         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
49220         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
49221         * lib/unistdio/u16-vasnprintf.c: Likewise.
49222         * lib/unistdio/u16-vasprintf.c: Likewise.
49223         * lib/unistdio/u16-vsnprintf.c: Likewise.
49224         * lib/unistdio/u16-vsprintf.c: Likewise.
49225         * lib/unistdio/u32-asnprintf.c: Likewise.
49226         * lib/unistdio/u32-asprintf.c: Likewise.
49227         * lib/unistdio/u32-printf-parse.c: Likewise.
49228         * lib/unistdio/u32-snprintf.c: Likewise.
49229         * lib/unistdio/u32-sprintf.c: Likewise.
49230         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
49231         * lib/unistdio/u32-u32-asprintf.c: Likewise.
49232         * lib/unistdio/u32-u32-snprintf.c: Likewise.
49233         * lib/unistdio/u32-u32-sprintf.c: Likewise.
49234         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
49235         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
49236         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
49237         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
49238         * lib/unistdio/u32-vasnprintf.c: Likewise.
49239         * lib/unistdio/u32-vasprintf.c: Likewise.
49240         * lib/unistdio/u32-vsnprintf.c: Likewise.
49241         * lib/unistdio/u32-vsprintf.c: Likewise.
49242         * lib/unistdio/u8-asnprintf.c: Likewise.
49243         * lib/unistdio/u8-asprintf.c: Likewise.
49244         * lib/unistdio/u8-printf-parse.c: Likewise.
49245         * lib/unistdio/u8-snprintf.c: Likewise.
49246         * lib/unistdio/u8-sprintf.c: Likewise.
49247         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
49248         * lib/unistdio/u8-u8-asprintf.c: Likewise.
49249         * lib/unistdio/u8-u8-snprintf.c: Likewise.
49250         * lib/unistdio/u8-u8-sprintf.c: Likewise.
49251         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
49252         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
49253         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
49254         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
49255         * lib/unistdio/u8-vasnprintf.c: Likewise.
49256         * lib/unistdio/u8-vasprintf.c: Likewise.
49257         * lib/unistdio/u8-vsnprintf.c: Likewise.
49258         * lib/unistdio/u8-vsprintf.c: Likewise.
49259         * lib/unistdio/ulc-asnprintf.c: Likewise.
49260         * lib/unistdio/ulc-asprintf.c: Likewise.
49261         * lib/unistdio/ulc-printf-parse.c: Likewise.
49262         * lib/unistdio/ulc-snprintf.c: Likewise.
49263         * lib/unistdio/ulc-sprintf.c: Likewise.
49264         * lib/unistdio/ulc-vasnprintf.c: Likewise.
49265         * lib/unistdio/ulc-vasprintf.c: Likewise.
49266         * lib/unistdio/ulc-vsnprintf.c: Likewise.
49267         * lib/unistdio/ulc-vsprintf.c: Likewise.
49268         * lib/unistr.h: Likewise.
49269         * lib/unistr/u-cpy-alloc.h: Likewise.
49270         * lib/unistr/u-cpy.h: Likewise.
49271         * lib/unistr/u-endswith.h: Likewise.
49272         * lib/unistr/u-move.h: Likewise.
49273         * lib/unistr/u-set.h: Likewise.
49274         * lib/unistr/u-startswith.h: Likewise.
49275         * lib/unistr/u-stpcpy.h: Likewise.
49276         * lib/unistr/u-stpncpy.h: Likewise.
49277         * lib/unistr/u-strcat.h: Likewise.
49278         * lib/unistr/u-strcpy.h: Likewise.
49279         * lib/unistr/u-strcspn.h: Likewise.
49280         * lib/unistr/u-strdup.h: Likewise.
49281         * lib/unistr/u-strlen.h: Likewise.
49282         * lib/unistr/u-strncat.h: Likewise.
49283         * lib/unistr/u-strncpy.h: Likewise.
49284         * lib/unistr/u-strnlen.h: Likewise.
49285         * lib/unistr/u-strpbrk.h: Likewise.
49286         * lib/unistr/u-strspn.h: Likewise.
49287         * lib/unistr/u-strstr.h: Likewise.
49288         * lib/unistr/u-strtok.h: Likewise.
49289         * lib/unistr/u16-check.c: Likewise.
49290         * lib/unistr/u16-chr.c: Likewise.
49291         * lib/unistr/u16-cmp.c: Likewise.
49292         * lib/unistr/u16-cpy-alloc.c: Likewise.
49293         * lib/unistr/u16-cpy.c: Likewise.
49294         * lib/unistr/u16-endswith.c: Likewise.
49295         * lib/unistr/u16-mblen.c: Likewise.
49296         * lib/unistr/u16-mbsnlen.c: Likewise.
49297         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49298         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49299         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49300         * lib/unistr/u16-mbtouc.c: Likewise.
49301         * lib/unistr/u16-mbtoucr.c: Likewise.
49302         * lib/unistr/u16-move.c: Likewise.
49303         * lib/unistr/u16-next.c: Likewise.
49304         * lib/unistr/u16-prev.c: Likewise.
49305         * lib/unistr/u16-set.c: Likewise.
49306         * lib/unistr/u16-startswith.c: Likewise.
49307         * lib/unistr/u16-stpcpy.c: Likewise.
49308         * lib/unistr/u16-stpncpy.c: Likewise.
49309         * lib/unistr/u16-strcat.c: Likewise.
49310         * lib/unistr/u16-strchr.c: Likewise.
49311         * lib/unistr/u16-strcmp.c: Likewise.
49312         * lib/unistr/u16-strcpy.c: Likewise.
49313         * lib/unistr/u16-strcspn.c: Likewise.
49314         * lib/unistr/u16-strdup.c: Likewise.
49315         * lib/unistr/u16-strlen.c: Likewise.
49316         * lib/unistr/u16-strmblen.c: Likewise.
49317         * lib/unistr/u16-strmbtouc.c: Likewise.
49318         * lib/unistr/u16-strncat.c: Likewise.
49319         * lib/unistr/u16-strncmp.c: Likewise.
49320         * lib/unistr/u16-strncpy.c: Likewise.
49321         * lib/unistr/u16-strnlen.c: Likewise.
49322         * lib/unistr/u16-strpbrk.c: Likewise.
49323         * lib/unistr/u16-strrchr.c: Likewise.
49324         * lib/unistr/u16-strspn.c: Likewise.
49325         * lib/unistr/u16-strstr.c: Likewise.
49326         * lib/unistr/u16-strtok.c: Likewise.
49327         * lib/unistr/u16-to-u32.c: Likewise.
49328         * lib/unistr/u16-to-u8.c: Likewise.
49329         * lib/unistr/u16-uctomb-aux.c: Likewise.
49330         * lib/unistr/u16-uctomb.c: Likewise.
49331         * lib/unistr/u32-check.c: Likewise.
49332         * lib/unistr/u32-chr.c: Likewise.
49333         * lib/unistr/u32-cmp.c: Likewise.
49334         * lib/unistr/u32-cpy-alloc.c: Likewise.
49335         * lib/unistr/u32-cpy.c: Likewise.
49336         * lib/unistr/u32-endswith.c: Likewise.
49337         * lib/unistr/u32-mblen.c: Likewise.
49338         * lib/unistr/u32-mbsnlen.c: Likewise.
49339         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49340         * lib/unistr/u32-mbtouc.c: Likewise.
49341         * lib/unistr/u32-mbtoucr.c: Likewise.
49342         * lib/unistr/u32-move.c: Likewise.
49343         * lib/unistr/u32-next.c: Likewise.
49344         * lib/unistr/u32-prev.c: Likewise.
49345         * lib/unistr/u32-set.c: Likewise.
49346         * lib/unistr/u32-startswith.c: Likewise.
49347         * lib/unistr/u32-stpcpy.c: Likewise.
49348         * lib/unistr/u32-stpncpy.c: Likewise.
49349         * lib/unistr/u32-strcat.c: Likewise.
49350         * lib/unistr/u32-strchr.c: Likewise.
49351         * lib/unistr/u32-strcmp.c: Likewise.
49352         * lib/unistr/u32-strcpy.c: Likewise.
49353         * lib/unistr/u32-strcspn.c: Likewise.
49354         * lib/unistr/u32-strdup.c: Likewise.
49355         * lib/unistr/u32-strlen.c: Likewise.
49356         * lib/unistr/u32-strmblen.c: Likewise.
49357         * lib/unistr/u32-strmbtouc.c: Likewise.
49358         * lib/unistr/u32-strncat.c: Likewise.
49359         * lib/unistr/u32-strncmp.c: Likewise.
49360         * lib/unistr/u32-strncpy.c: Likewise.
49361         * lib/unistr/u32-strnlen.c: Likewise.
49362         * lib/unistr/u32-strpbrk.c: Likewise.
49363         * lib/unistr/u32-strrchr.c: Likewise.
49364         * lib/unistr/u32-strspn.c: Likewise.
49365         * lib/unistr/u32-strstr.c: Likewise.
49366         * lib/unistr/u32-strtok.c: Likewise.
49367         * lib/unistr/u32-to-u16.c: Likewise.
49368         * lib/unistr/u32-to-u8.c: Likewise.
49369         * lib/unistr/u32-uctomb.c: Likewise.
49370         * lib/unistr/u8-check.c: Likewise.
49371         * lib/unistr/u8-chr.c: Likewise.
49372         * lib/unistr/u8-cmp.c: Likewise.
49373         * lib/unistr/u8-cpy-alloc.c: Likewise.
49374         * lib/unistr/u8-cpy.c: Likewise.
49375         * lib/unistr/u8-endswith.c: Likewise.
49376         * lib/unistr/u8-mblen.c: Likewise.
49377         * lib/unistr/u8-mbsnlen.c: Likewise.
49378         * lib/unistr/u8-mbtouc-aux.c: Likewise.
49379         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49380         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49381         * lib/unistr/u8-mbtouc.c: Likewise.
49382         * lib/unistr/u8-mbtoucr.c: Likewise.
49383         * lib/unistr/u8-move.c: Likewise.
49384         * lib/unistr/u8-next.c: Likewise.
49385         * lib/unistr/u8-prev.c: Likewise.
49386         * lib/unistr/u8-set.c: Likewise.
49387         * lib/unistr/u8-startswith.c: Likewise.
49388         * lib/unistr/u8-stpcpy.c: Likewise.
49389         * lib/unistr/u8-stpncpy.c: Likewise.
49390         * lib/unistr/u8-strcat.c: Likewise.
49391         * lib/unistr/u8-strchr.c: Likewise.
49392         * lib/unistr/u8-strcmp.c: Likewise.
49393         * lib/unistr/u8-strcpy.c: Likewise.
49394         * lib/unistr/u8-strcspn.c: Likewise.
49395         * lib/unistr/u8-strdup.c: Likewise.
49396         * lib/unistr/u8-strlen.c: Likewise.
49397         * lib/unistr/u8-strmblen.c: Likewise.
49398         * lib/unistr/u8-strmbtouc.c: Likewise.
49399         * lib/unistr/u8-strncat.c: Likewise.
49400         * lib/unistr/u8-strncmp.c: Likewise.
49401         * lib/unistr/u8-strncpy.c: Likewise.
49402         * lib/unistr/u8-strnlen.c: Likewise.
49403         * lib/unistr/u8-strpbrk.c: Likewise.
49404         * lib/unistr/u8-strrchr.c: Likewise.
49405         * lib/unistr/u8-strspn.c: Likewise.
49406         * lib/unistr/u8-strstr.c: Likewise.
49407         * lib/unistr/u8-strtok.c: Likewise.
49408         * lib/unistr/u8-to-u16.c: Likewise.
49409         * lib/unistr/u8-to-u32.c: Likewise.
49410         * lib/unistr/u8-uctomb-aux.c: Likewise.
49411         * lib/unistr/u8-uctomb.c: Likewise.
49412         * lib/unitypes.h: Likewise.
49413         * lib/uniwidth.h: Likewise.
49414         * lib/uniwidth/cjk.h: Likewise.
49415         * lib/uniwidth/u16-strwidth.c: Likewise.
49416         * lib/uniwidth/u16-width.c: Likewise.
49417         * lib/uniwidth/u32-strwidth.c: Likewise.
49418         * lib/uniwidth/u32-width.c: Likewise.
49419         * lib/uniwidth/u8-strwidth.c: Likewise.
49420         * lib/uniwidth/u8-width.c: Likewise.
49421         * lib/uniwidth/width.c: Likewise.
49422
49423 2007-10-07  Bruno Haible  <bruno@clisp.org>
49424
49425         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
49426         The file is still under LGPL (see modules/inttypes).
49427
49428 2007-10-06  Bruno Haible  <bruno@clisp.org>
49429
49430         * modules/trunc (Dependencies): Add 'extensions'.
49431         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
49432         Reported by Ben Pfaff <blp@gnu.org>.
49433
49434 2007-10-06  Bruno Haible  <bruno@clisp.org>
49435
49436         * modules/freopen-tests: New file.
49437         * tests/test-freopen.c: New file.
49438
49439         * modules/fopen-tests: New file.
49440         * tests/test-fopen.c: New file.
49441
49442         * modules/fopen: New file.
49443         * lib/fopen.c: New file.
49444         * m4/fopen.m4: New file.
49445         * modules/freopen: New file.
49446         * lib/freopen.c: New file.
49447         * m4/freopen.m4: New file.
49448         * lib/stdio.in.h (fopen, freopen): New declarations.
49449         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
49450         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
49451         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
49452         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
49453         * doc/functions/fopen.texi: Mention the 'fopen' module.
49454         * doc/functions/freopen.texi: Mention the 'freopen' module.
49455
49456 2007-10-06  Bruno Haible  <bruno@clisp.org>
49457
49458         * modules/open-tests: New file.
49459         * tests/test-open.c: New file.
49460
49461         * modules/open: New file.
49462         * lib/open.c: New file.
49463         * m4/open.m4: New file.
49464         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
49465         lib/open.c does.
49466         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
49467         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
49468         macros.
49469         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
49470         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
49471         REPLACE_OPEN.
49472         * doc/functions/open.texi: Mention the 'open' module.
49473
49474 2007-10-04  Bruno Haible  <bruno@clisp.org>
49475
49476         * modules/ceill-tests: New file.
49477         * tests/test-ceill.c: New file.
49478
49479         * modules/ceill: New file.
49480         * lib/ceill.c: Replace entire file.
49481         * m4/ceill.m4: New file.
49482         * lib/math.in.h (ceill): Replace declaration.
49483         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
49484         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
49485         * doc/functions/ceill.texi: Mention the 'ceill' module.
49486         * modules/mathl (Files): Remove lib/ceill.c.
49487         (Depends-on): Add ceill.
49488
49489 2007-10-04  Bruno Haible  <bruno@clisp.org>
49490
49491         * modules/ceilf-tests: New file.
49492         * tests/test-ceilf.c: New file.
49493
49494         * modules/ceilf: New file.
49495         * lib/ceil.c: New file.
49496         * lib/ceilf.c: New file.
49497         * m4/ceilf.m4: New file.
49498         * lib/math.in.h (ceilf): New declaration.
49499         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
49500         HAVE_DECL_CEILF.
49501         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
49502         HAVE_DECL_CEILF.
49503         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
49504
49505 2007-10-04  Bruno Haible  <bruno@clisp.org>
49506
49507         * modules/floorl-tests: New file.
49508         * tests/test-floorl.c: New file.
49509
49510         * modules/floorl: New file.
49511         * lib/floorl.c: Replace entire file.
49512         * m4/floorl.m4: New file.
49513         * lib/math.in.h (floorl): Replace declaration.
49514         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
49515         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
49516         * doc/functions/floorl.texi: Mention the 'floorl' module.
49517         * modules/mathl (Files): Remove lib/floorl.c.
49518         (Depends-on): Add floorl.
49519
49520 2007-10-04  Bruno Haible  <bruno@clisp.org>
49521
49522         * modules/floorf-tests: New file.
49523         * tests/test-floorf.c: New file.
49524
49525         * modules/floorf: New file.
49526         * lib/floor.c: New file.
49527         * lib/floorf.c: New file.
49528         * m4/floorf.m4: New file.
49529         * lib/math.in.h (floorf): New declaration.
49530         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
49531         HAVE_DECL_FLOORF.
49532         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
49533         HAVE_DECL_FLOORF.
49534         * doc/functions/floorf.texi: Mention the 'floorf' module.
49535
49536 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
49537             Bruno Haible  <bruno@clisp.org>
49538
49539         Advertise for the Git server instead of the CVS server.
49540         * doc/gnulib-intro.texi (Steady Development): Mention the Git
49541         repository instead of the CVS one.
49542         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
49543         about all VCS systems generically.
49544         * doc/gnulib.texi (Introduction): Capitalize `Git'.
49545
49546 2007-10-04  Bruno Haible  <bruno@clisp.org>
49547
49548         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
49549         means.
49550         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
49551
49552 2007-10-04  Bruno Haible  <bruno@clisp.org>
49553
49554         * modules/truncl-tests: New file.
49555         * tests/test-truncl.c: New file.
49556
49557         * modules/truncl: New file.
49558         * lib/truncl.c: New file.
49559         * m4/truncl.m4: New file.
49560         * lib/math.in.h (truncl): New declaration.
49561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
49562         HAVE_DECL_TRUNCL.
49563         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
49564         HAVE_DECL_TRUNCL.
49565         * doc/functions/truncl.texi: Mention the 'truncl' module.
49566
49567 2007-10-04  Bruno Haible  <bruno@clisp.org>
49568
49569         * modules/truncf-tests: New file.
49570         * tests/test-truncf.c: New file.
49571
49572         * modules/truncf: New file.
49573         * lib/trunc.c: Make paramerizable through USE_* macros.
49574         * lib/truncf.c: New file.
49575         * m4/truncf.m4: New file.
49576         * lib/math.in.h (truncf): New declaration.
49577         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
49578         HAVE_DECL_TRUNCF.
49579         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
49580         HAVE_DECL_TRUNCF.
49581         * doc/functions/truncf.texi: Mention the 'truncf' module.
49582
49583 2007-10-03  Bruno Haible  <bruno@clisp.org>
49584
49585         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
49586         augmentation also for tests modules.
49587         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
49588         * modules/atexit-tests (Makefile.am): Likewise.
49589         * modules/binary-io-tests (Makefile.am): Likewise.
49590         * modules/c-strcase-tests (Makefile.am): Likewise.
49591         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
49592         * modules/canonicalize-tests (Makefile.am): Likewise.
49593         * modules/closein-tests (Makefile.am): Likewise.
49594         * modules/fprintf-posix-tests (Makefile.am): Likewise.
49595         * modules/freadahead-tests (Makefile.am): Likewise.
49596         * modules/fseek-tests (Makefile.am): Likewise.
49597         * modules/fseeko-tests (Makefile.am): Likewise.
49598         * modules/ftell-tests (Makefile.am): Likewise.
49599         * modules/ftello-tests (Makefile.am): Likewise.
49600         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
49601         * modules/isnanl-tests (Makefile.am): Likewise.
49602         * modules/lseek-tests (Makefile.am): Likewise.
49603         * modules/mbscasecmp-tests (Makefile.am): Likewise.
49604         * modules/mbscasestr-tests (Makefile.am): Likewise.
49605         * modules/mbschr-tests (Makefile.am): Likewise.
49606         * modules/mbscspn-tests (Makefile.am): Likewise.
49607         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
49608         * modules/mbspbrk-tests (Makefile.am): Likewise.
49609         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
49610         * modules/mbsrchr-tests (Makefile.am): Likewise.
49611         * modules/mbsspn-tests (Makefile.am): Likewise.
49612         * modules/mbsstr-tests (Makefile.am): Likewise.
49613         * modules/printf-posix-tests (Makefile.am): Likewise.
49614         * modules/snprintf-posix-tests (Makefile.am): Likewise.
49615         * modules/sprintf-posix-tests (Makefile.am): Likewise.
49616         * modules/tsearch-tests (Makefile.am): Likewise.
49617         * modules/uniname/uniname-tests (Makefile.am): Likewise.
49618         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
49619         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
49620         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
49621         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
49622         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
49623         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
49624         * modules/vprintf-posix-tests (Makefile.am): Likewise.
49625         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
49626         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
49627         * modules/xstrtoimax-tests (Makefile.am): Likewise.
49628         * modules/xstrtol-tests (Makefile.am): Likewise.
49629         * modules/xstrtoumax-tests (Makefile.am): Likewise.
49630         * modules/yesno-tests (Makefile.am): Likewise.
49631
49632 2007-10-03  Bruno Haible  <bruno@clisp.org>
49633
49634         * modules/trunc-tests: New file.
49635         * tests/test-trunc.c: New file.
49636
49637         * modules/trunc: New file.
49638         * lib/trunc.c: New file.
49639         * m4/trunc.m4: New file.
49640         * lib/math.in.h (trunc): New declaration.
49641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
49642         HAVE_DECL_TRUNC.
49643         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
49644         HAVE_DECL_TRUNC.
49645         * doc/functions/trunc.texi: Mention the 'trunc' module.
49646
49647 2007-10-03  Bruno Haible  <bruno@clisp.org>
49648
49649         * tests/test-fpending.c: New file, mostly copied
49650         from coreutils/lib/t-fpending.c.
49651         * modules/fpending-tests: New file.
49652
49653 2007-10-03  Bruno Haible  <bruno@clisp.org>
49654
49655         Port the stdio extensions to QNX (untested).
49656         * lib/fseterr.c (fseterr): Add support for QNX.
49657         * lib/fbufmode.c (fbufmode): Likewise.
49658         * lib/freadable.c (freadable): Likewise.
49659         * lib/fwritable.c (fwritable): Likewise.
49660         * lib/freading.c (freading): Likewise.
49661         * lib/fwriting.c (fwriting): Likewise.
49662         * lib/freadahead.c (freadahed): Likewise.
49663         * lib/fpurge.c (fpurge): Likewise.
49664         * lib/fseeko.c (rpl_fseeko): Likewise.
49665
49666 2007-10-03  Bruno Haible  <bruno@clisp.org>
49667             Jim Meyering  <jim@meyering.net>
49668             Eric Blake  <ebb9@byu.net>
49669
49670         * doc/relocatable.texi: Use @command instead of @program.
49671
49672 2007-10-02  Jim Meyering  <jim@meyering.net>
49673
49674         Perform one more "_.h" -> ".in.h" substitution.
49675         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
49676         instead of unistd_.h here, too.
49677
49678 2007-10-01  Bruno Haible  <bruno@clisp.org>
49679
49680         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
49681         Needed for the alloca-opt module.
49682
49683 2007-09-30  Bruno Haible  <bruno@clisp.org>
49684
49685         * lib/alloca.in.h: Renamed from lib/alloca_.h.
49686         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
49687         alloca_.h.
49688         * lib/argz.in.h: Renamed from lib/argz_.h.
49689         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
49690         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
49691         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
49692         byteswap_.h.
49693         * lib/dirent.in.h: Renamed from lib/dirent_.h.
49694         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
49695         dirent_.h.
49696         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
49697         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
49698         fcntl_.h.
49699         * lib/float.in.h: Renamed from lib/float_.h.
49700         * modules/float (Files, Makefile.am): Use float.in.h instead of
49701         float_.h.
49702         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
49703         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
49704         fnmatch_.h.
49705         * lib/getopt.in.h: Renamed from lib/getopt_.h.
49706         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
49707         getopt_.h.
49708         * lib/glob.in.h: Renamed from lib/glob_.h.
49709         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
49710         * lib/iconv.in.h: Renamed from lib/iconv_.h.
49711         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
49712         iconv_.h.
49713         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
49714         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
49715         inttypes_.h.
49716         * lib/locale.in.h: Renamed from lib/locale_.h.
49717         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
49718         locale_.h.
49719         * lib/math.in.h: Renamed from lib/math_.h.
49720         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
49721         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
49722         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
49723         of netinet_in_.h. Add dependency.
49724         * lib/poll.in.h: Renamed from lib/poll_.h.
49725         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
49726         * lib/search.in.h: Renamed from lib/search_.h.
49727         * modules/search (Files, Makefile.am): Use search.in.h instead of
49728         search_.h.
49729         * lib/signal.in.h: Renamed from lib/signal_.h.
49730         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
49731         _signal.h.
49732         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
49733         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
49734         stdbool_.h.
49735         * lib/stdint.in.h: Renamed from lib/stdint_.h.
49736         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
49737         stdint_.h.
49738         * lib/stdio.in.h: Renamed from lib/stdio_.h.
49739         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
49740         stdio_.h.
49741         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
49742         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
49743         stdlib_.h.
49744         * lib/string.in.h: Renamed from lib/string_.h.
49745         * modules/string (Files, Makefile.am): Use string.in.h instead of
49746         string_.h.
49747         * doc/gnulib-tool.texi (Initial import): Update.
49748         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
49749         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
49750         of sys_select_.h. Add dependency.
49751         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
49752         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
49753         of sys_socket_.h.
49754         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
49755         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
49756         sys_stat_.h.
49757         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
49758         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
49759         sys_time_.h.
49760         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
49761         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
49762         sysexits_.h.
49763         * lib/time.in.h: Renamed from lib/time_.h.
49764         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
49765         * lib/unistd.in.h: Renamed from lib/unistd_.h.
49766         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
49767         unistd_.h.
49768         * lib/wchar.in.h: Renamed from lib/wchar_.h.
49769         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
49770         wchar_.h.
49771         * lib/wctype.in.h: Renamed from lib/wctype_.h.
49772         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
49773         wctype_.h.
49774         * build-aux/bootstrap (slurp): Update.
49775         * lib/.cppi-disable: Update.
49776
49777 2007-09-30  Bruno Haible  <bruno@clisp.org>
49778
49779         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
49780         Needed on BeOS.
49781
49782 2007-09-30  Bruno Haible  <bruno@clisp.org>
49783
49784         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
49785
49786 2007-09-29  Bruno Haible  <bruno@clisp.org>
49787
49788         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
49789
49790 2007-09-29  Bruno Haible  <bruno@clisp.org>
49791
49792         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
49793         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
49794         * build-aux/install-reloc: Compile also areadlink.c.
49795         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
49796
49797 2007-09-29  Bruno Haible  <bruno@clisp.org>
49798
49799         * gnulib-tool (func_emit_initmacro_done): Indentation.
49800
49801 2007-09-29  Bruno Haible  <bruno@clisp.org>
49802
49803         * README: Add CVS checkout update instructions.
49804         Info from Bob Proulx <bob@proulx.com>.
49805
49806 2007-09-28  Eric Blake  <ebb9@byu.net>
49807
49808         Provide move-if-change.
49809         * build-aux/move-if-change: New file, based on best practice
49810         rather than any canonical upstream location.
49811
49812 2007-09-28  Jim Meyering  <jim@meyering.net>
49813
49814         Fix canonicalize loop-detection corner case.
49815         Do not attempt to stat the symlink values stored via seen_triple.
49816         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
49817         on linux-2.6.18, (but not 2.6.22).
49818         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
49819         triple_compare.  The former compares dev,ino,filename, while the latter
49820         would actually stat dirname(filename) when dev and ino were equal.
49821         * lib/hash-triple.c: Install <string.h>.
49822         (STREQ): Define.
49823         (triple_compare_ino_str): New function.
49824         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
49825
49826 2007-09-28  Eric Blake  <ebb9@byu.net>
49827
49828         Enforce that AC_REPLACE_FUNCS files exist.
49829         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
49830         override check for typos.
49831
49832         Fix test-closein on Solaris 10.
49833         * tests/test-closein.c (main): Don't assume stdin can be inherited
49834         closed on all systems.
49835         * tests/test-closein.sh: Likewise.
49836         Reported by Piotr Tarnowski.
49837
49838 2007-09-28  Jim Meyering  <jim@meyering.net>
49839
49840         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
49841
49842 2007-09-27  Jim Meyering  <jim@meyering.net>
49843
49844         canonicalize: Avoid a false-positive cycle failure.
49845         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
49846         Sort.  Remove cycle-check.
49847         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
49848         not cycle-check.h.
49849         (seen_triple): New function.
49850         (canonicalize_filename_mode): Use it instead of cycle-check.
49851         * tests/test-canonicalize.c: Add a test for this bug.
49852         * tests/test-canonicalize.sh: Set up and run the test.
49853
49854         New module, file-set, from coreutils.
49855         * modules/file-set: Define it.
49856         * lib/file-set.c, lib/file-set.h: Implement.
49857
49858         New module, hash-triple, from coreutils.
49859         * modules/hash-triple: Define it.
49860         * lib/hash-triple.c, lib/hash-triple.h: Implement.
49861
49862 2007-09-25  Eric Blake  <ebb9@byu.net>
49863
49864         Fix strerror on Interix.
49865         * lib/string_.h (strerror): Declare replacement.
49866         * doc/functions/strerror.texi (strerror): Document the Interix
49867         shortcoming.
49868         * modules/string (Makefile.am): Support new hooks.
49869         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
49870         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
49871         gl_FUNC_STRERROR_SEPARATE.
49872         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
49873         * lib/strerror.c (rpl_strerror): Provide replacement.
49874         * modules/strerror (Depends-on): Add string.
49875         (configure.ac): Detect use of module.
49876         * tests/test-strerror.c: New file.
49877         * modules/strerror-tests: New test module.
49878         * modules/argp (Depends-on): Add strerror.
49879         * modules/error (Depends-on): Likewise.
49880         Reported by Martin Koeppe.
49881
49882 2007-09-24  Bruno Haible  <bruno@clisp.org>
49883
49884         * README: Update git instructions.
49885
49886 2007-09-24  Eric Blake  <ebb9@byu.net>
49887
49888         Revert fpending breakage from 2007-09-08.
49889         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
49890         __fpending.c.
49891
49892 2007-09-24  Jim Meyering  <jim@meyering.net>
49893
49894         filenamecat.c: Add a test.
49895         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
49896         showing how the function works when DIR is the empty string.
49897
49898 2007-09-21  Simon Josefsson  <simon@josefsson.org>
49899
49900         * tests/test-canonicalize.sh: Turn on executable bit.
49901
49902 2007-09-19  Eric Blake  <ebb9@byu.net>
49903
49904         * README: Update CVS instructions.
49905
49906 2007-09-18  Bruno Haible  <bruno@clisp.org>
49907
49908         * modules/areadlink: New file.
49909         * lib/areadlink.h (areadlink): New declaration.
49910         * lib/areadlink.c: New file, based on lib/xreadlink.c.
49911
49912 2007-09-17  Jim Meyering  <jim@meyering.net>
49913
49914         * lib/savewd.c (ESTALE) [!defined]: Define.
49915         Reported to be required on Interix by Martin Koeppe.
49916
49917 2007-09-17  Bruno Haible  <bruno@clisp.org>
49918
49919         * gnulib-tool (func_version): Use $version.
49920
49921 2007-09-16  Bruno Haible  <bruno@clisp.org>
49922
49923         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
49924         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
49925         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
49926         Reported by Greg Schafer <gschafer@zip.com.au>.
49927
49928 2007-09-15  Bruno Haible  <bruno@clisp.org>
49929
49930         * gnulib-tool (sed): Try a little harder to make bash understand the
49931         alias.
49932         Reported by Bruce Korb <bruce.korb@gmail.com>.
49933
49934 2007-09-13  Eric Blake  <ebb9@byu.net>
49935
49936         * ChangeLog: Remove conflict markers.
49937
49938 2007-09-13  Simon Josefsson  <simon@josefsson.org>
49939
49940         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
49941         Reported by Bruno Haible <bruno@clisp.org>.
49942
49943 2007-09-12  Bruno Haible  <bruno@clisp.org>
49944
49945         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
49946         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
49947         is not defined.
49948
49949 2007-09-12  Eric Blake  <ebb9@byu.net>
49950
49951         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
49952         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
49953         Autoconf definition.
49954         * modules/euidaccess (Depends-on): Add extensions, for
49955         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
49956         * modules/fnmatch (Depends-on): Likewise.
49957         * modules/getaddrinfo (Depends-on): Likewise.
49958         * modules/getdelim (Depends-on): Likewise.
49959         * modules/getline (Depends-on): Likewise.
49960         * modules/getsubopt (Depends-on): Likewise.
49961         * modules/gettext (Depends-on): Likewise.
49962         * modules/group-member (Depends-on): Likewise.
49963         * modules/mbchar (Depends-on): Likewise.
49964         * modules/memmem (Depends-on): Likewise.
49965         * modules/mempcpy (Depends-on): Likewise.
49966         * modules/memrchr (Depends-on): Likewise.
49967         * modules/pagealign_alloc (Depends-on): Likewise.
49968         * modules/readutmp (Depends-on): Likewise.
49969         * modules/stpcpy (Depends-on): Likewise.
49970         * modules/stpncpy (Depends-on): Likewise.
49971         * modules/strchrnul (Depends-on): Likewise.
49972         * modules/strndup (Depends-on): Likewise.
49973         * modules/strsep (Depends-on): Likewise.
49974         * modules/strverscmp (Depends-on): Likewise.
49975         * modules/vasprintf (Depends-on): Likewise.
49976         * modules/wcwidth (Depends-on): Likewise.
49977         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
49978         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
49979         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
49980         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
49981         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
49982         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
49983         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
49984         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49985         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
49986         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
49987         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49988         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
49989         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
49990         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
49991         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
49992         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49993         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49994         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
49995         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49996         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
49997         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49998         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
49999         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
50000         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
50001         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
50002         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
50003         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
50004         so that lock.m4 can be used in gettext without extensions module.
50005
50006 2007-09-11  Bruno Haible  <bruno@clisp.org>
50007
50008         * m4/isc-posix.m4: Remove file.
50009         Suggested by Eric Blake.
50010
50011 2007-09-11  Eric Blake  <ebb9@byu.net>
50012
50013         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
50014
50015 2007-09-10  Bruno Haible  <bruno@clisp.org>
50016
50017         * posix-modules: Fix typo in error message.
50018         Reported by Matt <mkraai@beckman.com>.
50019
50020 2007-09-09  Bruno Haible  <bruno@clisp.org>
50021
50022         * doc/functions/getdelim.texi: Update list of platforms lacking the
50023         function.
50024         * doc/functions/getline.texi: Likewise.
50025
50026 2007-09-09  Jim Meyering  <jim@meyering.net>
50027
50028         * lib/hash.c (hash_initialize): Detect calloc failure.
50029         Reported by Bruno Haible.
50030
50031 2007-09-09  Bruno Haible  <bruno@clisp.org>
50032
50033         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
50034         malloc or realloc fails.
50035
50036 2007-09-09  Bruno Haible  <bruno@clisp.org>
50037
50038         * modules/getcwd (Depends-on): Add malloc-posix.
50039         * modules/glob (Depends-on): Likewise.
50040         * modules/putenv (Depends-on): Likewise.
50041         * modules/strdup (Depends-on): Likewise.
50042         * modules/getdelim (Depends-on): Add realloc-posix.
50043         * modules/read-file (Depends-on): Likewise.
50044
50045 2007-09-09  Bruno Haible  <bruno@clisp.org>
50046
50047         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
50048         (gl_FUNC_MALLOC_POSIX): Require it.
50049         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
50050         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
50051         * modules/realloc (Files): Add m4/malloc.m4.
50052         * modules/calloc (Files): Likewise.
50053
50054 2007-09-09  Bruno Haible  <bruno@clisp.org>
50055
50056         * modules/malloc-posix: New file.
50057         * modules/malloc (Depends-on): Add malloc-posix.
50058         * lib/malloc.c: Include errno.h.
50059         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
50060         and a POSIX-compatible malloc into a single function. Set ENOMEM
50061         when returning NULL.
50062         * m4/malloc.m4: New file.
50063         * doc/functions/malloc.texi: Mention the malloc-posix module.
50064         * lib/stdlib_.h (malloc): New declaration.
50065         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50066         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
50067         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
50068         and HAVE_MALLOC_POSIX.
50069
50070 2007-09-09  Bruno Haible  <bruno@clisp.org>
50071
50072         * modules/realloc-posix: New file.
50073         * modules/realloc (Depends-on): Add realloc-posix.
50074         * lib/realloc.c: Include errno.h.
50075         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
50076         and a POSIX-compatible realloc into a single function. Set ENOMEM
50077         when returning NULL.
50078         * m4/realloc.m4: New file.
50079         * doc/functions/realloc.texi: Mention the realloc-posix module.
50080         * lib/stdlib_.h (realloc): New declaration.
50081         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50082         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
50083         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
50084         and HAVE_REALLOC_POSIX.
50085
50086 2007-09-09  Bruno Haible  <bruno@clisp.org>
50087
50088         * modules/calloc-posix: New file.
50089         * modules/calloc (Depends-on): Add calloc-posix.
50090         * lib/calloc.c: Include errno.h.
50091         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
50092         and a POSIX-compatible calloc into a single function. Set ENOMEM
50093         when returning NULL.
50094         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
50095         * doc/functions/calloc.texi: Mention the calloc-posix module.
50096         * lib/stdlib_.h (calloc): New declaration.
50097         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50098         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
50099         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
50100         and HAVE_CALLOC_POSIX.
50101
50102 2007-09-09  Bruno Haible  <bruno@clisp.org>
50103
50104         Allow for modules to show an arbitrary notice.
50105         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
50106         * gnulib-tool: New option --extract-notice.
50107         (func_usage): Document it.
50108         (sed_extract_prog): Update.
50109         (func_get_notice): New function.
50110         (func_modules_notice): New function.
50111         (func_import, func_create_testdir): Invoke it.
50112         Suggested by Jim Meyering.
50113
50114 2007-09-09  Bruno Haible  <bruno@clisp.org>
50115
50116         * gnulib-tool: New options --verbose, --quiet.
50117         (func_usage): Document them.
50118         (verbose): New variable.
50119         (func_execute_command): New function.
50120         (func_import): Don't show the module list and the file list if
50121         $verbose < 0.
50122         (func_create_testdir): Likewise. Use func_execute_command.
50123         (func_create_megatestdir): Use func_execute_command.
50124
50125 2007-09-08  Bruno Haible  <bruno@clisp.org>
50126
50127         * gnulib-tool (func_import): Prefer rsync over wget when available,
50128         for fetching the PO files.
50129
50130 2007-09-08  Bruno Haible  <bruno@clisp.org>
50131
50132         * posix-modules: New file. Portions copied from gnulib-tool.
50133         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
50134
50135 2007-09-08  Jim Meyering  <jim@meyering.net>
50136
50137         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
50138         * lib/fpending.h: Rename from __fpending.h.
50139         * lib/fpending.c: Rename from __fpending.c.
50140         Include "fpending.h", not "__fpending.h".
50141         * lib/__fpending.h, lib/__fpending.c: Remove files.
50142         * modules/fpending (Files): Reflect new file names.
50143         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
50144
50145 2007-09-08  Bruno Haible  <bruno@clisp.org>
50146
50147         * m4/inttypes-h.m4: Remove stub file.
50148
50149 2007-09-07  Simon Josefsson  <simon@josefsson.org>
50150
50151         * doc/headers/stdint.texi: Discuss #include_next issue.
50152
50153 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50154
50155         * build-aux/bootstrap: Remove obsolete comment about wget --help.
50156
50157 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50158
50159         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
50160         in variable name.
50161
50162 2007-09-03  Jim Meyering  <jim@meyering.net>
50163
50164         New module: git-version-gen.
50165         * modules/git-version-gen: New file.
50166
50167         Import changes from coreutils for bootstrap script.
50168
50169         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
50170
50171         bootstrap: uses rsync to download the .po files
50172         * build-aux/bootstrap (po_download_command_format): New global.
50173         (download_po_files): Use rsync.
50174         (update_po_files): Don't remove .po files after download,
50175         so future rsync runs can take advantage of the copies.
50176
50177         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
50178
50179         Solve the unnecessary-.po-file-regeneration problem once and for all.
50180         * build-aux/bootstrap (download_po_files): New function, renamed from
50181         get_translations.  Now, downloads, but doesn't update LINGUAS.
50182         (update_po_files): New function.
50183
50184         bootstrap: Ignore more.
50185         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
50186         uniwidth to e.g., lib/.gitignore.
50187         (slurp): Handle the sys_stat_.h -> sys mapping, too.
50188
50189         * build-aux/bootstrap: New setting: vc_ignore.
50190         (insert_sorted_if_absent): Create $file if absent.
50191         Adapt to new, possibly empty, list: $vc_ignore.
50192
50193         bootstrap: generate more ignorable names
50194         * build-aux/bootstrap (slurp): When generating ignorable names,
50195         also map .sin to .sed, .gperf to .c, and .y to .c.
50196
50197 2007-09-03  Jim Meyering  <jim@meyering.net>
50198
50199         * build-aux/git-version-gen: New file, from coreutils.  For details, see
50200         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
50201
50202 2007-09-02  Bruno Haible  <bruno@clisp.org>
50203
50204         Fix mis-recognition of 'mcs' on QNX 6.
50205         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
50206         output contains the string "Mono".
50207         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
50208         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
50209
50210 2007-09-01  Bruno Haible  <bruno@clisp.org>
50211
50212         Fix collision between uniwidth/* and linebreak modules.
50213         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
50214         u32_width): Remove declarations.
50215         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
50216         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
50217         streq3, streq2, streq1, streq0): Remove functions.
50218         (STREQ): Remove macro.
50219         (is_cjk_encoding): Remove function.
50220         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
50221         (uc_width, u8_width, u16_width, u32_width): Remove functions.
50222         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
50223         * NEWS: Document the change.
50224
50225 2007-09-01  Bruno Haible  <bruno@clisp.org>
50226
50227         * lib/streq.h: Add double-inclusion guard.
50228
50229 2007-09-01  Karl Berry  <karl@gnu.org>
50230
50231         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
50232
50233 2007-08-28  Jim Meyering  <jim@meyering.net>
50234
50235         Rename mreadlink_with_size to areadlink_with_size.
50236         * NEWS: Document the change.
50237         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
50238         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
50239         * lib/mreadlink.h: Rename this to...
50240         * lib/areadlink.h: ...this.
50241         * modules/mreadlink-with-size: Rename this to...
50242         * modules/areadlink-with-size: ...this.
50243         * lib/canonicalize.c: Reflect the renaming.
50244         * modules/canonicalize: Likewise.
50245
50246 2007-08-26  Bruno Haible  <bruno@clisp.org>
50247
50248         * gnulib-tool (func_import): When deciding which files to remove,
50249         consider also dangling symbolic links.
50250         Reported by Eric Blake.
50251
50252 2007-08-26  Bruno Haible  <bruno@clisp.org>
50253
50254         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
50255
50256 2007-08-23  Simon Josefsson  <simon@josefsson.org>
50257
50258         * lib/readline.c: Don't include getline.h, the prototype is now
50259         found in stdio.h.
50260
50261 2007-08-23  Jim Meyering  <jim@meyering.net>
50262
50263         Getdelim touchup.
50264         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
50265         around the funlockfile call, since funlockfile never sets errno.
50266         Don't set errno upon failed realloc.
50267
50268 2007-08-22  Eric Blake  <ebb9@byu.net>
50269
50270         Getline touchups.
50271         * lib/getdelim.c (getdelim): Revert regression that required *n to
50272         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
50273         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
50274         getdelim, rather than whether implementation is missing.
50275         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
50276         * lib/stdio_.h (getline): Also declare if replacement is
50277         required.
50278         * doc/functions/getdelim.texi: New file.
50279         * doc/functions/getline.texi: Likewise.
50280         * doc/gnulib.texi (Function Substitutes): Add new files.
50281         Reported by Bruno Haible.
50282
50283 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
50284
50285         * users.txt: Add Guile.
50286
50287 2007-08-22  Eric Blake  <ebb9@byu.net>
50288
50289         * tests/test-getdelim.c (main): Use remove, not unlink.
50290         * tests/test-getline.c (main): Likewise.
50291
50292         Move getline and getdelim into stdio.h, per POSIX 200x.
50293         * modules/getline (Files): Remove getline.h.
50294         (Depends-on): Add stdio.
50295         (configure.ac): Add module indicator.
50296         * modules/getdelim (Files): Remove getdelim.h.
50297         (Depends-on): Add stdio.
50298         (configure.ac): Add module indicator.
50299         * modules/stdio (Makefile.am): Work with new indicators.
50300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
50301         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
50302         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
50303         * lib/getdelim.h: Delete.
50304         * lib/getline.h: Delete.
50305         * lib/stdio_.h (getdelim, getline): Declare.
50306         * modules/getdelim-tests: New module.
50307         * modules/getline-tests: Likewise.
50308         * tests/test-getdelim.c: New file.
50309         * tests/test-getline.c: Likewise.
50310         * NEWS: Document the change.
50311         * lib/getline.c: Update choice of header.
50312         * lib/csharpcomp.c: Likewise.
50313         * lib/getpass.c: Likewise.
50314         * lib/javacomp.c: Likewise.
50315         * lib/javaversion.c: Likewise.
50316         * lib/yesno.c: Likewise.
50317         * lib/getdelim.c: Likewise.
50318         (getdelim): Set errno on failure, and avoid memory leak.
50319
50320 2007-08-19  Bruno Haible  <bruno@clisp.org>
50321
50322         * modules/closein (Depends-on): Add freadahead.
50323         * lib/closein.c: Include freadahead.h.
50324         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
50325         is zero.
50326
50327 2007-08-19  Bruno Haible  <bruno@clisp.org>
50328
50329         * modules/freadahead-tests: New file.
50330         * tests/test-freadahead.sh: New file.
50331         * tests/test-freadahead.c: New file.
50332
50333         * modules/freadahead: New file.
50334         * lib/freadahead.h: New file.
50335         * lib/freadahead.c: New file.
50336         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
50337         fbufmode, fpurge, freadable, fwritable.
50338
50339 2007-08-19  Eric Blake  <ebb9@byu.net>
50340
50341         Test yesno in combination with closein.
50342         * lib/yesno.c (yesno): Document use of stdin.
50343         * modules/yesno-tests (Files): New module.
50344         * tests/test-yesno.c (main): New file.
50345         * tests/test-yesno.sh: Likewise.
50346
50347 2007-08-19  Bruno Haible  <bruno@clisp.org>
50348
50349         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
50350         * lib/fseeko.c (rpl_fseeko): Likewise.
50351         * lib/fseterr.c (fseterr): Likewise.
50352
50353 2007-08-19  Bruno Haible  <bruno@clisp.org>
50354
50355         * tests/test-lseek.c (main): Disable a test for BeOS.
50356         * doc/functions/lseek.texi: Document the BeOS bug.
50357
50358 2007-08-19  Bruno Haible  <bruno@clisp.org>
50359             Eric Blake  <ebb9@byu.net>
50360
50361         * lib/lseek.c: Include <sys/stat.h>.
50362         (rpl_lseek): Add workaround code also for Unix platforms.
50363         Needed for BeOS.
50364         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
50365         * doc/functions/lseek.texi: Document BeOS definiency.
50366
50367 2007-08-18  Bruno Haible  <bruno@clisp.org>
50368
50369         * modules/fstrcmp-tests: New file.
50370         * tests/test-fstrcmp.c: New file.
50371
50372 2007-08-18  Bruno Haible  <bruno@clisp.org>
50373
50374         * modules/fstrcmp: New file, from GNU gettext with modifications.
50375         * lib/fstrcmp.h: New file, from GNU gettext.
50376         * lib/fstrcmp.c: New file, from GNU gettext.
50377         * MODULES.html.sh (String handling): Add fstrcmp.
50378
50379 2007-08-18  Bruno Haible  <bruno@clisp.org>
50380
50381         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
50382         'bool'.
50383         (diag, compareseq): Remove const from the ctxt argument.
50384         (USE_HEURISTIC): Undefine at the end.
50385
50386 2007-08-18  Jim Meyering  <jim@meyering.net>
50387
50388         New file: lib/idcache.h
50389         * NEWS: Mention the addition.
50390         * modules/idcache (Files): Add lib/idcache.h
50391         * lib/idcache.c: Include "idcache.h".
50392         Don't include <sys/types.h>.
50393         Add a FIXME comment.
50394         Move file-scoped "static" declarations to the top.
50395         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
50396
50397 2007-08-17  Bruno Haible  <bruno@clisp.org>
50398         and Paul Eggert  <eggert@cs.ucla.edu>
50399
50400         * MODULES.html.sh: Add diffseq.
50401         * modules/diffseq: New file.
50402         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
50403         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
50404
50405 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50406
50407         Import changes from coreutils for bootstrap script.
50408
50409         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
50410
50411         * build-aux/bootstrap (slurp): Work even in environments where
50412         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
50413         current code does not slurp files whose names start with ".", and
50414         this looks like it might be a troublesome area.
50415
50416         2007-07-11  Jim Meyering  <jim@meyering.net>
50417
50418         If there's a GPL vN copyright comment, require that N == 3.
50419
50420         2007-07-08  Jim Meyering  <jim@meyering.net>
50421
50422         Run the coreutils-specific code only if tests/Makefile.am.in exists.
50423         * build-aux/bootstrap (mam_template): Move definition out of loop.
50424
50425         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
50426
50427         * build-aux/bootstrap (symlink_to_dir): Rename function from
50428         symlink_to_gnulib.  Add a directory parameter.  Update all
50429         callers.
50430         (cp_mark_as_generated): Also check for -- and link to -- files in
50431         gl/.
50432
50433         2007-07-08  Jim Meyering  <jim@meyering.net>
50434
50435         Adapt to deeper hierarchy in gnulib.
50436         * build-aux/bootstrap (symlink_to_dir): If the destination
50437         directory doesn't exist, create it. This is required at least for
50438         "lib/uniwidth/cjk.h".
50439
50440         2007-05-15  Jim Meyering  <jim@meyering.net>
50441
50442         * build-aux/bootstrap: Now that generated Makefile.am files
50443         are no longer under version control, they must be created at
50444         bootstrap time.
50445
50446 2007-08-14  Ben Pfaff  <blp@gnu.org>
50447
50448         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
50449
50450 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50451
50452         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
50453         given the changes below.
50454         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
50455         even on hosts that have padding bits beyond the supported 64.
50456
50457 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50458
50459         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
50460         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
50461         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
50462         depends on it.
50463         (xstrtol_error): Remove.
50464         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
50465         but with a different signature.
50466         (ATTRIBUTE_NORETURN, __attribute__): New macros.
50467         * lib/xstrtol-error.c: Include exitfail.h.
50468         (xstrtol_fatal): New function, with a different signature from the
50469         old xstrtol_error, so that the caller need not worry about passing
50470         in an exit status, or about storage management of the option argument.
50471         (xstrtol_error): Now a static function.  Redo signature to
50472         implement xstrtol_fatal.  Output the correct number of hyphens in
50473         front of the option so that the caller need not worry about
50474         storage management.
50475         (N_): New macro.
50476         (_): Remove; not used now.
50477         * modules/xstrtol: Depend on getopt.
50478         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
50479         of old STRTOL_FATAL_ERROR macro.
50480         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
50481         of test program.
50482         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
50483         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
50484
50485 2007-08-08  Eric Blake  <ebb9@byu.net>
50486
50487         * lib/xstrtol-error.c: Add missing include.
50488
50489         Move xstrtol messages into gnulib domain, when --pobase is used.
50490         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
50491         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
50492         * modules/xstrtol (Files): Distribute new file.
50493         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
50494         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
50495         * tests/test-xstrtol.c: ...into new file.
50496         * tests/test-xstrtoul.c: Also test xstrtoul.
50497         * tests/test-xstrtoimax.c: Also test xstrtoimax.
50498         * tests/test-xstrtoumax.c: Also test xstrtoumax.
50499         * tests/test-xstrtol.sh: Drive the tests.
50500         * tests/test-xstrtoimax.sh: Likewise.
50501         * tests/test-xstrtoumax.sh: Likewise.
50502         * modules/xstrtol-tests: New module.
50503         * modules/xstrtoimax-tests: Likewise.
50504         * modules/xstrtoumax-tests: Likewise.
50505
50506 2007-08-08  Jim Meyering  <jim@meyering.net>
50507
50508         New function: mfile_name_concat.
50509         * lib/filenamecat.c (mfile_name_concat): New function, just like
50510         file_name_concat, but return NULL upon failure rather than exiting
50511         with a diagnostic.
50512         * lib/filenamecat.h: Declare it.
50513
50514 2007-08-07  Bruno Haible  <bruno@clisp.org>
50515
50516         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
50517         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
50518         warning from gcc.
50519         Reported by Eric Blake.
50520
50521 2007-08-07  Simon Josefsson  <simon@josefsson.org>
50522
50523         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
50524         * modules/crypto/arcfour (License): Likewise.
50525         * modules/crypto/des-tests (License): Likewise.
50526         * modules/crypto/gc-arctwo-tests (License): Likewise.
50527         * modules/crypto/gc-des-tests (License): Likewise.
50528         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
50529         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
50530         * modules/crypto/gc-md2-tests (License): Likewise.
50531         * modules/crypto/gc-md4-tests (License): Likewise.
50532         * modules/crypto/gc-md5-tests (License): Likewise.
50533         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
50534         * modules/crypto/gc-rijndael-tests (License): Likewise.
50535         * modules/crypto/gc-sha1-tests (License): Likewise.
50536         * modules/crypto/gc-tests (License): Likewise.
50537         * modules/crypto/hmac-md5 (License): Likewise.
50538         * modules/crypto/hmac-sha1 (License): Likewise.
50539         * modules/crypto/md2-tests (License): Likewise.
50540         * modules/crypto/md4-tests (License): Likewise.
50541         * modules/crypto/md5 (License): Likewise.
50542         * modules/crypto/rijndael (License): Likewise.
50543         * modules/crypto/sha1 (License): Likewise.
50544         * modules/memxor (License): Likewise.
50545
50546 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50547         and Bruno Haible  <bruno@clisp.org>
50548
50549         * NEWS: Describe interface changes to human, xstrtol.
50550         * lib/human.h: Include <xstrtol.h>.
50551         (human_options): Return enum strtol_error, not int.  Remove
50552         bool arg; take int * instead.
50553         * lib/human.c: Don't include "gettext.h".
50554         (_): Remove; no longer used.
50555         Don't include <xstrtol.h>, since human.h does it.
50556         (human_options): Adjust to abovementioned interface changes.
50557         Do not report error to stderr; that's now the caller's
50558         responsibility.
50559         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
50560         interface change.
50561         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
50562         Str, Argument_type_string.  All uses changed.  Put " argument"
50563         in diagnostics to make them clearer.  Change wording of suffix
50564         message for clarity.
50565         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
50566         Argument_type_string.
50567         (STRTOL_FATAL_WARN): Remove; no longer used.
50568         * modules/human (Depends-on): Remove gettext-h.
50569
50570 2007-08-06  Simon Josefsson  <simon@josefsson.org>
50571
50572         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
50573
50574 2007-07-31  Bruno Haible  <bruno@clisp.org>
50575
50576         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
50577         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
50578         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
50579
50580 2007-07-31  Bruno Haible  <bruno@clisp.org>
50581
50582         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
50583         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
50584
50585 2007-07-30  Bruno Haible  <bruno@clisp.org>
50586
50587         * modules/base64 (License): Use the synonymous term "LGPLv2+".
50588         * modules/c-ctype (License): Likewise.
50589         * modules/c-strcase (License): Likewise.
50590         * modules/check-version (License): Likewise.
50591         * modules/iconv (License): Likewise.
50592         * modules/iconv_open (License): Likewise.
50593         * modules/read-file (License): Likewise.
50594         * modules/striconv (License): Likewise.
50595         * modules/strverscmp (License): Likewise.
50596         * modules/vasprintf (License): Likewise.
50597         * modules/crypto/des (License): Likewise.
50598         * modules/crypto/gc (License): Likewise.
50599         * modules/crypto/gc-arcfour (License): Likewise.
50600         * modules/crypto/gc-arctwo (License): Likewise.
50601         * modules/crypto/gc-des (License): Likewise.
50602         * modules/crypto/gc-hmac-md5 (License): Likewise.
50603         * modules/crypto/gc-hmac-sha1 (License): Likewise.
50604         * modules/crypto/gc-md2 (License): Likewise.
50605         * modules/crypto/gc-md4 (License): Likewise.
50606         * modules/crypto/gc-md5 (License): Likewise.
50607         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
50608         * modules/crypto/gc-random (License): Likewise.
50609         * modules/crypto/gc-rijndael (License): Likewise.
50610         * modules/crypto/gc-sha1 (License): Likewise.
50611         * modules/crypto/md2 (License): Likewise.
50612         * modules/crypto/md4 (License): Likewise.
50613
50614 2007-07-30  Jim Meyering  <jim@meyering.net>
50615
50616         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
50617         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
50618         it has valid stat data.  This bug would cause du not to count the
50619         sizes of inaccessible directories.
50620         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
50621         in <http://bugzilla.redhat.com/250077>.
50622
50623 2007-07-25  Peter O'Gorman  <peter@pogma.com>
50624             Bruno Haible  <bruno@clisp.org>
50625
50626         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
50627         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
50628         #include_next, gives a diagnostic about it, but reports no error in
50629         the exit code.
50630         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50631
50632 2007-07-24  Ben Pfaff  <blp@gnu.org>
50633
50634         Improve name: "count-one-bits" is better than "popcount".
50635         * MODULES.html.sh: Update name.
50636         * lib/popcount.h: Renamed lib/count-one-bits.h.
50637         (popcount): Renamed count_one_bits.
50638         (popcountl): Renamed count_one_bits_l.
50639         (popcountll): Renamed count_one_bits_ll.
50640         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
50641         * modules/popcount: Renamed module/count-one-bits.
50642         * modules/popcount-tests: Renamed module/count-one-bits-tests.
50643         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
50644
50645 2007-07-23  Ben Pfaff  <blp@gnu.org>
50646
50647         * lib/popcount.h (popcount32): Reduce size of constants, to allow
50648         better code generation, and add U to large constants to avoid
50649         warnings, in non-GCC case.
50650         Suggested by Bruno Haible.
50651
50652 2007-07-23  Ben Pfaff  <blp@gnu.org>
50653
50654         * lib/popcount.h: Use verify_true instead of if...abort.
50655         * modules/popcount: Depend on verify module.
50656         Suggested by Jim Meyering.
50657
50658 2007-07-23  Bruno Haible  <bruno@clisp.org>
50659
50660         * gnulib-tool (func_import): Create a .cvsignore file also when the
50661         directory is not yet in CVS but the toplevel directory is. When
50662         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
50663         Reported by Karl Berry.
50664
50665 2007-07-22  Ben Pfaff  <blp@gnu.org>
50666
50667         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
50668         case.
50669         Suggested by Eric Blake.
50670
50671 2007-07-22  Ben Pfaff  <blp@gnu.org>
50672
50673         New module: popcount.
50674         * MODULES.html.sh: Add popcount.
50675         * modules/popcount: New file.
50676         * modules/popcount-tests: New file.
50677         * tests/test-popcount.c: New file.
50678         * lib/popcount.h: New file.
50679         * m4/popcount.m4: New file.
50680
50681 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50682
50683         * build-aux/announce-gen: Update to GPLv3.
50684
50685         * build-aux/config.guess: Update from config.
50686
50687 2007-07-21  Bruno Haible  <bruno@clisp.org>
50688
50689         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
50690         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
50691
50692 2007-07-20  Jim Meyering  <jim@meyering.net>
50693
50694         * check-module: Diagnose a self-dependency.
50695
50696 2007-07-19  Bruno Haible  <bruno@clisp.org>
50697
50698         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
50699         empty.
50700         Reported by Eric Blake.
50701
50702 2007-07-18  Bruno Haible  <bruno@clisp.org>
50703
50704         * gnulib-tool: New options --po-base, --po-domain.
50705         (func_usage): Document them.
50706         (pobase, po_domain): New variables.
50707         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
50708         DEFAULT_TEXT_DOMAIN.
50709         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
50710         (func_import): Consider pobase and po_domain. Create a po/ directory.
50711         (func_create_testdir): Set pobase and po_domain to empty.
50712         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
50713         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
50714
50715 2007-07-18  Bruno Haible  <bruno@clisp.org>
50716
50717         * gnulib-tool (func_get_automake_snippet): Synthesize also an
50718         EXTRA_DIST augmentation for files in build-aux/.
50719
50720 2007-07-16  Bruno Haible  <bruno@clisp.org>
50721
50722         * modules/lseek (License): Use the synonymous term "LGPLv2+".
50723         * modules/getdelim (License): Likewise.
50724
50725 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50726
50727         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
50728         * modules/d-type (License): Likewise.
50729         * modules/extensions (License): Likewise.
50730         * modules/fnmatch (License): Likewise.
50731         * modules/fseeko (License): Likewise.
50732         * modules/getaddrinfo (License): Likewise.
50733         * modules/getline (License): Likewise.
50734         * modules/getlogin_r (License): Likewise.
50735         * modules/getpass (License): Likewise.
50736         * modules/gettimeofday (License): Likewise.
50737         * modules/glob (License): Likewise.
50738         * modules/inet_ntop (License): Likewise.
50739         * modules/malloc (License): Likewise.
50740         * modules/malloca (License): Likewise.
50741         * modules/memmem (License): Likewise.
50742         * modules/mempcpy (License): Likewise.
50743         * modules/memset (License): Likewise.
50744         * modules/minmax (License): Likewise.
50745         * modules/mktime (License): Likewise.
50746         * modules/netinet_in (License): Likewise.
50747         * modules/pathmax (License): Likewise.
50748         * modules/poll (License): Likewise.
50749         * modules/regex (License): Likewise.
50750         * modules/snprintf (License): Likewise.
50751         * modules/stdbool (License): Likewise.
50752         * modules/stdint (License): Likewise.
50753         * modules/stdio (License): Likewise.
50754         * modules/strcase (License): Likewise.
50755         * modules/strcasestr (License): Likewise.
50756         * modules/strdup (License): Likewise.
50757         * modules/string (License): Likewise.
50758         * modules/strndup (License): Likewise.
50759         * modules/strnlen (License): Likewise.
50760         * modules/strpbrk (License): Likewise.
50761         * modules/strptime (License): Likewise.
50762         * modules/strsep (License): Likewise.
50763         * modules/sys_select (License): Likewise.
50764         * modules/sys_socket (License): Likewise.
50765         * modules/sys_stat (License): Likewise.
50766         * modules/sys_time (License): Likewise.
50767         * modules/time (License): Likewise.
50768         * modules/time_r (License): Likewise.
50769         * modules/timegm (License): Likewise.
50770         * modules/unistd (License): Likewise.
50771         * modules/vsnprintf (License): Likewise.
50772         * modules/wctype (License): Likewise.
50773
50774 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50775
50776         * modules/argz (License): LGPLv2+.
50777
50778 2007-07-15  Karl Berry  <karl@gnu.org>
50779
50780         * doc/gnulib.texi: revise node structure per new fdl.texi.
50781
50782 2007-07-14  Bruno Haible  <bruno@clisp.org>
50783
50784         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
50785         the output file.
50786         * lib/uniname/uninames.h: Regenerated.
50787
50788 2007-07-14  Karl Berry  <karl@gnu.org>
50789
50790         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
50791         omitting sectioning and index commands.
50792
50793 2007-07-13  Bruno Haible  <bruno@clisp.org>
50794
50795         New gnulib-tool option --more-symlinks.
50796         * gnulib-tool (func_usage): Document --more-symlinks.
50797         (do_copyrights): New variable.
50798         Recognize option --more-symlinks.
50799         (func_import): Don't add a copyright notice transform to
50800         sed_transform_lib_file if do_copyrights is empty.
50801
50802 2007-07-13  Bruno Haible  <bruno@clisp.org>
50803
50804         * lib/vasnprintf.c (decimal_point_char): Define also if
50805         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
50806         && !NEED_PRINTF_DIRECTIVE_A.
50807         Reported by Clemens Koller <clemens.koller@anagramm.de> via
50808         Gary V. Vaughan <gary@gnu.org>.
50809
50810 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
50811
50812         * lib/inttypes_.h: Undo previous change, since it was fixed
50813         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
50814
50815 2007-07-13  Bruno Haible  <bruno@clisp.org>
50816
50817         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
50818         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
50819
50820 2007-07-13  Jim Meyering  <jim@meyering.net>
50821
50822         df: Don't fail for Tru64's "file-on-file mount".
50823         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
50824         so we fall through and use statfs instead.  Details here:
50825         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
50826         Reported by Albert Chin.
50827
50828 2007-07-13  Bruno Haible  <bruno@clisp.org>
50829
50830         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
50831         * modules/configmake (License): Likewise.
50832         * modules/gettext (License): Likewise.
50833         * modules/gettext-h (License): Likewise.
50834         * modules/include_next (License): Likewise.
50835         * modules/link-warning (License): Likewise.
50836         * modules/localcharset (License): Likewise.
50837         * modules/localename (License): Likewise.
50838         * modules/lock (License): Likewise.
50839         * modules/relocatable-lib-lgpl (License): Likewise.
50840         * modules/size_max (License): Likewise.
50841         * modules/vasnprintf (License): Likewise.
50842         * modules/wchar (License): Likewise.
50843         * modules/xsize (License): Likewise.
50844
50845 2007-07-13  Bruno Haible  <bruno@clisp.org>
50846
50847         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
50848         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
50849
50850 2007-07-12  Bruno Haible  <bruno@clisp.org>
50851
50852         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
50853         in the modules files.
50854
50855 2007-07-11  Karl Berry  <karl@gnu.org>
50856
50857         * MODULES.html.sh (func_module): use
50858          sed -e '\|^'"${includefile}"'$|d'
50859          instead of /.../d, to avoid errors on $includefile's containing /.
50860
50861 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50862
50863         * gnulib-tool (func_import): Avoid duplication of --avoid
50864         statements
50865         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
50866         names to `_' in variable names.
50867
50868 2007-07-10  Eric Blake  <ebb9@byu.net>
50869
50870         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
50871         * NEWS: Document this change.
50872
50873 2007-07-08  Bruno Haible  <bruno@clisp.org>
50874
50875         Update to Unicode 5.0.
50876         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
50877         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
50878         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
50879         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
50880         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
50881         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
50882         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
50883         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
50884         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
50885         U+10A3F, U+1D242..U+1D244.
50886         (nonspacing_table_ind): Update.
50887         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
50888         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
50889
50890 2007-07-08  Bruno Haible  <bruno@clisp.org>
50891
50892         Update to Unicode 5.0.
50893         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
50894         code transform. Extend the name index field of unicode_name_to_code and
50895         unicode_code_to_name from 16 to 24 bits.
50896         * lib/uniname/uniname.c (unicode_character_name,
50897         unicode_name_character): Add the range 0x12xxx to the code transform.
50898         * lib/uniname/uninames.h: Regenerated.
50899         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
50900
50901 2007-07-07  Bruno Haible  <bruno@clisp.org>
50902
50903         * modules/wcwidth-tests: New file.
50904         * tests/test-wcwidth.c: New file.
50905
50906         Work around MacOS X wcwidth() bug.
50907         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
50908         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
50909         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
50910         original wcwidth in non-UTF-8 locales.
50911         * modules/wcwidth (Depends-on): Add localcharset, streq,
50912         uniwidth/width.
50913         * doc/functions/wcwidth.texi: Update.
50914
50915 2007-07-07  Bruno Haible  <bruno@clisp.org>
50916
50917         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
50918         (wcwidth): New declaration.
50919         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
50920         macros.
50921         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
50922         here. Prepare for creating <wchar.h> unconditionally.
50923         * modules/wchar (Depends-on): Add link-warning.
50924         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
50925         REPLACE_WCWIDTH, and GL_LINK_WARNING.
50926         * lib/wcwidth.h: Remove file.
50927         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
50928         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
50929         * modules/wcwidth (Files): Remove lib/wcwidth.h.
50930         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
50931         (Include): Replace wcwidth.h with <wchar.h>.
50932         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
50933         * lib/mbchar.h: Don't include wcwidth.h.
50934         * lib/mbswidth.c: Likewise.
50935         * NEWS: Mention the change.
50936
50937 2007-07-07  Bruno Haible  <bruno@clisp.org>
50938
50939         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
50940         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
50941         definition with an external declaration.
50942         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
50943         defined as a function. Remove AC_C_INLINE requirement.
50944         * modules/wcwidth (Files): Add lib/wcwidth.c.
50945         (Makefile.am): Remove redundant statement.
50946
50947 2007-07-07  Bruno Haible  <bruno@clisp.org>
50948
50949         * MODULES.html.sh (Unicode string functions): Add the new modules.
50950
50951         * tests/uniwidth/test-u32-strwidth.c: New file.
50952         * modules/uniwidth/u32-strwidth-tests: New file.
50953
50954         * lib/uniwidth/u32-strwidth.c: New file.
50955         * modules/uniwidth/u32-strwidth: New file.
50956
50957         * tests/uniwidth/test-u16-strwidth.c: New file.
50958         * modules/uniwidth/u16-strwidth-tests: New file.
50959
50960         * lib/uniwidth/u16-strwidth.c: New file.
50961         * modules/uniwidth/u16-strwidth: New file.
50962
50963         * tests/uniwidth/test-u8-strwidth.c: New file.
50964         * modules/uniwidth/u8-strwidth-tests: New file.
50965
50966         * lib/uniwidth/u8-strwidth.c: New file.
50967         * modules/uniwidth/u8-strwidth: New file.
50968
50969         * tests/uniwidth/test-u32-width.c: New file.
50970         * modules/uniwidth/u32-width-tests: New file.
50971
50972         * lib/uniwidth/u32-width.c: New file.
50973         * modules/uniwidth/u32-width: New file.
50974
50975         * tests/uniwidth/test-u16-width.c: New file.
50976         * modules/uniwidth/u16-width-tests: New file.
50977
50978         * lib/uniwidth/u16-width.c: New file.
50979         * modules/uniwidth/u16-width: New file.
50980
50981         * tests/uniwidth/test-u8-width.c: New file.
50982         * modules/uniwidth/u8-width-tests: New file.
50983
50984         * lib/uniwidth/u8-width.c: New file.
50985         * modules/uniwidth/u8-width: New file.
50986
50987         * tests/uniwidth/test-uc_width.c: New file.
50988         * modules/uniwidth/width-tests: New file.
50989
50990         * lib/uniwidth/width.c: New file, from GNU libiconv.
50991         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
50992         * modules/uniwidth/width: New file.
50993
50994         * lib/uniwidth.h: New file, from GNU libiconv.
50995         * modules/uniwidth/base: New file.
50996
50997 2007-07-07  Bruno Haible  <bruno@clisp.org>
50998
50999         * lib/uniname.h: New file, from GNU gettext.
51000         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
51001         * lib/uniname/uninames.h: New file, from GNU gettext.
51002         * lib/uniname/uniname.c: New file, from GNU gettext.
51003         * tests/uniname/test-uninames.sh: New file.
51004         * tests/uniname/test-uninames.c: New file, from GNU gettext.
51005         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
51006         * modules/uniname/base: New file.
51007         * modules/uniname/uniname: New file.
51008         * modules/uniname/uniname-tests: New file.
51009         * MODULES.html.sh (Unicode string functions): Add the new modules.
51010
51011 2007-07-06  Bruno Haible  <bruno@clisp.org>
51012
51013         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
51014
51015 2007-07-06  Bruno Haible  <bruno@clisp.org>
51016
51017         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
51018         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
51019         includes <cygwin/sys_time.h> which includes <sys/select.h> which
51020         include <sys/time.h>.
51021         Reported by Eric Blake.
51022
51023 2007-07-06  Eric Blake  <ebb9@byu.net>
51024
51025         Fix testing canonicalize on cygwin.
51026         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
51027         Revert patch from 2007-06-19.
51028         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
51029         canonicalize module is also in use.
51030         * tests/test-canonicalize.c: New file.
51031         * tests/test-canonicalize.sh: Likewise.
51032         * modules/canonicalize-tests: Likewise.
51033
51034 2007-07-06  Jim Meyering  <jim@meyering.net>
51035
51036         * lib/getugroups.c (getugroups): Detect getgrent failure.
51037         Adjust comment to reflect reality: this function may return -1.
51038
51039 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
51040
51041         * build-aux/bootstrap (TP_URL,get_translations): Update to use
51042         the new TP address.
51043         (usage): Fix typo
51044         (gnulib_mk): New variable.
51045
51046 2007-07-05  Jim Meyering  <jim@meyering.net>
51047
51048         Don't let endgrent clobber errno, no matter how improbable.
51049         * lib/getugroups.c (getugroups): Save and restore errno around
51050         endgrent call.
51051
51052         Close the group DB even when failing with 2^31 or more members.
51053         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
51054
51055 2007-07-04  Jim Meyering  <jim@meyering.net>
51056
51057         * lib/getugroups.h: New file.
51058         * lib/getugroups.c: Include "getugroups.h".
51059         Remove uses of "register" keyword.
51060         Move local variable, "cp", down into scope where used.
51061         Give "username" parameter the "const" attribute.
51062         * modules/getugroups (Files): Add lib/getugroups.h
51063
51064 2007-07-04  Karl Berry  <karl@gnu.org>
51065
51066         * MODULES.html.sh (func_all_modules): Complete rename of
51067         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
51068
51069 2007-07-02  Bruno Haible  <bruno@clisp.org>
51070
51071         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
51072         mode, when inttypes.h comes from gnulib.
51073         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51074
51075 2007-07-02  Simon Josefsson  <simon@josefsson.org>
51076
51077         * NEWS: Mention lgpl module name change.
51078
51079         * modules/lgpl-2.1: Renamed from lgpl.
51080
51081         * NEWS: Mention gpl module name change.
51082
51083         * modules/gpl-3.0: New file, based on gpl-2.0.
51084
51085         * modules/gpl-2.0: Renamed from gpl.
51086
51087         * modules/gpl: Fix filename, doc/gpl.texi is now found at
51088         doc/gpl-2.0.texi.
51089
51090 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
51091
51092         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
51093         #define __STDC_LIMIT_MACROS temporarily while including
51094         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
51095         Problem reported by Joel E. Denny in
51096         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
51097
51098 2007-07-01  Bruno Haible  <bruno@clisp.org>
51099
51100         * lib/unistdio.h: New file.
51101         * lib/unistdio/u-asnprintf.h: New file.
51102         * lib/unistdio/u-asprintf.h: New file.
51103         * lib/unistdio/u-printf-args.c: New file.
51104         * lib/unistdio/u-printf-args.h: New file.
51105         * lib/unistdio/u-printf-parse.h: New file.
51106         * lib/unistdio/u-snprintf.h: New file.
51107         * lib/unistdio/u-sprintf.h: New file.
51108         * lib/unistdio/u-vasprintf.h: New file.
51109         * lib/unistdio/u-vsnprintf.h: New file.
51110         * lib/unistdio/u-vsprintf.h: New file.
51111         * lib/unistdio/ulc-asnprintf.c: New file.
51112         * lib/unistdio/ulc-asprintf.c: New file.
51113         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
51114         * lib/unistdio/ulc-printf-parse.c: New file.
51115         * lib/unistdio/ulc-snprintf.c: New file.
51116         * lib/unistdio/ulc-sprintf.c: New file.
51117         * lib/unistdio/ulc-vasnprintf.c: New file.
51118         * lib/unistdio/ulc-vasprintf.c: New file.
51119         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
51120         * lib/unistdio/ulc-vsnprintf.c: New file.
51121         * lib/unistdio/ulc-vsprintf.c: New file.
51122         * lib/unistdio/u8-asnprintf.c: New file.
51123         * lib/unistdio/u8-asprintf.c: New file.
51124         * lib/unistdio/u8-printf-parse.c: New file.
51125         * lib/unistdio/u8-snprintf.c: New file.
51126         * lib/unistdio/u8-sprintf.c: New file.
51127         * lib/unistdio/u8-vasnprintf.c: New file.
51128         * lib/unistdio/u8-vasprintf.c: New file.
51129         * lib/unistdio/u8-vsnprintf.c: New file.
51130         * lib/unistdio/u8-vsprintf.c: New file.
51131         * lib/unistdio/u8-u8-asnprintf.c: New file.
51132         * lib/unistdio/u8-u8-asprintf.c: New file.
51133         * lib/unistdio/u8-u8-snprintf.c: New file.
51134         * lib/unistdio/u8-u8-sprintf.c: New file.
51135         * lib/unistdio/u8-u8-vasnprintf.c: New file.
51136         * lib/unistdio/u8-u8-vasprintf.c: New file.
51137         * lib/unistdio/u8-u8-vsnprintf.c: New file.
51138         * lib/unistdio/u8-u8-vsprintf.c: New file.
51139         * lib/unistdio/u16-asnprintf.c: New file.
51140         * lib/unistdio/u16-asprintf.c: New file.
51141         * lib/unistdio/u16-printf-parse.c: New file.
51142         * lib/unistdio/u16-snprintf.c: New file.
51143         * lib/unistdio/u16-sprintf.c: New file.
51144         * lib/unistdio/u16-vasnprintf.c: New file.
51145         * lib/unistdio/u16-vasprintf.c: New file.
51146         * lib/unistdio/u16-vsnprintf.c: New file.
51147         * lib/unistdio/u16-vsprintf.c: New file.
51148         * lib/unistdio/u16-u16-asnprintf.c: New file.
51149         * lib/unistdio/u16-u16-asprintf.c: New file.
51150         * lib/unistdio/u16-u16-snprintf.c: New file.
51151         * lib/unistdio/u16-u16-sprintf.c: New file.
51152         * lib/unistdio/u16-u16-vasnprintf.c: New file.
51153         * lib/unistdio/u16-u16-vasprintf.c: New file.
51154         * lib/unistdio/u16-u16-vsnprintf.c: New file.
51155         * lib/unistdio/u16-u16-vsprintf.c: New file.
51156         * lib/unistdio/u32-asnprintf.c: New file.
51157         * lib/unistdio/u32-asprintf.c: New file.
51158         * lib/unistdio/u32-printf-parse.c: New file.
51159         * lib/unistdio/u32-snprintf.c: New file.
51160         * lib/unistdio/u32-sprintf.c: New file.
51161         * lib/unistdio/u32-vasnprintf.c: New file.
51162         * lib/unistdio/u32-vasprintf.c: New file.
51163         * lib/unistdio/u32-vsnprintf.c: New file.
51164         * lib/unistdio/u32-vsprintf.c: New file.
51165         * lib/unistdio/u32-u32-asnprintf.c: New file.
51166         * lib/unistdio/u32-u32-asprintf.c: New file.
51167         * lib/unistdio/u32-u32-snprintf.c: New file.
51168         * lib/unistdio/u32-u32-sprintf.c: New file.
51169         * lib/unistdio/u32-u32-vasnprintf.c: New file.
51170         * lib/unistdio/u32-u32-vasprintf.c: New file.
51171         * lib/unistdio/u32-u32-vsnprintf.c: New file.
51172         * lib/unistdio/u32-u32-vsprintf.c: New file.
51173         * tests/unistdio/test-ulc-asnprintf1.c: New file.
51174         * tests/unistdio/test-ulc-asnprintf1.h: New file.
51175         * tests/unistdio/test-ulc-printf1.h: New file.
51176         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
51177         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
51178         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
51179         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
51180         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
51181         * tests/unistdio/test-ulc-vasprintf1.c: New file.
51182         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
51183         * tests/unistdio/test-ulc-vsprintf1.c: New file.
51184         * tests/unistdio/test-u8-asnprintf1.c: New file.
51185         * tests/unistdio/test-u8-asnprintf1.h: New file.
51186         * tests/unistdio/test-u8-printf1.h: New file.
51187         * tests/unistdio/test-u8-vasnprintf1.c: New file.
51188         * tests/unistdio/test-u8-vasnprintf2.c: New file.
51189         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
51190         * tests/unistdio/test-u8-vasnprintf3.c: New file.
51191         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
51192         * tests/unistdio/test-u8-vasprintf1.c: New file.
51193         * tests/unistdio/test-u8-vsnprintf1.c: New file.
51194         * tests/unistdio/test-u8-vsprintf1.c: New file.
51195         * tests/unistdio/test-u16-asnprintf1.c: New file.
51196         * tests/unistdio/test-u16-asnprintf1.h: New file.
51197         * tests/unistdio/test-u16-printf1.h: New file.
51198         * tests/unistdio/test-u16-vasnprintf1.c: New file.
51199         * tests/unistdio/test-u16-vasnprintf2.c: New file.
51200         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
51201         * tests/unistdio/test-u16-vasnprintf3.c: New file.
51202         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
51203         * tests/unistdio/test-u16-vasprintf1.c: New file.
51204         * tests/unistdio/test-u16-vsnprintf1.c: New file.
51205         * tests/unistdio/test-u16-vsprintf1.c: New file.
51206         * tests/unistdio/test-u32-asnprintf1.c: New file.
51207         * tests/unistdio/test-u32-asnprintf1.h: New file.
51208         * tests/unistdio/test-u32-printf1.h: New file.
51209         * tests/unistdio/test-u32-vasnprintf1.c: New file.
51210         * tests/unistdio/test-u32-vasnprintf2.c: New file.
51211         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
51212         * tests/unistdio/test-u32-vasnprintf3.c: New file.
51213         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
51214         * tests/unistdio/test-u32-vasprintf1.c: New file.
51215         * tests/unistdio/test-u32-vsnprintf1.c: New file.
51216         * tests/unistdio/test-u32-vsprintf1.c: New file.
51217         * modules/unistdio/base: New file.
51218         * modules/unistdio/u-printf-args: New file.
51219         * modules/unistdio/ulc-asnprintf: New file.
51220         * modules/unistdio/ulc-asprintf: New file.
51221         * modules/unistdio/ulc-fprintf: New file.
51222         * modules/unistdio/ulc-printf-parse: New file.
51223         * modules/unistdio/ulc-snprintf: New file.
51224         * modules/unistdio/ulc-sprintf: New file.
51225         * modules/unistdio/ulc-vasnprintf: New file.
51226         * modules/unistdio/ulc-vasprintf: New file.
51227         * modules/unistdio/ulc-vfprintf: New file.
51228         * modules/unistdio/ulc-vsnprintf: New file.
51229         * modules/unistdio/ulc-vsprintf: New file.
51230         * modules/unistdio/u8-asnprintf: New file.
51231         * modules/unistdio/u8-asprintf: New file.
51232         * modules/unistdio/u8-printf-parse: New file.
51233         * modules/unistdio/u8-snprintf: New file.
51234         * modules/unistdio/u8-sprintf: New file.
51235         * modules/unistdio/u8-vasnprintf: New file.
51236         * modules/unistdio/u8-vasprintf: New file.
51237         * modules/unistdio/u8-vsnprintf: New file.
51238         * modules/unistdio/u8-vsprintf: New file.
51239         * modules/unistdio/u8-u8-asnprintf: New file.
51240         * modules/unistdio/u8-u8-asprintf: New file.
51241         * modules/unistdio/u8-u8-snprintf: New file.
51242         * modules/unistdio/u8-u8-sprintf: New file.
51243         * modules/unistdio/u8-u8-vasnprintf: New file.
51244         * modules/unistdio/u8-u8-vasprintf: New file.
51245         * modules/unistdio/u8-u8-vsnprintf: New file.
51246         * modules/unistdio/u8-u8-vsprintf: New file.
51247         * modules/unistdio/u16-asnprintf: New file.
51248         * modules/unistdio/u16-asprintf: New file.
51249         * modules/unistdio/u16-printf-parse: New file.
51250         * modules/unistdio/u16-snprintf: New file.
51251         * modules/unistdio/u16-sprintf: New file.
51252         * modules/unistdio/u16-vasnprintf: New file.
51253         * modules/unistdio/u16-vasprintf: New file.
51254         * modules/unistdio/u16-vsnprintf: New file.
51255         * modules/unistdio/u16-vsprintf: New file.
51256         * modules/unistdio/u16-u16-asnprintf: New file.
51257         * modules/unistdio/u16-u16-asprintf: New file.
51258         * modules/unistdio/u16-u16-snprintf: New file.
51259         * modules/unistdio/u16-u16-sprintf: New file.
51260         * modules/unistdio/u16-u16-vasnprintf: New file.
51261         * modules/unistdio/u16-u16-vasprintf: New file.
51262         * modules/unistdio/u16-u16-vsnprintf: New file.
51263         * modules/unistdio/u16-u16-vsprintf: New file.
51264         * modules/unistdio/u32-asnprintf: New file.
51265         * modules/unistdio/u32-asprintf: New file.
51266         * modules/unistdio/u32-printf-parse: New file.
51267         * modules/unistdio/u32-snprintf: New file.
51268         * modules/unistdio/u32-sprintf: New file.
51269         * modules/unistdio/u32-vasnprintf: New file.
51270         * modules/unistdio/u32-vasprintf: New file.
51271         * modules/unistdio/u32-vsnprintf: New file.
51272         * modules/unistdio/u32-vsprintf: New file.
51273         * modules/unistdio/u32-u32-asnprintf: New file.
51274         * modules/unistdio/u32-u32-asprintf: New file.
51275         * modules/unistdio/u32-u32-snprintf: New file.
51276         * modules/unistdio/u32-u32-sprintf: New file.
51277         * modules/unistdio/u32-u32-vasnprintf: New file.
51278         * modules/unistdio/u32-u32-vasprintf: New file.
51279         * modules/unistdio/u32-u32-vsnprintf: New file.
51280         * modules/unistdio/u32-u32-vsprintf: New file.
51281         * modules/unistdio/ulc-asnprintf-tests: New file.
51282         * modules/unistdio/ulc-vasnprintf-tests: New file.
51283         * modules/unistdio/ulc-vasprintf-tests: New file.
51284         * modules/unistdio/ulc-vsnprintf-tests: New file.
51285         * modules/unistdio/ulc-vsprintf-tests: New file.
51286         * modules/unistdio/u8-asnprintf-tests: New file.
51287         * modules/unistdio/u8-vasnprintf-tests: New file.
51288         * modules/unistdio/u8-vasprintf-tests: New file.
51289         * modules/unistdio/u8-vsnprintf-tests: New file.
51290         * modules/unistdio/u8-vsprintf-tests: New file.
51291         * modules/unistdio/u16-asnprintf-tests: New file.
51292         * modules/unistdio/u16-vasnprintf-tests: New file.
51293         * modules/unistdio/u16-vasprintf-tests: New file.
51294         * modules/unistdio/u16-vsnprintf-tests: New file.
51295         * modules/unistdio/u16-vsprintf-tests: New file.
51296         * modules/unistdio/u32-asnprintf-tests: New file.
51297         * modules/unistdio/u32-vasnprintf-tests: New file.
51298         * modules/unistdio/u32-vasprintf-tests: New file.
51299         * modules/unistdio/u32-vsnprintf-tests: New file.
51300         * modules/unistdio/u32-vsprintf-tests: New file.
51301         * MODULES.html.sh (Unicode string functions): Add the new modules.
51302
51303 2007-07-01  Bruno Haible  <bruno@clisp.org>
51304
51305         * lib/sprintf.c (sprintf): Limit the available length estimation,
51306         to avoid address wraparound.
51307         * lib/vsprintf.c (vsprintf): Likewise.
51308         * modules/sprintf-posix (Dependencies): Add stdint.
51309         * modules/vsprintf-posix (Dependencies): Likewise.
51310
51311 2007-07-01  Bruno Haible  <bruno@clisp.org>
51312
51313         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
51314         Windows PATH as well. Conservative double-quoting. Comments.
51315
51316 2007-07-01  Bruno Haible  <bruno@clisp.org>
51317             Eric Blake  <ebb9@byu.net>
51318             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51319
51320         * gnulib-tool (self_abspathname): Fix algorithm to cope with
51321         empty components in $PATH, denoting '.'.
51322
51323 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51324
51325         * gnulib-tool: Fix indentation.
51326         (func_create_megatestdir): Likewise.
51327         Report by Bruno Haible.
51328
51329 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51330
51331         Sync from Automake.
51332         * build-aux/gnupload: Fix shell portability issues with for loops.
51333         Report by Karl Berry.
51334
51335 2007-06-29  Simon Josefsson  <simon@josefsson.org>
51336
51337         * build-aux/maint.mk (POURL): Use translationproject.org.
51338
51339 2007-06-27  Simon Josefsson  <simon@josefsson.org>
51340             Bruno Haible  <bruno@clisp.org>
51341
51342         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
51343         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
51344         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
51345         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
51346         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
51347
51348 2007-06-27  Bruno Haible  <bruno@clisp.org>
51349
51350         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
51351         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
51352
51353 2007-06-26  Karl Berry  <karl@gnu.org>
51354
51355         * MODULES.html.sh: remove xreadlink-with-size.
51356
51357 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51358
51359         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
51360         method that I hope also handles the double-include problem noted
51361         by Bruno Haible in
51362         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
51363
51364 2007-06-23  Bruno Haible  <bruno@clisp.org>
51365
51366         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51367         Don't let the 'mostlyclean' target fail if the last subdirectory could
51368         not be removed.
51369         Reported by Karl Berry.
51370
51371 2007-06-23  Bruno Haible  <bruno@clisp.org>
51372
51373         * gnulib-tool (echo): Add a speedier workaround for ksh.
51374         * tests/test-echo.sh: Likewise.
51375
51376 2007-06-23  Bruno Haible  <bruno@clisp.org>
51377
51378         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
51379         * tests/test-echo.sh: Likewise.
51380
51381 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51382
51383         * gnulib-tool (IFS): Initialize early, so we don't set it to
51384         empty later.
51385         (self_abspathname): Rewrite algorithm to set it, reindent.
51386         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
51387         (func_create_megatestdir): Merge some sed scripts.
51388
51389 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51390
51391         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
51392         exposed by Sun Studio 11 cc on Solaris 8.
51393
51394 2007-06-22  Bruno Haible  <bruno@clisp.org>
51395
51396         * gnulib-tool (echo): Ensure the echo primitive does not interpret
51397         backslashes.
51398         * tests/test-echo.sh: New file.
51399
51400 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51401
51402         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
51403         simplify `sed_replace_build_aux' scripts, they are portable but
51404         echoing them with `echo' is not.
51405         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
51406
51407 2007-06-21  Karl Berry  <karl@gnu.org>
51408
51409         * config/srclist.txt: guess we can't handle the licenses via
51410         srclist at the moment.
51411
51412 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
51413
51414         * MODULES.html.sh: Add include_next.
51415         * modules/include_next: New file.
51416
51417 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51418
51419         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
51420         INCLUDE_NEXT.
51421         (gl_CHECK_NEXT_HEADERS): New macro.
51422         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
51423         the obsolescent gl_ABSOLUTE_HEADER.
51424         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
51425         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
51426         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
51427         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
51428         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
51429         * m4/math_h.m4 (gl_MATH_H): Likewise.
51430         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
51431         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
51432         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
51433         * m4/stdint.m4 (gl_STDINT_H): Likewise.
51434         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
51435         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
51436         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
51437         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
51438         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
51439         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
51440         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
51441         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
51442         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
51443         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
51444         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
51445         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
51446         * m4/inttypes.m4 (gl_INTTYPES_H): Define
51447         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
51448         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
51449         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
51450         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
51451         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
51452         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
51453         * lib/float_.h: Likewise.
51454         * lib/inttypes_.h: Likewise.
51455         * lib/math_.h: Likewise.
51456         * lib/search_.h: Likewise.
51457         * lib/signal_.h: Likewise.
51458         * lib/stdint_.h: Likewise.
51459         * lib/stdio_.h: Likewise.
51460         * lib/stdlib_.h: Likewise.
51461         * lib/string_.h: Likewise.
51462         * lib/sys_stat_.h: Likewise.
51463         * lib/sys_time_.h: Likewise.
51464         * lib/time_.h: Likewise.
51465         * lib/unistd_.h: Likewise.
51466         * lib/wchar_.h: Likewise.
51467         * lib/wctype_.h: Likewise.
51468         * lib/dirent_.h: Likewise.
51469         * lib/iconv_.h: Likewise.
51470         * lib/locale_.h: Likewise.
51471         * lib/netinet_in_.h: Likewise.
51472         * lib/sys_select_.h: Likewise.
51473         * lib/sys_socket_.h: Likewise.
51474         * lib/sysexits_.h: Likewise.
51475         * modules/fcntl (Depends-on): Depend on include_next, not
51476         absolute_header.
51477         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
51478         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
51479         * modules/fchdir: Likewise.
51480         * modules/float: Likewise.
51481         * modules/iconv_open: Likewise.
51482         * modules/inttypes: Likewise.
51483         * modules/locale: Likewise.
51484         * modules/math: Likewise.
51485         * modules/netinet_in: Likewise.
51486         * modules/search: Likewise.
51487         * modules/signal: Likewise.
51488         * modules/stdint: Likewise.
51489         * modules/stdio: Likewise.
51490         * modules/stdlib: Likewise.
51491         * modules/string: Likewise.
51492         * modules/sys_select: Likewise.
51493         * modules/sys_socket: Likewise.
51494         * modules/sys_stat: Likewise.
51495         * modules/sys_time: Likewise.
51496         * modules/sysexits: Likewise.
51497         * modules/time: Likewise.
51498         * modules/unistd: Likewise.
51499         * modules/wchar: Likewise.
51500         * modules/wctype: Likewise.
51501         * modules/sys_stat: Change maintainer to "all".
51502         * modules/unistd: Likewise.
51503
51504 2007-06-20  Karl Berry  <karl@gnu.org>
51505
51506         * config/srclist.txt: track www changes in license files.
51507
51508 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
51509
51510         * build-aux/bootstrap: Remove stray dot.
51511         Make sure build_aux settings are honored when linking
51512         gnulib_extra_files.
51513
51514 2007-06-19  Eric Blake  <ebb9@byu.net>
51515
51516         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
51517         Allow compilation on cygwin.
51518
51519 2007-06-19  Jim Meyering  <jim@meyering.net>
51520
51521         xreadlink-with-size: Remove module.  No longer used.
51522         Ex-callers now use xreadlink or mreadlink-with-size.
51523         * modules/xreadlink-with-size: Remove module.
51524         * lib/xreadlink-with-size.c: Remove file.
51525         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
51526         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
51527         just before the function definition *is* accurate.
51528
51529         Eliminate one way canonicalize_filename_mode could exit.
51530         * lib/canonicalize.c (canonicalize_filename_mode):
51531         Use mreadlink_with_size, not xreadlink_with_size.
51532
51533 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
51534
51535         Detect porting problems to FreeBSD/arm, which has time_t wider than
51536         long int.  Original problem reported for GNU diff by Xin Li in
51537         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
51538         * modules/getdate (Depends-on): Add intprops, verify.
51539         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
51540         is an integer type no wider than long int.
51541
51542 2007-06-18  Jim Meyering  <jim@meyering.net>
51543
51544         New module: mreadlink-with-size.
51545         * MODULES.html.sh: Add mreadlink-with-size.
51546         * modules/mreadlink-with-size: New module
51547         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
51548         not xreadlink-with-size.
51549         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
51550
51551 2007-06-16  Bruno Haible  <bruno@clisp.org>
51552
51553         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
51554         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
51555         Reported by Gary V. Vaughan <gary@gnu.org>.
51556
51557 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
51558
51559         Revamp lchown so that it lives in unistd.h where it belongs.
51560         * lib/lchown.h: Remove.
51561         * lib/dirchownmod.c: Don't include lib/lchown.h.
51562         * lib/fchownat.c: Likewise.
51563         * lib/openat.c: Likewise.
51564         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
51565         does not follow symlinks.
51566         (EOPNOTSUPP): Define if not defined.
51567         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
51568         is defined to 0.
51569         (lchown): New decl.
51570         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
51571         Do not check for lchown decl.
51572         Set REPLACE_LCHOWN.
51573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
51574         REPLACE_LCHOWN.
51575         * modules/chown: Make it clear it follows symlinks.
51576         * modules/lchown: Make it clear it doesn't follow symlinks.
51577         (Files): Remove lib/lchown.h
51578         (Depends-on): Add unistd.
51579         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
51580         (Include): Include <unistd.h>, not "lchown.h".
51581         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
51582         REPLACE_LCHOWN.
51583
51584 2007-06-15  Jim Meyering  <jim@meyering.net>
51585
51586         Change license (GPL to LGPL) of fsusage and dependents.
51587         * modules/fsusage (License): Change to LGPL.
51588         * modules/full-read (License): Likewise.
51589         * modules/full-write (License): Likewise.
51590         * modules/safe-read (License): Likewise.
51591         * modules/safe-write (License): Likewise.
51592
51593 2007-06-14  Ben Pfaff  <blp@gnu.org>
51594
51595         Missing part of allocsa -> malloca transition.
51596         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
51597         gl_MALLOCA.
51598
51599 2007-06-12  Bruno Haible  <bruno@clisp.org>
51600
51601         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
51602         to ia64, x86_64, i386.
51603         Reported by Eric Blake.
51604
51605 2007-06-12  Bruno Haible  <bruno@clisp.org>
51606
51607         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
51608         cross-compiling to x86_64.
51609
51610 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
51611
51612         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
51613         glitch reported by Ralf Wildenhues in
51614         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
51615
51616         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
51617         Vin Shelton.
51618
51619 2007-06-11  Bruno Haible  <bruno@clisp.org>
51620
51621         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
51622         replacement string.
51623         Reported by Eric Blake.
51624
51625 2007-06-10  Bruno Haible  <bruno@clisp.org>
51626
51627         Prepare vasnprintf code for use with Unicode strings.
51628         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
51629         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
51630         TYPE_U32_STRING.
51631         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
51632         a_u32_string variants.
51633         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
51634         * lib/printf-args.c: Don't include config.h and the specification
51635         header if PRINTF_FETCHARGS is already defined.
51636         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
51637         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
51638         TYPE_U16_STRING, TYPE_U32_STRING.
51639         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
51640         u16_directive, u16_directives, u32_directive, u32_directives): New
51641         types.
51642         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
51643         New declarations.
51644         * lib/printf-parse.c: Don't include config.h and the specification
51645         header if PRINTF_PARSE is already defined. Eliminate the set of
51646         parameters for WIDE_CHAR_VERSION; the user of this file must provide
51647         them now. Include c-ctype.h.
51648         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
51649         directive and CHAR_T_ONLY_ASCII.
51650         * lib/vasnprintf.c: Don't include config.h and the specification header
51651         if VASNPRINTF is already defined.
51652         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
51653         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
51654         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
51655         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
51656         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
51657         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
51658         code accordingly.
51659         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
51660         pad_ourselves also in this case, with the 'c' and 's' directives, and
51661         with a different notion of "width".
51662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
51663
51664 2007-06-10  Bruno Haible  <bruno@clisp.org>
51665
51666         * modules/unistr/u32-mbsnlen: New file.
51667         * lib/unistr/u32-mbsnlen.c: New file.
51668
51669         * modules/unistr/u16-mbsnlen: New file.
51670         * lib/unistr/u16-mbsnlen.c: New file.
51671
51672         * modules/unistr/u8-mbsnlen: New file.
51673         * lib/unistr/u8-mbsnlen.c: New file.
51674
51675         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
51676         declarations.
51677
51678 2007-06-10  Bruno Haible  <bruno@clisp.org>
51679
51680         * lib/string_.h (mbsnlen): New declaration.
51681         * lib/mbsnlen.c: New file.
51682         * m4/mbsnlen.m4: New file.
51683         * modules/mbsnlen: New file.
51684         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
51685         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
51686         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
51687
51688 2007-06-10  Bruno Haible  <bruno@clisp.org>
51689
51690         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
51691
51692 2007-06-10  Bruno Haible  <bruno@clisp.org>
51693
51694         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
51695         * lib/mbuiter.h: Likewise.
51696
51697 2007-06-10  Bruno Haible  <bruno@clisp.org>
51698
51699         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
51700         declaration.
51701
51702 2007-06-10  Karl Berry  <karl@gnu.org>
51703
51704         * config/srclist.txt: remove gettext entries, Bruno prefers
51705         to update individually.
51706
51707 2007-06-10  Bruno Haible  <bruno@clisp.org>
51708
51709         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
51710         'maxlen'. Ensure only length + width bytes are allocated, not
51711         length + 1 + width.
51712
51713 2007-06-09  Bruno Haible  <bruno@clisp.org>
51714
51715         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
51716         (CHAR_T): Remove macro.
51717         (VASNPRINTF): Update.
51718
51719 2007-06-09  Bruno Haible  <bruno@clisp.org>
51720
51721         * MODULES.html.sh (Unicode string functions): Add the new modules.
51722
51723         * modules/uniconv/u32-conv-to-enc: New file.
51724         * lib/uniconv/u32-conv-to-enc.c: New file.
51725         * modules/uniconv/u32-conv-to-enc-tests: New file.
51726         * tests/uniconv/test-u32-conv-to-enc.c: New file.
51727
51728         * modules/uniconv/u16-conv-to-enc: New file.
51729         * lib/uniconv/u16-conv-to-enc.c: New file.
51730         * lib/uniconv/u-conv-to-enc.h: New file.
51731         * modules/uniconv/u16-conv-to-enc-tests: New file.
51732         * tests/uniconv/test-u16-conv-to-enc.c: New file.
51733
51734         * modules/uniconv/u8-conv-to-enc: New file.
51735         * lib/uniconv/u8-conv-to-enc.c: New file.
51736         * modules/uniconv/u8-conv-to-enc-tests: New file.
51737         * tests/uniconv/test-u8-conv-to-enc.c: New file.
51738
51739         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
51740         u32_conv_to_encoding): New declarations.
51741
51742 2007-06-09  Bruno Haible  <bruno@clisp.org>
51743
51744         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
51745
51746 2007-06-09  Bruno Haible  <bruno@clisp.org>
51747
51748         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
51749         * modules/malloca: Renamed from modules/allocsa, updated.
51750         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
51751         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
51752         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
51753         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
51754         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
51755         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
51756         * modules/xmalloca: Renamed from modules/xallocsa, updated.
51757         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
51758         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
51759         * modules/c-strcasestr (Depends-on): Update.
51760         * lib/c-strcasestr.c: Update.
51761         * modules/c-strstr (Depends-on): Update.
51762         * lib/c-strstr.c: Update.
51763         * modules/canonicalize-lgpl (Depends-on): Update.
51764         * lib/canonicalize-lgpl.c: Update.
51765         * modules/clean-temp (Depends-on): Update.
51766         * lib/clean-temp.c: Update.
51767         * modules/csharpcomp (Depends-on): Update.
51768         * lib/csharpcomp.c: Update.
51769         * modules/csharpexec (Depends-on): Update.
51770         * lib/csharpexec.c: Update.
51771         * modules/javacomp (Depends-on): Update.
51772         * lib/javacomp.c: Update.
51773         * modules/javaexec (Depends-on): Update.
51774         * lib/javaexec.c: Update.
51775         * modules/mbscasestr (Depends-on): Update.
51776         * lib/mbscasestr.c: Update.
51777         * modules/mbsstr (Depends-on): Update.
51778         * lib/mbsstr.c: Update.
51779         * modules/setenv (Depends-on): Update.
51780         * lib/setenv.c: Update.
51781         * modules/strcasestr (Depends-on): Update.
51782         * lib/strcasestr.c: Update.
51783         * modules/striconveha (Depends-on): Update.
51784         * lib/striconveha.c: Update.
51785         * modules/relocatable-prog-wrapper (Files): Update.
51786         * lib/relocwrapper.c: Update.
51787         * build-aux/install-reloc: Update.
51788         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
51789
51790 2007-06-08  Bruno Haible  <bruno@clisp.org>
51791
51792         Port to uClibc.
51793         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
51794         * lib/fpurge.c (fpurge): Likewise.
51795         * lib/freading.c (freading): Likewise.
51796         * lib/fseeko.c (rpl_fseeko): Likewise.
51797         * lib/fseterr.c (fseterr): Likewise.
51798         * lib/fwriting.c (fwriting): Likewise.
51799         * tests/test-fflush.c (main): Avoid a failure on uClibc.
51800
51801 2007-06-08  Bruno Haible  <bruno@clisp.org>
51802
51803         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
51804         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
51805         * modules/gettext (Files): Add m4/intlmacosx.m4.
51806
51807 2007-06-07  Bruno Haible  <bruno@clisp.org>
51808
51809         * modules/localename-tests: New file.
51810         * tests/test-localename.c: New file.
51811
51812         New module 'localename'.
51813         * lib/localename.h: New file.
51814         * lib/localename.c: New file, from GNU gettext.
51815         * m4/localename.m4: New file.
51816         * modules/localename: New file.
51817
51818 2007-06-07  Bruno Haible  <bruno@clisp.org>
51819
51820         Work around the lack of <wchar.h> on some builds of uClibc.
51821         * doc/headers/wchar.texi: Update.
51822         * lib/wchar_.h: Include <wchar.h> only if it exists.
51823         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
51824         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
51825         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
51826         doesn't exist.
51827         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
51828         * modules/mbfile (Depends-on): Add wchar.
51829         * modules/mbiter (Depends-on): Likewise.
51830         * modules/mbuiter (Depends-on): Likewise.
51831         Reported by Simon Josefsson.
51832
51833 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
51834
51835         Work around problem reported by Steven M. Schweda in
51836         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
51837         Tru64 5.1B with the Compaq compiler environment installed declares
51838         an 'isblank' function but does not define it in the C library.
51839         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
51840         * lib/regex_internal.h (isblank): Likewise.
51841         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
51842         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51843
51844 2007-06-05  Bruno Haible  <bruno@clisp.org>
51845
51846         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
51847         ia64.
51848         * modules/printf-safe: New file.
51849         * modules/fprintf-posix (Depends-on): Add printf-safe.
51850         * modules/printf-posix (Depends-on): Likewise.
51851         * modules/snprintf-posix (Depends-on): Likewise.
51852         * modules/sprintf-posix (Depends-on): Likewise.
51853         * modules/vasnprintf-posix (Depends-on): Likewise.
51854         * modules/vasprintf-posix (Depends-on): Likewise.
51855         * modules/vfprintf-posix (Depends-on): Likewise.
51856         * modules/vprintf-posix (Depends-on): Likewise.
51857         * modules/vsnprintf-posix (Depends-on): Likewise.
51858         * modules/vsprintf-posix (Depends-on): Likewise.
51859         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
51860         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
51861         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
51862         "no" on i386, x86_64, ia64.
51863         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
51864         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51865         on i386, x86_64, ia64.
51866         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
51867         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51868         on i386, x86_64, ia64.
51869         * tests/test-vasnprintf-posix.c: Include float.h.
51870         (LDBL80_WORDS): New macro.
51871         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51872         on i386, x86_64, ia64.
51873         * tests/test-vasprintf-posix.c: Include float.h.
51874         (LDBL80_WORDS): New macro.
51875         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51876         on i386, x86_64, ia64.
51877         * tests/test-snprintf-posix.c: Include float.h.
51878         * tests/test-sprintf-posix.c: Likewise.
51879         * tests/test-vsnprintf-posix.c: Likewise.
51880         * tests/test-vsprintf-posix.c: Likewise.
51881
51882 2007-06-05  Bruno Haible  <bruno@clisp.org>
51883
51884         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
51885         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
51886         non-IEEE numbers on i386, x86_64, ia64.
51887         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
51888         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
51889         * tests/test-isnanl.h: Include float.h.
51890         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
51891
51892 2007-06-05  Bruno Haible  <bruno@clisp.org>
51893
51894         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
51895         also the %a / %A. Handle the %a / %A code before this extra handling.
51896
51897 2007-06-05  Bruno Haible  <bruno@clisp.org>
51898
51899         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
51900         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
51901
51902 2007-06-05  Bruno Haible  <bruno@clisp.org>
51903
51904         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
51905         typo in variable name.
51906
51907 2007-06-05  Eric Blake  <ebb9@byu.net>
51908
51909         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
51910         Reported by Simon Josefsson.
51911
51912 2007-06-04  Bruno Haible  <bruno@clisp.org>
51913
51914         Avoid test failures on some PowerPC platforms.
51915         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
51916         Define differently for PowerPC.
51917         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
51918         Reported by Gary V. Vaughan <gary@gnu.org>.
51919
51920 2007-06-02  Bruno Haible  <bruno@clisp.org>
51921
51922         Fix test-stdint failure on FreeBSD/ia64.
51923         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
51924         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
51925         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
51926         * doc/headers/stdint.texi: Update.
51927
51928 2007-06-01  Bruno Haible  <bruno@clisp.org>
51929
51930         * tests/test-binary-io.c (main): Pass a third argument to open().
51931         Reported by Gary V. Vaughan <gary@gnu.org>.
51932
51933 2007-06-01  Bruno Haible  <bruno@clisp.org>
51934
51935         * doc/functions/frexpl.texi: Update for mingw.
51936
51937 2007-06-01  Bruno Haible  <bruno@clisp.org>
51938
51939         * tests/test-lseek.c (main): Disable test of errno for invalid third
51940         argument.
51941         * doc/functions/lseek.texi: Update.
51942         Reported by Gary V. Vaughan <gary@gnu.org>.
51943
51944 2007-05-28  Bruno Haible  <bruno@clisp.org>
51945
51946         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
51947
51948 2007-05-31  Eric Blake  <ebb9@byu.net>
51949
51950         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
51951         cross compiling.
51952
51953 2007-05-30  Eric Blake  <ebb9@byu.net>
51954         and Bruno Haible  <bruno@clisp.org>
51955
51956         Work around mingw test failures exposed by m4-1.4.9b.
51957         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
51958         * tests/test-unistd.c: Disable uid_t and git_t tests for the
51959         moment.
51960
51961 2007-05-30  Bruno Haible  <bruno@clisp.org>
51962
51963         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
51964         assuming that they are closed. Needed on HP-UX 11.
51965
51966 2007-05-29  Bruno Haible  <bruno@clisp.org>
51967
51968         Fix a problem with #include_next.
51969         * lib/dirent_.h: Split the double-inclusion guard.
51970         * lib/fcntl_.h: Likewise.
51971         * lib/float_.h: Likewise.
51972         * lib/iconv_.h: Likewise.
51973         * lib/inttypes_.h: Likewise.
51974         * lib/locale_.h: Likewise.
51975         * lib/math_.h: Likewise.
51976         * lib/netinet_in_.h: Likewise.
51977         * lib/search_.h: Likewise.
51978         * lib/signal_.h: Likewise.
51979         * lib/stdint_.h: Likewise.
51980         * lib/stdio_.h: Likewise.
51981         * lib/stdlib_.h: Likewise.
51982         * lib/string_.h: Likewise.
51983         * lib/sys_select_.h: Likewise.
51984         * lib/sys_socket_.h: Likewise.
51985         * lib/sys_stat_.h: Likewise.
51986         * lib/sys_time_.h: Likewise.
51987         * lib/sysexits_.h: Likewise.
51988         * lib/time_.h: Likewise.
51989         * lib/unistd_.h: Likewise.
51990         * lib/wchar_.h: Likewise.
51991         * lib/wctype_.h: Likewise.
51992
51993 2007-05-29  Bruno Haible  <bruno@clisp.org>
51994
51995         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
51996         for the moment.
51997
51998 2007-05-29  Bruno Haible  <bruno@clisp.org>
51999
52000         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
52001         invocation.
52002         Reported by Eric Blake.
52003
52004 2007-05-29  Bruno Haible  <bruno@clisp.org>
52005
52006         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
52007         compiling case.
52008
52009 2007-05-29  Eric Blake  <ebb9@byu.net>
52010             Bruno Haible  <bruno@clisp.org>
52011
52012         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
52013         cross compiles.
52014
52015 2007-05-28  Eric Blake  <ebb9@byu.net>
52016
52017         * modules/closein-tests (test_closein_LDADD): Support test on
52018         cygwin with libtool.
52019
52020 2007-05-28  Bruno Haible  <bruno@clisp.org>
52021
52022         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
52023         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
52024         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
52025         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
52026         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
52027         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
52028         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
52029         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
52030         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
52031
52032 2007-05-28  Eric Blake  <ebb9@byu.net>
52033
52034         Unconditionally include <config.h> in unit tests.
52035         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
52036         * tests/test-allocsa.c, tests/test-arcfour.c,
52037         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
52038         tests/test-array_list.c, tests/test-array_oset.c,
52039         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
52040         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
52041         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
52042         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
52043         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
52044         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
52045         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
52046         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
52047         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
52048         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
52049         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
52050         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
52051         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
52052         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
52053         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
52054         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
52055         test-md5.c, test-memmem.c, test-printf-posix.c,
52056         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
52057         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
52058         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
52059         test-strcasestr.c, test-striconv.c, test-striconveh.c,
52060         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
52061         test-vasnprintf-posix2.c, test-vasnprintf.c,
52062         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
52063         test-vfprintf-posix.c, test-vprintf-posix.c,
52064         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
52065         test-xvasprintf.c: Likewise.
52066
52067 2007-05-28  Bruno Haible  <bruno@clisp.org>
52068
52069         * gnulib-tool (func_import): Remember the --with-tests command-line
52070         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
52071         Reported by Eric Blake.
52072
52073 2007-05-28  Bruno Haible  <bruno@clisp.org>
52074
52075         * modules/ftell-tests: New file.
52076         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
52077         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
52078
52079         * lib/ftell.c: New file.
52080         * modules/ftell: New file.
52081         * m4/ftell.m4: New file.
52082         * doc/functions/ftell.texi: Update.
52083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
52084         REPLACE_FTELL.
52085         * lib/stdio_.h (rpl_ftell): New declaration.
52086         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
52087         REPLACE_FTELL.
52088
52089 2007-05-28  Eric Blake  <ebb9@byu.net>
52090
52091         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
52092
52093 2007-05-28  Bruno Haible  <bruno@clisp.org>
52094
52095         * modules/fseek-tests: New file.
52096         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
52097         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
52098
52099         * lib/fseek.c: New file.
52100         * modules/fseek: New file.
52101         * m4/fseek.m4: New file.
52102         * doc/functions/fseek.texi: Update.
52103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
52104         REPLACE_FSEEK.
52105         * lib/stdio_.h (rpl_fseek): New declaration.
52106         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
52107         REPLACE_FSEEK.
52108
52109 2007-05-28  Bruno Haible  <bruno@clisp.org>
52110
52111         * lib/stdio_.h (fflush): More comments.
52112
52113 2007-05-28  Bruno Haible  <bruno@clisp.org>
52114
52115         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
52116         runtime test.
52117
52118 2007-05-28  Eric Blake  <ebb9@byu.net>
52119
52120         Improve lseek module.
52121         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
52122         * lib/unistd_.h (lseek): Scale back link warning message.
52123         * tests/test-lseek.c: Beef up test.
52124         * tests/test-lseek.sh: Exercise more facets of lseek.
52125         Reported by Bruno Haible.
52126
52127 2007-05-28  Bruno Haible  <bruno@clisp.org>
52128
52129         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
52130         to define.
52131
52132 2007-05-27  Bruno Haible  <bruno@clisp.org>
52133
52134         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
52135
52136 2007-05-27  Bruno Haible  <bruno@clisp.org>
52137
52138         * modules/openmp: New file.
52139         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
52140         Noah Misch.
52141
52142 2007-05-26  Bruno Haible  <bruno@clisp.org>
52143
52144         * modules/chdir-long (Depends-on): Add fchdir.
52145         * modules/chdir-safer (Depends-on): Likewise.
52146         * modules/fts (Depends-on): Likewise.
52147         * modules/fts-lgpl (Depends-on): Likewise.
52148         * modules/openat (Depends-on): Likewise.
52149         * modules/savewd (Depends-on): Likewise.
52150
52151 2007-05-24  Eric Blake  <ebb9@byu.net>
52152
52153         Fix lseek on mingw.
52154         * modules/lseek: New module.
52155         * m4/lseek.m4: New file.
52156         * lib/lseek.c: New file.
52157         * modules/lseek-tests: New file.
52158         * tests/test-lseek.c: New file.
52159         * tests/test-lseek.sh: New file.
52160         * MODULES.html.sh: Document lseek module.
52161         * modules/fflush (Depends-on): Add lseek, fseeko.
52162         * modules/fseeko (Depends-on): Likewise.
52163         * modules/ftello (Depends-on): Likewise.
52164         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
52165         broken.
52166         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
52167         broken.
52168         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
52169         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
52170         * lib/ftello.c (rpl_ftello): Likewise.
52171         * tests/test-fseeko.c (main): Test this.
52172         * tests/test-fseeko.sh: Likewise.
52173         * tests/test-ftello.c (main): Likewise.
52174         * tests/test-ftello.sh: Likewise.
52175         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
52176         implies replacing fseek.
52177         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
52178         HAVE_FTELLO.
52179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
52180         * modules/unistd (Makefile.am): Likewise.
52181         * lib/unistd_.h (lseek): Declare a replacement.
52182         * doc/functions/lseek.texi (lseek): Document this fix.
52183         * doc/functions/fseek.texi (fseek): Likewise.
52184         * doc/functions/ftell.texi (ftell): Likewise.
52185
52186 2007-05-24  Bruno Haible  <bruno@clisp.org>
52187
52188         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
52189         in the printed representation of a NaN.
52190         * tests/test-vasprintf-posix.c (test_function): Likewise.
52191         * tests/test-snprintf-posix.h (test_function): Likewise.
52192         * tests/test-sprintf-posix.h (test_function): Likewise.
52193         Reported by Eric Blake.
52194
52195 2007-05-23  Eric Blake  <ebb9@byu.net>
52196
52197         Fix fseeko/ftello on cygwin 1.5.24.
52198         * doc/functions/fseeko.texi (fseeko): Document the fix.
52199         * doc/functions/ftello.texi (ftello): Document the fix.
52200         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
52201         * doc/functions/stdout.text (stdout): New file.
52202         * doc/functions/stderr.text (stderr): New file.
52203         * doc/gnulib.texi (Function Substitutes): Use new files.
52204         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
52205         prior to 1.7.0.
52206         * tests/test-ftello.c (main): Likewise for ftello.
52207         * tests/test-fseeko.sh: New file.
52208         * tests/test-ftello.sh: New file.
52209         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
52210         with seekable stdin.
52211         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
52212         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
52213         (gl_REPLACE_FSEEKO): New macro.
52214         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
52215         * modules/fseeko (Files): Distribute fseeko.c.
52216         * modules/ftello (Files): Distribute ftello.c.
52217         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
52218         mode.
52219         * lib/ftello.c (rpl_ftello): New file.
52220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
52221         fseeko, ftello.
52222         (gl_STDIN_LARGE_OFFSET): New macro.
52223         * modules/stdio (Makefile.am): Perform the replacement.
52224         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
52225
52226 2007-05-23  Bruno Haible  <bruno@clisp.org>
52227
52228         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
52229         GNULIB_POSIXCHECK is defined.
52230
52231 2007-05-21  Bruno Haible  <bruno@clisp.org>
52232
52233         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
52234         Check also the output for NaN arguments. When cross-compiling, guess
52235         no on IRIX.
52236         * lib/vasnprintf.c: Update comments.
52237         * tests/test-vasnprintf-posix.c (strisnan): New function.
52238         (test_function): Use it.
52239         * tests/test-vasprintf-posix.c (strisnan): New function.
52240         (test_function): Use it.
52241         * tests/test-snprintf-posix.h (strisnan): New function.
52242         (test_function): Use it.
52243         * tests/test-sprintf-posix.h (strisnan): New function.
52244         (test_function): Use it.
52245         Reported by Eric Blake.
52246
52247 2007-05-20  Bruno Haible  <bruno@clisp.org>
52248
52249         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
52250         numbers that fails on BeOS.
52251         * doc/functions/frexpl.texi: Update.
52252
52253 2007-05-20  Jim Meyering  <jim@meyering.net>
52254
52255         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
52256         forced upon us by glibc-2.6.
52257
52258 2007-05-20  Bruno Haible  <bruno@clisp.org>
52259
52260         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
52261         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
52262         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
52263         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
52264         NEED_PRINTF_INFINITE.
52265         (is_infinitel): New function.
52266         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
52267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
52268         gl_PREREQ_VASNPRINTF_INFINITE.
52269         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
52270         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52271         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
52272         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
52273         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
52274         gl_PREREQ_VASNPRINTF_INFINITE.
52275         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52276         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52277         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52278         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52279         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52280         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52281         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52282         * doc/functions/fprintf.texi: Update.
52283         * doc/functions/printf.texi: Update.
52284         * doc/functions/snprintf.texi: Update.
52285         * doc/functions/sprintf.texi: Update.
52286         * doc/functions/vfprintf.texi: Update.
52287         * doc/functions/vprintf.texi: Update.
52288         * doc/functions/vsnprintf.texi: Update.
52289         * doc/functions/vsprintf.texi: Update.
52290
52291 2007-05-20  Bruno Haible  <bruno@clisp.org>
52292
52293         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
52294         was not found in libc.
52295         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
52296
52297 2007-05-20  Bruno Haible  <bruno@clisp.org>
52298
52299         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
52300         printed as "-nan" instead of "nan".
52301         * tests/test-vasprintf-posix.c (test_function): Likewise.
52302         * tests/test-snprintf-posix.h (test_function): Likewise.
52303         * tests/test-sprintf-posix.h (test_function): Likewise.
52304         Needed for HP-UX 11.
52305
52306 2007-05-20  Jim Meyering  <jim@meyering.net>
52307
52308         Fix buggy test for the fchownat-deref bug.
52309         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
52310         symlink required for the run-test.  Without it, this test would
52311         always declare that fchownat doesn't work, and client code would
52312         unnecessarily use the replacement function with fixed libc.
52313         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
52314         Reported by Greg Schafer.
52315
52316 2007-05-19  Bruno Haible  <bruno@clisp.org>
52317
52318         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
52319         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
52320         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
52321         Needed for IRIX 6.5 and Solaris 2.5.1.
52322
52323 2007-05-19  Bruno Haible  <bruno@clisp.org>
52324
52325         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
52326         (test_function): Skip tests involving -0.0 on platforms where
52327         -0.0 = 0.0.
52328         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
52329         (test_function): Skip tests involving -0.0 on platforms where
52330         -0.0 = 0.0.
52331         * tests/test-snprintf-posix.h (have_minus_zero): New function.
52332         (test_function): Skip tests involving -0.0 on platforms where
52333         -0.0 = 0.0.
52334         * tests/test-sprintf-posix.h (have_minus_zero): New function.
52335         (test_function): Skip tests involving -0.0 on platforms where
52336         -0.0 = 0.0.
52337         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
52338         tests.
52339         * tests/test-printf-posix.h (test_function): Likewise.
52340         * tests/test-printf-posix.output: Remove all -0.0 related results.
52341         Needed for IRIX 6.5.
52342
52343 2007-05-19  Bruno Haible  <bruno@clisp.org>
52344
52345         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
52346         printed as "nan0x7fffffff" instead of "nan".
52347         * tests/test-vasprintf-posix.c (test_function): Likewise.
52348         * tests/test-snprintf-posix.h (test_function): Likewise.
52349         * tests/test-sprintf-posix.h (test_function): Likewise.
52350         * tests/test-fprintf-posix.h (NaN): Remove macro.
52351         (test_function): Remove all NaN related tests.
52352         * tests/test-printf-posix.h (NaN): Remove macro.
52353         (test_function): Remove all NaN related tests.
52354         * tests/test-printf-posix.output: Remove all NaN related results.
52355         Needed for IRIX 6.5.
52356
52357 2007-05-19  Bruno Haible  <bruno@clisp.org>
52358
52359         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
52360         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
52361
52362 2007-05-19  Bruno Haible  <bruno@clisp.org>
52363
52364         * lib/float_.h: New file.
52365         * m4/float_h.m4: New file.
52366         * modules/float: New file.
52367         * modules/isnanl (Dependencies): Add float.
52368         * modules/isnanl-nolibm (Dependencies): Likewise.
52369         * modules/mathl (Dependencies): Likewise.
52370         * modules/printf-frexpl (Dependencies): Likewise.
52371         * modules/signbit (Dependencies): Likewise.
52372         * modules/vasnprintf (Dependencies): Likewise.
52373         * doc/headers/float.texi: Update.
52374
52375 2007-05-19  Jim Meyering  <jim@meyering.net>
52376
52377         * lib/utimens.c (gl_futimens): Rename from futimens,
52378         now that glibc-2.6 declares futimens.
52379         * lib/utimens.h: Likewise.
52380
52381 2007-05-19  Bruno Haible  <bruno@clisp.org>
52382
52383         Avoid test failures on mingw.
52384         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
52385         * tests/test-printf-posix.sh: Likewise.
52386         * tests/test-vfprintf-posix.sh: Likewise.
52387         * tests/test-vprintf-posix.sh: Likewise.
52388
52389 2007-05-19  Bruno Haible  <bruno@clisp.org>
52390
52391         Fix *printf result for NaN, Inf, -0.0 on mingw.
52392         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
52393         * lib/vasnprintf.c: Include math.h and isnan.h.
52394         (is_infinite_or_zero): New function.
52395         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
52396         values in the %f, %F, %e, %E, %g, %G directives.
52397         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
52398         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52399         gl_PRINTF_INFINITE and test its result. Invoke
52400         gl_PREREQ_VASNPRINTF_INFINITE.
52401         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52402         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52403         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52404         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52405         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52406         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52407         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52408         * doc/functions/fprintf.texi: Update.
52409         * doc/functions/printf.texi: Update.
52410         * doc/functions/snprintf.texi: Update.
52411         * doc/functions/sprintf.texi: Update.
52412         * doc/functions/vfprintf.texi: Update.
52413         * doc/functions/vprintf.texi: Update.
52414         * doc/functions/vsnprintf.texi: Update.
52415         * doc/functions/vsprintf.texi: Update.
52416
52417 2007-05-19  Bruno Haible  <bruno@clisp.org>
52418
52419         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
52420         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
52421         Instead of multiplying with 10^k, set extra_zeroes to k.
52422         (scale10_round_long_double): Remove function.
52423
52424 2007-05-18  Bruno Haible  <bruno@clisp.org>
52425
52426         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
52427         introduced on 2007-05-06.
52428
52429 2007-05-18  Bruno Haible  <bruno@clisp.org>
52430
52431         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
52432         %g directives.
52433         * tests/test-vasprintf-posix.c (test_function): Likewise.
52434         * tests/test-snprintf-posix.h (test_function): Likewise.
52435         * tests/test-sprintf-posix.h (test_function): Likewise.
52436
52437 2007-05-18  Bruno Haible  <bruno@clisp.org>
52438
52439         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
52440         (strmatch): New function.
52441         (test_function): Test the %f directive on numbers of various exponents.
52442         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
52443         (strmatch): New function.
52444         (test_function): Test the %f directive on numbers of various exponents.
52445         * tests/test-snprintf-posix.h (strmatch): New function.
52446         (test_function): Test the %f directive on numbers of various exponents.
52447         * tests/test-sprintf-posix.h (strmatch): New function.
52448         (test_function): Test the %f directive on numbers of various exponents.
52449         * tests/test-snprintf-posix.c (SIZEOF): New macro.
52450         * tests/test-sprintf-posix.c (SIZEOF): New macro.
52451         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
52452         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
52453
52454 2007-05-18  Bruno Haible  <bruno@clisp.org>
52455
52456         Add support for 'long double' number output.
52457         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
52458         * lib/vasnprintf.c: Include math.h and float+.h.
52459         (mp_limb_t): New type.
52460         (GMP_LIMB_BITS): New macro.
52461         (mp_twolimb_t): New type.
52462         (GMP_TWOLIMB_BITS): New macro.
52463         (mpn_t): New type.
52464         (multiply, divide, convert_to_decimal, decode_long_double,
52465         scale10_round_long_double, scale10_round_decimal_long_double,
52466         floorlog10l): New functions.
52467         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
52468         for the %f, %F, %e, %E, %g, %G directives.
52469         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
52470         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52471         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
52472         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
52473         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52474         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52475         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52476         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52477         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52478         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52479         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52480         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
52481         * modules/snprintf-posix (Depends-on): Likewise.
52482         * modules/sprintf-posix (Depends-on): Likewise.
52483         * modules/vasnprintf-posix (Depends-on): Likewise.
52484         * modules/vasprintf-posix (Depends-on): Likewise.
52485         * modules/vfprintf-posix (Depends-on): Likewise.
52486         * modules/vsnprintf-posix (Depends-on): Likewise.
52487         * modules/vsprintf-posix (Depends-on): Likewise.
52488         * modules/vasnprintf (Files): Add lib/float+.h.
52489         * doc/functions/fprintf.texi: Update.
52490         * doc/functions/printf.texi: Update.
52491         * doc/functions/snprintf.texi: Update.
52492         * doc/functions/sprintf.texi: Update.
52493         * doc/functions/vfprintf.texi: Update.
52494         * doc/functions/vprintf.texi: Update.
52495         * doc/functions/vsnprintf.texi: Update.
52496         * doc/functions/vsprintf.texi: Update.
52497
52498 2007-05-18  Bruno Haible  <bruno@clisp.org>
52499
52500         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
52501
52502 2007-05-18  Bruno Haible  <bruno@clisp.org>
52503
52504         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
52505         for printing 64-bit integers. Needed for mingw.
52506
52507 2007-05-18  Bruno Haible  <bruno@clisp.org>
52508
52509         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
52510         gl_FUNC_FREXPL_WORKS.
52511         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
52512
52513 2007-05-18  Bruno Haible  <bruno@clisp.org>
52514
52515         * modules/frexpl-nolibm-tests: New file.
52516
52517         * modules/frexpl-nolibm: New file.
52518         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
52519
52520 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
52521
52522         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
52523         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
52524         GCC 4.2, which otherwise issues a lot of warnings.
52525         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
52526         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
52527         Likewise.
52528         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
52529         * modules/iconv_open (iconv.h): Likewise.
52530         * modules/locale (locale.h): Likewise.
52531         * modules/netinet_in (netinet/in.h): Likewise.
52532         * modules/sys_select (sys_select.h): Likewise.
52533         * modules/sys_socket (sys/socket.h): Likewise.
52534         * modules/sys_stat (sys/stat.h): Likewise.
52535         * modules/sysexits (sysexits.h): Likewise.
52536         * modules/unistd (unistd.h): Likewise.
52537
52538 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52539
52540         * modules/closein-tests (Makefile.am): Distribute
52541         `test-closein.sh'.
52542
52543 2007-05-17  Bruno Haible  <bruno@clisp.org>
52544
52545         * tests/test-printf-posix.output: Renamed from
52546         tests/test-fprintf-posix.out.
52547         * modules/fprintf-posix-tests: Update.
52548         * modules/printf-posix-tests: Update.
52549         * modules/vfprintf-posix-tests: Update.
52550         * modules/vprintf-posix-tests: Update.
52551         * tests/test-fprintf-posix.sh: Update.
52552         * tests/test-printf-posix.sh: Update.
52553         * tests/test-vfprintf-posix.sh: Update.
52554         * tests/test-vprintf-posix.sh: Update.
52555         Reported by Ralf Wildenhues.
52556
52557 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
52558
52559         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
52560         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
52561         GCC 4.2, which otherwise issues a lot of warnings.
52562         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
52563         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
52564         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
52565         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
52566         it should no longer be needed.
52567         * lib/string_.h: Likewise.
52568         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
52569         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
52570         * modules/inttypes (inttypes.h): Likewise.
52571         * modules/math (math.h): Likewise.
52572         * modules/search (search.h): Likewise.
52573         * modules/signal (signal.h): Likewise.
52574         * modules/stdint (stdint.h): Likewise.
52575         * modules/stdio (stdio.h): Likewise.
52576         * modules/stdlib (stdlib.h): Likewise.
52577         * modules/string (string.h): Likewise.
52578         * modules/sys_time (sys/time.h): Likewise.
52579         * modules/time (time.h): Likewise.
52580         * modules/wchar (wchar.h): Likewise.
52581         * modules/wctype (wtype.h): Likewise.
52582
52583 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
52584
52585         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
52586
52587 2007-05-13  Bruno Haible  <bruno@clisp.org>
52588
52589         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
52590         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52591         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
52592         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52593         (gl_PREREQ_STRTOK_R): Don't require it here.
52594
52595 2007-05-13  Bruno Haible  <bruno@clisp.org>
52596
52597         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
52598         when used in C++ mode.
52599
52600 2007-05-12  Bruno Haible  <bruno@clisp.org>
52601
52602         * lib/linebuffer.h: Tweak doc.
52603         * lib/linebuffer.c: Likewise.
52604
52605 2007-05-12  James Youngman  <jay@gnu.org>
52606
52607         * lib/linebuffer.c (readlinebuffer_delim): New function,
52608         like readlinebuffer, but use a caller-specified delimiter.
52609         (readlinebuffer): Just call readlinebuffer_delim with '\n'
52610         as the delimiter.
52611         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
52612
52613 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
52614
52615         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
52616         * modules/openat (Files): Remove openat-die.c.
52617         (Depends-on): Add openat-die.
52618         * modules/openat-die: New module.
52619
52620 2007-05-06  Bruno Haible  <bruno@clisp.org>
52621
52622         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
52623         Update with info about Cygwin.
52624         * doc/functions/fprintf.texi: Update.
52625         * doc/functions/printf.texi: Update.
52626         * doc/functions/snprintf.texi: Update.
52627         * doc/functions/sprintf.texi: Update.
52628         * doc/functions/vfprintf.texi: Update.
52629         * doc/functions/vprintf.texi: Update.
52630         * doc/functions/vsnprintf.texi: Update.
52631         * doc/functions/vsprintf.texi: Update.
52632         Reported by Eric Blake.
52633
52634 2007-05-06  Bruno Haible  <bruno@clisp.org>
52635
52636         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
52637         padding ourselves for the floating-point directives.
52638         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
52639         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
52640         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52641         gl_PRINTF_FLAG_ZERO and test its result. Invoke
52642         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
52643         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52644         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
52645         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52646         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52647         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52648         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52649         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52650         * tests/test-snprintf-posix.h (test_function): Also check the width
52651         and some flags in the %f directive.
52652         * tests/test-sprintf-posix.h (test_function): Likewise.
52653         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52654         * tests/test-vasprintf-posix.c (test_function): Likewise.
52655         * doc/functions/fprintf.texi: Update.
52656         * doc/functions/printf.texi: Update.
52657         * doc/functions/snprintf.texi: Update.
52658         * doc/functions/sprintf.texi: Update.
52659         * doc/functions/vfprintf.texi: Update.
52660         * doc/functions/vprintf.texi: Update.
52661         * doc/functions/vsnprintf.texi: Update.
52662         * doc/functions/vsprintf.texi: Update.
52663
52664 2007-05-06  Bruno Haible  <bruno@clisp.org>
52665
52666         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
52667         pass the ' flag character to sprintf or snprintf.
52668         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
52669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
52670         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52671         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
52672         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
52673         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52674         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
52675         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52676         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52677         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52679         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52680         * tests/test-snprintf-posix.h (test_function): Also check the grouping
52681         flag.
52682         * tests/test-sprintf-posix.h (test_function): Likewise.
52683         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52684         * tests/test-vasprintf-posix.c (test_function): Likewise.
52685         * doc/functions/fprintf.texi: Update.
52686         * doc/functions/printf.texi: Update.
52687         * doc/functions/snprintf.texi: Update.
52688         * doc/functions/sprintf.texi: Update.
52689         * doc/functions/vfprintf.texi: Update.
52690         * doc/functions/vprintf.texi: Update.
52691         * doc/functions/vsnprintf.texi: Update.
52692         * doc/functions/vsprintf.texi: Update.
52693
52694 2007-05-01  Bruno Haible  <bruno@clisp.org>
52695
52696         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
52697
52698 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
52699
52700         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
52701         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
52702
52703 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52704
52705         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
52706         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
52707         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
52708
52709 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
52710
52711         * lib/argp-help.c (struct hol_entry): New member `ord'.
52712         (HOL_ENTRY_PTRCMP): Use ord for comparison
52713         (hol_sort): Initialize ord.
52714
52715 2007-05-01  Bruno Haible  <bruno@clisp.org>
52716
52717         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
52718         Reported by Eric Blake.
52719         * doc/gnulib.texi (Function Substitutes): Update.
52720
52721 2007-05-01  Bruno Haible  <bruno@clisp.org>
52722
52723         * doc/functions.texi: Remove file, now redundant through
52724         doc/functions/*.texi.
52725
52726 2007-05-01  Bruno Haible  <bruno@clisp.org>
52727
52728         * modules/argp (Depends-on): Add sleep.
52729
52730 2007-05-01  Bruno Haible  <bruno@clisp.org>
52731
52732         * modules/sleep-tests: New file.
52733         * tests/test-sleep.c: New file.
52734
52735         * modules/sleep: New file.
52736         * lib/sleep.c: New file.
52737         * m4/sleep.m4: New file.
52738         * lib/unistd_.h (sleep): New declaration.
52739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
52740         HAVE_SLEEP.
52741         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
52742         * doc/functions/sleep.texi: Document the sleep module.
52743
52744 2007-05-01  Bruno Haible  <bruno@clisp.org>
52745
52746         * lib/sigprocmask.h: Remove file.
52747         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
52748         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
52749         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
52750         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
52751         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
52752         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
52753         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
52754         HAVE_SIGSET_T as a shell variable.
52755         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
52756         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
52757         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
52758         (Depends-on): Add signal. Remove verify.
52759         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
52760         (Include): Mention <signal.h> instead of sigprocmask.h.
52761         * NEWS: Mention the change.
52762         * lib/fatal-signal.c: Don't include sigprocmask.h.
52763
52764 2007-05-01  Bruno Haible  <bruno@clisp.org>
52765
52766         * modules/signal: New file.
52767         * lib/signal_.h: New file.
52768         * m4/signal_h.m4: New file.
52769
52770 2007-05-01  Bruno Haible  <bruno@clisp.org>
52771
52772         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
52773         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
52774         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
52775         HAVE_WCTYPE_CTMP_BUG into wctype.h.
52776
52777 2007-05-01  Bruno Haible  <bruno@clisp.org>
52778
52779         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
52780         configure time.
52781         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
52782         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
52783         * modules/sys_stat (Makefile.am): Substitute their values into
52784         sys/stat.h.
52785
52786 2007-05-01  Bruno Haible  <bruno@clisp.org>
52787
52788         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
52789         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
52790         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
52791
52792 2007-05-01  Bruno Haible  <bruno@clisp.org>
52793
52794         * doc/header/assert.texi: Undo last change: don't mention the gnulib
52795         'assert' module here.
52796
52797 2007-05-01  Bruno Haible  <bruno@clisp.org>
52798
52799         * doc/functions/*.texi: New files.
52800         * doc/functions/google-ranking.txt: New file.
52801         * doc/gnulib.texi (Function Substitutes): New chapter.
52802         (ctime, inet_ntoa): Remove sections.
52803         * doc/ctime.texi: Remove file.
52804         * doc/inet_ntoa.texi: Remove file.
52805         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
52806         dependencies.
52807         (%.info): New rule, specifying a --reference-limit.
52808
52809 2007-05-01  Bruno Haible  <bruno@clisp.org>
52810
52811         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
52812
52813 2007-05-01  Bruno Haible  <bruno@clisp.org>
52814
52815         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
52816         the portability of 'mkdir' to mingw systems.
52817
52818 2007-05-01  Bruno Haible  <bruno@clisp.org>
52819
52820         * doc/headers/google-ranking.txt: New file.
52821
52822 2007-04-30  Eric Blake  <ebb9@byu.net>
52823
52824         Prefer fseeko to fseek.
52825         * modules/getpass (Depends-on): Add fseeko.
52826         * lib/getpass.c (getpass): Use fseeko, not fseek.
52827
52828 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
52829
52830         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
52831         assumes the sorting is stable, while most qsort implementations
52832         are not.  Use argument addresses to ensure they never compare as
52833         equal.
52834
52835         * tests/test-argp-2.sh (usage-indent test): Fix output
52836         (func_compare): Restore diff options
52837         * tests/test-argp.c: Restore #include "progname.h"
52838
52839 2007-04-29  Bruno Haible  <bruno@clisp.org>
52840
52841         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
52842         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52843         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
52844         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52845         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
52846         (configure.ac): Define CHECK_SNPRINTF_POSIX.
52847         (TESTS, check_PROGRAMS): Add test-snprintf.
52848         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
52849         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
52850         (TESTS, check_PROGRAMS): Add test-vsnprintf.
52851         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
52852         assertions that fail on HP-UX, OSF/1, or IRIX.
52853         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
52854
52855 2007-04-29  Bruno Haible  <bruno@clisp.org>
52856
52857         * MODULES.html.sh (posix_functions): Remove 'contents'.
52858
52859 2007-04-29  Karl Berry  <karl@gnu.org>
52860
52861         * config/srclist.txt (gendocs_template_min): new entry.
52862
52863 2007-04-29  Bruno Haible  <bruno@clisp.org>
52864
52865         Work around fpurge bug on BSD systems.
52866         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
52867         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
52868         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
52869         fpurge to rpl_fpurge if the system already has this function.
52870         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
52871         the case where the system already has this function. Correct invariants
52872         on BSD systems.
52873         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
52874         BSD systems.
52875
52876 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
52877
52878         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
52879         proposed by Sven Verdoolaege.
52880
52881         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
52882         options.
52883         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
52884         (usage and help tests): Update
52885
52886 2007-04-29  Bruno Haible  <bruno@clisp.org>
52887
52888         * tests/test-fflush.c (main): Use a file of size 17, not 10.
52889         Print more information in case of failure. Disable a test on BeOS.
52890
52891 2007-04-29  Bruno Haible  <bruno@clisp.org>
52892
52893         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
52894         This helps debugging on systems on which no gdb is available.
52895
52896 2007-04-29  Bruno Haible  <bruno@clisp.org>
52897
52898         * lib/freading.h: Improve comments.
52899         * lib/fwriting.h: Likewise.
52900         * tests/test-freading.c (main): Don't check freading immediately after
52901         repositioning. Needed for glibc.
52902
52903 2007-04-29  Bruno Haible  <bruno@clisp.org>
52904
52905         * lib/freading.c (freading): Trivial simplification.
52906
52907 2007-04-28  Bruno Haible  <bruno@clisp.org>
52908
52909         * tests/test-fwriting.c (main): Also test the interaction between
52910         fflush and fwriting.
52911         * modules/fwriting-tests (Depends-on): Add fflush.
52912
52913         * tests/test-freading.c (main): Also test the interaction between
52914         fflush and freading.
52915         * modules/freading-tests (Depends-on): Add fflush.
52916
52917 2007-04-28  Bruno Haible  <bruno@clisp.org>
52918
52919         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
52920         fseeko and ftello.
52921         Suggested by Eric Blake.
52922
52923 2007-04-28  Jim Meyering  <jim@meyering.net>
52924
52925         Avoid false-negative in gl_STDINT_H's C99 conformance test.
52926         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
52927         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
52928
52929 2007-04-27  Eric Blake  <ebb9@byu.net>
52930
52931         * doc/headers/assert.texi (assert.h): Document assert module use.
52932
52933 2007-04-27  Bruno Haible  <bruno@clisp.org>
52934
52935         * doc/headers/*.texi: New files.
52936         * doc/gnulib.texi (Header File Substitutes): New chapter.
52937         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
52938         dependencies.
52939         (standards.info ,standards.html, standards.dvi): Update dependencies.
52940         (mostlyclean, clean): New targets.
52941
52942 2007-04-27  Bruno Haible  <bruno@clisp.org>
52943
52944         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
52945         * modules/sysexits (Files, Makefile.am): Update.
52946
52947         * lib/sys_socket_.h: Renamed from lib/socket_.h.
52948         * modules/sys_socket (Files, Makefile.am): Update.
52949
52950         * lib/sys_stat_.h: Renamed from lib/stat_.h.
52951         * modules/sys_stat (Files, Makefile.am): Update.
52952
52953 2007-04-27  Eric Blake  <ebb9@byu.net>
52954
52955         * lib/freading.h: Improve comments.
52956         * lib/fwriting.h: Likewise.
52957         * lib/fflush.c: Likewise.
52958
52959         Fix closein for mingw.
52960         * modules/closein-tests: Add tests for closein.
52961         * tests/test-closein.c: New file.
52962         * tests/test-closein.sh: Likewise.
52963         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
52964         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
52965
52966 2007-04-27  Bruno Haible  <bruno@clisp.org>
52967
52968         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
52969         version is < 6.
52970         * lib/math_.h [__DECC]: Likewise.
52971         * lib/stdio_.h [__DECC]: Likewise.
52972         * lib/stdlib_.h [__DECC]: Likewise.
52973         * lib/string_.h [__DECC]: Likewise.
52974         * lib/time_.h [__DECC]: Likewise.
52975         * lib/wchar_.h [__DECC]: Likewise.
52976         * lib/wctype_.h [__DECC]: Likewise.
52977
52978 2007-04-27  Bruno Haible  <bruno@clisp.org>
52979
52980         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
52981
52982 2007-04-27  Bruno Haible  <bruno@clisp.org>
52983
52984         * lib/fflush.c: Add comments.
52985         * modules/fpurge-tests (Depends-on): Add fflush.
52986         * modules/freadable-tests (Depends-on): Likewise.
52987         * modules/fwritable-tests (Depends-on): Likewise.
52988
52989 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
52990
52991         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
52992         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
52993         Report by Bruno Haible <bruno@clisp.org>.
52994
52995 2007-04-26  Eric Blake  <ebb9@byu.net>
52996
52997         Fix fflush on mingw.
52998         * modules/fflush (Depends-on): Add freading.
52999         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
53000         but unread data.
53001
53002 2007-04-26  Eric Blake  <ebb9@byu.net>
53003         and Bruno Haible  <bruno@clisp.org>
53004
53005         Implement freading and fwriting.
53006         * lib/freading.c: New file.
53007         * lib/freading.h: Likewise.
53008         * m4/freading.m4: Likewise.
53009         * modules/freading: Likewise.
53010         * modules/freading-tests: Likewise.
53011         * tests/test-freading.c: Likewise.
53012         * lib/fwriting.c: New file.
53013         * lib/fwriting.h: Likewise.
53014         * m4/fwriting.m4: Likewise.
53015         * modules/fwriting: Likewise.
53016         * modules/fwriting-tests: Likewise.
53017         * tests/test-fwriting.c: Likewise.
53018         * MODULES.html.sh (File stream based Input/Output): Mention them.
53019
53020 2007-04-26  Bruno Haible  <bruno@clisp.org>
53021
53022         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
53023         'long' when we assume it.
53024         Suggested by Eric Blake.
53025
53026 2007-04-26  Bruno Haible  <bruno@clisp.org>
53027
53028         Ensure fseeko, ftello are declared on glibc systems.
53029         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
53030         * modules/fseeko (configure.ac-early): Likewise.
53031         * modules/ftello (configure.ac-early): Likewise.
53032         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
53033         AC_FUNC_FSEEKO for this.
53034         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
53035         (gl_CHECK_FSEEKO): Remove macro.
53036
53037 2007-04-26  Bruno Haible  <bruno@clisp.org>
53038
53039         * tests/test-fflush.c (main): Also check the ftell result after
53040         fflush and fseek/fseeko.
53041         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
53042         file descriptor position cache in the stream.
53043         * lib/fseeko.c (rpl_fseeko): Likewise.
53044
53045 2007-04-26  Bruno Haible  <bruno@clisp.org>
53046
53047         * modules/fflush-tests (Depends-on): Add fseeko.
53048
53049 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
53050             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53051
53052         * lib/argz_.h: ensure error_t definition is obtained in same
53053         mechanism system argz.h would have.
53054         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
53055         argz facilities are known bad.  Err on the side of caution if
53056         cross-compiling.
53057
53058 2007-04-25  Eric Blake  <ebb9@byu.net>
53059
53060         * lib/fpurge.c (includes): Use stdlib.h for free.
53061         * tests/test-fflush.c (main): Also test fflush-fseeko.
53062
53063 2007-04-25  Bruno Haible  <bruno@clisp.org>
53064
53065         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
53066         * lib/fseeko.c: New file.
53067         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
53068         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
53069         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
53070         gl_FUNC_FSEEKO.
53071         (gl_FUNC_FSEEKO): Invoke it.
53072         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
53073         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
53074         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
53075
53076 2007-04-25  Bruno Haible  <bruno@clisp.org>
53077
53078         * modules/fflush (Depends-on): Add ftello.
53079
53080 2007-04-25  Bruno Haible  <bruno@clisp.org>
53081
53082         * modules/ftello-tests: New file.
53083         * tests/test-ftello.c: New file.
53084
53085         * modules/ftello: New file.
53086         * m4/ftello.m4: New file.
53087         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
53088         HAVE_FTELLO.
53089         * lib/stdio_.h (ftello): New declaration.
53090         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
53091         HAVE_FTELLO.
53092
53093 2007-04-25  Bruno Haible  <bruno@clisp.org>
53094
53095         * modules/fseeko-tests: New file.
53096         * tests/test-fseeko.c: New file.
53097
53098         * modules/fseeko: New file.
53099         * m4/fseeko.m4: New file.
53100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
53101         HAVE_FSEEKO.
53102         * lib/stdio_.h (fseeko): New declaration.
53103         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
53104         HAVE_FSEEKO.
53105
53106 2007-04-25  Bruno Haible  <bruno@clisp.org>
53107
53108         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
53109
53110 2007-04-25  Bruno Haible  <bruno@clisp.org>
53111
53112         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
53113         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
53114         * tests/test-unistd.c: Likewise.
53115         * tests/test-fcntl.c: Likewise.
53116
53117 2007-04-23  Eric Blake  <ebb9@byu.net>
53118
53119         * lib/fflush.c: Fix missing include.
53120         Reported by Bruno Haible.
53121
53122 2007-04-23  Bruno Haible  <bruno@clisp.org>
53123
53124         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
53125         Reported by Eric Blake.
53126
53127 2007-04-23  Bruno Haible  <bruno@clisp.org>
53128
53129         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
53130
53131 2007-04-23  Bruno Haible  <bruno@clisp.org>
53132
53133         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
53134
53135 2007-04-23  Bruno Haible  <bruno@clisp.org>
53136
53137         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
53138         Needed on HP-UX 11.
53139
53140 2007-04-16  Eric Blake  <ebb9@byu.net>
53141
53142         Make fflush rely on fpurge.
53143         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
53144         open coding all variants.
53145         * modules/fflush (Depends-on): Add fpurge and unistd.
53146         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
53147         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
53148
53149         Fix --with-tests compilation on cygwin.
53150         * modules/argmatch-tests (Makefile.am): List gnulib library first
53151         in LDADD.
53152         * modules/argp-tests (Makefile.am): Likewise.
53153         * modules/array-list-tests (Makefile.am): Likewise.
53154         * modules/array-oset-tests (Makefile.am): Likewise.
53155         * modules/avltree-list-tests (Makefile.am): Likewise.
53156         * modules/avltree-oset-tests (Makefile.am): Likewise.
53157         * modules/avltreehash-list-tests (Makefile.am): Likewise.
53158         * modules/carray-list-tests (Makefile.am): Likewise.
53159         * modules/dirname-tests (Makefile.am): Likewise.
53160         * modules/frexp-tests (Makefile.am): Likewise.
53161         * modules/isnanl-tests (Makefile.am): Likewise.
53162         * modules/linked-list-tests (Makefile.am): Likewise.
53163         * modules/linkedhash-list-tests (Makefile.am): Likewise.
53164         * modules/lock-tests (Makefile.am): Likewise.
53165         * modules/rbtree-list-tests (Makefile.am): Likewise.
53166         * modules/rbtree-oset-tests (Makefile.am): Likewise.
53167         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
53168         * modules/tls-tests (Makefile.am): Likewise.
53169         * modules/tsearch-tests (Makefile.am): Likewise.
53170         * modules/xvasprintf-tests (Makefile.am): Likewise.
53171
53172         Fix fpurge for cygwin.
53173         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
53174         value.
53175         * modules/fpurge-tests (Depends-on): Clean up trash.
53176
53177 2007-04-16  Simon Josefsson  <simon@josefsson.org>
53178
53179         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
53180
53181         * m4/autobuild.m4: Re-indent.
53182
53183 2007-04-13  Bruno Haible  <bruno@clisp.org>
53184
53185         * modules/fpurge-tests: New file.
53186         * tests/test-fpurge.c: New file.
53187
53188         * modules/fpurge: New file.
53189         * lib/fpurge.h: New file.
53190         * lib/fpurge.c: New file.
53191         * m4/fpurge.m4: New file.
53192
53193 2007-04-13  Bruno Haible  <bruno@clisp.org>
53194
53195         * modules/fbufmode-tests: New file.
53196         * tests/test-fbufmode.c: New file.
53197
53198         * modules/fbufmode: New file.
53199         * lib/fbufmode.h: New file.
53200         * lib/fbufmode.c: New file.
53201         * m4/fbufmode.m4: New file.
53202
53203 2007-04-13  Bruno Haible  <bruno@clisp.org>
53204
53205         * modules/fwritable-tests: New file.
53206         * tests/test-fwritable.c: New file.
53207
53208         * modules/fwritable: New file.
53209         * lib/fwritable.h: New file.
53210         * lib/fwritable.c: New file.
53211         * m4/fwritable.m4: New file.
53212
53213 2007-04-13  Bruno Haible  <bruno@clisp.org>
53214
53215         * modules/freadable-tests: New file.
53216         * tests/test-freadable.c: New file.
53217
53218         * modules/freadable: New file.
53219         * lib/freadable.h: New file.
53220         * lib/freadable.c: New file.
53221         * m4/freadable.m4: New file.
53222
53223 2007-04-13  Bruno Haible  <bruno@clisp.org>
53224
53225         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
53226         MOSTLYCLEANFILES.
53227
53228 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53229
53230         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
53231         gzip bootstrap.conf to avoid dragging in i18n machinery.
53232         (gnulib_tool_option): Use it.
53233
53234 2007-04-13  Bruno Haible  <bruno@clisp.org>
53235
53236         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
53237         %F directives.
53238         * tests/test-vasprintf-posix.c (test_function): Likewise.
53239         * tests/test-snprintf-posix.h (test_function): Likewise.
53240         * tests/test-sprintf-posix.h (test_function): Likewise.
53241         * tests/test-fprintf-posix.h (test_function): Likewise.
53242         * tests/test-printf-posix.h (test_function): Likewise.
53243         * tests/test-fprintf-posix.out: Likewise.
53244
53245 2007-04-13  Bruno Haible  <bruno@clisp.org>
53246
53247         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
53248         * modules/tls-tests (configure.ac): Likewise.
53249         Reported by Arto C. Nirkko <anirkko@insel.ch>.
53250
53251 2007-04-13  Bruno Haible  <bruno@clisp.org>
53252
53253         * lib/tls.c (glthread_tls_get): Fix return type.
53254         Patch by Arto C. Nirkko <anirkko@insel.ch>.
53255
53256 2007-04-12  Eric Blake  <ebb9@byu.net>
53257
53258         * modules/gettime (Depends-on): Remove gettime.
53259         Reported by Dmitry V. Levin.
53260
53261 2007-04-12  Bruno Haible  <bruno@clisp.org>
53262
53263         * modules/fflush (Include): Mention <stdio.h>.
53264         * modules/strtoimax (Include): Mention <inttypes.h>.
53265         * modules/strtoumax (Include): Likewise.
53266
53267 2007-04-12  Eric Blake  <ebb9@byu.net>
53268
53269         * .cvsignore: New file.
53270         * .gitignore: Likewise.
53271
53272 2007-04-12  Bruno Haible  <bruno@clisp.org>
53273
53274         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
53275         not before, since $(LDADD) often contains libgnu.a.
53276         * modules/striconv-tests (test_striconv_LDADD): Likewise.
53277         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
53278         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
53279         Needed on Cygwin.
53280
53281 2007-04-12  Eric Blake  <ebb9@byu.net>
53282
53283         Work around glibc's failure to flush stdin on fclose.
53284         * lib/closein.c (close_stdin): Flush stdin before closing.
53285
53286         Work around glibc's failure to reset seekable stdin on exit.
53287         * modules/closein: New module.
53288         * lib/closein.c: New file.
53289         * lib/closein.h: Likewise.
53290         * m4/closein.m4: Likewise.
53291         * MODULES.html.sh (File stream based Input/Output): Document it.
53292
53293 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53294
53295         * gnulib-tool: Rename generated 'autobuild' script to
53296         'do-autobuild' in --create-megatestdir output.
53297
53298         * doc/gnulib.texi (Build robot for gnulib): Fix.
53299
53300 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53301
53302         * modules/sysexits (Depends-on): Add absolute-header.
53303
53304 2007-04-12  Eric Blake  <ebb9@byu.net>
53305
53306         No need to preserve errno on success.
53307         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
53308         Reported by Bruno Haible.
53309
53310 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53311
53312         * MODULES.html.sh (Support for maintaining and releasing
53313         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
53314
53315 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53316
53317         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
53318
53319 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53320
53321         * modules/autobuild: New module.
53322
53323         * m4/autobuild.m4: New file.
53324
53325 2007-04-11  Bruno Haible  <bruno@clisp.org>
53326
53327         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
53328         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
53329         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
53330         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
53331         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53332         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53333         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53334         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53335         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53336         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53337         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
53338         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53339         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53340         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
53341         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53342         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53343         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
53344         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53345         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53346         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
53347         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53348         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53349         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
53350         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53351         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53352         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
53353         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53354         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53355         Reported by Eric Blake.
53356
53357 2007-04-11  Bruno Haible  <bruno@clisp.org>
53358
53359         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
53360
53361 2007-04-10  Bruno Haible  <bruno@clisp.org>
53362
53363         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
53364         for NaN and Infinity. Needed on FreeBSD 6.1.
53365         * tests/test-vasnprintf-posix.c (test_function): Undo last change
53366         regarding results for "%010a" of Infinity and NaN.
53367         * tests/test-vasprintf-posix.c (test_function): Likewise.
53368         * tests/test-snprintf-posix.h (test_function): Likewise.
53369         * tests/test-sprintf-posix.h (test_function): Likewise.
53370         * tests/test-fprintf-posix.h (test_function): Likewise.
53371         * tests/test-printf-posix.h (test_function): Likewise.
53372         * tests/test-fprintf-posix.out: Likewise.
53373
53374 2007-04-10  Bruno Haible  <bruno@clisp.org>
53375
53376         * modules/locale-tests: New file.
53377         * tests/test-locale.c: New file.
53378
53379         * modules/locale: New file.
53380         * lib/locale_.h: New file.
53381         * m4/locale_h.m4: New file.
53382
53383 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
53384             Bruno Haible  <bruno@clisp.org>
53385
53386         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
53387         be determined, test for availability of the copysignf, copysign,
53388         copysignl functions.
53389         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
53390         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
53391         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
53392
53393 2007-04-09  Eric Blake  <ebb9@byu.net>
53394
53395         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
53396         * modules/stdio (Makefile.am): Support fflush.
53397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53398         * modules/fflush: New file.
53399         * lib/fflush.c: Likewise.
53400         * m4/fflush.m4: Likewise.
53401         * modules/fflush-tests: New test.
53402         * tests/test-fflush.c: Likewise.
53403         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
53404
53405 2007-04-06  Bruno Haible  <bruno@clisp.org>
53406
53407         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
53408         (VASNPRINTF): Use signbit for faster determination whether to print a
53409         minus sign.
53410         * modules/vasnprintf (Files): Remove lib/float+.h.
53411         * modules/fprintf-posix (Depends-on): Add signbit.
53412         * modules/snprintf-posix (Depends-on): Likewise.
53413         * modules/sprintf-posix (Depends-on): Likewise.
53414         * modules/vasnprintf-posix (Depends-on): Likewise.
53415         * modules/vasprintf-posix (Depends-on): Likewise.
53416         * modules/vfprintf-posix (Depends-on): Likewise.
53417         * modules/vsnprintf-posix (Depends-on): Likewise.
53418         * modules/vsprintf-posix (Depends-on): Likewise.
53419
53420 2007-04-06  Bruno Haible  <bruno@clisp.org>
53421
53422         * tests/test-frexp.c (main): Test also the sign bit of zero results.
53423         * tests/test-frexpl.c (main): Likewise.
53424         * tests/test-ldexpl.c (main): Likewise.
53425         * modules/frexp-tests (Depends-on): Add signbit.
53426         * modules/frexpl-tests (Depdends-on): Likewise.
53427         * modules/ldexpl-tests (Depdends-on): Likewise.
53428
53429 2007-04-06  Bruno Haible  <bruno@clisp.org>
53430
53431         * modules/signbit-tests: New file.
53432         * tests/test-signbit.c: New file.
53433
53434         * modules/signbit: New file.
53435         * lib/signbitf.c: New file.
53436         * lib/signbitd.c: New file.
53437         * lib/signbitl.c: New file.
53438         * m4/signbit.m4: New file.
53439         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
53440         (signbit): New macro.
53441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
53442         REPLACE_SIGNBIT.
53443         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
53444         REPLACE_FREXPL into math.h.
53445
53446 2007-04-06  Bruno Haible  <bruno@clisp.org>
53447
53448         * modules/isnanf-nolibm-tests: New file.
53449         * tests/test-isnanf.c: New file.
53450
53451         * modules/isnanf-nolibm: New file.
53452         * lib/isnanf.h: New file.
53453         * lib/isnanf.c: New file.
53454         * lib/isnan.c: Consider the USE_FLOAT macro.
53455         * m4/isnanf.m4: New file.
53456
53457 2007-04-06  Bruno Haible  <bruno@clisp.org>
53458
53459         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
53460         (Link): New section.
53461
53462         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
53463
53464 2007-04-06  Bruno Haible  <bruno@clisp.org>
53465
53466         Assume the 'long double' type.
53467         * m4/longdouble.m4: Remove file.
53468         * config/srclist.txt: Don't mention longdouble.m4.
53469         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
53470         * lib/float+.h: Likewise.
53471         * lib/frexp.c: Likewise.
53472         * lib/printf-args.h: Likewise.
53473         * lib/printf-args.c: Likewise.
53474         * lib/printf-frexp.c: Likewise.
53475         * lib/printf-parse.c: Likewise.
53476         * lib/vasnprintf.c: Likewise.
53477         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
53478         * m4/intl.m4: Likewise.
53479         * m4/isnanl.m4: Likewise.
53480         * m4/printf.m4: Likewise.
53481         * m4/printf-frexpl.m4: Likewise.
53482         * m4/vasnprintf.m4: Likewise.
53483         * modules/allocsa (Files): Remove m4/longdouble.m4.
53484         * modules/gettext (Files): Likewise.
53485         * modules/relocatable-prog-wrapper (Files): Likewise.
53486         * modules/vasnprintf (Files): Likewise.
53487         * modules/isnanl (Files): Likewise.
53488         (Include): Simplify.
53489         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
53490         (Include): Simplify.
53491         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
53492         (Include): Simplify.
53493         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
53494         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53495         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
53496         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53497         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
53498         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53499         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
53500         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53501         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
53502         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53503         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
53504         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53505         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
53506         * tests/test-isnanl.c: Likewise.
53507         * tests/test-snprintf-posix.h: Likewise.
53508         * tests/test-sprintf-posix.h: Likewise.
53509         * tests/test-vasnprintf-posix.c: Likewise.
53510         * tests/test-vasnprintf-posix2.c: Likewise.
53511         * tests/test-vasprintf-posix.c: Likewise.
53512
53513 2007-04-06  Bruno Haible  <bruno@clisp.org>
53514
53515         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
53516         * lib/math_.h [__DECC]: Include the overridden include file through
53517         #include_next, outside the double-inclusion guard.
53518         * lib/stdio_.h [__DECC]: Likewise.
53519         * lib/stdlib_.h [__DECC]: Likewise.
53520         * lib/string_.h [__DECC]: Likewise.
53521         * lib/time_.h [__DECC]: Likewise.
53522         * lib/wchar_.h [__DECC]: Likewise.
53523         * lib/wctype_.h [__DECC]: Likewise.
53524         * lib/inttypes_.h [__DECC]: Likewise.
53525         Reported by Albert Chin <china@thewrittenword.com> in
53526         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
53527
53528 2007-04-04  Eric Blake  <ebb9@byu.net>
53529
53530         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
53531         1.5.x.
53532
53533 2007-04-04  Bruno Haible  <bruno@clisp.org>
53534
53535         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
53536         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
53537
53538 2007-04-04  Bruno Haible  <bruno@clisp.org>
53539
53540         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
53541         results for "%010a" of Infinity and NaN.
53542         * tests/test-vasprintf-posix.c (test_function): Likewise.
53543         * tests/test-snprintf-posix.h (test_function): Likewise.
53544         * tests/test-sprintf-posix.h (test_function): Likewise.
53545         * tests/test-fprintf-posix.h (test_function): Remove these tests.
53546         * tests/test-printf-posix.h (test_function): Likewise.
53547         * tests/test-fprintf-posix.out: Update.
53548         Needed for FreeBSD 6.1.
53549
53550 2007-04-04  Bruno Haible  <bruno@clisp.org>
53551
53552         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
53553         directly used by the gnulib modules nor by gnulib-tool.
53554
53555 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53556
53557         * DEPENDENCIES: Give overall description of version dependency
53558         desirability.  Use more-typical names for apps.
53559         Add shell, coreutils, diffutils, grep, tar, gzip.
53560
53561 2007-04-04  Simon Josefsson  <simon@josefsson.org>
53562
53563         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
53564
53565 2007-04-04  Karl Berry  <karl@gnu.org>
53566
53567         * MODULES.html.sh (func_module): missing '.
53568
53569 2007-04-03  Bruno Haible  <bruno@clisp.org>
53570
53571         * modules/argmatch-tests (Makefile.am): New variable
53572         test_argmatch_LDADD.
53573         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
53574         * modules/array-list-tests (Makefile.am): New variable
53575         test_array_list_LDADD.
53576         * modules/array-oset-tests (Makefile.am): New variable
53577         test_array_oset_LDADD.
53578         * modules/avltree-list-tests (Makefile.am): New variable
53579         test_avltree_list_LDADD.
53580         * modules/avltree-oset-tests (Makefile.am): New variable
53581         test_avltree_oset_LDADD.
53582         * modules/avltreehash-list-tests (Makefile.am): New variable
53583         test_avltreehash_list_LDADD.
53584         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
53585         test_canonicalize_lgpl_LDADD.
53586         * modules/carray-list-tests (Makefile.am): New variable
53587         test_carray_list_LDADD.
53588         * modules/dirname-tests (Makefile.am): New variable
53589         test_dirname_LDADD.
53590         * modules/linked-list-tests (Makefile.am): New variable
53591         test_linked_list_LDADD.
53592         * modules/linkedhash-list-tests (Makefile.am): New variable
53593         test_linkedhash_list_LDADD.
53594         * modules/rbtree-list-tests (Makefile.am): New variable
53595         test_rbtree_list_LDADD.
53596         * modules/rbtree-oset-tests (Makefile.am): New variable
53597         test_rbtree_oset_LDADD.
53598         * modules/rbtreehash-list-tests (Makefile.am): New variable
53599         test_rbtreehash_list_LDADD.
53600         * modules/xvasprintf-tests (Makefile.am): New variable
53601         test_xvasprintf_LDADD.
53602         Reported by Eric Blake.
53603
53604 2007-04-03  Eric Blake  <ebb9@byu.net>
53605
53606         * DEPENDENCIES: Weaken m4 requirements.
53607
53608 2007-04-03  Bruno Haible  <bruno@clisp.org>
53609
53610         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
53611         * modules/isnanl-tests (configure.ac): Likewise.
53612
53613 2007-04-03  Ben Pfaff  <blp@gnu.org>
53614
53615         * modules/iconv_open: Add $(srcdir)/ to source directory
53616         references in Makefile fragments that call gperf, to fix VPATH
53617         builds.
53618
53619 2007-04-03  Bruno Haible  <bruno@clisp.org>
53620
53621         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
53622         * lib/ldexpl.c: Undo last change.
53623
53624 2007-04-03  Bruno Haible  <bruno@clisp.org>
53625
53626         * modules/printf-frexpl (Depends-on): Undo last change.
53627         (Files): Add m4/ldexpl.m4.
53628
53629 2007-04-03  Bruno Haible  <bruno@clisp.org>
53630
53631         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
53632         * modules/isnanl (Link): New section.
53633
53634         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
53635         * modules/frexp (Link): New section.
53636
53637         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
53638         * modules/frexpl (Link): New section.
53639
53640         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
53641         * modules/ldexpl (Link): New section.
53642
53643 2007-04-03  Bruno Haible  <bruno@clisp.org>
53644
53645         * modules/TEMPLATE-EXTENDED: New file.
53646         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
53647
53648 2007-04-03  Bruno Haible  <bruno@clisp.org>
53649
53650         * DEPENDENCIES: New file.
53651         Suggested by Simon Josefsson.
53652
53653 2007-04-03  Bruno Haible  <bruno@clisp.org>
53654
53655         * doc/gnulib.texi: Escape @.
53656
53657 2007-04-03  James Youngman  <jay@gnu.org>
53658         and Paul Eggert  <eggert@cs.ucla.edu>
53659
53660         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
53661         birthtime on all systems that have birthtime, not just those which
53662         use st_birthtimensec rather than st_birthtim.  Putting zero in
53663         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
53664         that the birth time is not available for files on an NFS mount.
53665
53666 2007-04-03  Simon Josefsson  <simon@josefsson.org>
53667
53668         * modules/memxor: Move back from crypto/, suggested by Bruno.
53669         * modules/crypto/hmac-sha1: Fix memxor dependency.
53670
53671         * modules/crypto/gc: Moved from ../.
53672
53673 2007-04-02  Eric Blake  <ebb9@byu.net>
53674
53675         * lib/ldexpl.c (includes): Avoid libm.
53676
53677         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
53678
53679 2007-04-02  Bruno Haible  <bruno@clisp.org>
53680
53681         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
53682         on IRIX.
53683
53684 2007-04-02  Bruno Haible  <bruno@clisp.org>
53685
53686         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
53687         x86 or x86_64 platforms running MacOS X.
53688         Reported by Ryan Schmidt <@ryandesign.com>.
53689
53690 2007-04-02  Bruno Haible  <bruno@clisp.org>
53691
53692         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
53693         i386.
53694
53695 2007-04-01  Simon Josefsson  <simon@josefsson.org>
53696
53697         * modules/crypto/arcfour: Moved from ../.
53698         * modules/crypto/arcfour-tests: Moved from ../.
53699         * modules/crypto/arctwo: Moved from ../.
53700         * modules/crypto/arctwo-tests: Moved from ../.
53701         * modules/crypto/des: Moved from ../.
53702         * modules/crypto/des-tests: Moved from ../.
53703         * modules/crypto/gc-arcfour: Moved from ../.
53704         * modules/crypto/gc-arcfour-tests: Moved from ../.
53705         * modules/crypto/gc-arctwo: Moved from ../.
53706         * modules/crypto/gc-arctwo-tests: Moved from ../.
53707         * modules/crypto/gc-des: Moved from ../.
53708         * modules/crypto/gc-des-tests: Moved from ../.
53709         * modules/crypto/gc-hmac-md5: Moved from ../.
53710         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
53711         * modules/crypto/gc-hmac-sha1: Moved from ../.
53712         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
53713         * modules/crypto/gc-md2: Moved from ../.
53714         * modules/crypto/gc-md2-tests: Moved from ../.
53715         * modules/crypto/gc-md4: Moved from ../.
53716         * modules/crypto/gc-md4-tests: Moved from ../.
53717         * modules/crypto/gc-md5: Moved from ../.
53718         * modules/crypto/gc-md5-tests: Moved from ../.
53719         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
53720         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
53721         * modules/crypto/gc-random: Moved from ../.
53722         * modules/crypto/gc-rijndael: Moved from ../.
53723         * modules/crypto/gc-rijndael-tests: Moved from ../.
53724         * modules/crypto/gc-sha1: Moved from ../.
53725         * modules/crypto/gc-sha1-tests: Moved from ../.
53726         * modules/crypto/gc-tests: Moved from ../.
53727         * modules/crypto/hmac-md5: Moved from ../.
53728         * modules/crypto/hmac-md5-tests: Moved from ../.
53729         * modules/crypto/hmac-sha1: Moved from ../.
53730         * modules/crypto/hmac-sha1-tests: Moved from ../.
53731         * modules/crypto/md2: Moved from ../.
53732         * modules/crypto/md2-tests: Moved from ../.
53733         * modules/crypto/md4: Moved from ../.
53734         * modules/crypto/md4-tests: Moved from ../.
53735         * modules/crypto/md5: Moved from ../.
53736         * modules/crypto/md5-tests: Moved from ../.
53737         * modules/crypto/memxor: Moved from ../.
53738         * modules/crypto/rijndael: Moved from ../.
53739         * modules/crypto/rijndael-tests: Moved from ../.
53740         * modules/crypto/sha1: Moved from ../.
53741
53742 2007-03-30  James Youngman  <jay@gnu.org>
53743
53744         * tests/test-stat-time.c (prepare_test): use chmod() rather than
53745         rename() to change the ctime of a file (because ctime is unaffected
53746         by rename on jfs2 on AIX 5.1).
53747         (main): Start by doing cleanup, in case a previous run failed leaving
53748         test files behind.
53749
53750 2007-03-31  Bruno Haible  <bruno@clisp.org>
53751
53752         Support old proprietary implementations of iconv.
53753         * modules/iconv_open: New file.
53754         * lib/iconv_.h: New file.
53755         * m4/iconv_h.m4: New file.
53756         * lib/iconv_open.c: New file.
53757         * lib/iconv_open-aix.gperf: New file.
53758         * lib/iconv_open-hpux.gperf: New file.
53759         * lib/iconv_open-irix.gperf: New file.
53760         * lib/iconv_open-osf.gperf: New file.
53761         * m4/iconv_open.m4: New file.
53762         * modules/linebreak (Depends-on): Add iconv_open.
53763         * modules/striconv (Depends-on): Likewise.
53764         * modules/striconveh (Depends-on): Likewise.
53765         * modules/unicodeio (Depends-on): Likewise.
53766         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
53767         (iconv_t)(-1).
53768         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
53769         conversion if cd is (iconv_t)(-1).
53770         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
53771         is not possible.
53772
53773 2007-03-31  Bruno Haible  <bruno@clisp.org>
53774
53775         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53776         work on Solaris either. Protect also second use of "autodetect_jp".
53777
53778 2007-03-31  Bruno Haible  <bruno@clisp.org>
53779
53780         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
53781         the function is not present.
53782
53783 2007-03-31  Bruno Haible  <bruno@clisp.org>
53784
53785         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
53786         the function is not present.
53787
53788 2007-03-31  Bruno Haible  <bruno@clisp.org>
53789
53790         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
53791         a bug in HP-UX iconv_open().
53792
53793 2007-03-31  Bruno Haible  <bruno@clisp.org>
53794
53795         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
53796         (Mathematics <math.h>): New section, add fpieee.
53797         (Input/output <stdio.h>): Add fseterr.
53798         (Mathematics <math.h>): New section, add printf-frexp.
53799         (Container data structures): Add sublist.
53800         (Core language properties): Add fpucw, inline.
53801         (Functions for greatest-width integer types <inttypes.h>): Add
53802         imaxabs, imaxdiv, inttypes.
53803         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
53804         isnanl-nolibm, ldexp.
53805         (Mathematics <math.h>): New section, add printf-frexpl.
53806         (Support for systems lacking POSIX:2001): Add fprintf-posix,
53807         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
53808         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
53809         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
53810         (Unicode string functions): Add unistr/u*-mbtoucr.
53811         (Java): Add javacomp-script, javaexec-script.
53812         (C#): Add csharpcomp-script, csharpexec-script.
53813         (Support for building libraries and executables): Add havelib,
53814         relocatable-*.
53815         (Support for maintaining and releasing projects): Renamed from
53816         'Support for maintaining and release projects'. Add announce-gen.
53817
53818 2007-03-31  Bruno Haible  <bruno@clisp.org>
53819
53820         * README: Talk primarily about git.
53821         (git and CVS): Renamed from CVS.
53822         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
53823         gnulib is available through git.
53824         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
53825
53826 2007-03-30  Bruno Haible  <bruno@clisp.org>
53827
53828         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
53829         * lib/poll_.h: Likewise.
53830         * lib/stat_.h: Likewise.
53831         * lib/sys_time_.h: Likewise.
53832         * lib/sysexit_.h: Likewise.
53833         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
53834         * lib/stdbool_.h: Likewise.
53835         * lib/byteswap_.h: Add double-inclusion guard.
53836
53837 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
53838
53839         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
53840
53841 2007-03-30  Karl Berry  <karl@gnu.org>
53842
53843         * config/srclist-update: double space after USA in the license
53844         substitution, since that's how it's usually (?) written.
53845
53846 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53847
53848         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
53849         reported by Bruno Haible.
53850
53851 2007-03-29  Bruno Haible  <bruno@clisp.org>
53852
53853         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
53854         a bug in AIX iconv().
53855
53856 2007-03-29  Bruno Haible  <bruno@clisp.org>
53857
53858         * modules/ldexpl-tests: New file.
53859         * tests/test-ldexpl.c: New file.
53860
53861 2007-03-29  Bruno Haible  <bruno@clisp.org>
53862
53863         * lib/ldexpl.c: Include fpucw.h.
53864         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
53865         multiplication.
53866         * modules/ldexpl (Depends-on): Add fpucw.
53867
53868 2007-03-29  Bruno Haible  <bruno@clisp.org>
53869
53870         * modules/ldexpl: New file.
53871         * m4/ldexpl.m4: New file.
53872         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
53873         set.
53874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
53875         REPLACE_LDEXPL.
53876         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
53877         REPLACE_LDEXPL.
53878         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
53879         gl_FUNC_LDEXPL_WORKS.
53880         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
53881         * modules/mathl (Files): Remove lib/ldexpl.c.
53882         (Depends-on): Add ldexpl.
53883
53884 2007-03-29  Bruno Haible  <bruno@clisp.org>
53885
53886         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
53887
53888 2007-03-29  Bruno Haible  <bruno@clisp.org>
53889
53890         * tests/test-striconveh.c (main): Don't assume that a direct conversion
53891         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
53892         and possibly also HP-UX.
53893         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53894         work on AIX, IRIX, HP-UX, OSF/1.
53895         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
53896         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
53897         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
53898         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
53899         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
53900         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
53901
53902 2007-03-29  Bruno Haible  <bruno@clisp.org>
53903
53904         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
53905
53906 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53907
53908         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
53909         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
53910
53911 2007-03-29  Eric Blake  <ebb9@byu.net>
53912
53913         * lib/acl-internal.h: Remove redundant include.
53914         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
53915         Cygwin when a file is locked.
53916
53917 2007-03-29  Bruno Haible  <bruno@clisp.org>
53918
53919         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
53920         file.
53921         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
53922
53923 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53924
53925         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
53926         try to remove a parent directory if the child couldn't be removed
53927         (except for the first rmdir, which could fail because the child
53928         doesn't exist).  Problem reported by Jeff Blaine in
53929         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
53930
53931 2007-03-28  Bruno Haible  <bruno@clisp.org>
53932
53933         * lib/striconveh.c (utf8conv_carefully): New function.
53934         (mem_cd_iconveh_internal): Invoke it.
53935
53936 2007-03-28  Bruno Haible  <bruno@clisp.org>
53937
53938         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
53939         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
53940         input.
53941         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
53942         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
53943         unistr/u8-uctomb.
53944
53945 2007-03-28  Bruno Haible  <bruno@clisp.org>
53946
53947         * modules/unistr/u8-mbtoucr: New file.
53948         * lib/unistr/u8-mbtoucr.c: New file.
53949         * modules/unistr/u16-mbtoucr: New file.
53950         * lib/unistr/u16-mbtoucr.c: New file.
53951         * modules/unistr/u16-mbtoucr: New file.
53952         * lib/unistr/u16-mbtoucr.c: New file.
53953         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
53954
53955 2007-03-27  Simon Josefsson  <simon@josefsson.org>
53956             Bruno Haible  <bruno@clisp.org>
53957
53958         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
53959         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
53960         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
53961
53962         * m4/stdio_h.m4: Add stubs for vasprintf too.
53963
53964         * modules/stdio: Support vasprintf in sed command.
53965
53966         * modules/vasprintf: Depend on stdio for prototypes.  Remove
53967         vasprintf.h.  Add stdio module indicator.
53968
53969         * lib/stdio_.h: Declare asprintf and vasprintf, based on
53970         vasprintf.h.
53971
53972         * lib/vasprintf.h: File removed.
53973
53974         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
53975         * lib/vasprintf.c: Ditto.
53976         * lib/xvasprintf.c: Ditto.
53977         * tests/test-vasprintf-posix.c: Ditto.
53978         * tests/test-vasprintf.c: Ditto.
53979
53980 2007-03-27  Bruno Haible  <bruno@clisp.org>
53981
53982         Make vasnprintf multithread-safe.
53983         * lib/vasnprintf.c (decimal_point_char): New function.
53984         (VASNPRINTF): Use it.
53985         Suggested by Simon Josefsson.
53986
53987 2007-03-27  Eric Blake  <ebb9@byu.net>
53988
53989         Support sub-second birthtime on cygwin.
53990         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
53991         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
53992         (get_stat_birthtime): Also work with st_birthtim.
53993
53994 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
53995
53996         * lib/stat-time.h (USE_BIRTHTIME): Remove.
53997         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
53998         (get_stat_birthtime_ns): Do not try to use "spare" fields.
53999         (get_stat_birthtime_ns): Simplify compile-time tests.
54000         (get_stat_birthtime): Change the API to look like
54001         get_stat_mtime etc., except return a negative tv_nsec on error.
54002         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
54003         Don't check for "spare" fields.
54004         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
54005         or for struct stat.st_birthtime, as these tests aren't used.
54006         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
54007
54008 2007-03-27  Bruno Haible  <bruno@clisp.org>
54009
54010         * lib/stat-time.h: Include <sys/stat.h>.
54011
54012 2007-03-27  James Youngman  <jay@gnu.org>
54013
54014         * lib/stat-time.h (get_stat_birthtime): New function for
54015           retrieving st_birthtime as provided by UFS2 (hence *BSD).
54016         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
54017           and its variants.
54018         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
54019         * modules/stat-time-test: New file.
54020         * tests/test-stat-time.c: New test, devised by Bruno Haible.
54021
54022 2007-03-26  Bruno Haible  <bruno@clisp.org>
54023
54024         Better support of signalling NaNs.
54025         * lib/atanl.c: Include isnanl.h.
54026         (atanl): Perform test for NaN at the beginning of the function and
54027         through a call to isnanl.
54028         * lib/cosl.c: Include isnanl.h.
54029         (cosl): Perform test for NaN at the beginning of the function and
54030         through a call to isnanl.
54031         * lib/ldexpl.c: Include isnanl.h.
54032         (ldexpl): Perform test for NaN through a call to isnanl.
54033         * lib/logl.c: Include isnanl.h.
54034         (logl): Perform test for NaN at the beginning of the function and
54035         through a call to isnanl.
54036         * lib/sinl.c: Include isnanl.h.
54037         (sinl): Perform test for NaN at the beginning of the function and
54038         through a call to isnanl.
54039         * lib/sqrtl.c: Include isnanl.h.
54040         (sqrtl): Perform test for NaN at the beginning of the function and
54041         through a call to isnanl.
54042         * lib/tanl.c: Include isnanl.h.
54043         (tanl): Perform test for NaN at the beginning of the function and
54044         through a call to isnanl.
54045         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
54046         * modules/mathl (Depends-on): Add isnanl.
54047
54048 2007-03-26  Eric Blake  <ebb9@byu.net>
54049
54050         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
54051         regression in logic sense of previous patch.
54052
54053 2007-03-26  Bruno Haible  <bruno@clisp.org>
54054
54055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
54056         unportable shell command "if ! ...".
54057         Reported by Ralf Wildenhues.
54058
54059 2007-03-25  Bruno Haible  <bruno@clisp.org>
54060
54061         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
54062         <sysexits.h> file, and only add EX_CONFIG.
54063         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
54064         absolute file name and whether it is sufficient. Substitute also
54065         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
54066         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
54067         ABSOLUTE_SYSEXITS_H into sysexits.h.
54068
54069 2007-03-25  Bruno Haible  <bruno@clisp.org>
54070
54071         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
54072         hints is NULL.
54073
54074 2007-03-25  Bruno Haible  <bruno@clisp.org>
54075
54076         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
54077         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
54078
54079 2007-03-25  Bruno Haible  <bruno@clisp.org>
54080
54081         * lib/vasnprintf.c: Include langinfo.h.
54082         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
54083         multithread-safe.
54084         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
54085         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
54086         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54087         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54088         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54089         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54090         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54091         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
54092         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54093         Reported by Simon Josefsson.
54094
54095 2007-03-25  Bruno Haible  <bruno@clisp.org>
54096
54097         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
54098         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
54099         * modules/vasnprintf (Depends-on): Add stdint.
54100
54101 2007-03-25  Bruno Haible  <bruno@clisp.org>
54102
54103         * modules/fpieee: New file.
54104         * m4/fpieee.m4: New file.
54105         * modules/isnan-nolibm (Depends-on): Add fpieee.
54106         * modules/isnanl-nolibm (Depends-on): Add fpieee.
54107         * modules/isnanl (Depends-on): Add fpieee.
54108
54109 2007-03-25  Bruno Haible  <bruno@clisp.org>
54110
54111         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
54112
54113 2007-03-25  Bruno Haible  <bruno@clisp.org>
54114
54115         Avoid test failures on IRIX 6.5.
54116         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
54117         (main): Use it.
54118         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
54119         macros.
54120         (main): Use them.
54121
54122 2007-03-25  Bruno Haible  <bruno@clisp.org>
54123
54124         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
54125         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
54126         exists but doesn't work.
54127         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
54128         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
54129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
54130         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
54131         math.h.
54132
54133 2007-03-25  Bruno Haible  <bruno@clisp.org>
54134
54135         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
54136         returns inf. Needed on IRIX 6.5.
54137
54138 2007-03-25  Bruno Haible  <bruno@clisp.org>
54139
54140         * tests/test-frexpl.c: Include isnanl-nolibm.h.
54141         (main): Use isnanl instead of x != x idiom.
54142         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
54143
54144         * tests/test-frexp.c: Include isnan.h.
54145         (main): Use isnan instead of x != x idiom.
54146         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
54147
54148 2007-03-25  Bruno Haible  <bruno@clisp.org>
54149
54150         * tests/test-frexp.c (NaN): New function/macro.
54151         (main): Use it instead of 0.0 / 0.0.
54152         * tests/test-isnan.c (NaN): New function/macro.
54153         (main): Use it instead of 0.0 / 0.0.
54154         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
54155         (test_function): Use it instead of 0.0 / 0.0.
54156         * tests/test-vasprintf-posix.c (NaN): New function/macro.
54157         (test_function): Use it instead of 0.0 / 0.0.
54158         * tests/test-snprintf-posix.h (NaN): New function/macro.
54159         (test_function): Use it instead of 0.0 / 0.0.
54160         * tests/test-sprintf-posix.h (NaN): New function/macro.
54161         (test_function): Use it instead of 0.0 / 0.0.
54162         * tests/test-fprintf-posix.h (NaN): New function/macro.
54163         (test_function): Use it instead of 0.0 / 0.0.
54164         * tests/test-printf-posix.h (NaN): New function/macro.
54165         (test_function): Use it instead of 0.0 / 0.0.
54166
54167         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
54168
54169 2007-03-25  Bruno Haible  <bruno@clisp.org>
54170
54171         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
54172
54173 2007-03-25  Bruno Haible  <bruno@clisp.org>
54174
54175         * lib/regexec.c (merge_state_with_log): Make static.
54176
54177 2007-03-25  Bruno Haible  <bruno@clisp.org>
54178
54179         * lib/trigl.c (kernel_rem_pio2): Make static.
54180
54181 2007-03-25  Bruno Haible  <bruno@clisp.org>
54182
54183         * lib/sincosl.c (sincosl_table): Make static.
54184
54185 2007-03-25  Bruno Haible  <bruno@clisp.org>
54186
54187         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
54188         if the compiler does not support C99.
54189
54190 2007-03-25  Bruno Haible  <bruno@clisp.org>
54191
54192         * modules/time (Makefile.am): Ensure all rule action lines start with a
54193         tab.
54194
54195 2007-03-24  Bruno Haible  <bruno@clisp.org>
54196
54197         * modules/tsearch-tests: New file.
54198         * tests/test-tsearch.sh: New file.
54199         * tests/test-tsearch.c: New file, mostly copied from glibc.
54200
54201         * modules/search-tests: New file.
54202         * tests/test-search.c: New file.
54203
54204         * modules/search: New file.
54205         * lib/search_.h: New file, incorporating lib/tsearch.h.
54206         * m4/search_h.m4: New file.
54207         * lib/tsearch.h: Remove file.
54208         * lib/tsearch.c: Include search.h instead of tsearch.h.
54209         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
54210         HAVE_TSEARCH.
54211         * modules/tsearch (Files): Remove lib/tsearch.h.
54212         (Depends-on): Add search.
54213         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
54214         (Include): Change tsearch.h into search.h.
54215
54216 2007-03-24  Bruno Haible  <bruno@clisp.org>
54217
54218         * modules/fpucw: New file.
54219         * lib/fpucw.h: New file.
54220         * lib/frexp.c: Include fpucw.h.
54221         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
54222         (FUNC): Use them.
54223         * lib/printf-frexp.c: Include fpucw.h.
54224         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
54225         (FUNC): Use them.
54226         * lib/vasnprintf.c: Include fpucw.h.
54227         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
54228         'long double' calculations.
54229         * tests/test-frexpl.c: Include fpucw.h.
54230         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
54231         * tests/test-printf-frexpl.c: Include fpucw.h.
54232         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
54233         * modules/frexpl (Depends-on): Add fpucw.
54234         * modules/printf-frexpl (Depends-on): Likewise.
54235         * modules/fprintf-posix (Depends-on): Likewise.
54236         * modules/snprintf-posix (Depends-on): Likewise.
54237         * modules/sprintf-posix (Depends-on): Likewise.
54238         * modules/vasnprintf-posix (Depends-on): Likewise.
54239         * modules/vasprintf-posix (Depends-on): Likewise.
54240         * modules/vfprintf-posix (Depends-on): Likewise.
54241         * modules/vsnprintf-posix (Depends-on): Likewise.
54242         * modules/vsprintf-posix (Depends-on): Likewise.
54243         * modules/frexpl-tests (Depends-on): Likewise.
54244         * modules/printf-frexpl-tests (Depends-on): Likewise.
54245
54246 2007-03-24  Bruno Haible  <bruno@clisp.org>
54247
54248         * lib/float+.h: New file.
54249         * lib/isnan.c: Include float+.h.
54250         (SIZE): New macro.
54251         (FUNC): Compare only SIZE bytes of the value.
54252         * lib/vasnprintf.c: Include float+.h.
54253         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
54254         SIZEOF_LDBL or SIZEOF_DBL bytes.
54255         * modules/isnan-nolibm (Files): Add lib/float+.h.
54256         * modules/isnanl-nolibm (Files): Add lib/float+.h.
54257         * modules/isnanl (Files): Add lib/float+.h.
54258         * modules/vasnprintf (Files): Add lib/float+.h.
54259
54260 2007-03-24  Bruno Haible  <bruno@clisp.org>
54261
54262         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
54263         include isnanl-nolibm.h.
54264
54265 2007-03-24  Bruno Haible  <bruno@clisp.org>
54266
54267         * tests/test-read-file.c (main): Don't produce spurious output for
54268         expected situations. Make the test fail if it encountered unexpected
54269         results.
54270
54271 2007-03-24  Bruno Haible  <bruno@clisp.org>
54272
54273         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
54274         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
54275
54276 2007-03-24  Bruno Haible  <bruno@clisp.org>
54277
54278         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
54279
54280 2007-03-24  Bruno Haible  <bruno@clisp.org>
54281
54282         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
54283         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
54284
54285         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
54286         * modules/utf8-ucs4: Turn into a symbolic link to module
54287         unistr/u8-mbtouc.
54288
54289         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
54290         utf8-ucs4-unsafe.
54291         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
54292         unistr/u8-mbtouc-unsafe.
54293
54294         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
54295         * modules/utf16-ucs4: Turn into a symbolic link to module
54296         unistr/u16-mbtouc.
54297
54298         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
54299         utf16-ucs4-unsafe.
54300         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
54301         unistr/u16-mbtouc-unsafe.
54302
54303         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
54304         * modules/ucs4-utf8: Turn into a symbolic link to module
54305         unistr/u8-ubtomb.
54306
54307         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
54308         * modules/ucs4-utf16: Turn into a symbolic link to module
54309         unistr/u16-ubtomb.
54310
54311 2007-03-24  Bruno Haible  <bruno@clisp.org>
54312
54313         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
54314         Enable the function only if HAVE_INLINE.
54315         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
54316         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
54317         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
54318         Enable the function only if HAVE_INLINE.
54319         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
54320         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
54321         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
54322         Enable the function only if HAVE_INLINE.
54323         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
54324         Enable the function only if HAVE_INLINE.
54325         * modules/utf8-ucs4: Update.
54326         * modules/utf8-ucs4-unsafe: Update.
54327         * modules/utf16-ucs4: Update.
54328         * modules/utf16-ucs4-unsafe: Update.
54329         * modules/ucs4-utf8: Update.
54330         * modules/ucs4-utf16: Update.
54331
54332 2007-03-24  Bruno Haible  <bruno@clisp.org>
54333
54334         * lib/utf8-ucs4.h: Remove file.
54335         * lib/utf8-ucs4-unsafe.h: Remove file.
54336         * lib/utf16-ucs4.h: Remove file.
54337         * lib/utf16-ucs4-unsafe.h: Remove file.
54338         * lib/ucs4-utf8.h: Remove file.
54339         * lib/ucs4-utf16.h: Remove file.
54340         * lib/unistr.h: Include their previous contents.
54341         * m4/utf-ucs4.m4: Remove file.
54342         * m4/ucs4-utf.m4: Remove file.
54343         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
54344         (Depends-on): Add unistr/base.
54345         (configure.ac): Remove gl_UTF_UCS4.
54346         (Makefile.am): Update.
54347         (Include): Change to unistr.h.
54348         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
54349         (Depends-on): Add unistr/base.
54350         (configure.ac): Remove gl_UTF_UCS4.
54351         (Makefile.am): Update.
54352         (Include): Change to unistr.h.
54353         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
54354         (Depends-on): Add unistr/base.
54355         (configure.ac): Remove gl_UTF_UCS4.
54356         (Makefile.am): Update.
54357         (Include): Change to unistr.h.
54358         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
54359         (Depends-on): Add unistr/base.
54360         (configure.ac): Remove gl_UTF_UCS4.
54361         (Makefile.am): Update.
54362         (Include): Change to unistr.h.
54363         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
54364         (Depends-on): Add unistr/base.
54365         (configure.ac): Remove gl_UCS4_UTF.
54366         (Makefile.am): Update.
54367         (Include): Change to unistr.h.
54368         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
54369         (Depends-on): Add unistr/base.
54370         (configure.ac): Remove gl_UCS4_UTF.
54371         (Makefile.am): Update.
54372         (Include): Change to unistr.h.
54373         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
54374         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
54375         utf8-ucs4-unsafe.h.
54376         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
54377         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
54378         utf16-ucs4-unsafe.h.
54379         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
54380         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
54381         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
54382         * lib/unistr/u8-strchr.c: Likewise.
54383         * lib/unistr/u8-strrchr.c: Likewise.
54384         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
54385         * lib/unistr/u16-strchr.c: Likewise.
54386         * lib/unistr/u16-strrchr.c: Likewise.
54387         * lib/striconveh.c: Update.
54388         * lib/linebreak.c: Update.
54389
54390 2007-03-24  Bruno Haible  <bruno@clisp.org>
54391
54392         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
54393         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
54394
54395 2007-03-22  Bruno Haible  <bruno@clisp.org>
54396
54397         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
54398
54399 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
54400
54401         * MODULES.html.sh (File system functions): New module write-any-file.
54402         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
54403         * m4/write-any-file.m4: New files.
54404
54405 2007-03-23  Eric Blake  <ebb9@byu.net>
54406
54407         * gnulib-tool: Rearrange space-tab sequences, since some editors
54408         like to eat them.
54409
54410 2007-03-23  Eric Blake  <ebb9@byu.net>
54411
54412         * lib/version-etc.c (version_etc_va): Update license wording to
54413         be more concise.  Recommended by Richard Stallman.
54414
54415 2007-03-22  Bruno Haible  <bruno@clisp.org>
54416
54417         * lib/poll.c (MSG_PEEK): New fallback definition.
54418
54419 2007-03-22  Bruno Haible  <bruno@clisp.org>
54420
54421         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
54422         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
54423         (main): Update.
54424         Fixes a compilation error on BeOS.
54425
54426 2007-03-22  Bruno Haible  <bruno@clisp.org>
54427
54428         * modules/frexpl-tests: New file.
54429         * tests/test-frexpl.c: New file.
54430
54431         * modules/frexpl: New file.
54432         * m4/frexpl.m4: New file.
54433         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
54434         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
54435         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
54436         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
54437         (Depends-on): Add frexpl. Remove isnanl-nolibm.
54438         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
54439
54440 2007-03-22  Bruno Haible  <bruno@clisp.org>
54441
54442         * lib/frexpl.c: Share code with lib/frexp.c.
54443         * modules/mathl (Files): Add lib/frexp.c.
54444         (Depends-on): Add isnanl-nolibm.
54445
54446 2007-03-22  Bruno Haible  <bruno@clisp.org>
54447
54448         * modules/printf-frexp (Files): Add m4/frexp.m4.
54449         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
54450         only if the found frexp function actually works.
54451
54452 2007-03-22  Bruno Haible  <bruno@clisp.org>
54453
54454         * lib/frexp.c: Remove older implementation that uses divisions.
54455
54456 2007-03-21  Bruno Haible  <bruno@clisp.org>
54457
54458         * modules/frexp-tests: New file.
54459         * tests/test-frexp.c: New file.
54460
54461         * modules/frexp: New file.
54462         * lib/frexp.c: New file.
54463         * m4/frexp.m4: New file.
54464         * lib/math_.h (frexp): New declaration.
54465         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
54466         REPLACE_FREXP.
54467         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
54468
54469 2007-03-21  Bruno Haible  <bruno@clisp.org>
54470
54471         * modules/isnanl-tests: New file.
54472         * tests/test-isnanl.c: New file.
54473
54474         * modules/isnanl: New file.
54475         * lib/isnanl.h: New file.
54476         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
54477         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
54478         gl_FUNC_ISNANL_WORKS.
54479         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
54480         New macros.
54481
54482 2007-03-21  Bruno Haible  <bruno@clisp.org>
54483
54484         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
54485         lib/isnanl.h.
54486         (Include): Update.
54487         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
54488         * lib/vasnprintf.c: Update.
54489         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
54490         tests/test-isnanl.h, remove tests/test-isnanl.c.
54491         (Makefile.am): Update.
54492         * tests/test-isnanl-nolibm.c: New file.
54493         * tests/test-isnanl.h: New file.
54494         * tests/test-isnanl.c: Remove file.
54495
54496 2007-03-21  Jim Meyering  <jim@meyering.net>
54497
54498         When trying to open ".", treat ESTALE like EACCES.
54499         * lib/savewd.c (savewd_save): Resort to forking not just upon
54500         failure with EACCES, but also when errno is ESTALE.
54501
54502 2007-03-20  Bruno Haible  <bruno@clisp.org>
54503
54504         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
54505         Needed on AIX 5.1. Reported by Matthew Woehlke.
54506
54507 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54508
54509         Suggestions by Bruno Haible:
54510         * lib/acl-internal.h: Include "gettext.h" rather than rolling
54511         our own.
54512         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
54513         * modules/acl (Depends-on): Add gettext.
54514
54515 2007-03-19  Bruno Haible  <bruno@clisp.org>
54516
54517         * modules/iconvme: Remove file.
54518         * lib/iconvme.h: Remove file.
54519         * lib/iconvme.c: Remove file.
54520         * m4/iconvme.m4: Remove file.
54521
54522 2007-03-19  Bruno Haible  <bruno@clisp.org>
54523
54524         * doc/relocatable-maint.texi: Break long shell script line.
54525         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
54526
54527 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54528
54529         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
54530         handle file_has_acl.
54531         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
54532         * lib/acl.c: Move header inclusions and related macro defns into
54533         lib/acl-internal.h.
54534         (S_ISLNK): Remove defn, since that's now done for us.
54535         (file_has_acl): Move to lib/file-has-acl.c.
54536         Call acl_trivial if available.  This is the crucial part of the fix.
54537         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
54538         shared within the library.  Rewrite a bit, partly to make it compatible
54539         with the GNU coding style.
54540         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
54541         Remove unnecessary double-quotes.
54542         Don't test for acl_to_text; the build will catch that.
54543         Replace acl_entries if it doesn't exist and it is needed.
54544         Check for -lsec and acl_trivial (as used on Solaris 10).
54545         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
54546         lib/file-has-acl.c.
54547         (Depends-on): Add sys_stat, for S_ISLNK.
54548
54549 2007-03-19  Ben Pfaff  <blp@gnu.org>
54550
54551         * doc/gnulib.texi: Fix typos.
54552         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
54553
54554 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54555
54556         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
54557         If size is zero here, buf must be zero.
54558
54559 2007-03-19  Simon Josefsson  <simon@josefsson.org>
54560
54561         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
54562         <bruno@clisp.org>.
54563
54564 2007-03-18  Bruno Haible  <bruno@clisp.org>
54565
54566         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
54567         Suggested by Eric Blake.
54568
54569 2007-03-18  Ben Pfaff  <blp@gnu.org>
54570
54571         * doc/relocatable.texi: Recommend using as prefix a directory
54572         that does not exist and will never be created.  Based on
54573         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
54574         and others.
54575
54576 2007-03-17  Bruno Haible  <bruno@clisp.org>
54577
54578         * lib/fchownat.c: Include lchown.h.
54579
54580 2007-03-17  Bruno Haible  <bruno@clisp.org>
54581
54582         Fix endless loop when the given allocated size was > INT_MAX.
54583         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
54584         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
54585         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
54586         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
54587         * lib/sprintf.c (sprintf): Likewise.
54588
54589 2007-03-17  Bruno Haible  <bruno@clisp.org>
54590
54591         * tests/test-argp-2.sh (func_compare): Output a context diff.
54592
54593 2007-03-17  Bruno Haible  <bruno@clisp.org>
54594
54595         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
54596         locale's decimal-point character.
54597
54598 2007-03-17  Bruno Haible  <bruno@clisp.org>
54599
54600         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
54601         before comparing it. Needed because on some platforms (e.g. x86) a
54602         'long double' occupies less bytes than sizeof (long double).
54603
54604 2007-03-17  Bruno Haible  <bruno@clisp.org>
54605
54606         * tests/test-crc.c (main): Make printf statements 64-bit clean.
54607         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
54608         * tests/test-getaddrinfo.c (simple): Likewise.
54609         * tests/test-read-file.c (main): Likewise.
54610
54611 2007-03-17  Bruno Haible  <bruno@clisp.org>
54612
54613         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
54614
54615 2007-03-17  Bruno Haible  <bruno@clisp.org>
54616
54617         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
54618         unused variable.
54619
54620 2007-03-17  Bruno Haible  <bruno@clisp.org>
54621
54622         * tests/test-c-strcasecmp.c: Include c-strcase.h.
54623         * tests/test-c-strncasecmp.c: Likewise.
54624
54625 2007-03-17  Bruno Haible  <bruno@clisp.org>
54626
54627         * modules/stdlib (Depends-on): Add unistd.
54628         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
54629         Needed for MacOS X 10.3.
54630
54631 2007-03-17  Bruno Haible  <bruno@clisp.org>
54632
54633         * lib/unistr/u-strdup.h: Include <stdlib.h>.
54634
54635 2007-03-17  Bruno Haible  <bruno@clisp.org>
54636
54637         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
54638
54639 2007-03-17  Bruno Haible  <bruno@clisp.org>
54640
54641         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
54642         to reflect files copied from gnulib (with or without modifications).
54643         Suggested by Jim Meyering.
54644
54645 2007-03-17  Eric Blake  <ebb9@byu.net>
54646
54647         * NEWS: Document stdlib change from 2007-02-18.
54648
54649 2007-03-17  Jim Meyering  <jim@meyering.net>
54650
54651         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
54652         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
54653         someone uses a name containing shell meta-characters.
54654         Reported by Alfred M. Szmidt.
54655
54656         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
54657
54658 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
54659
54660         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
54661         and copy gettext configuration files only if configure.ac contains
54662         a use of AM_GNU_GETTEXT_VERSION.
54663
54664 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
54665
54666         * build-aux/bootstrap (gnulib_name): New variable.
54667         (gnulib_tool_options): Use it.
54668
54669 2007-03-13  Simon Josefsson  <simon@josefsson.org>
54670
54671         * tests/test-des.c: Use new namespace.
54672
54673 2007-03-15  Bruno Haible  <bruno@clisp.org>
54674
54675         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
54676         Reported by James Youngman <jay@gnu.org>.
54677
54678 2007-03-15  Bruno Haible  <bruno@clisp.org>
54679
54680         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
54681         declared prototype. Needed with cc on OSF/1 5.1.
54682
54683 2007-03-15  Bruno Haible  <bruno@clisp.org>
54684
54685         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
54686         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
54687         (struct gl_list_implementation): Add dispose_fn argument to the
54688         'create_empty', 'create' methods.
54689         (struct gl_list_impl_base): Add field 'dispose_fn'.
54690         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
54691         argument.
54692         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
54693         dispose_fn argument.
54694         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
54695         dispose_fn on the dropped values.
54696         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
54697         dispose_fn argument.
54698         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
54699         dropped values.
54700         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
54701         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54702         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
54703         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54704         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
54705         argument.
54706         (gl_tree_list_free): Call dispose_fn on the dropped values.
54707         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
54708         the dropped values.
54709         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54710         Add dispose_fn argument.
54711         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
54712         Call dispose_fn on the dropped values.
54713         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
54714         Add dispose_fn argument.
54715         (gl_sublist_create): Initialize the 'dispose_fn' field.
54716         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
54717         * tests/test-array_list.c (main): Update.
54718         * tests/test-carray_list.c (main): Update.
54719         * tests/test-avltree_list.c (main): Update.
54720         * tests/test-rbtree_list.c (main): Update.
54721         * tests/test-avltreehash_list.c (main): Update.
54722         * tests/test-rbtreehash_list.c (main): Update.
54723         * tests/test-linked_list.c (main): Update.
54724         * tests/test-linkedhash_list.c (main): Update.
54725         * tests/test-array_oset.c (main): Update.
54726
54727 2007-03-15  Bruno Haible  <bruno@clisp.org>
54728
54729         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
54730         (gl_oset_create_empty): Add dispose_fn argument.
54731         (struct gl_oset_implementation): Add dispose_fn argument to
54732         'create_empty' method.
54733         (struct gl_oset_impl_base): Add dispose_fn field.
54734         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
54735         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
54736         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
54737         values.
54738         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
54739         (gl_tree_oset_free): Call dispose_fn on the dropped values.
54740         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54741         dropped value.
54742         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54743         dropped value.
54744         * tests/test-array_oset.c (main): Update.
54745         * tests/test-avltree_oset.c (main): Update.
54746         * tests/test-rbtree_oset.c (main): Update.
54747         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
54748
54749 2007-03-13  Bruno Haible  <bruno@clisp.org>
54750
54751         * tests/test-stdbool.c (i): Update after last patch.
54752
54753 2007-03-12  Bruno Haible  <bruno@clisp.org>
54754
54755         * lib/quotearg.c: Include <wctype.h> early, before the definition of
54756         the iswprint macro. Needed on Solaris 2.5.1.
54757
54758 2007-03-12  Bruno Haible  <bruno@clisp.org>
54759
54760         * tests/test-printf-frexp.c (main): Declare x as volatile.
54761
54762 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54763
54764         * doc/gnulib.texi (Build robot for gnulib): New section.
54765
54766 2007-03-12  Jim Meyering  <jim@meyering.net>
54767
54768         * build-aux/bootstrap: New file.
54769         * build-aux/bootstrap.conf: New file, from coreutils.
54770
54771 2007-03-11  Bruno Haible  <bruno@clisp.org>
54772
54773         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
54774
54775 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54776
54777         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
54778         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
54779         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
54780
54781 2007-03-11  Bruno Haible  <bruno@clisp.org>
54782
54783         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
54784         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
54785
54786 2007-03-11  Bruno Haible  <bruno@clisp.org>
54787
54788         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
54789         formula. Needed for SunPRO C 5.0.
54790
54791 2007-03-11  Bruno Haible  <bruno@clisp.org>
54792
54793         * modules/long-options (Depends-on): Add getopt.
54794
54795 2007-03-11  Bruno Haible  <bruno@clisp.org>
54796
54797         * modules/modechange (Depends-on): Add stdbool.
54798
54799 2007-03-11  Bruno Haible  <bruno@clisp.org>
54800
54801         * modules/i-ring (Depends-on): Add stdbool.
54802
54803 2007-03-11  Bruno Haible  <bruno@clisp.org>
54804
54805         * modules/gc-des (Depends-on): Add stdbool.
54806
54807 2007-03-11  Bruno Haible  <bruno@clisp.org>
54808
54809         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
54810
54811 2007-03-11  Bruno Haible  <bruno@clisp.org>
54812
54813         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
54814
54815 2007-03-11  Bruno Haible  <bruno@clisp.org>
54816
54817         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
54818
54819 2007-03-11  Bruno Haible  <bruno@clisp.org>
54820
54821         * lib/vasnprintf.c (sprintf): Undefine.
54822
54823 2007-03-11  Bruno Haible  <bruno@clisp.org>
54824
54825         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
54826         initializers in SunPRO C and Compaq C compilers.
54827
54828 2007-03-11  Bruno Haible  <bruno@clisp.org>
54829
54830         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
54831         decrementing code ANSI C compliant.
54832
54833 2007-03-11  Bruno Haible  <bruno@clisp.org>
54834
54835         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
54836         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
54837
54838 2007-03-11  Bruno Haible  <bruno@clisp.org>
54839
54840         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
54841         <stdbool.h> substitute doesn't pass.
54842
54843 2007-03-11  Bruno Haible  <bruno@clisp.org>
54844
54845         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
54846
54847 2007-03-11  Bruno Haible  <bruno@clisp.org>
54848
54849         * gnulib-tool (func_create_megatestdir): Create also an autobuild
54850         script, for submission to autobuild.josefsson.org.
54851
54852 2007-03-10  Bruno Haible  <bruno@clisp.org>
54853
54854         * modules/canonicalize-lgpl-tests: New file.
54855         * tests/test-canonicalize-lgpl.sh: New file.
54856         * tests/test-canonicalize-lgpl.c: New file.
54857
54858         * modules/c-strcase-tests: New file.
54859         * tests/test-c-strcase.sh: New file.
54860         * tests/test-c-strcasecmp.c: New file.
54861         * tests/test-c-strncasecmp.c: New file.
54862
54863         * modules/atexit-tests: New file.
54864         * tests/test-atexit.sh: New file.
54865         * tests/test-atexit.c: New file.
54866
54867 2007-03-10  Bruno Haible  <bruno@clisp.org>
54868
54869         * tests/test-binary-io.sh: Use temporary filenames that are not so
54870         likely to clash with those of other tests (in a parallel make).
54871         * tests/test-binary-io.c: Likewise.
54872
54873 2007-03-10  Bruno Haible  <bruno@clisp.org>
54874
54875         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
54876         fallback; use #error instead.
54877         Suggested by Simon Josefsson.
54878
54879 2007-03-10  Bruno Haible  <bruno@clisp.org>
54880
54881         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
54882         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
54883         first and the last.
54884
54885 2007-03-10  Bruno Haible  <bruno@clisp.org>
54886
54887         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
54888
54889 2007-03-10  Bruno Haible  <bruno@clisp.org>
54890
54891         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
54892         "make distcheck".
54893         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
54894         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
54895         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
54896
54897 2007-03-10  Bruno Haible  <bruno@clisp.org>
54898
54899         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
54900         variable.
54901         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
54902         variable.
54903
54904 2007-03-09  Eric Blake  <ebb9@byu.net>
54905         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
54906
54907         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
54908         types are not being provided by gnulib.
54909         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
54910         types are supported.
54911
54912 2007-03-10  Bruno Haible  <bruno@clisp.org>
54913
54914         * lib/stdio_.h (__attribute__): New macro.
54915         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
54916         vsprintf): Specify __attribute__ __format__ for GCC.
54917         Suggested by Eric Blake.
54918
54919 2007-03-09  Bruno Haible  <bruno@clisp.org>
54920
54921         * modules/printf-posix-tests: New file.
54922         * tests/test-printf-posix.sh: New file.
54923         * tests/test-printf-posix.c: New file.
54924
54925         * modules/printf-posix: New file.
54926         * lib/printf.c: New file.
54927         * m4/printf-posix-rpl.m4: New file.
54928         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
54929         REPLACE_PRINTF.
54930         * lib/stdio_.h (printf): New declaration.
54931         (format, __format__, ____printf____, ____scanf____, ____strftime____,
54932         ____strfmon____): New macros.
54933         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
54934         REPLACE_PRINTF.
54935
54936 2007-03-09  Bruno Haible  <bruno@clisp.org>
54937
54938         * tests/test-vasnprintf-posix2.sh: New file.
54939         * tests/test-vasnprintf-posix2.c: New file.
54940         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
54941         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
54942         (Makefile.am): Activate test-vasnprintf-posix2.sh.
54943
54944         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
54945         a locale dependent decimal point, rather than always '.'.
54946
54947 2007-03-09  Eric Blake  <ebb9@byu.net>
54948
54949         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
54950         spite of platforms like Tandem/NSK that define it to -1.
54951
54952 2007-03-08  Bruno Haible  <bruno@clisp.org>
54953
54954         * modules/vprintf-posix-tests: New file.
54955         * tests/test-vprintf-posix.sh: New file.
54956         * tests/test-vprintf-posix.c: New file.
54957         * tests/test-printf-posix.h: New file.
54958
54959         * modules/vprintf-posix: New file.
54960         * lib/vprintf.c: New file.
54961         * m4/vprintf-posix.m4: New file.
54962         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
54963         REPLACE_VPRINTF.
54964         * lib/stdio_.h (vprintf): New declaration.
54965         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
54966         REPLACE_VPRINTF.
54967
54968 2007-03-08  Bruno Haible  <bruno@clisp.org>
54969
54970         * modules/fprintf-posix-tests: New file.
54971         * tests/test-fprintf-posix.sh: New file.
54972         * tests/test-fprintf-posix.c: New file.
54973
54974         * modules/fprintf-posix: New file.
54975         * lib/fprintf.c: New file.
54976         * m4/fprintf-posix.m4: New file.
54977         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
54978         REPLACE_FPRINTF.
54979         * lib/stdio_.h (fprintf): New declaration.
54980         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
54981         REPLACE_FPRINTF.
54982
54983 2007-03-08  Bruno Haible  <bruno@clisp.org>
54984
54985         * modules/vfprintf-posix-tests: New file.
54986         * tests/test-vfprintf-posix.sh: New file.
54987         * tests/test-vfprintf-posix.c: New file.
54988         * tests/test-fprintf-posix.h: New file.
54989         * tests/test-fprintf-posix.out: New file.
54990
54991         * modules/vfprintf-posix: New file.
54992         * lib/vfprintf.c: New file.
54993         * m4/vfprintf-posix.m4: New file.
54994         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
54995         REPLACE_VFPRINTF.
54996         * lib/stdio_.h (vfprintf): New declaration.
54997         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
54998         REPLACE_VFPRINTF.
54999
55000 2007-03-08  Bruno Haible  <bruno@clisp.org>
55001
55002         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
55003
55004 2007-03-08  Bruno Haible  <bruno@clisp.org>
55005
55006         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
55007         instead of 'expr' invocations.
55008         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55009         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55010         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55011         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55012         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55013         Suggested by Paul Eggert.
55014
55015 2007-03-08  Bruno Haible  <bruno@clisp.org>
55016
55017         * modules/fseterr-tests: New file.
55018         * tests/test-fseterr.c: New file.
55019
55020         * modules/fseterr: New file.
55021         * lib/fseterr.h: New file.
55022         * lib/fseterr.c: New file.
55023
55024 2007-03-08  Bruno Haible  <bruno@clisp.org>
55025
55026         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
55027         * lib/getopt_.h: Likewise.
55028         * lib/mbswidth.h: Likewise.
55029         * lib/setenv.h: Likewise.
55030         * lib/vasnprintf.h: Likewise.
55031         * lib/vasprintf.h: Likewise.
55032         * lib/verror.h: Likewise.
55033         * lib/xsetenv.h: Likewise.
55034         * lib/xvasprintf.h: Likewise.
55035
55036 2007-03-08  Jim Meyering  <jim@meyering.net>
55037
55038         * users.txt: Add parted.
55039
55040         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
55041
55042 2007-03-07  Bruno Haible  <bruno@clisp.org>
55043
55044         * m4/printf.m4: Make the shell script snippets copy&pastable.
55045
55046 2007-03-02  Bruno Haible  <bruno@clisp.org>
55047
55048         * lib/netinet_in_.h: New file.
55049         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
55050         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
55051         * modules/netinet_in (Files): Add lib/netinet_in_.h.
55052         (Depends-on): Add absolute-header.
55053         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
55054         into netinet/in.h.
55055
55056 2007-03-03  Bruno Haible  <bruno@clisp.org>
55057
55058         * lib/sys_select_.h: New file.
55059         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
55060         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
55061         * modules/sys_select (Files): Add lib/sys_select_.h.
55062         (Depends-on): Add absolute-header.
55063         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
55064         into sys/select.h.
55065
55066 2007-03-02  Bruno Haible  <bruno@clisp.org>
55067
55068         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
55069         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
55070         values.
55071         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
55072         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
55073         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
55074         * modules/sys_socket (Depends-on): Add absolute-header.
55075         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
55076         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
55077         (Include): Remove requirement of inclusion of <sys/types.h>.
55078
55079 2007-03-02  Bruno Haible  <bruno@clisp.org>
55080
55081         * lib/byteswap_.h (bswap_32): Fix formula.
55082
55083 2007-03-06  Bruno Haible  <bruno@clisp.org>
55084
55085         * modules/sprintf-posix-tests: New file.
55086         * tests/test-sprintf-posix.c: New file.
55087
55088         * modules/sprintf-posix: New file.
55089         * lib/sprintf.c: New file.
55090         * m4/sprintf-posix.m4: New file.
55091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
55092         REPLACE_SPRINTF.
55093         * lib/stdio_.h (sprintf): New declaration.
55094         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
55095         REPLACE_SPRINTF.
55096
55097 2007-03-06  Bruno Haible  <bruno@clisp.org>
55098
55099         * modules/vsprintf-posix-tests: New file.
55100         * tests/test-vsprintf-posix.c: New file.
55101         * tests/test-sprintf-posix.h: New file.
55102
55103         * modules/vsprintf-posix: New file.
55104         * lib/vsprintf.c: New file.
55105         * m4/vsprintf-posix.m4: New file.
55106         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
55107         REPLACE_VSPRINTF.
55108         * lib/stdio_.h (vsprintf): New declaration.
55109         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
55110         REPLACE_VSPRINTF.
55111
55112 2007-03-06  Bruno Haible  <bruno@clisp.org>
55113
55114         * modules/vsnprintf (Depend-on): Remove minmax.
55115
55116 2007-03-06  Bruno Haible  <bruno@clisp.org>
55117
55118         * modules/snprintf-posix-tests: New file.
55119         * tests/test-snprintf-posix.c: New file.
55120
55121         * modules/snprintf-posix: New file.
55122         * m4/snprintf-posix.m4: New file.
55123         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
55124         gl_FUNC_SNPRINTF.
55125         (gl_FUNC_SNPRINTF): Invoke it.
55126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
55127         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
55128         is set.
55129         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
55130
55131 2007-03-06  Bruno Haible  <bruno@clisp.org>
55132
55133         * modules/vsnprintf-posix-tests: New file.
55134         * tests/test-vsnprintf-posix.c: New file.
55135         * tests/test-snprintf-posix.h: New file.
55136
55137         * modules/vsnprintf-posix: New file.
55138         * m4/vsnprintf-posix.m4: New file.
55139         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
55140         gl_FUNC_VSNPRINTF.
55141         (gl_FUNC_VSNPRINTF): Invoke it.
55142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
55143         * lib/stdio_.h (vsnprintf): Define as a replacement if
55144         REPLACE_VSNPRINTF is set.
55145         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
55146
55147 2007-03-06  Bruno Haible  <bruno@clisp.org>
55148
55149         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
55150         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
55151
55152 2007-03-06  Bruno Haible  <bruno@clisp.org>
55153
55154         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
55155         (asinl): Declare also if HAVE_DECL_ASINL is set.
55156         (atanl): Declare also if HAVE_DECL_ATANL is set.
55157         (ceill): Declare also if HAVE_DECL_CEILL is set.
55158         (cosl): Declare also if HAVE_DECL_COSL is set.
55159         (expl): Declare also if HAVE_DECL_EXPL is set.
55160         (floorl): Declare also if HAVE_DECL_FLOORL is set.
55161         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
55162         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
55163         (logl): Declare also if HAVE_DECL_LOGL is set.
55164         (sinl): Declare also if HAVE_DECL_SINL is set.
55165         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
55166         (tanl): Declare also if HAVE_DECL_TANL is set.
55167         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
55168         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
55169         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
55170         declaration of frexpl, ldexpl.
55171         * modules/printf-frexpl (Depends-on): Add math.
55172         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
55173
55174 2007-03-05  Bruno Haible  <bruno@clisp.org>
55175
55176         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
55177         frexpl and ldexpl are declared.
55178         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
55179
55180 2007-03-05  Bruno Haible  <bruno@clisp.org>
55181
55182         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
55183         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
55184
55185 2007-03-05  Bruno Haible  <bruno@clisp.org>
55186
55187         * lib/stdio_.h: Include <stddef.h>.
55188
55189 2007-03-05  Bruno Haible  <bruno@clisp.org>
55190
55191         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
55192
55193 2007-03-05  Bruno Haible  <bruno@clisp.org>
55194
55195         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
55196         NetBSD 4, from Ralf Wildenhues.
55197
55198 2007-03-04  Bruno Haible  <bruno@clisp.org>
55199
55200         * lib/vasprintf.h: Update #if logic for the case when the functions
55201         exist but are overridden.
55202
55203 2007-03-04  Bruno Haible  <bruno@clisp.org>
55204
55205         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
55206         implementations: glibc-2.4 and MacOS X 10.3.
55207         * tests/test-vasnprintf-posix.c (test_function): Test also the case
55208         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
55209         * tests/test-vasprintf-posix.c (test_function): Likewise.
55210
55211 2007-03-04  Bruno Haible  <bruno@clisp.org>
55212
55213         * modules/vasprintf-posix-tests: New file.
55214         * tests/test-vasprintf-posix.c: New file.
55215
55216         * modules/vasprintf-posix: New file.
55217         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
55218         defined.
55219         * m4/vasprintf-posix.m4: New file.
55220         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
55221         gl_FUNC_VASPRINTF.
55222         (gl_FUNC_VASPRINTF): Invoke it.
55223         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
55224         here.
55225         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
55226
55227 2007-03-04  Bruno Haible  <bruno@clisp.org>
55228
55229         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
55230         REPLACE_GETTIMEOFDAY.
55231         * modules/sys_time (Makefile.am): Likewise.
55232         * m4/sys_time_h.m4: Likewise.
55233         * m4/gettimeofday.m4: Likewise.
55234
55235 2007-03-04  Bruno Haible  <bruno@clisp.org>
55236
55237         * modules/vasnprintf-posix-tests: New file.
55238         * tests/test-vasnprintf-posix.c: New file.
55239
55240         * modules/vasnprintf-posix: New file.
55241         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
55242         printf-frexpl.h.
55243         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
55244         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
55245         REPLACE_VASNPRINTF is defined.
55246         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
55247         gl_FUNC_VASNPRINTF.
55248         (gl_FUNC_VASNPRINTF): Invoke it.
55249         * m4/vasnprintf-posix.m4: New file.
55250         * m4/printf.m4: New file.
55251
55252 2007-03-04  Bruno Haible  <bruno@clisp.org>
55253
55254         Compile progreloc.c only if --enable-relocatable is specified.
55255         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
55256         if --enable-relocatable was specified.
55257         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
55258         lib_SOURCES.
55259
55260 2007-03-04  Jim Meyering  <jim@meyering.net>
55261
55262         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
55263         Use it consistently, rather than enumerating errno constants.
55264
55265 2007-03-04  Bruno Haible  <bruno@clisp.org>
55266
55267         * modules/xvasprintf-tests: New file.
55268         * tests/test-xvasprintf.c: New file.
55269
55270         * modules/vasprintf-tests: New file.
55271         * tests/test-vasprintf.c: New file.
55272
55273         * modules/vasnprintf-tests: New file.
55274         * tests/test-vasnprintf.c: New file.
55275
55276         * modules/vsnprintf-tests: New file.
55277         * tests/test-vsnprintf.c: New file.
55278
55279         * modules/snprintf-tests: New file.
55280         * tests/test-snprintf.c: New file.
55281
55282 2007-03-04  Bruno Haible  <bruno@clisp.org>
55283
55284         Compile relocatable.c only if --enable-relocatable is specified.
55285         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
55286         gl_RELOCATABLE_LIBRARY.
55287         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
55288         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
55289         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
55290         gl_RELOCATABLE_LIBRARY.
55291         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
55292         (Makefile.am): Remove lib_SOURCES.
55293         * modules/relocatable-lib-lgpl (configure.ac): Invoke
55294         gl_RELOCATABLE_LIBRARY.
55295         (Makefile.am): Remove lib_SOURCES.
55296         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
55297         always.
55298         * modules/relocatable-prog-wrapper (configure.ac): Invoke
55299         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
55300
55301 2007-03-04  Bruno Haible  <bruno@clisp.org>
55302
55303         * modules/argmatch-tests: New file.
55304         * tests/test-argmatch.c: New file.
55305
55306         * tests/test-allocsa.c (main): Halve the number of loop runs.
55307
55308         * modules/alloca-opt-tests: New file.
55309         * tests/test-alloca-opt.c: New file.
55310
55311 2007-03-04  Jim Meyering  <jim@meyering.net>
55312
55313         Work around difference between Linux ACLs and Solaris 10 ZFS.
55314         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
55315         for EINVAL.
55316
55317 2007-03-03  Bruno Haible  <bruno@clisp.org>
55318
55319         * modules/relocatable-prog (Depends-on): Add back progreloc's
55320         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
55321
55322 2007-03-03  Bruno Haible  <bruno@clisp.org>
55323
55324         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
55325         * modules/relocatable-lib: New file.
55326
55327 2007-03-03  Bruno Haible  <bruno@clisp.org>
55328
55329         * modules/relocatable-prog: Renamed from modules/relocatable.
55330         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
55331
55332 2007-03-03  Bruno Haible  <bruno@clisp.org>
55333
55334         * modules/relocatable-script (Files): Add doc/relocatable.texi,
55335         m4/relocatable-lib.m4.
55336         (Depends-on): Remove 'relocatable'.
55337         (configure.ac): Add gl_RELOCATABLE_NOP.
55338
55339 2007-03-03  Bruno Haible  <bruno@clisp.org>
55340
55341         * modules/relocatable-prog-wrapper: New file.
55342         * modules/relocatable (Depends-on): Add it. Remove all other
55343         dependencies except progname.
55344         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
55345
55346         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
55347         (gl_FUNC_STRERROR): Nop.
55348         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
55349
55350         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
55351         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
55352
55353         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
55354         (gl_FUNC_READLINK): Update.
55355
55356         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
55357
55358 2007-03-03  Bruno Haible  <bruno@clisp.org>
55359
55360         * lib/xreadlink.c: Include <unistd.h> unconditionally.
55361         * modules/xreadlink (Depends-on): Add unistd.
55362         * modules/xreadlink-with-size (Depends-on): Likewise.
55363
55364 2007-03-03  Bruno Haible  <bruno@clisp.org>
55365
55366         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
55367         extracted from gt_FUNC_SETENV.
55368         (gt_FUNC_SETENV): Remove macro.
55369         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
55370         remove gt_FUNC_SETENV.
55371
55372 2007-03-03  Bruno Haible  <bruno@clisp.org>
55373
55374         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
55375         ENABLE_RELOCATABLE here.
55376         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
55377
55378 2007-03-03  Bruno Haible  <bruno@clisp.org>
55379
55380         * modules/rbtreehash-list-tests (Depends-on): Add progname.
55381         * tests/test-rbtreehash_list.c: Include progname.h.
55382         (main): Call set_program_name.
55383
55384         * modules/rbtree-oset-tests (Depends-on): Add progname.
55385         * tests/test-rbtree_oset.c: Include progname.h.
55386         (main): Call set_program_name.
55387
55388         * modules/rbtree-list-tests (Depends-on): Add progname.
55389         * tests/test-rbtree_list.c: Include progname.h.
55390         (main): Call set_program_name.
55391
55392         * modules/linked-list-tests (Depends-on): Add progname.
55393         * tests/test-linked_list.c: Include progname.h.
55394         (main): Call set_program_name.
55395
55396 2007-03-03  Bruno Haible  <bruno@clisp.org>
55397
55398         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
55399         All uses of __restrict changed to _Restrict_.
55400         * lib/glob_.h (__restrict): Remove macro.
55401
55402 2007-03-02  Bruno Haible  <bruno@clisp.org>
55403
55404         * modules/gettext (configure.ac): Require gettext infrastructure
55405         from version 0.16.1.
55406
55407 2007-03-02  Bruno Haible  <bruno@clisp.org>
55408
55409         * modules/linkedhash-list-tests (Depends-on): Add progname.
55410         * tests/test-linkedhash_list.c: Include progname.h.
55411         (main): Call set_program_name.
55412
55413         * modules/carray-list-tests (Depends-on): Add progname.
55414         * tests/test-carray_list.c: Include progname.h.
55415         (main): Call set_program_name.
55416
55417         * modules/avltreehash-list-tests (Depends-on): Add progname.
55418         * tests/test-avltreehash_list.c: Include progname.h.
55419         (main): Call set_program_name.
55420
55421         * modules/avltree-oset-tests (Depends-on): Add progname.
55422         * tests/test-avltree_oset.c: Include progname.h.
55423         (main): Call set_program_name.
55424
55425         * modules/avltree-list-tests (Depends-on): Add progname.
55426         * tests/test-avltree_list.c: Include progname.h.
55427         (main): Call set_program_name.
55428
55429         * modules/array-oset-tests (Depends-on): Add progname.
55430         * tests/test-array_oset.c: Include progname.h.
55431         (main): Call set_program_name.
55432
55433         * modules/array-list-tests (Depends-on): Add progname.
55434         * tests/test-array_list.c: Include progname.h.
55435         (main): Call set_program_name.
55436
55437         * modules/argp-tests (Depends-on): Add progname.
55438         * tests/test-argp.c: Include argp.h first. Include progname.h.
55439         (main): Call set_program_name.
55440
55441 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
55442
55443         * doc/gnulib-tool.texi (Initial import): Reword description of
55444         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
55445         limited effect even if defined after the first system include.
55446
55447 2007-03-01  Bruno Haible  <bruno@clisp.org>
55448
55449         * build-aux/config.libpath: Update to libtool-1.5.22.
55450         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55451
55452 2007-03-01  Bruno Haible  <bruno@clisp.org>
55453
55454         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
55455         foo_CFLAGS.
55456         Reported by Ralf Wildenhues.
55457
55458 2007-03-01  Bruno Haible  <bruno@clisp.org>
55459
55460         * build-aux/install-reloc: Remove object files left over by some
55461         compilers.
55462         Reported by Ralf Wildenhues.
55463
55464 2007-03-01  Bruno Haible  <bruno@clisp.org>
55465
55466         * build-aux/install-reloc: Break long lines.
55467
55468 2007-03-01  Bruno Haible  <bruno@clisp.org>
55469
55470         * doc/relocatable.texi: Document that it may not work on OpenBSD.
55471         Reported by Ralf Wildenhues.
55472
55473 2007-03-01  Bruno Haible  <bruno@clisp.org>
55474
55475         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
55476         include ordering constraints.
55477
55478 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55479
55480         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
55481         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
55482         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
55483         as another example.
55484         * lib/time_.h: Fix misspelling.
55485         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55486         Require gl_HEADER_TIME_H_DEFAULTS.
55487         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
55488         * m4/time_r.m4 (gl_TIME_R): Likewise.
55489         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
55490
55491 2007-03-01  Bruno Haible  <bruno@clisp.org>
55492
55493         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
55494         * m4/utimens.m4 (gl_UTIMENS): Likewise.
55495
55496 2007-03-01  Jim Meyering  <jim@meyering.net>
55497
55498         * modules/xreadlink (Maintainer): Add my name.
55499         * modules/xreadlink-with-size (Depends-on): Alphabetize.
55500
55501 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
55502             Bruno Haible  <bruno@clisp.org>
55503
55504         * build-aux/install-reloc: Compile also c-ctype.c.
55505         * build-aux/relocatable.sh.in: New file.
55506         * doc/relocatable.texi: New file.
55507         * doc/relocatable-maint.texi: New file.
55508         * doc/gnulib.texi: Include relocatable-maint.texi.
55509         * lib/progreloc.c: Include unistd.h unconditionally.
55510         * lib/relocwrapper.c: Include unistd.h unconditionally.
55511         Include c-ctype.h.
55512         (add_dotbin): Use c_tolower.
55513         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
55514         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
55515         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
55516         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
55517         to m4/relocatable-lib.m4.
55518         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
55519         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
55520         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
55521         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
55522         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
55523         * modules/relocatable: New file.
55524         * modules/relocatable-lib: New file.
55525         * modules/relocatable-script: New file.
55526
55527 2007-02-28  Bruno Haible  <bruno@clisp.org>
55528
55529         Import --enable-relocatable infrastructure.
55530         * build-aux/config.libpath: New file, from GNU gettext.
55531         * build-aux/install-reloc: New file, from GNU gettext.
55532         * build-aux/reloc-ldflags: New file, from GNU gettext.
55533         * lib/relocatable.h: New file, from GNU gettext.
55534         * lib/relocatable.c: New file, from GNU gettext.
55535         * lib/relocwrapper.c: New file, from GNU gettext.
55536         * m4/relocatable.m4: New file, from GNU gettext.
55537
55538 2007-02-28  Bruno Haible  <bruno@clisp.org>
55539
55540         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
55541
55542         * modules/xreadlink: New file, from GNU gettext with modifications.
55543         * lib/xreadlink.c: New file, from GNU gettext.
55544         * lib/xreadlink.h: Add comments.
55545         (xreadlink): New declaration.
55546
55547         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
55548         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
55549         lib/xreadlink-with-size.c.
55550         (configure.ac): Remove gl_XREADLINK invocation.
55551         (Makefile.am): Augment lib_SOURCES.
55552         * m4/xreadlink.m4: Remove file.
55553         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
55554         (xreadlink_with_size): Renamed from xreadink.
55555         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
55556         * modules/canonicalize (Depends-on): Replace xreadlink with
55557         xreadlink-with-size.
55558         * lib/canonicalize.c (canonicalize_filename_mode): Update.
55559
55560 2007-02-25  Jim Meyering  <jim@meyering.net>
55561
55562         * build-aux/announce-gen: When complaining about excess arguments,
55563         list them.
55564
55565 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
55566
55567         * README: Document signed integer overflow situation more
55568         accurately.
55569
55570 2007-02-25  Bruno Haible  <bruno@clisp.org>
55571
55572         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
55573         'a' or 'A' conversion.
55574
55575 2007-02-25  Bruno Haible  <bruno@clisp.org>
55576
55577         * modules/filename: Renamed from modules/pathname.
55578         (Files): Replace lib/pathname.h with lib/filename.h. Replace
55579         lib/concatpath.c with lib/concat-filename.c.
55580         (Makefile.am): Update.
55581         (Include): Replace pathname.h with filename.h.
55582         * lib/filename.h: Renamed from lib/pathname.h.
55583         (concatenated_filename): Renamed from concatenated_pathname.
55584         * lib/concat-filename.c: Renamed from lib/concatpath.c.
55585         (concatenated_filename): Renamed from concatenated_pathname.
55586         * lib/findprog.c: Include filename.h instead of pathname.h.
55587         (find_in_path): Update.
55588         * lib/javacomp.c: Include filename.h instead of pathname.h.
55589         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
55590         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
55591         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
55592         is_oldgcj_14_13_usable, is_javac_usable): Update.
55593         * lib/javaexec.c: Include filename.h instead of pathname.h.
55594         (execute_java_class): Update.
55595         * modules/findprog: Update.
55596         * modules/javacomp: Update.
55597         * modules/javaexec: Update.
55598         * MODULES.html.sh (File system functions): Add 'filename', remove
55599         'pathname'.
55600
55601 2007-02-25  Bruno Haible  <bruno@clisp.org>
55602
55603         * modules/printf-frexpl-tests: New file.
55604         * tests/test-printf-frexpl.c: New file.
55605
55606         * modules/printf-frexpl: New file.
55607         * lib/printf-frexpl.h: New file.
55608         * lib/printf-frexpl.c: New file.
55609         * m4/printf-frexpl.m4: New file.
55610
55611 2007-02-25  Bruno Haible  <bruno@clisp.org>
55612
55613         * modules/printf-frexp-tests: New file.
55614         * tests/test-printf-frexp.c: New file.
55615
55616         * modules/printf-frexp: New file.
55617         * lib/printf-frexp.h: New file.
55618         * lib/printf-frexp.c: New file.
55619         * m4/printf-frexp.m4: New file.
55620
55621 2007-02-25  Bruno Haible  <bruno@clisp.org>
55622
55623         Assume automake >= 1.10 for the tests.
55624         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
55625         * modules/arctwo-tests: Likewise.
55626         * modules/argp-tests: Likewise.
55627         * modules/avltree-list-tests: Likewise.
55628         * modules/avltree-oset-tests: Likewise.
55629         * modules/avltreehash-list-tests: Likewise.
55630         * modules/carray-list-tests: Likewise.
55631         * modules/crc-tests: Likewise.
55632         * modules/des-tests: Likewise.
55633         * modules/gc-arcfour-tests: Likewise.
55634         * modules/gc-arctwo-tests: Likewise.
55635         * modules/gc-des-tests: Likewise.
55636         * modules/gc-hmac-md5-tests: Likewise.
55637         * modules/gc-hmac-sha1-tests: Likewise.
55638         * modules/gc-md2-tests: Likewise.
55639         * modules/gc-md4-tests: Likewise.
55640         * modules/gc-md5-tests: Likewise.
55641         * modules/gc-pbkdf2-sha1-tests: Likewise.
55642         * modules/gc-rijndael-tests: Likewise.
55643         * modules/gc-sha1-tests: Likewise.
55644         * modules/gc-tests: Likewise.
55645         * modules/getaddrinfo-tests: Likewise.
55646         * modules/hmac-md5-tests: Likewise.
55647         * modules/hmac-sha1-tests: Likewise.
55648         * modules/linked-list-tests: Likewise.
55649         * modules/linkedhash-list-tests: Likewise.
55650         * modules/lock-tests: Likewise.
55651         * modules/md2-tests: Likewise.
55652         * modules/md4-tests: Likewise.
55653         * modules/md5-tests: Likewise.
55654         * modules/rbtree-list-tests: Likewise.
55655         * modules/rbtree-oset-tests: Likewise.
55656         * modules/rbtreehash-list-tests: Likewise.
55657         * modules/read-file-tests: Likewise.
55658         * modules/rijndael-tests: Likewise.
55659         * modules/stdint-tests: Likewise.
55660         * modules/tls-tests: Likewise.
55661
55662 2007-02-24  Bruno Haible  <bruno@clisp.org>
55663
55664         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
55665         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
55666         function; instead check whether isnan with a double argument links.
55667         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
55668         function; instead check whether isnan with a 'long double' argument
55669         links.
55670         Reported by Eric Blake <ebb9@byu.net>.
55671
55672 2007-02-24  Bruno Haible  <bruno@clisp.org>
55673
55674         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
55675         defined.
55676         * lib/isnanl.c: Remove all code. Just include isnan.c.
55677         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
55678
55679 2007-02-25  Jim Meyering  <jim@meyering.net>
55680
55681         Avoid conflicting types for 'unsetenv' on FreeBSD.
55682         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
55683         conflicting with FreeBSD's (5.0 and 6.1) function declaration
55684         in stdlib.h.
55685
55686 2007-02-24  Bruno Haible  <bruno@clisp.org>
55687
55688         * modules/isnanl-nolibm-tests: New file.
55689         * tests/test-isnanl.c: New file.
55690
55691         * modules/isnanl-nolibm: New file.
55692         * lib/isnanl.h: New file.
55693         * lib/isnanl.c: New file.
55694         * m4/isnanl.m4: New file.
55695
55696 2007-02-24  Bruno Haible  <bruno@clisp.org>
55697
55698         * modules/isnan-nolibm-tests: New file.
55699         * tests/test-isnan.c: New file.
55700
55701         * modules/isnan-nolibm: New file.
55702         * lib/isnan.h: New file.
55703         * lib/isnan.c: New file.
55704         * m4/isnan.m4: New file.
55705
55706 2007-02-24  Bruno Haible  <bruno@clisp.org>
55707
55708         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
55709         assume that an exponent fits in 20 bits.
55710
55711 2007-02-24  Jim Meyering  <jim@meyering.net>
55712
55713         * m4/regex.m4: Update the description of the configure-time option,
55714         --without-included-regex, to state accurately what the defaults are,
55715         and perhaps to give people an idea why using this option is risky.
55716
55717 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
55718
55719         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
55720         loops on small arguments.  This attempts to avoid the problem
55721         Bruno Haible reported for AIX 4.3.2 in
55722         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
55723
55724 2007-02-23  Bruno Haible  <bruno@clisp.org>
55725
55726         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
55727         Needed for help2man.
55728
55729 2007-02-23  Karl Berry  <karl@gnu.org>
55730
55731         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
55732         exists, foo.h should be cvs-ignored, not committed.
55733
55734 2007-02-23  Eric Blake  <ebb9@byu.net>
55735
55736         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
55737         * lib/stat-time.h (includes): Likewise.
55738         * lib/utimecmp.c (includes): Likewise.
55739         * lib/utimens.h (includes): Likewise.
55740         * lib/getdate.y (includes): Also include "timespec.h" for use
55741         internal to the module.
55742         * modules/utimens (Depends-on): Revert yesterday's patch.
55743         * modules/nanosleep (Depends-on): Add missing dependency.
55744
55745 2007-02-22  Bruno Haible  <bruno@clisp.org>
55746
55747         * lib/glob.c: Don't include getlogin_r.h.
55748
55749 2007-02-22  Jim Meyering  <jim@meyering.net>
55750
55751         * modules/utimens (Depends-on): Add timespec, required for
55752         utimens.h's inclusion of timespec.h.
55753
55754 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
55755
55756         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
55757         long unreadable paths in GNU/Linux.  Problem reported by Andreas
55758         Schwab in
55759         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
55760         I'll try to think of a better way to fix the Solaris problem.
55761
55762         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
55763         like glibc; on Solaris 10, it fails with errno == EINVAL.
55764         POSIX says the behavior is unspecified if the first argument is NULL,
55765         so play it safe and never pass NULL to the system getcwd.
55766
55767 2007-02-21  Jim Meyering  <jim@meyering.net>
55768
55769         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
55770         of gettimeofday.  It would conflict with the one now always
55771         provided via sys_time_.h.  Reported by Matthew Woehlke, as
55772         an IRIX 6.5 build failure.
55773
55774 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
55775
55776         Minor fixups to port to Solaris 10 with Sun C 5.8.
55777         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
55778         * modules/getcwd (Depends-on): Add dirfd.
55779         * lib/putenv.c (putenv): #undef it.
55780         (rpl_putenv): New decl.
55781         (malloc, free): Include <stdlib.h> rather than prototyping separately.
55782
55783 2007-02-20  Bruno Haible  <bruno@clisp.org>
55784
55785         * modules/stdio-tests: New file.
55786         * tests/test-stdio.c: New file.
55787
55788         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
55789         (Depends-on): Add stdio.
55790         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55791         (Include): Use <stdio.h> instead of vsnprintf.h.
55792         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55793         HAVE_DECL_VSNPRINTF.
55794         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
55795
55796         * modules/snprintf (Files): Remove lib/snprintf.h.
55797         (Depends-on): Add stdio.
55798         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55799         (Include): Use <stdio.h> instead of snprintf.h.
55800         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55801         HAVE_DECL_SNPRINTF.
55802         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
55803         * lib/getaddrinfo.c: Likewise.
55804
55805         * modules/stdio: New file.
55806         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
55807         * lib/snprintf.h: Remove file.
55808         * lib/vsnprintf.h: Remove file.
55809         * lib/.cppi-disable: Remove snprintf.h.
55810         * m4/stdio_h.m4: New file.
55811         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
55812
55813 2007-02-20  Jim Meyering  <jim@meyering.net>
55814
55815         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
55816         used by e.g., mingw.  From Bruno Haible.
55817
55818 2007-02-19  Bruno Haible  <bruno@clisp.org>
55819
55820         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
55821         warnings.
55822         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55823
55824 2007-02-19  Bruno Haible  <bruno@clisp.org>
55825
55826         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
55827         from mingw users.
55828
55829 2007-02-19  Bruno Haible  <bruno@clisp.org>
55830
55831         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
55832         warnings.
55833         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
55834
55835 2007-02-19  Jim Meyering  <jim@meyering.net>
55836
55837         Don't use FD after a successful "fdopendir (fd)".
55838         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
55839         Reset it by calling dirfd on the just-obtained DIR*.
55840
55841         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
55842         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
55843
55844 2007-02-18  Bruno Haible  <bruno@clisp.org>
55845
55846         * lib/readlink.c: Include <unistd.h>.
55847         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
55848         HAVE_READLINK.
55849         * modules/readlink (Depends-on): Add unistd.
55850         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55851         (Include): Add <unistd.h>.
55852
55853         * lib/getlogin_r.h: Remove file.
55854         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
55855         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
55856         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
55857         HAVE_DECL_GETLOGIN_R.
55858         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
55859         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55860         (Include): Use <unistd.h> instead of getlogin_r.h.
55861
55862         * lib/getcwd.h: Remove file.
55863         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
55864         * lib/xgetcwd.c: Likewise.
55865         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
55866         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
55867         * modules/getcwd (Files): Remove lib/getcwd.h.
55868         (Depends-on): Add unistd.
55869         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55870         (Include): Use <unistd.h> instad of getcwd.h.
55871
55872         * lib/ftruncate.c: Include <unistd.h> first.
55873         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
55874         Set HAVE_FTRUNCATE.
55875         * modules/ftruncate (Depends-on): Add unistd.
55876         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55877
55878         * lib/fchdir.c: Include <unistd.h> first.
55879         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
55880         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
55881         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
55882         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55883         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
55884
55885         * lib/dup2.c: Include <unistd.h> first.
55886         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
55887         HAVE_DUP2.
55888         * modules/dup2 (Depends-on): Add unistd.
55889         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55890
55891         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
55892         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
55893         REPLACE_CHOWN. Don't define chown as a macro here.
55894         * modules/chown (Depends-on): Add unistd.
55895         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55896
55897         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
55898         Add definition for GL_LINK_WARNING.
55899         (chown, dup2): New declarations.
55900         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
55901         link warning.
55902         (ftruncate): New declaration.
55903         (getcwd): New declaration, taken from old getcwd.h.
55904         (getlogin_r): New declaration, taken from old getlogin_r.h.
55905         (readlink): New declaration.
55906         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
55907         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
55908         (gl_PREREQ_UNISTD): Remove macro.
55909         (gl_UNISTD_MODULE_INDICATOR): New macro.
55910         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
55911         many new variables. Don't set UNISTD_H.
55912         * modules/unistd (Description): Change.
55913         (Depends-on): Add link-warning.
55914         (configure.ac): Update.
55915         (Makefile.am): Create unistd.h always. Substitute many new variables
55916         into it.
55917
55918 2007-02-18  Bruno Haible  <bruno@clisp.org>
55919
55920         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
55921         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
55922         HAVE_GETSUBOPT.
55923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
55924         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
55925         * lib/getsubopt.h: Remove file.
55926         * modules/getsubopt (Files): Remove lib/getsubopt.h.
55927         (Depends-on): Add stdlib.
55928         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55929         (Includes): Use <stdlib.h> instead of getsubopt.h.
55930         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
55931         Set HAVE_GETSUBOPT.
55932         * lib/getsubopt.c: Don't include getsubopt.h.
55933
55934 2007-02-18  Bruno Haible  <bruno@clisp.org>
55935
55936         * modules/fchdir (Depends-on): Add dup2.
55937
55938 2007-02-18  Bruno Haible  <bruno@clisp.org>
55939
55940         * lib/stdlib_.h: Handle glibc's special invocation convention
55941         specially.
55942
55943 2007-02-18  Bruno Haible  <bruno@clisp.org>
55944
55945         * modules/stdlib-tests: New file.
55946         * tests/test-stdlib.c: New file.
55947
55948         * modules/mkstemp (Files): Remove lib/mkstemp.h.
55949         (Depends-on): Add stdlib.
55950         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55951         (Includes): Use <stdlib.h> instead of mkstemp.h.
55952         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55953         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
55954         * lib/mkstemp.c: Don't include mkstemp.h.
55955         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
55956         * lib/stdlib--.h: Don't include mkstemp.h.
55957
55958         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
55959         (Depends-on): Add stdlib.
55960         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55961         (Includes): Use <stdlib.h> instead of mkdtemp.h.
55962         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55963         HAVE_MKDTEMP.
55964         * lib/mkdtemp.c: Don't include mkdtemp.h.
55965         * lib/clean-temp.c: Don't include mkdtemp.h.
55966
55967         * modules/exit (Files): Remove lib/exit.h.
55968         (Depends-on): Add stdlib.
55969         (Makefile.am): Remove lib_SOURCES.
55970         (Include): Use <stdlib.h> instead of exit.h.
55971         * lib/argmatch.c: Don't include exit.h.
55972         * lib/execute.c: Likewise.
55973         * lib/pagealign_alloc.c: Likewise.
55974         * lib/pipe.c: Likewise.
55975         * lib/wait-process.c: Likewise.
55976         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
55977         * lib/exitfail.c: Likewise.
55978         * lib/savewd.c: Likewise.
55979         * lib/xsetenv.c: Likewise.
55980
55981         * modules/stdlib: New file.
55982         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
55983         and extra comments about mkstemp().
55984         * lib/exit.h: Remove file.
55985         * lib/mkdtemp.h: Remove file.
55986         * lib/mkstemp.h: Remove file.
55987         * m4/stdlib_h.m4: New file.
55988         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
55989
55990 2007-02-18  Bruno Haible  <bruno@clisp.org>
55991
55992         * modules/math-tests: New file.
55993         * tests/test-math.c: New file.
55994
55995         * modules/math: New file.
55996         * modules/mathl (Files): Remove lib/mathl.h.
55997         (Depends-on): Add math.
55998         (Makefile.am): Don't mention mathl.h.
55999         (Include): Use <math.h> instead of mathl.h.
56000         * lib/math_.h: New file.
56001         * lib/mathl.h: Remove file.
56002         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
56003         mathl.h.
56004         * lib/asinl.c: Likewise.
56005         * lib/atanl.c: Likewise.
56006         * lib/ceill.c: Likewise.
56007         * lib/cosl.c: Likewise.
56008         * lib/expl.c: Likewise.
56009         * lib/floorl.c: Likewise.
56010         * lib/frexpl.c: Likewise.
56011         * lib/ldexpl.c: Likewise.
56012         * lib/logl.c: Likewise.
56013         * lib/sincosl.c: Likewise.
56014         * lib/sinl.c: Likewise.
56015         * lib/sqrtl.c: Likewise.
56016         * lib/tanl.c: Likewise.
56017         * lib/trigl.c: Likewise.
56018         * m4/math_h.m4: New file.
56019         * MODULES.html.sh (Mathematics): Add math.
56020
56021 2007-02-17  Bruno Haible  <bruno@clisp.org>
56022
56023         * modules/wctype-tests: New file.
56024         * tests/test-wctype.c: New file.
56025
56026         * modules/wchar-tests: New file.
56027         * tests/test-wchar.c: New file.
56028
56029         * modules/unistd-tests: New file.
56030         * tests/test-unistd.c: New file.
56031
56032         * modules/time-tests: New file.
56033         * tests/test-time.c: New file.
56034
56035         * modules/sysexits-tests: New file.
56036         * tests/test-sysexits.c: New file.
56037
56038         * modules/sys_time-tests: New file.
56039         * tests/test-sys_time.c: New file.
56040
56041         * modules/sys_stat-tests: New file.
56042         * tests/test-sys_stat.c: New file.
56043
56044         * modules/sys_socket-tests: New file.
56045         * tests/test-sys_socket.c: New file.
56046
56047         * modules/sys_select-tests: New file.
56048         * tests/test-sys_select.c: New file.
56049
56050         * modules/string-tests: New file.
56051         * tests/test-string.c: New file.
56052
56053         * modules/stdbool-tests: New file.
56054         * tests/test-stdbool.c: New file.
56055
56056         * modules/netinet_in-tests: New file.
56057         * tests/test-netinet_in.c: New file.
56058
56059         * modules/inttypes-tests: New file.
56060         * tests/test-inttypes.c: New file.
56061
56062         * modules/fcntl-tests: New file.
56063         * tests/test-fcntl.c: New file.
56064
56065         * modules/byteswap-tests: New file.
56066         * tests/test-byteswap.c: New file.
56067
56068         * modules/arpa_inet-tests: New file.
56069         * tests/test-arpa_inet.c: New file.
56070
56071 2007-02-17  Bruno Haible  <bruno@clisp.org>
56072
56073         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
56074         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
56075         if the corresponding module is not enabled. Emit link warnings if
56076         the function is used nevertheless.
56077         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
56078         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
56079         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
56080         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
56081         * modules/inttypes (Depends-on): Add link-warning.
56082         (Makefile.am): Copy the contents of build-aux/link-warning.h into
56083         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
56084         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
56085         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
56086         * modules/imaxdiv (configure.ac): Likewise.
56087         * modules/strtoimax (configure.ac): Likewise.
56088         * modules/strtoumax (configure.ac): Likewise.
56089
56090 2007-02-17  Bruno Haible  <bruno@clisp.org>
56091
56092         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
56093         gl_STRING_MODULE_INDICATOR_DEFAULTS.
56094         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
56095         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
56096
56097 2007-02-17  Bruno Haible  <bruno@clisp.org>
56098
56099         * modules/link-warning: New file.
56100         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
56101         * lib/string_.h (GL_LINK_WARNING): Remove definition.
56102         * modules/string (Depends-on): Add link-warning.
56103         (Makefile.am): Copy the contents of build-aux/link-warning.h into
56104         string.h.
56105         * MODULES.html.sh (Support for building libraries and executables): Add
56106         link-warning.
56107
56108 2007-02-17  Bruno Haible  <bruno@clisp.org>
56109
56110         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
56111         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
56112         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
56113         long lines.
56114
56115 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
56116             Bruno Haible  <bruno@clisp.org>
56117
56118         * modules/tmpfile: New file.
56119         * lib/tmpfile.c: New file.
56120         * m4/tmpfile.m4: New file.
56121         * MODULES.html.sh (func_all_modules): New section "Input/output".
56122
56123 2007-02-15  Bruno Haible  <bruno@clisp.org>
56124
56125         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
56126         (supports_delete_on_close): New function.
56127         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
56128
56129 2007-02-14  Bruno Haible  <bruno@clisp.org>
56130
56131         * modules/mbspcasecmp-tests: New file.
56132         * tests/test-mbspcasecmp.sh: New file.
56133         * tests/test-mbspcasecmp.c: New file.
56134
56135         New module mbspcasecmp.
56136         * modules/mbspcasecmp: New file.
56137         * lib/mbspcasecmp.c: New file.
56138         * lib/string_.h (strncasecmp): Change warning message.
56139         (mbspcasecmp): New declaration.
56140         * m4/mbspcasecmp.m4: New file.
56141         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56142         GNULIB_MBSPCASECMP.
56143         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
56144         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
56145
56146 2007-02-14  Bruno Haible  <bruno@clisp.org>
56147
56148         * modules/mbsncasecmp-tests: New file.
56149         * tests/test-mbsncasecmp.sh: New file.
56150         * tests/test-mbsncasecmp.c: New file.
56151
56152         New module mbsncasecmp.
56153         * modules/mbsncasecmp: New file.
56154         * lib/mbsncasecmp.c: New file.
56155         * lib/string_.h (mbsncasecmp): New declaration.
56156         * m4/mbsncasecmp.m4: New file.
56157         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56158         GNULIB_MBSNCASECMP.
56159         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
56160         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
56161
56162 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
56163
56164         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
56165         Verify that it doesn't overlap with our flags.
56166         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
56167         do not have the desired effect in multibyte locales; instead, use
56168         mbscasecmp.
56169         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
56170         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
56171         we don't require GNU fnmatch ourselves (if our users require it, they
56172         should do so explicitly).
56173
56174         Fix regex code so it doesn't rely on strcasecmp.
56175         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
56176         Otherwise, include gnulib's langinfo.h.
56177         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
56178         undesirable behavior in non-C locales.  Instead, rely on localecharset.
56179         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
56180         * modules/regex (FILES): Remove m4/codeset.m4.
56181         (Depends-on): Add localcharset.  Remove strcase.
56182
56183 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56184
56185         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
56186         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
56187
56188 2007-02-13  Bruno Haible  <bruno@clisp.org>
56189
56190         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
56191         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56192
56193 2007-02-12  Bruno Haible  <bruno@clisp.org>
56194
56195         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56196         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
56197         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
56198         time warning rather than a link error.
56199
56200 2007-02-12  Bruno Haible  <bruno@clisp.org>
56201
56202         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
56203         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56204         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56205
56206 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
56207
56208         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
56209         args, not 2.
56210
56211 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
56212
56213         New module 'time', so that apps can include <time.h> as per
56214         POSIX and GNU instead of separate include files like time_r.h
56215         and timegm.h.  This implementation tries out a simpler approach
56216         for replacing decls in standard include files (as compared to
56217         the string module), somewhat as an experiment.
56218
56219         * config/srclist.txt: Comment out mktime.c for now.
56220         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
56221         since it doesn't apply any more.  Use generic wording instead.
56222         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
56223         'time'.
56224         * lib/time_.h, m4/time_h.m4, modules/time: New files.
56225         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
56226         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
56227         Don't include <sys/types.h>; no longer needed since we assume C89.
56228         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
56229         * lib/strftime.c: Likewise.
56230         * lib/time_r.c: Likewise.
56231         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
56232         * lib/nanosleep.c: Include <time.h> first, to check interface.
56233         * lib/strptime.c: Likewise.
56234         * lib/time_r.c: Likewise.
56235         * lib/timegm.c: Likewise.
56236         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
56237         needed.
56238         * lib/timegm.c: Don't include timegm.h; no longer needed.
56239         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
56240         time.h now handles any problems in that area.
56241         (struct timespec, nanosleep): Remove; time.h now arranges for these.
56242         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
56243         that time.h defines struct timespec.
56244         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
56245         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
56246         handles that.
56247         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
56248         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
56249         needed.  Set REPLACE_LOCALTIME.
56250         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
56251         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
56252         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
56253         nanosleep; time_h.m4 now does that.  Don't require
56254         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
56255         module handles this now.
56256         * modules/getdate (Depends-on): Remove timespec.  Add time.
56257         * modules/nanosleep (Depends-on): Likewise.
56258         * modules/stat-time (Depends-on): Likewise.
56259         * modules/nanosleep (Include): Include time.h, not timespec.h.
56260         * modules/strptime (Files): Remove lib/strptime.h.
56261         (Depends-on): Add extensions, time.
56262         (Include): Include time.h, not strptime.h.
56263         * modules/time_r (Files): Remove lib/time_r.h.
56264         (Depends-on): Add time.
56265         (Include): Include time.h, not time_r.h.
56266         * modules/timegm: Likewise.
56267         * modules/timespec (Description): Now does timespec-related decls
56268         of our own, instead of struct timespec itself.
56269         (Depends-on): Add time; remove extensions.
56270         (Maintainer): Add self.
56271         * modules/utimecmp (Depends-on): Add time; remove timespec.
56272         * modules/utimens (Depends-on): Likewise.
56273         * modules/xnanosleep (Depends-on): Likewise.
56274
56275 2007-02-11  Bruno Haible  <bruno@clisp.org>
56276
56277         * lib/c-strstr.c: Include allocsa.h.
56278         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56279         * lib/c-strcasestr.c: Include allocsa.h.
56280         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56281         * lib/strcasestr.c: Include allocsa.h.
56282         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56283         * lib/mbsstr.c: Include allocsa.h.
56284         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
56285         allocsa/freesa instead of malloc/free.
56286         * lib/mbscasestr.c: Include allocsa.h.
56287         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
56288         allocsa/freesa instead of malloc/free.
56289         * modules/c-strstr (Depends-on): Add allocsa.
56290         * modules/c-strcasestr (Depends-on): Likewise.
56291         * modules/strcasestr (Depends-on): Likewise.
56292         * modules/mbsstr (Depends-on): Likewise.
56293         * modules/mbscasestr (Depends-on): Likewise.
56294
56295 2007-02-11  Bruno Haible  <bruno@clisp.org>
56296
56297         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
56298
56299         * modules/mbsspn-tests: New file.
56300         * tests/test-mbsspn.sh: New file.
56301         * tests/test-mbsspn.c: New file.
56302
56303 2007-02-11  Bruno Haible  <bruno@clisp.org>
56304
56305         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
56306
56307         * modules/mbspbrk-tests: New file.
56308         * tests/test-mbspbrk.sh: New file.
56309         * tests/test-mbspbrk.c: New file.
56310
56311 2007-02-11  Bruno Haible  <bruno@clisp.org>
56312
56313         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
56314         unneeded cast.
56315
56316         * modules/mbscspn-tests: New file.
56317         * tests/test-mbscspn.sh: New file.
56318         * tests/test-mbscspn.c: New file.
56319
56320 2007-02-11  Bruno Haible  <bruno@clisp.org>
56321
56322         * modules/mbscasecmp-tests: New file.
56323         * tests/test-mbscasecmp.sh: New file.
56324         * tests/test-mbscasecmp.c: New file.
56325
56326 2007-02-11  Bruno Haible  <bruno@clisp.org>
56327
56328         Ensure O(n) worst-case complexity of mbscasestr.
56329         * lib/mbscasestr.c: Include stdbool.h.
56330         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
56331         functions.
56332         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
56333         the bookkeeping indicates that it's worth it.
56334         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
56335
56336         * modules/mbscasestr-tests: New file.
56337         * tests/test-mbscasestr1.c: New file.
56338         * tests/test-mbscasestr2.sh: New file.
56339         * tests/test-mbscasestr2.c: New file.
56340         * tests/test-mbscasestr3.sh: New file.
56341         * tests/test-mbscasestr3.c: New file.
56342         * tests/test-mbscasestr4.sh: New file.
56343         * tests/test-mbscasestr4.c: New file.
56344         * m4/locale-tr.m4: New file.
56345
56346 2007-02-11  Bruno Haible  <bruno@clisp.org>
56347
56348         Ensure O(n) worst-case complexity of mbsstr.
56349         * lib/mbsstr.c: Include stdbool.h.
56350         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
56351         functions.
56352         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
56353         bookkeeping indicates that it's worth it.
56354         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
56355
56356         * modules/mbsstr-tests: New file.
56357         * tests/test-mbsstr1.c: New file.
56358         * tests/test-mbsstr2.sh: New file.
56359         * tests/test-mbsstr2.c: New file.
56360         * tests/test-mbsstr3.sh: New file.
56361         * tests/test-mbsstr3.c: New file.
56362         * m4/locale-fr.m4: New file.
56363
56364 2007-02-11  Bruno Haible  <bruno@clisp.org>
56365
56366         * lib/mbsrchr.c (mbsrchr): Fix bug.
56367
56368         * modules/mbsrchr-tests: New file.
56369         * tests/test-mbsrchr.sh: New file.
56370         * tests/test-mbsrchr.c: New file.
56371
56372 2007-02-11  Bruno Haible  <bruno@clisp.org>
56373
56374         * lib/mbschr.c (mbschr): Fix bug.
56375
56376         * modules/mbschr-tests: New file.
56377         * tests/test-mbschr.sh: New file.
56378         * tests/test-mbschr.c: New file.
56379         * m4/locale-zh.m4: New file.
56380
56381 2007-02-11  Bruno Haible  <bruno@clisp.org>
56382
56383         Support for copying multibyte string iterators.
56384         * lib/mbiter.h: Include <string.h>.
56385         (mbiter_multi_copy): New function.
56386         (mbi_copy): New macro.
56387         * lib/mbuiter.h: Include <string.h>.
56388         (mbuiter_multi_copy): New function.
56389         (mbui_copy): New macro.
56390
56391 2007-02-11  Bruno Haible  <bruno@clisp.org>
56392
56393         New module mbslen.
56394         * modules/mbslen: New file.
56395         * lib/mbslen.c: New file.
56396         * lib/string_.h (mbslen): New declaration.
56397         * m4/mbslen.m4: New file.
56398         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56399         GNULIB_MBSLEN.
56400         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
56401         * MODULES.html.sh (Internationalization functions): Add mbslen.
56402
56403 2007-02-11  Bruno Haible  <bruno@clisp.org>
56404
56405         Ensure O(n) worst-case complexity of strcasestr substitute.
56406         * lib/strcasestr.c: Include stdbool.h.
56407         (knuth_morris_pratt): New function.
56408         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
56409         bookkeeping indicates that it's worth it.
56410         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
56411
56412         * modules/strcasestr-tests: New file.
56413         * tests/test-strcasestr.c: New file.
56414
56415 2007-02-11  Bruno Haible  <bruno@clisp.org>
56416
56417         Ensure O(n) worst-case complexity of c_strcasestr.
56418         * lib/c-strcasestr.c: Include stdbool.h, string.h.
56419         (knuth_morris_pratt): New function.
56420         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
56421         the bookkeeping indicates that it's worth it.
56422         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
56423
56424         * modules/c-strcasestr-tests: New file.
56425         * tests/test-c-strcasestr.c: New file.
56426
56427 2007-02-11  Bruno Haible  <bruno@clisp.org>
56428
56429         Ensure O(n) worst-case complexity of c_strstr.
56430         * lib/c-strstr.c: Include stdbool.h, string.h.
56431         (knuth_morris_pratt): New function.
56432         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
56433         bookkeeping indicates that it's worth it.
56434         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
56435
56436         * lib/c-strstr.c: Complete rewrite for maintainability.
56437
56438         * modules/c-strstr-tests: New file.
56439         * tests/test-c-strstr.c: New file.
56440
56441 2007-02-11  Bruno Haible  <bruno@clisp.org>
56442
56443         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
56444         5.2.1 and earlier, whereby \055 was treated just like the range
56445         delimiter '-'.
56446         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
56447
56448 2007-02-08  Bruno Haible  <bruno@clisp.org>
56449
56450         * modules/regex (Depends-on): Add stdbool.
56451         Reported by Dalibor Topic <robilad@kaffe.org>.
56452
56453 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
56454
56455         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
56456         Prefer returning from main to exiting from it.
56457         Remove unnecessary parens after sizeof.
56458
56459 2007-02-05  Bruno Haible  <bruno@clisp.org>
56460
56461         New module mbssep.
56462         * modules/mbssep: New file.
56463         * lib/mbssep.c: New file.
56464         * lib/string_.h (strsep): Add a conditional link warning.
56465         (mbssep): New declaration.
56466         * m4/mbssep.m4: New file.
56467         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56468         GNULIB_MBSSEP.
56469         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
56470         * MODULES.html.sh (Internationalization functions): Add mbssep.
56471
56472 2007-02-05  Bruno Haible  <bruno@clisp.org>
56473
56474         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
56475         Optimize search in case of 1 delimiter.
56476
56477 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
56478
56479         * lib/acl.h: Include sys/types.h before sys/acl.h.
56480
56481 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
56482
56483         Merge upstream fix for glibc bugzilla #3957:
56484
56485         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
56486
56487         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
56488         bit for RE_HAT_LISTS_NOT_NEWLINE.
56489         (build_charclass_op): Remove bogus comment.
56490
56491 2007-02-05  Simon Josefsson  <simon@josefsson.org>
56492
56493         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
56494
56495 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56496
56497         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
56498         * lib/memmem.c [!defined _LIBC]: Include config.h.
56499
56500 2007-02-04  Bruno Haible  <bruno@clisp.org>
56501
56502         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
56503         warning message.
56504
56505 2007-02-04  Bruno Haible  <bruno@clisp.org>
56506
56507         New module mbstok_r.
56508         * modules/mbstok_r: New file.
56509         * lib/mbstok_r.c: New file.
56510         * lib/string_.h (strtok_r): Change argument names to match the
56511         comments. Add a conditional link warning.
56512         (mbstok_r): New declaration.
56513         * m4/mbstok_r.m4: New file.
56514         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56515         GNULIB_MBSTOK_R.
56516         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
56517         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
56518
56519 2007-02-04  Bruno Haible  <bruno@clisp.org>
56520
56521         New module mbsspn.
56522         * modules/mbsspn: New file.
56523         * lib/mbsspn.c: New file.
56524         * lib/string_.h (strspn): Add a conditional link warning.
56525         (mbsspn): New declaration.
56526         * m4/mbsspn.m4: New file.
56527         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56528         GNULIB_MBSSPN.
56529         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
56530         * MODULES.html.sh (Internationalization functions): Add mbsspn.
56531
56532 2007-02-04  Bruno Haible  <bruno@clisp.org>
56533
56534         New module mbspbrk.
56535         * modules/mbspbrk: New file.
56536         * lib/mbspbrk.c: New file.
56537         * lib/string_.h (strpbrk): Add a conditional link warning.
56538         (mbspbrk): New declaration.
56539         * m4/mbspbrk.m4: New file.
56540         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56541         GNULIB_MBSPBRK.
56542         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
56543         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
56544
56545 2007-02-04  Bruno Haible  <bruno@clisp.org>
56546
56547         New module mbscspn.
56548         * modules/mbscspn: New file.
56549         * lib/mbscspn.c: New file.
56550         * lib/string_.h (strcspn): Add a conditional link warning.
56551         (mbscspn): New declaration.
56552         * m4/mbscspn.m4: New file.
56553         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56554         GNULIB_MBSCSPN.
56555         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
56556         * MODULES.html.sh (Internationalization functions): Add mbscspn.
56557
56558 2007-02-04  Bruno Haible  <bruno@clisp.org>
56559
56560         New module mbscasestr, reduced goal of strcasestr.
56561         * modules/mbscasestr: New file.
56562         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
56563         (mbscasestr): Renamed from strcasestr.
56564         * lib/strcasestr.c: Don't include mbuiter.h.
56565         (strcasestr): Remove support for multibyte locales.
56566         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
56567         Change the conditional link warning.
56568         (mbscasestr): New declaration.
56569         * m4/mbscasestr.m4: New file.
56570         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
56571         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
56572         REPLACE_STRCASESTR.
56573         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
56574         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56575         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
56576         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
56577         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
56578         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
56579         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
56580         (Depends-on): Remove mbuiter.
56581         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
56582
56583 2007-02-04  Bruno Haible  <bruno@clisp.org>
56584
56585         Simplify handling of strncasecmp.
56586         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
56587         the conditional link warning.
56588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56589         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
56590         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
56591         * modules/strcase (configure.ac): Don't invoke
56592         gl_STRING_MODULE_INDICATOR.
56593         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
56594
56595 2007-02-04  Bruno Haible  <bruno@clisp.org>
56596
56597         New module mbscasecmp, reduced goal of strcasecmp.
56598         * modules/mbscasecmp: New file.
56599         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
56600         (mbscasecmp): Renamed from strcasecmp.
56601         * lib/strcasecmp.c: Don't include mbuiter.h.
56602         (strcasecmp): Remove support for multibyte locales.
56603         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
56604         Change the conditional link warning.
56605         (mbscasecmp): New declaration.
56606         * m4/mbscasecmp.m4: New file.
56607         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
56608         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
56609         REPLACE_STRCASECMP.
56610         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
56611         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56612         GNULIB_MBSCASECMP.
56613         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
56614         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
56615         * modules/strcase (Files): Remove m4/mbrtowc.m4.
56616         (Depends-on): Remove mbuiter.
56617         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
56618
56619 2007-02-04  Bruno Haible  <bruno@clisp.org>
56620
56621         New module mbsstr. Remove module strstr.
56622         * modules/mbsstr: New file.
56623         * modules/strstr: Remove file.
56624         * lib/mbsstr.c: Renamed from lib/strstr.c.
56625         (mbsstr): Renamed from strstr.
56626         * lib/string_.h (strstr): Remove declaration. Change the conditional
56627         link warning.
56628         (mbsstr): New declaration.
56629         * m4/mbsstr.m4: New file.
56630         * m4/strstr.m4: Remove file.
56631         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
56632         REPLACE_STRSTR.
56633         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
56634         Don't initialize GNULIB_STRSTR.
56635         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
56636         substitute GNULIB_STRSTR and REPLACE_STRSTR.
56637         * MODULES.html.sh (Internationalization functions): Add mbsstr.
56638         (Support for systems lacking ANSI C 89): Remove strstr.
56639
56640 2007-02-04  Bruno Haible  <bruno@clisp.org>
56641
56642         New module mbsrchr.
56643         * modules/mbsrchr: New file.
56644         * lib/mbsrchr.c: New file.
56645         * lib/string_.h (strrchr): Add a conditional link warning.
56646         (mbsrchr): New declaration.
56647         * m4/mbsrchr.m4: New file.
56648         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56649         GNULIB_MBSRCHR.
56650         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
56651         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
56652
56653 2007-02-04  Bruno Haible  <bruno@clisp.org>
56654
56655         New module mbschr.
56656         * modules/mbschr: New file.
56657         * lib/mbschr.c: New file.
56658         * lib/string_.h (strchr): Add a conditional link warning.
56659         (mbschr): New declaration.
56660         * m4/mbschr.m4: New file.
56661         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56662         GNULIB_MBSCHR.
56663         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
56664         * MODULES.html.sh (Internationalization functions): Add mbschr.
56665
56666 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56667
56668         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
56669
56670         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
56671
56672 2007-02-04  Bruno Haible  <bruno@clisp.org>
56673
56674         New module description section 'configure.ac-early'.
56675         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
56676         (func_get_autoconf_early_snippet): New function.
56677         (func_import, func_create_testdir): Use it. Remove special cases for
56678         modules 'extensions' and 'lock'.
56679         * modules/extensions (configure.ac-early): Require
56680         gl_USE_SYSTEM_EXTENSIONS.
56681         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
56682
56683 2007-02-04  Bruno Haible  <bruno@clisp.org>
56684
56685         Make use of gcj-4.3's -fsource and -ftarget option.
56686         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
56687         and if so try the options -fsource and -ftarget.
56688         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
56689         source_version, ftarget_option, target_version arguments.
56690         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
56691         (is_envjavac_oldgcj_14_14_usable): Renamed from
56692         is_envjavac_gcj_14_14_usable.
56693         (is_envjavac_oldgcj_14_13_usable): Renamed from
56694         is_envjavac_gcj_14_13_usable.
56695         (is_gcj_present): Update.
56696         (is_gcj_43, is_gcj43_usable): New functions.
56697         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
56698         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
56699         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
56700         try the options -fsource and -ftarget.
56701
56702 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56703
56704         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
56705         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
56706         larger value.
56707
56708 2007-02-03  Jim Meyering  <jim@meyering.net>
56709
56710         Give tools a better chance to allocate space for very large buffers.
56711         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
56712
56713         Make pwd and readlink work also when run with an unreadable parent dir
56714         on systems with openat support.
56715         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
56716         provided getcwd function, even when we have openat support.
56717         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
56718
56719 2007-02-02  Bruno Haible  <bruno@clisp.org>
56720
56721         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56722         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
56723         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
56724         portability problems if one of these functions is only used on specific
56725         platforms.
56726         Reported by Paul Eggert.
56727
56728 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56729
56730         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
56731         is causing more trouble than it's curing.
56732         * lib/regex_internal.h (__mempcpy): Remove.
56733         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
56734         (and make the code a tad smaller to boot).
56735         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
56736
56737 2007-02-02  Jim Meyering  <jim@meyering.net>
56738
56739         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
56740         section, not in the Makefile.am: one.
56741
56742 2007-02-02  Eric Blake  <ebb9@byu.net>
56743
56744         * lib/strchrnul.c: Always include config.h first.
56745
56746         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
56747         gnulib strstr is not necessary here.
56748
56749 2007-02-02  Simon Josefsson  <simon@josefsson.org>
56750
56751         * m4/socklen.m4: Fix typo.
56752
56753 2007-02-02  Eric Blake  <ebb9@byu.net>
56754
56755         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
56756         * modules/netinet_in (Makefile.am): Likewise.
56757
56758 2007-02-01  Bruno Haible  <bruno@clisp.org>
56759
56760         * lib/string_.h (GL_LINK_WARNING): New macro.
56761         (strcasecmp, strstr, strcasestr): If provided by the system,
56762         conditionally define as a macro that leads to a warning instead of to
56763         an error.
56764         (strncasecmp): Conditionally define as a macro that leads to a warning.
56765
56766 2007-02-01  Karl Berry  <karl@gnu.org>
56767
56768         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
56769
56770 2007-02-01  Bruno Haible  <bruno@clisp.org>
56771
56772         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
56773         renamings.
56774
56775 2007-02-01  Eric Blake  <ebb9@byu.net>
56776
56777         * modules/regex (Depends-on): Revert dependence on mempcpy.
56778         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
56779         module's definition of mempcpy.
56780         Reported by Paul Eggert.
56781
56782 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56783
56784         * lib/string_.h: If the gnulib module XYZ is not present, undefine
56785         the symbol XYZ before redefining it.  This fixes a problem with
56786         programs that don't use XYZ, when compiled on systems that define
56787         XYZ to something else.
56788
56789 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
56790
56791         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
56792         occurs when "mkdir -m foo" creates a setgid directory that is (1)
56793         writeable to group or other and (2) is intended to have a special
56794         mode bit that is set or cleared.  In such a case, the directory
56795         should be neither group- nor other-writeable until the special
56796         mode bits are right.
56797
56798 2007-01-31  Eric Blake  <ebb9@byu.net>
56799
56800         * modules/mountlist (Depends-on): Add strstr.
56801
56802         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
56803         bug.
56804         * modules/string (Makefile.am): Remove redundant replacement.
56805         * modules/regex (Depends-on): Add mempcpy.
56806
56807 2007-01-31  Bruno Haible  <bruno@clisp.org>
56808
56809         New module description field 'Link'.
56810         * gnulib-tool (func_usage): Document --extract-link-directive.
56811         (sed_extract_prog): Recognize 'Link' directive.
56812         (func_get_link_directive): New function.
56813         (func_import): Show summary of link directives.
56814         Handle --extract-link-directive option.
56815         * modules/acl (Link): New section.
56816         * modules/clock-time (Link): New section.
56817         * modules/euidaccess (Link): New section.
56818         * modules/gettext (Link): New section.
56819         * modules/iconv (Link): New section.
56820         * modules/lock (Link): New section.
56821         * modules/nanosleep (Link): New section.
56822         * modules/readline (Link): New section.
56823
56824 2007-01-27  Bruno Haible  <bruno@clisp.org>
56825
56826         Enforce the use of gnulib modules for unportable <string.h> functions.
56827         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
56828         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
56829         (gl_HEADER_STRING_H_BODY): Require it.
56830         * lib/string_.h: If the gnulib module XYZ is not present, redefine
56831         the symbol XYZ to one that gives a link error.
56832         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
56833         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
56834         * modules/mempcpy (configure.ac): Likewise.
56835         * modules/memrchr (configure.ac): Likewise.
56836         * modules/stpcpy (configure.ac): Likewise.
56837         * modules/stpncpy (configure.ac): Likewise.
56838         * modules/strcase (configure.ac): Likewise.
56839         * modules/strcasestr (configure.ac): Likewise.
56840         * modules/strchrnul (configure.ac): Likewise.
56841         * modules/strdup (configure.ac): Likewise.
56842         * modules/strndup (configure.ac): Likewise.
56843         * modules/strnlen (configure.ac): Likewise.
56844         * modules/strpbrk (configure.ac): Likewise.
56845         * modules/strsep (configure.ac): Likewise.
56846         * modules/strstr (configure.ac): Likewise.
56847         * modules/strtok_r (configure.ac): Likewise.
56848
56849 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
56850
56851         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
56852
56853 2007-01-30  Jim Meyering  <jim@meyering.net>
56854
56855         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
56856
56857 2007-01-29  Bruno Haible  <bruno@clisp.org>
56858
56859         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
56860         * lib/execute.c: Likewise.
56861         * lib/pipe.c: Likewise.
56862         * lib/printf-args.h: Likewise.
56863         * lib/printf-args.c: Likewise.
56864         * lib/printf-parse.c: Likewise.
56865         * lib/vasnprintf.c: Likewise.
56866
56867 2007-01-29  Eric Blake  <ebb9@byu.net>
56868
56869         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
56870         declaration.
56871
56872 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
56873
56874         * lib/strptime.h (strptime): Use 'restrict' for args where
56875         POSIX requires this.
56876         * lib/strptime.c (strptime): Likewise.
56877         Change license notice from LGPL to GPL, since gnulib-tool will
56878         change this as needed.
56879         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
56880         defined.
56881         Include "strptime.h" first, to check interface.
56882         Do not #undef _LIBC and _NL_CURRENT.
56883         Do not include <stdlib.h>; no longer needed.
56884         Include "time_r.h" and declare ptime_locale_status
56885         only if _LIBC is not defined.
56886         (__P): Remove unused macro.
56887         (match_string): Bring back glibc version, but use it only if _LIBC
56888         is defined.
56889         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
56890         Remove unnecessary assertion and abort() call.
56891         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
56892         * m4/strptime.m4: Fix serial number comment.
56893         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
56894         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
56895         (Depends-on): Add time_r.
56896
56897 2007-01-29  Bruno Haible  <bruno@clisp.org>
56898
56899         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56900         strptime.
56901         * modules/strptime (Depends-on): Add stdbool.
56902         * lib/strptime.h: Include <time.h> always. Add comments.
56903
56904 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56905
56906         * modules/strptime: New file.
56907         * lib/strptime.h: New file.
56908         * lib/strptime.c: New file.
56909         * m4/strptime.m4: New file.
56910
56911 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56912
56913         * MODULES.html.sh: New module mpsort.
56914         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
56915
56916         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
56917         a circularity problem with HP-UX ia64 reported by Bob Proulx in
56918         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
56919         All uses changed.
56920         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
56921         All uses changed.
56922         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
56923         to _Restrict_.
56924         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
56925         the parameter matches the prototype.
56926
56927 2007-01-28  Jim Meyering  <jim@meyering.net>
56928
56929         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
56930         sys/time.h here, reverting that part of the previous patch:
56931         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
56932
56933 2007-01-28  Bruno Haible  <bruno@clisp.org>
56934
56935         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
56936         value of $(SYS_TIME_H).
56937         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
56938         remove it conditionally, too. [added by Jim Meyering]
56939         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
56940         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
56941         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
56942         GETTIMEOFDAY_REPLACEMENT to 1.
56943
56944 2007-01-28  Bruno Haible  <bruno@clisp.org>
56945
56946         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
56947         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
56948         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
56949         Set UNISTD_H instead of UNISTD_H2.
56950         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
56951
56952 2007-01-28  Bruno Haible  <bruno@clisp.org>
56953
56954         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
56955         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
56956
56957 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56958
56959         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
56960         (func_create_testdir): Ensure C locale for `grep' and `tr'
56961         character ranges.
56962         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
56963         ACLOCAL_AMFLAGS parsing state machine.
56964
56965 2007-01-27  Bruno Haible  <bruno@clisp.org>
56966
56967         * modules/unistr/base: Update.
56968
56969 2007-01-27  Bruno Haible  <bruno@clisp.org>
56970
56971         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
56972         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
56973         * modules/unistr/u32-mbtouc-unsafe: Renamed from
56974         modules/unistr/u32-mbtouc.
56975         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
56976         * lib/unistr.h: Update.
56977         * lib/linebreak.c: Update.
56978         * modules/unistr/u32-mbtouc: Renamed from
56979         modules/unistr/u32-mbtouc-safe.
56980         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
56981         * lib/unistr.h: Update.
56982         * lib/unistr/u32-to-u8.c: Update.
56983         * lib/unistr/u32-to-u16.c: Update.
56984
56985 2007-01-27  Bruno Haible  <bruno@clisp.org>
56986
56987         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
56988         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
56989         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
56990         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
56991         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
56992         * modules/unistr/u16-mbtouc-unsafe: Renamed from
56993         modules/unistr/u16-mbtouc.
56994         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
56995         * lib/unistr.h: Update.
56996         * lib/linebreak.c: Update.
56997         * modules/linebreak: Update.
56998         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
56999         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
57000         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
57001         * modules/unistr/u16-mbtouc: Renamed from
57002         modules/unistr/u16-mbtouc-safe.
57003         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
57004         * lib/unistr.h: Update.
57005         * lib/unistr/u16-to-u8.c: Update.
57006         * modules/unistr/u16-to-u8: Update.
57007         * lib/unistr/u16-to-u32.c: Update.
57008         * modules/unistr/u16-to-u32: Update.
57009
57010 2007-01-27  Bruno Haible  <bruno@clisp.org>
57011
57012         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
57013         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
57014         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
57015         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
57016         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
57017         * modules/unistr/u8-mbtouc-unsafe: Renamed from
57018         modules/unistr/u8-mbtouc.
57019         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
57020         * lib/unistr.h: Update.
57021         * lib/striconveh.c: Update.
57022         * modules/striconveh: Update.
57023         * lib/linebreak.c: Update.
57024         * modules/linebreak: Update.
57025         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
57026         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
57027         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
57028         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
57029         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
57030         * lib/unistr.h: Update.
57031         * lib/striconveh.c: Update.
57032         * modules/striconveh: Update.
57033         * lib/unistr/u8-to-u16.c: Update.
57034         * modules/unistr/u8-to-u16: Update.
57035         * lib/unistr/u8-to-u32.c: Update.
57036         * modules/unistr/u8-to-u32: Update.
57037
57038 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57039
57040         Sync from Libtool.
57041         * lib/argz.c: Do not include strings.h nor memory.h, include
57042         string.h unconditionally.  Patch by Simon Josefsson.
57043
57044 2007-01-27  Bruno Haible  <bruno@clisp.org>
57045
57046         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
57047         from gl_HEADER_STRING_H_BODY.
57048         (gl_HEADER_STRING_H_BODY): Require it.
57049         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
57050         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
57051         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
57052         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
57053         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
57054         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
57055         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57056         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
57057         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
57058         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57059         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
57060         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
57061         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
57062         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57063         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57064
57065 2007-01-27  Bruno Haible  <bruno@clisp.org>
57066
57067         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
57068         check_PROGRAMS into noinst_PROGRAMS.
57069         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
57070         check_PROGRAMS in this case.
57071         (func_import): Set for_test to false.
57072         (func_create_testdir): Set for_test to true.
57073
57074 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
57075             Bruno Haible  <bruno@clisp.org>
57076
57077         * modules/strcasestr (Files): Remove lib/strcasestr.h.
57078         (Depends-on): Add string.
57079         (Includes): Use <string.h> instead of strcasestr.h.
57080         * modules/string (Makefile.am): Also substitute the value of
57081         REPLACE_STRCASESTR.
57082         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
57083         assume strcasestr is declared in <string.h> not <strings.h>. Also
57084         set REPLACE_STRCASESTR.
57085         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
57086         REPLACE_STRCASESTR.
57087         * lib/strcasestr.h: Remove file.
57088         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
57089         * lib/string_.h (strcasestr): New declaration.
57090
57091 2007-01-27  Bruno Haible  <bruno@clisp.org>
57092
57093         * lib/string_.h: Use 'extern'.
57094
57095 2007-01-27  Jim Meyering  <jim@meyering.net>
57096
57097         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
57098         of set-but-not-used local, "q".
57099
57100         * lib/mempcpy.c: Include <config.h> before <string.h>.
57101         This fixes a compilation error on HP-UX, due to the system's
57102         "restrict"-using mempcpy prototype.
57103
57104 2007-01-26  Bruno Haible  <bruno@clisp.org>
57105
57106         Small optimization.
57107         * lib/javacomp.c: Include c-strstr.h.
57108          (is_envjavac_gcj): Use c_strstr instead of strstr.
57109         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
57110
57111 2007-01-26  Bruno Haible  <bruno@clisp.org>
57112
57113         * MODULES.html.sh (Unicode string functions): Add the new modules.
57114
57115         * modules/uniconv/u32-strconv-to-locale: New file.
57116         * lib/uniconv/u32-strconv-to-locale.c: New file.
57117
57118         * modules/uniconv/u16-strconv-to-locale: New file.
57119         * lib/uniconv/u16-strconv-to-locale.c: New file.
57120
57121         * modules/uniconv/u8-strconv-to-locale: New file.
57122         * lib/uniconv/u8-strconv-to-locale.c: New file.
57123
57124         * modules/uniconv/u32-strconv-from-locale: New file.
57125         * lib/uniconv/u32-strconv-from-locale.c: New file.
57126
57127         * modules/uniconv/u16-strconv-from-locale: New file.
57128         * lib/uniconv/u16-strconv-from-locale.c: New file.
57129
57130         * modules/uniconv/u8-strconv-from-locale: New file.
57131         * lib/uniconv/u8-strconv-from-locale.c: New file.
57132
57133         * modules/uniconv/u32-strconv-to-enc: New file.
57134         * lib/uniconv/u32-strconv-to-enc.c: New file.
57135         * modules/uniconv/u32-strconv-to-enc-tests: New file.
57136         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
57137
57138         * modules/uniconv/u16-strconv-to-enc: New file.
57139         * lib/uniconv/u16-strconv-to-enc.c: New file.
57140         * lib/uniconv/u-strconv-to-enc.h: New file.
57141         * modules/uniconv/u16-strconv-to-enc-tests: New file.
57142         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
57143
57144         * modules/uniconv/u8-strconv-to-enc: New file.
57145         * lib/uniconv/u8-strconv-to-enc.c: New file.
57146         * modules/uniconv/u8-strconv-to-enc-tests: New file.
57147         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
57148
57149         * modules/uniconv/u32-strconv-from-enc: New file.
57150         * lib/uniconv/u32-strconv-from-enc.c: New file.
57151         * modules/uniconv/u32-strconv-from-enc-tests: New file.
57152         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
57153
57154         * modules/uniconv/u16-strconv-from-enc: New file.
57155         * lib/uniconv/u16-strconv-from-enc.c: New file.
57156         * modules/uniconv/u16-strconv-from-enc-tests: New file.
57157         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
57158
57159         * modules/uniconv/u8-strconv-from-enc: New file.
57160         * lib/uniconv/u8-strconv-from-enc.c: New file.
57161         * lib/uniconv/u-strconv-from-enc.h: New file.
57162         * modules/uniconv/u8-strconv-from-enc-tests: New file.
57163         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
57164
57165         * modules/uniconv/u32-conv-from-enc: New file.
57166         * lib/uniconv/u32-conv-from-enc.c: New file.
57167         * modules/uniconv/u32-conv-from-enc-tests: New file.
57168         * tests/uniconv/test-u32-conv-from-enc.c: New file.
57169
57170         * modules/uniconv/u16-conv-from-enc: New file.
57171         * lib/uniconv/u16-conv-from-enc.c: New file.
57172         * lib/uniconv/u-conv-from-enc.h: New file.
57173         * modules/uniconv/u16-conv-from-enc-tests: New file.
57174         * tests/uniconv/test-u16-conv-from-enc.c: New file.
57175
57176         * modules/uniconv/u8-conv-from-enc: New file.
57177         * lib/uniconv/u8-conv-from-enc.c: New file.
57178         * modules/uniconv/u8-conv-from-enc-tests: New file.
57179         * tests/uniconv/test-u8-conv-from-enc.c: New file.
57180
57181         * modules/uniconv/base: New file.
57182         * lib/uniconv.h: New file.
57183
57184 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
57185
57186         * doc/gnulib-tool.texi (Initial import): Update to match current
57187         behavior with strdup module.
57188         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
57189         * lib/memmem.h: Remove; all uses removed.  This is now done
57190         by <string.h>.
57191         * lib/mempcpy.h: Likewise.
57192         * lib/memrchr.h: Likewise.
57193         * lib/stpcpy.h: Likewise.
57194         * lib/stpncpy.h: Likewise.
57195         * lib/strcase.h: Likewise.
57196         * lib/strchrnul.h: Likewise.
57197         * lib/strdup.h: Likewise.
57198         * lib/strndup.h: Likewise.
57199         * lib/strnlen.h: Likewise.
57200         * lib/strpbrk.h: Likewise.
57201         * lib/strsep.h: Likewise.
57202         * lib/strstr.h: Likewise.
57203         * lib/strtok_r.h: Likewise.
57204         * lib/string_.h: New file.
57205         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
57206         Rely on <string.h> instead.
57207         * lib/canon-host.c: Likewise.
57208         * lib/chdir-long.c: Likewise.
57209         * lib/concatpath.c: Likewise.
57210         * lib/exclude.c: Likewise.
57211         * lib/fchdir.c: Likewise.
57212         * lib/getaddrinfo.c: Likewise.
57213         * lib/getcwd.c: Likewise.
57214         * lib/getsubopt.c: Likewise.
57215         * lib/glob.c: Likewise.
57216         * lib/hard-locale.c: Likewise.
57217         * lib/iconvme.c: Likewise.
57218         * lib/javacomp.c: Likewise.
57219         * lib/mempcpy.c: Likewise.
57220         * lib/memrchr.c: Likewise.
57221         * lib/regex_internal.h: Likewise.
57222         * lib/stpncpy.c: Likewise.
57223         * lib/strcasecmp.c: Likewise.
57224         * lib/strchrnul.c: Likewise.
57225         * lib/strdup.c: Likewise.
57226         * lib/striconv.c: Likewise.
57227         * lib/striconveh.c: Likewise.
57228         * lib/striconveha.c: Likewise.
57229         * lib/strncasecmp.c: Likewise.
57230         * lib/strndup.c: Likewise.
57231         * lib/strnlen.c: Likewise.
57232         * lib/strsep.c: Likewise.
57233         * lib/strstr.c: Likewise.
57234         * lib/strtok_r.c: Likewise.
57235         * lib/userspec.c: Likewise.
57236         * lib/w32spawn.h: Likewise.
57237         * lib/xstrndup.c: Likewise.
57238         * lib/mountlist.c (strstr): Remove decl.
57239         * m4/string_h.m4: New file.
57240         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
57241         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
57242         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
57243         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
57244         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
57245         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
57246         Set REPLACE_STRCASECMP if necessary.
57247         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
57248         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
57249         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
57250         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
57251         HAVE_DECL_STRDUP if necessary.
57252         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
57253         since gl_FUNC_STRNDUP does that now.
57254         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
57255         Check for decl here...
57256         (gl_PREREQ_STRNLEN): ... not here.
57257         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
57258         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
57259         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
57260         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
57261         necessary.
57262         * modules/string: New file.
57263         * modules/memmem (Files): Remove special-purpose include file.
57264         (Depends-on): Add string.
57265         (Include): Include <string.h>, not the removed file.
57266         * modules/mempcpy: Likewise.
57267         * modules/memrchr: Likewise.
57268         * modules/stpcpy: Likewise.
57269         * modules/stpncpy: Likewise.
57270         * modules/strcase: Likewise.
57271         * modules/strchrnul: Likewise.
57272         * modules/strdup: Likewise.
57273         * modules/strndup: Likewise.
57274         * modules/strnlen: Likewise.
57275         * modules/strpbrk: Likewise.
57276         * modules/strsep: Likewise.
57277         * modules/strstr: Likewise.
57278         * modules/strtok_r: Likewise.
57279         * tests/test-dirname.c: Don't include "strdup.h", since
57280         <string.h> now suffices.
57281         * tests/test-memmem.c: Don't include "memmem.h", since
57282         <string.h> now suffices.
57283
57284 2007-01-25  Bruno Haible  <bruno@clisp.org>
57285
57286         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
57287         *resultp is 0.
57288
57289         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
57290         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
57291         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
57292         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
57293
57294         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
57295         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
57296         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
57297         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
57298         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
57299         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
57300
57301 2007-01-24  Bruno Haible  <bruno@clisp.org>
57302
57303         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
57304         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
57305         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
57306         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
57307         gl_FUNC_FTS_CORE.
57308         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
57309         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
57310         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
57311         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
57312         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
57313         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
57314         gl_FUNC_FCHOWNAT.
57315         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
57316         gl_FUNC_STRFTIME.
57317         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
57318         Reported by Ralf Wildenhues.
57319
57320 2007-01-24  Bruno Haible  <bruno@clisp.org>
57321
57322         Drop AC_REQUIRE calls that are redundant with the module dependencies.
57323         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
57324         gl_GETADDRINFO.
57325         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
57326         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
57327         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
57328
57329 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
57330
57331         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
57332         Don't use 'exit'; just return from 'main'.
57333         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
57334
57335         * lib/fnmatch_.h: Readjust white space and comments to match
57336         glibc, to avoid spurious diffs.
57337
57338 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57339
57340         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
57341         2004-12-01 change by Jakub Jelinek, since this code won't compile
57342         if !LIBC.  Problem reported by Bob Proulx.
57343
57344 2007-01-23  Bruno Haible  <bruno@clisp.org>
57345
57346         * lib/striconveh.c: Include c-strcaseeq.h.
57347         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
57348         * modules/striconveh (Depends-on): Add c-strcaseeq.
57349
57350 2007-01-23  Bruno Haible  <bruno@clisp.org>
57351
57352         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
57353
57354         * modules/c-strcaseeq: New file.
57355         * lib/c-strcaseeq.h: New file.
57356
57357         * modules/streq: New file.
57358         * lib/streq.h: New file.
57359
57360 2007-01-23  Bruno Haible  <bruno@clisp.org>
57361
57362         * modules/striconveha-tests: New file.
57363         * tests/test-striconveha.c: New file.
57364
57365         * lib/striconveha.h: Include <stdbool.h>.
57366         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
57367         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
57368         (mem_iconveha_notranslit): Renamed from mem_iconveha.
57369         (mem_iconveha): New function.
57370         (str_iconveha_notranslit): Renamed from str_iconveha.
57371         (str_iconveha): New function.
57372         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
57373         c-strcase.
57374
57375 2007-01-23  Bruno Haible  <bruno@clisp.org>
57376
57377         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
57378         encodings without forgiving before trying any encoding with handler.
57379         (str_iconveha): Try all encodings without forgiving before trying any
57380         encoding with handler.
57381
57382 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57383
57384         Import the following changes from libc.
57385
57386         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
57387
57388         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
57389
57390         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
57391
57392         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
57393         normal_bracket label.
57394
57395         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
57396
57397         [BZ #361]
57398         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
57399         to normal_bracket after fetching the next character.
57400
57401 2007-01-22  Bruno Haible  <bruno@clisp.org>
57402
57403         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
57404         argument.
57405         * lib/striconveh.c (iconv_carefully_1): New function.
57406         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
57407         argument.
57408         (str_cd_iconveh): Update.
57409         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
57410         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
57411         * tests/test-striconveh.c (MAGIC): New macro.
57412         (new_offsets): New function.
57413         (main): Test call with and without offsets.
57414
57415 2007-01-22  Bruno Haible  <bruno@clisp.org>
57416
57417         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
57418         * modules/sys_select (Makefile.am): Likewise.
57419         * modules/sys_socket (Makefile.am): Likewise.
57420         * modules/sys_time (Makefile.am): Likewise.
57421
57422 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
57423
57424         * modules/gettimeofday (License): Change from GPL to LGPL, since
57425         gettimeofday is a library function.
57426
57427 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57428
57429         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
57430
57431 2007-01-21  Bruno Haible  <bruno@clisp.org>
57432
57433         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
57434
57435 2007-01-21  Bruno Haible  <bruno@clisp.org>
57436
57437         * modules/striconveha: New file.
57438         * lib/striconveha.h: New file.
57439         * lib/striconveha.c: New file.
57440         * MODULES.html.sh (Internationalization functions): Add striconveha.
57441         * lib/striconv.c (str_iconv): Optimize the case of an empty input
57442         string.
57443         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
57444
57445 2007-01-21  Bruno Haible  <bruno@clisp.org>
57446
57447         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
57448         * lib/striconveh.c (str_iconveh): Likewise.
57449
57450 2007-01-21  Bruno Haible  <bruno@clisp.org>
57451
57452         * lib/striconveh.h (mem_iconveh): New declaration.
57453         * lib/striconveh.c (mem_iconveh): New function.
57454         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
57455
57456 2007-01-21  Bruno Haible  <bruno@clisp.org>
57457
57458         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
57459
57460         * lib/striconveh.h (mem_cd_iconveh): Change specification.
57461         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
57462         original result buffer.
57463         (str_cd_iconveh): Update.
57464         * tests/test-striconveh.c (main): Update.
57465
57466         * lib/striconv.h (mem_cd_iconv): Change specification.
57467         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
57468         result buffer.
57469         (str_cd_iconv): Update.
57470         * tests/test-striconv.c (main): Update.
57471
57472 2007-01-21  Bruno Haible  <bruno@clisp.org>
57473
57474         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
57475
57476 2007-01-20  Jim Meyering  <jim@meyering.net>
57477
57478         * lib/userspec.c (parse_with_separator): If a user or group string
57479         starts with "+", skip the corresponding name-to-ID look-up, since
57480         such a look-up must fail: user and group names may not include "+".
57481
57482 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
57483
57484         * lib/poll.c: Include sys/time.h and time.h unconditionally,
57485         since we now assume the sys_time module.
57486         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
57487         check for sys/time.h; no longer needed.
57488         * modules/poll (Depends-on): Depend on sys_time.
57489
57490 2007-01-18  Bruno Haible  <bruno@clisp.org>
57491
57492         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
57493         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
57494
57495         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
57496         gettimeofday.
57497
57498         * tests/test-gettimeofday.c: Include <time.h>.
57499         (dummy): Remove variable.
57500
57501         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
57502         gl_HEADER_SYS_TIME_H.
57503         (gl_HEADER_SYS_TIME_H): New macro.
57504
57505         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
57506         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57507         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
57508         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
57509         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57510         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
57511         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
57512         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57513         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
57514         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
57515         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57516
57517         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
57518         last change; it caused a compilation error when cross-compiling to
57519         Cygwin.
57520
57521 2007-01-18  Jim Meyering  <jim@meyering.net>
57522
57523         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
57524         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
57525         than the race-prone "test -d sys || mkdir sys".
57526         (configure.ac): Use AC_PROG_MKDIR_P.
57527         * modules/sys_select: Likewise.
57528         * modules/sys_socket: Likewise.
57529         * modules/sys_time: Likewise.
57530
57531 2007-01-18  Eric Blake  <ebb9@byu.net>
57532
57533         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
57534         replace gettimeofday.
57535         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
57536         name, to avoid infinite recursion.
57537
57538 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
57539
57540         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
57541         module sys_time.
57542         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
57543         assume timespec.h defines struct timeval.
57544         * lib/settime.c: Likewise.
57545         * lib/utimens.c: Likewise.
57546         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
57547         since we now assume the gettimeofday module.
57548         * lib/tempname.c (__gen_tempname): Likewise.
57549         * lib/gettimeofday.h: Remove.
57550         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
57551         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
57552         Include <time.h>, for 'time()'.
57553         (localtime_buffer_addr): Also use this workaround if
57554         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
57555         to simplify the uses.  All uses changed.
57556         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
57557         that #undef is inside {}, and 'const' follows type name consistently.
57558         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
57559         (gettimeofday): Do not use the maximum possible value for
57560         tv->tv_usec, since that might break usages other than ls.c.
57561         Instead, we'll leave ls.c alone.  This undoes today's patch
57562         by Bruno.  Add a compile-time warning for 1s-clock resolution;
57563         we've never observed the problem but might as well keep the
57564         canary.
57565         * lib/nanosleep.c: Include timespec.h first, for interface check.
57566         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
57567         now assume the sys_time module.
57568         * lib/tempname.c: Likewise.
57569         * lib/timespec.h: Likewise.
57570         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
57571         needed.
57572         * lib/strftime.c: Likewise.
57573         * lib/timespec.h: Likewise.
57574         * lib/posixtm.c: Include posixtm.h first, for interface check.
57575         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
57576         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
57577         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
57578         * lib/sys_time_.h: New file.
57579         * lib/timespec.h (struct timespec): Use long int, not long.
57580         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
57581         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
57582         Remove obsolescent call to AC_HEADER_TIME.
57583         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
57584         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57585         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
57586         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
57587         Likewise.
57588         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
57589         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
57590         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
57591         into the sys_time module.  Check for gettimeofday just once.
57592         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
57593         for gettimeofday signature to just check the signature.  Merely
57594         compile it, since linking doesn't test signature.  Improve test for
57595         whether gettimeofday.o is actually needed.
57596         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
57597         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
57598         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
57599         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57600         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
57601         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
57602         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
57603         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
57604         than worrying about sys/time.h.
57605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57606         Don't bother worrying about TIME_WITH_SYS_TIME.
57607         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
57608         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
57609         * m4/sys_time_h.m4: New file.
57610         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
57611         Don't include sys/time.h.  Return from main rather than exiting.
57612         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
57613         all uses changed.
57614         * modules/gethrxtime (Depends-on): Add sys_time.
57615         * modules/gettime (Depends-on): Likewise.
57616         * modules/gettimeofday (Depends-on): Likewise.
57617         * modules/nanosleep (Depends-on): Likewise.
57618         * modules/settime (Depends-on): Likewise.
57619         * modules/tempname (Depends-on): Likewise.
57620         * modules/utimens (Depends-on): Likewise.
57621         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
57622         (Include): Change back to <sys/time.h>.
57623         (Maintainer): Add self.
57624         * modules/sys_time: New file.
57625         * modules/tempname (Depends-on): Add gettimeofday.
57626         * tests/test-gettimeofday.c: Include <sys/time.h>
57627         rather than gettimeofday.h.
57628
57629 2007-01-17  Bruno Haible  <bruno@clisp.org>
57630
57631         * gnulib-tool (func_get_license): Revert last patch. Instead, let
57632         the license default to GPL.
57633         (func_create_testdir): Don't complain if a module is LGPL and its
57634         tests module depends on GPLed modules.
57635
57636 2007-01-17  Bruno Haible  <bruno@clisp.org>
57637
57638         * lib/gettimeofday.c (gettimeofday): Add code for the case
57639         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
57640         maximum possible value for tv->tv_usec, rather than the minimum one.
57641
57642 2005-10-08  Martin Lambers  <marlam@marlam.de>
57643 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57644 2007-01-16  Bruno Haible  <bruno@clisp.org>
57645
57646         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
57647         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
57648         gl_FUNC_GETTIMEOFDAY.
57649         (Include): Add gettimeofday.h.
57650         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
57651         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
57652         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
57653         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
57654         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
57655         * lib/gettimeofday.h: New file.
57656         * lib/gettimeofday.c: Include <sys/timeb.h>.
57657         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
57658         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57659         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
57660         fall back on time().
57661
57662         * tests/test-gettimeofday.c: New file.
57663         * modules/gettimeofday-tests: New file.
57664
57665 2007-01-16  Eric Blake  <ebb9@byu.net>
57666
57667         * modules/fnmatch (Depends-on): Depend on wchar.
57668         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
57669         * m4/fnmatch.m4: Likewise.
57670         * modules/mbchar (Makefile.am): Assume <wchar.h>.
57671         * m4/mbchar.m4: Likewise.
57672         * modules/mbswidth (Depends-on): Depend on wchar.
57673         * lib/mbswidth.c: Assume <wchar.h>.
57674         * m4/mbswidth.m4: Likewise.
57675         * modules/quotearg (Depends-on): Depend on wchar.
57676         * lib/quotearg.c: Assume <wchar.h>.
57677         * m4/quotearg.m4: Likewise.
57678         * modules/regex (Depends-on): Depend on wchar.
57679         * lib/regex_internal.h: Assume <wchar.h>.
57680         * m4/regex.m4: Likewise.
57681         * modules/stdint (Depends-on): Depend on wchar.
57682         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
57683         * m4/stdint.m4: Likewise.
57684         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
57685         * modules/strftime (Depends-on): Depend on wchar.
57686         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
57687         * modules/strtol (Depends-on): Depend on wchar.
57688         * lib/strtol.c: Assume <wchar.h>.
57689         * modules/wcwidth (Depends-on): Depend on wchar.
57690         * lib/wcwidth.h: Assume <wchar.h>.
57691         * m4/wcwidth.m4: Likewise.
57692
57693 2007-01-16  Bruno Haible  <bruno@clisp.org>
57694
57695         * modules/csharpexec-script: New, created from...
57696         * modules/csharpexec: ... this.
57697
57698 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
57699
57700         * modules/javaexec-script: New, created from...
57701         * modules/javaexec: ... this.
57702
57703 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57704
57705         * modules/poll (Dependencies): Add sys_select.
57706
57707 2007-01-15  Jim Meyering  <jim@meyering.net>
57708
57709         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
57710         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
57711         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
57712         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
57713
57714 2007-01-15  Bruno Haible  <bruno@clisp.org>
57715
57716         * modules/striconveh: New file.
57717         * lib/striconveh.h: New file.
57718         * lib/striconveh.c: New file.
57719         * MODULES.html.sh (Internationalization functions): Add striconveh.
57720
57721         * modules/striconveh-tests: New file.
57722         * tests/test-striconveh.c: New file.
57723
57724 2007-01-15  Bruno Haible  <bruno@clisp.org>
57725
57726         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
57727         not from GNU libiconv or GNU libc.
57728
57729 2007-01-15  Bruno Haible  <bruno@clisp.org>
57730
57731         * doc/gnulib-intro.texi (Copyright): Explain the different license
57732         terms for module descriptions, autoconf macros, tests, documentation.
57733
57734 2007-01-14  Bruno Haible  <bruno@clisp.org>
57735
57736         * modules/striconv-tests: New file.
57737         * tests/test-striconv.c: New file.
57738
57739 2007-01-14  Bruno Haible  <bruno@clisp.org>
57740
57741         * modules/iconv-tests: New file.
57742         * tests/test-iconv.c: New file.
57743
57744 2007-01-14  Bruno Haible  <bruno@clisp.org>
57745
57746         * gnulib-tool (func_get_license): For test modules, use the license of
57747         the main module.
57748
57749 2007-01-14  Bruno Haible  <bruno@clisp.org>
57750
57751         * modules/iconv (Include): Clarify that <iconv.h> can only be included
57752         if iconv is found to exist.
57753
57754 2007-01-14  Bruno Haible  <bruno@clisp.org>
57755
57756         * modules/c-ctype-tests: New file.
57757         * tests/test-c-ctype.c: New file.
57758
57759 2007-01-14  Bruno Haible  <bruno@clisp.org>
57760
57761         * modules/binary-io-tests: New file.
57762         * tests/test-binary-io.sh: New file.
57763         * tests/test-binary-io.c: New file.
57764
57765 2007-01-14  Bruno Haible  <bruno@clisp.org>
57766
57767         * modules/array-oset-tests: New file.
57768         * tests/test-array_oset.c: New file.
57769
57770 2007-01-14  Bruno Haible  <bruno@clisp.org>
57771
57772         * modules/array-list-tests: New file.
57773         * tests/test-array_list.c: New file.
57774
57775 2007-01-14  Bruno Haible  <bruno@clisp.org>
57776
57777         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
57778         and make.
57779         Reported by Simon Josefsson in
57780         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
57781
57782 2007-01-14  Bruno Haible  <bruno@clisp.org>
57783
57784         * modules/allocsa-tests: New file.
57785         * tests/test-allocsa.c: New file.
57786
57787 2007-01-14  Bruno Haible  <bruno@clisp.org>
57788
57789         * modules/fchdir (Depends-on): Add absolute-header.
57790         * modules/unistd (Depends-on): Likewise.
57791
57792 2006-12-30  Bruno Haible  <bruno@clisp.org>
57793
57794         * modules/fchdir: New file.
57795         * modules/unistd (Files): Add lib/unistd_.h.
57796         (Makefile.am): Generate unistd.h from unistd_.h.
57797         * lib/fchdir.c: New file.
57798         * lib/dirent_.h: New file.
57799         * lib/unistd_.h: New file.
57800         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
57801         * m4/fchdir.m4: New file.
57802         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
57803         (gl_HEADER_UNISTD): Invoke it.
57804         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
57805         function.
57806         * lib/backupfile.c (opendir, closedir): Undefine.
57807         * lib/chown.c (open, close): Undefine.
57808         * lib/clean-temp.c (open, close): Undefine.
57809         * lib/copy-file.c (open, close): Undefine.
57810         * lib/execute.c (open, close): Undefine.
57811         * lib/fsusage.c (open, close): Undefine.
57812         * lib/gc-gnulib.c (open, close): Undefine.
57813         * lib/getcwd.c (opendir, closedir): Undefine.
57814         * lib/glob.c (opendir, closedir): Undefine.
57815         * lib/javacomp.c (open, close): Undefine.
57816         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
57817         * lib/openat-proc.c (open, close): Undefine.
57818         * lib/pagealign_alloc.c (open, close): Undefine.
57819         * lib/pipe.c (open, close): Undefine.
57820         * lib/progreloc.c (open, close): Undefine.
57821         * lib/savedir.c (opendir, closedir): Undefine.
57822         * lib/utime.c (open, close): Undefine.
57823         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
57824
57825 2007-01-10  Bruno Haible  <bruno@clisp.org>
57826
57827         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
57828
57829 2007-01-12  Eric Blake  <ebb9@byu.net>
57830
57831         Provide a robust <wchar.h>.  Further simplifications are now
57832         possible in other modules, but not included here.
57833         * modules/wchar: New module.
57834         * m4/wchar.m4: New file.
57835         * lib/wchar_.h: Likewise.
57836         * modules/mbchar (Depends-on): Depend on wchar, as the first use
57837         of the new module.
57838         * MODULES.html.sh (Extended multibyte and wide character utilities):
57839         New section.
57840
57841 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
57842
57843         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
57844         to a reasonable default for memory allocation.
57845         (xreadlink): Don't allocate a huge buffer, to work around a buggy
57846         file system that reports garbage st_size values for symlinks.
57847         Problem reported by Liyang Hu.
57848
57849 2007-01-11  Simon Josefsson  <simon@josefsson.org>
57850
57851         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
57852         Emacs .#* auto-save files).
57853
57854 2007-01-11  Bruno Haible  <bruno@clisp.org>
57855
57856         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
57857         directory.
57858
57859 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
57860
57861         Use @...@ consistently in lib/wctype_.h.
57862         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
57863         on it being set to 1 or 0.
57864         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
57865         go back to AC_SUBSTing it.
57866         * modules/wctype (Makefile.am): Undo previous change.
57867
57868 2007-01-10  Eric Blake  <ebb9@byu.net>
57869
57870         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
57871         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
57872         * modules/wctype (Makefile.am): Likewise.
57873         Reported by Chris McGuire.
57874
57875 2007-01-10  Jim Meyering  <jim@meyering.net>
57876
57877         fts.c: a small readability/maintainability improvement
57878         * lib/fts.c (fts_read): Make this code slightly more readable and
57879         maintainable by hoisting the "sp->fts_cur = p" assignments to
57880         immediately follow the statements that set P.  Derived from
57881         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
57882
57883 2007-01-10  Eric Blake  <ebb9@byu.net>
57884
57885         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
57886         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
57887         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57888         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
57889         Reported by Chris McGuire.
57890
57891 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57892
57893         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
57894         in sed script.
57895
57896 2007-01-09  Bruno Haible  <bruno@clisp.org>
57897
57898         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
57899         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
57900         variables.
57901         (func_module): Use them.
57902
57903 2007-01-09  Bruno Haible  <bruno@clisp.org>
57904
57905         * modules/unistr/base: New file.
57906         * lib/unistr.h: New file.
57907
57908         * modules/unistr/u8-to-u16: New file.
57909         * lib/unistr/u8-to-u16.c: New file.
57910
57911         * modules/unistr/u8-to-u32: New file.
57912         * lib/unistr/u8-to-u32.c: New file.
57913
57914         * modules/unistr/u16-to-u8: New file.
57915         * lib/unistr/u16-to-u8.c: New file.
57916
57917         * modules/unistr/u16-to-u32: New file.
57918         * lib/unistr/u16-to-u32.c: New file.
57919
57920         * modules/unistr/u32-to-u8: New file.
57921         * lib/unistr/u32-to-u8.c: New file.
57922
57923         * modules/unistr/u32-to-u16: New file.
57924         * lib/unistr/u32-to-u16.c: New file.
57925
57926         * modules/unistr/u8-check: New file.
57927         * modules/unistr/u16-check: New file.
57928         * modules/unistr/u32-check: New file.
57929         * lib/unistr/u8-check.c: New file.
57930         * lib/unistr/u16-check.c: New file.
57931         * lib/unistr/u32-check.c: New file.
57932
57933         * modules/unistr/u8-chr: New file.
57934         * modules/unistr/u16-chr: New file.
57935         * modules/unistr/u32-chr: New file.
57936         * lib/unistr/u8-chr.c: New file.
57937         * lib/unistr/u16-chr.c: New file.
57938         * lib/unistr/u32-chr.c: New file.
57939
57940         * modules/unistr/u8-cmp: New file.
57941         * modules/unistr/u16-cmp: New file.
57942         * modules/unistr/u32-cmp: New file.
57943         * lib/unistr/u8-cmp.c: New file.
57944         * lib/unistr/u16-cmp.c: New file.
57945         * lib/unistr/u32-cmp.c: New file.
57946
57947         * modules/unistr/u8-cpy: New file.
57948         * modules/unistr/u16-cpy: New file.
57949         * modules/unistr/u32-cpy: New file.
57950         * lib/unistr/u8-cpy.c: New file.
57951         * lib/unistr/u16-cpy.c: New file.
57952         * lib/unistr/u32-cpy.c: New file.
57953         * lib/unistr/u-cpy.h: New file.
57954
57955         * modules/unistr/u8-cpy-alloc: New file.
57956         * modules/unistr/u16-cpy-alloc: New file.
57957         * modules/unistr/u32-cpy-alloc: New file.
57958         * lib/unistr/u8-cpy-alloc.c: New file.
57959         * lib/unistr/u16-cpy-alloc.c: New file.
57960         * lib/unistr/u32-cpy-alloc.c: New file.
57961         * lib/unistr/u-cpy-alloc.h: New file.
57962
57963         * modules/unistr/u8-endswith: New file.
57964         * modules/unistr/u16-endswith: New file.
57965         * modules/unistr/u32-endswith: New file.
57966         * lib/unistr/u8-endswith.c: New file.
57967         * lib/unistr/u16-endswith.c: New file.
57968         * lib/unistr/u32-endswith.c: New file.
57969         * lib/unistr/u-endswith.h: New file.
57970
57971         * modules/unistr/u8-mblen: New file.
57972         * modules/unistr/u16-mblen: New file.
57973         * modules/unistr/u32-mblen: New file.
57974         * lib/unistr/u8-mblen.c: New file.
57975         * lib/unistr/u16-mblen.c: New file.
57976         * lib/unistr/u32-mblen.c: New file.
57977
57978         * modules/unistr/u8-mbtouc: New file.
57979         * modules/unistr/u16-mbtouc: New file.
57980         * modules/unistr/u32-mbtouc: New file.
57981         * lib/unistr/u8-mbtouc.c: New file.
57982         * lib/unistr/u16-mbtouc.c: New file.
57983         * lib/unistr/u32-mbtouc.c: New file.
57984
57985         * modules/unistr/u8-mbtouc-safe: New file.
57986         * modules/unistr/u16-mbtouc-safe: New file.
57987         * modules/unistr/u32-mbtouc-safe: New file.
57988         * lib/unistr/u8-mbtouc-safe.c: New file.
57989         * lib/unistr/u16-mbtouc-safe.c: New file.
57990         * lib/unistr/u32-mbtouc-safe.c: New file.
57991
57992         * modules/unistr/u8-move: New file.
57993         * modules/unistr/u16-move: New file.
57994         * modules/unistr/u32-move: New file.
57995         * lib/unistr/u8-move.c: New file.
57996         * lib/unistr/u16-move.c: New file.
57997         * lib/unistr/u32-move.c: New file.
57998         * lib/unistr/u-move.h: New file.
57999
58000         * modules/unistr/u8-next: New file.
58001         * modules/unistr/u16-next: New file.
58002         * modules/unistr/u32-next: New file.
58003         * lib/unistr/u8-next.c: New file.
58004         * lib/unistr/u16-next.c: New file.
58005         * lib/unistr/u32-next.c: New file.
58006
58007         * modules/unistr/u8-prev: New file.
58008         * modules/unistr/u16-prev: New file.
58009         * modules/unistr/u32-prev: New file.
58010         * lib/unistr/u8-prev.c: New file.
58011         * lib/unistr/u16-prev.c: New file.
58012         * lib/unistr/u32-prev.c: New file.
58013
58014         * modules/unistr/u8-set: New file.
58015         * modules/unistr/u16-set: New file.
58016         * modules/unistr/u32-set: New file.
58017         * lib/unistr/u8-set.c: New file.
58018         * lib/unistr/u16-set.c: New file.
58019         * lib/unistr/u32-set.c: New file.
58020         * lib/unistr/u-set.h: New file.
58021
58022         * modules/unistr/u8-startswith: New file.
58023         * modules/unistr/u16-startswith: New file.
58024         * modules/unistr/u32-startswith: New file.
58025         * lib/unistr/u8-startswith.c: New file.
58026         * lib/unistr/u16-startswith.c: New file.
58027         * lib/unistr/u32-startswith.c: New file.
58028         * lib/unistr/u-startswith.h: New file.
58029
58030         * modules/unistr/u8-stpcpy: New file.
58031         * modules/unistr/u16-stpcpy: New file.
58032         * modules/unistr/u32-stpcpy: New file.
58033         * lib/unistr/u8-stpcpy.c: New file.
58034         * lib/unistr/u16-stpcpy.c: New file.
58035         * lib/unistr/u32-stpcpy.c: New file.
58036         * lib/unistr/u-stpcpy.h: New file.
58037
58038         * modules/unistr/u8-stpncpy: New file.
58039         * modules/unistr/u16-stpncpy: New file.
58040         * modules/unistr/u32-stpncpy: New file.
58041         * lib/unistr/u8-stpncpy.c: New file.
58042         * lib/unistr/u16-stpncpy.c: New file.
58043         * lib/unistr/u32-stpncpy.c: New file.
58044         * lib/unistr/u-stpncpy.h: New file.
58045
58046         * modules/unistr/u8-strcat: New file.
58047         * modules/unistr/u16-strcat: New file.
58048         * modules/unistr/u32-strcat: New file.
58049         * lib/unistr/u8-strcat.c: New file.
58050         * lib/unistr/u16-strcat.c: New file.
58051         * lib/unistr/u32-strcat.c: New file.
58052         * lib/unistr/u-strcat.h: New file.
58053
58054         * modules/unistr/u8-strchr: New file.
58055         * modules/unistr/u16-strchr: New file.
58056         * modules/unistr/u32-strchr: New file.
58057         * lib/unistr/u8-strchr.c: New file.
58058         * lib/unistr/u16-strchr.c: New file.
58059         * lib/unistr/u32-strchr.c: New file.
58060
58061         * modules/unistr/u8-strcmp: New file.
58062         * modules/unistr/u16-strcmp: New file.
58063         * modules/unistr/u32-strcmp: New file.
58064         * lib/unistr/u8-strcmp.c: New file.
58065         * lib/unistr/u16-strcmp.c: New file.
58066         * lib/unistr/u32-strcmp.c: New file.
58067
58068         * modules/unistr/u8-strcpy: New file.
58069         * modules/unistr/u16-strcpy: New file.
58070         * modules/unistr/u32-strcpy: New file.
58071         * lib/unistr/u8-strcpy.c: New file.
58072         * lib/unistr/u16-strcpy.c: New file.
58073         * lib/unistr/u32-strcpy.c: New file.
58074         * lib/unistr/u-strcpy.h: New file.
58075
58076         * modules/unistr/u8-strcspn: New file.
58077         * modules/unistr/u16-strcspn: New file.
58078         * modules/unistr/u32-strcspn: New file.
58079         * lib/unistr/u8-strcspn.c: New file.
58080         * lib/unistr/u16-strcspn.c: New file.
58081         * lib/unistr/u32-strcspn.c: New file.
58082         * lib/unistr/u-strcspn.h: New file.
58083
58084         * modules/unistr/u8-strdup: New file.
58085         * modules/unistr/u16-strdup: New file.
58086         * modules/unistr/u32-strdup: New file.
58087         * lib/unistr/u8-strdup.c: New file.
58088         * lib/unistr/u16-strdup.c: New file.
58089         * lib/unistr/u32-strdup.c: New file.
58090         * lib/unistr/u-strdup.h: New file.
58091
58092         * modules/unistr/u8-strlen: New file.
58093         * modules/unistr/u16-strlen: New file.
58094         * modules/unistr/u32-strlen: New file.
58095         * lib/unistr/u8-strlen.c: New file.
58096         * lib/unistr/u16-strlen.c: New file.
58097         * lib/unistr/u32-strlen.c: New file.
58098         * lib/unistr/u-strlen.h: New file.
58099
58100         * modules/unistr/u8-strmblen: New file.
58101         * modules/unistr/u16-strmblen: New file.
58102         * modules/unistr/u32-strmblen: New file.
58103         * lib/unistr/u8-strmblen.c: New file.
58104         * lib/unistr/u16-strmblen.c: New file.
58105         * lib/unistr/u32-strmblen.c: New file.
58106
58107         * modules/unistr/u8-strmbtouc: New file.
58108         * modules/unistr/u16-strmbtouc: New file.
58109         * modules/unistr/u32-strmbtouc: New file.
58110         * lib/unistr/u8-strmbtouc.c: New file.
58111         * lib/unistr/u16-strmbtouc.c: New file.
58112         * lib/unistr/u32-strmbtouc.c: New file.
58113
58114         * modules/unistr/u8-strncat: New file.
58115         * modules/unistr/u16-strncat: New file.
58116         * modules/unistr/u32-strncat: New file.
58117         * lib/unistr/u8-strncat.c: New file.
58118         * lib/unistr/u16-strncat.c: New file.
58119         * lib/unistr/u32-strncat.c: New file.
58120         * lib/unistr/u-strncat.h: New file.
58121
58122         * modules/unistr/u8-strncmp: New file.
58123         * modules/unistr/u16-strncmp: New file.
58124         * modules/unistr/u32-strncmp: New file.
58125         * lib/unistr/u8-strncmp.c: New file.
58126         * lib/unistr/u16-strncmp.c: New file.
58127         * lib/unistr/u32-strncmp.c: New file.
58128
58129         * modules/unistr/u8-strncpy: New file.
58130         * modules/unistr/u16-strncpy: New file.
58131         * modules/unistr/u32-strncpy: New file.
58132         * lib/unistr/u8-strncpy.c: New file.
58133         * lib/unistr/u16-strncpy.c: New file.
58134         * lib/unistr/u32-strncpy.c: New file.
58135         * lib/unistr/u-strncpy.h: New file.
58136
58137         * modules/unistr/u8-strnlen: New file.
58138         * modules/unistr/u16-strnlen: New file.
58139         * modules/unistr/u32-strnlen: New file.
58140         * lib/unistr/u8-strnlen.c: New file.
58141         * lib/unistr/u16-strnlen.c: New file.
58142         * lib/unistr/u32-strnlen.c: New file.
58143         * lib/unistr/u-strnlen.h: New file.
58144
58145         * modules/unistr/u8-strpbrk: New file.
58146         * modules/unistr/u16-strpbrk: New file.
58147         * modules/unistr/u32-strpbrk: New file.
58148         * lib/unistr/u8-strpbrk.c: New file.
58149         * lib/unistr/u16-strpbrk.c: New file.
58150         * lib/unistr/u32-strpbrk.c: New file.
58151         * lib/unistr/u-strpbrk.h: New file.
58152
58153         * modules/unistr/u8-strrchr: New file.
58154         * modules/unistr/u16-strrchr: New file.
58155         * modules/unistr/u32-strrchr: New file.
58156         * lib/unistr/u8-strrchr.c: New file.
58157         * lib/unistr/u16-strrchr.c: New file.
58158         * lib/unistr/u32-strrchr.c: New file.
58159
58160         * modules/unistr/u8-strspn: New file.
58161         * modules/unistr/u16-strspn: New file.
58162         * modules/unistr/u32-strspn: New file.
58163         * lib/unistr/u8-strspn.c: New file.
58164         * lib/unistr/u16-strspn.c: New file.
58165         * lib/unistr/u32-strspn.c: New file.
58166         * lib/unistr/u-strspn.h: New file.
58167
58168         * modules/unistr/u8-strstr: New file.
58169         * modules/unistr/u16-strstr: New file.
58170         * modules/unistr/u32-strstr: New file.
58171         * lib/unistr/u8-strstr.c: New file.
58172         * lib/unistr/u16-strstr.c: New file.
58173         * lib/unistr/u32-strstr.c: New file.
58174         * lib/unistr/u-strstr.h: New file.
58175
58176         * modules/unistr/u8-strtok: New file.
58177         * modules/unistr/u16-strtok: New file.
58178         * modules/unistr/u32-strtok: New file.
58179         * lib/unistr/u8-strtok.c: New file.
58180         * lib/unistr/u16-strtok.c: New file.
58181         * lib/unistr/u32-strtok.c: New file.
58182         * lib/unistr/u-strtok.h: New file.
58183
58184         * modules/unistr/u8-uctomb: New file.
58185         * modules/unistr/u16-uctomb: New file.
58186         * modules/unistr/u32-uctomb: New file.
58187         * lib/unistr/u8-uctomb.c: New file.
58188         * lib/unistr/u16-uctomb.c: New file.
58189         * lib/unistr/u32-uctomb.c: New file.
58190
58191         * MODULES.html.sh (Unicode string functions): Add the new modules.
58192
58193 2007-01-08  Bruno Haible  <bruno@clisp.org>
58194
58195         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
58196         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
58197         subdirectories.
58198
58199 2007-01-08  Karl Berry  <karl@gnu.org>
58200
58201         * doc/error.texi: mention that main() fns must set program_name
58202         when progname is used.
58203
58204 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
58205
58206         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
58207         WCTYPE_H is empty, for the benefit of builds from non-distclean
58208         directories.  Problem reported by Eric Blake in
58209         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
58210
58211 2007-01-08  Bruno Haible  <bruno@clisp.org>
58212
58213         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
58214         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
58215         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
58216         PROVIDE_CANONICALIZE_FILENAME_MODE.
58217         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
58218
58219 2007-01-08  Bruno Haible  <bruno@clisp.org>
58220
58221         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
58222         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
58223         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
58224         * lib/fts.c: Likewise.
58225         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
58226
58227 2006-12-25  Bruno Haible  <bruno@clisp.org>
58228
58229         * modules/utf8-ucs4-safe: New file.
58230         * lib/utf8-ucs4-safe.h: New file.
58231         * lib/unistr/utf8-ucs4-safe.c: New file.
58232
58233         * modules/utf16-ucs4-safe: New file.
58234         * lib/utf16-ucs4-safe.h: New file.
58235         * lib/unistr/utf16-ucs4-safe.c: New file.
58236
58237         * MODULES.html.sh (Unicode string functions): Add the new modules.
58238
58239 2007-01-08  Bruno Haible  <bruno@clisp.org>
58240
58241         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
58242         (Depends-on): Add unitypes.
58243         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
58244         (u8_mbtouc_aux): Move out to separate file.
58245         (u8_mbtouc): Use ucs4_t, uint8_t types.
58246         * lib/unistr/utf8-ucs4.c: New file.
58247
58248         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
58249         (Depends-on): Add unitypes.
58250         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
58251         (u16_mbtouc_aux): Move out to separate file.
58252         (u16_mbtouc): Use ucs4_t, uint16_t types.
58253         * lib/unistr/utf16-ucs4.c: New file.
58254
58255         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
58256         (Depends-on): Add unitypes.
58257         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
58258         (u8_uctomb_aux): Move out to separate file.
58259         (u8_uctomb): Use ucs4_t, uint8_t types.
58260         * lib/unistr/ucs4-utf8.c: New file.
58261
58262         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
58263         (Depends-on): Add unitypes.
58264         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
58265         (u16_uctomb_aux): Move out to separate file.
58266         (u16_uctomb): Use ucs4_t, uint16_t types.
58267         * lib/unistr/ucs4-utf16.c: New file.
58268
58269 2006-12-25  Bruno Haible  <bruno@clisp.org>
58270
58271         * modules/unitypes: New file.
58272         * lib/unitypes.h: New file.
58273         * MODULES.html.sh (func_all_modules): New section "Unicode string
58274         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
58275         this section. Add unitypes.
58276
58277 2007-01-08  Bruno Haible  <bruno@clisp.org>
58278
58279         Avoid variable names that conflict with those from libtool.
58280         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
58281         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
58282         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
58283         library_names_spec to acl_library_names_spec, hardcode_* to
58284         acl_hardcode_*.
58285         Reported by Ralf Wildenhues.
58286
58287 2007-01-08  Bruno Haible  <bruno@clisp.org>
58288
58289         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
58290         definition.
58291         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
58292         definition.
58293         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
58294         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
58295         definition.
58296         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
58297         definition.
58298         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
58299         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
58300         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
58301         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
58302         definition.
58303         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
58304         definition.
58305         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
58306         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
58307         GC_USE_<algorithm>.
58308         * lib/gc-libgcrypt.c: Likewise.
58309         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
58310         * modules/gc-arctwo (configure.ac): Likewise.
58311         * modules/gc-des (configure.ac): Likewise.
58312         * modules/gc-hmac-md5 (configure.ac): Likewise.
58313         * modules/gc-hmac-sha1 (configure.ac): Likewise.
58314         * modules/gc-md2 (configure.ac): Likewise.
58315         * modules/gc-md4 (configure.ac): Likewise.
58316         * modules/gc-md5 (configure.ac): Likewise.
58317         * modules/gc-random (configure.ac): Likewise.
58318         * modules/gc-rijndael (configure.ac): Likewise.
58319         * modules/gc-sha1 (configure.ac): Likewise.
58320
58321 2007-01-08  Bruno Haible  <bruno@clisp.org>
58322
58323         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
58324         macro definition.
58325         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
58326         definition.
58327         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
58328         definition.
58329         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
58330         * modules/fcntl-safer (configure.ac): Likewise.
58331         * modules/fopen-safer (configure.ac): Likewise.
58332         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
58333         GNULIB_FWRITEERROR macro definition.
58334
58335 2007-01-08  Bruno Haible  <bruno@clisp.org>
58336
58337         * m4/gnulib-common.m4: New file.
58338         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
58339         (func_get_filelist): Add m4/gnulib-common.m4.
58340
58341 2007-01-08  Bruno Haible  <bruno@clisp.org>
58342
58343         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
58344         command.
58345
58346 2007-01-08  Jim Meyering  <jim@meyering.net>
58347
58348         Use a more robust test for a "can't happen" condition.
58349         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
58350         narrowed the st_size value.  Presuming the "can't happen" condition
58351         is true, that narrowing could conceivably convert an invalid st_size
58352         value into a valid one.  Instead, use a change based on Matthew
58353         Woehlke's original patch.
58354
58355         Slight readability improvement: use an assert-like macro
58356         in place of literal "abort ()" uses.
58357         * lib/fts.c (fts_assert): Define.
58358         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
58359         Use this macro instead of a bare 'abort'.
58360
58361 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
58362
58363         Don't worry about using IRIX 5.3's wctype.h broken definitions;
58364         simply work around them.
58365         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
58366         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
58367         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
58368         declaring.
58369         Don't bother to define as macros, since the standard doesn't require it.
58370         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
58371         longer worry about IRIX 5.3.
58372         (HAVE_WCTYPE_CTMP_BUG): Remove.
58373
58374 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
58375
58376         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
58377         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
58378         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58379         Problems reported by Georg Schwarz for IRIX 5.3.
58380
58381         * gnulib-tool (autoconf_minversion): Take the maximum version number
58382         found, not the minimum.  Problem reported by James Youngman.
58383
58384 2007-01-03  Karl Berry  <karl@gnu.org>
58385
58386         * doc/error.texi: new file, explaining interaction with progname.
58387         * doc/gnulib.texi: include it.  Update copyright.
58388
58389 2007-01-03  Simon Josefsson  <simon@josefsson.org>
58390
58391         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
58392         AC_CANONICAL_HOST, to improve autobuild outputs.
58393
58394 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
58395             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
58396
58397         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
58398         sockets, server sockets, and other file descriptors.  Count errors
58399         to compute the return value.  Reorder the code a bit to be easier
58400         to follow.  Don't set event bits that were not requested (except
58401         POLLERR and POLLHUP).
58402
58403 2007-01-01  Bruno Haible  <bruno@clisp.org>
58404
58405         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
58406
58407 2007-01-03  Jim Meyering  <jim@meyering.net>
58408
58409         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
58410
58411 2007-01-02  Bruno Haible  <bruno@clisp.org>
58412
58413         * modules/settime (Include): Require timespec.h.
58414         * modules/nanosleep (Include): Likewise.
58415
58416 2007-01-01  Bruno Haible  <bruno@clisp.org>
58417
58418         * gnulib-tool (func_emit_copyright_notice): Bump year.
58419         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
58420
58421 2007-01-01  Bruno Haible  <bruno@clisp.org>
58422
58423         Improve support for OpenBSD.
58424         * build-aux/config.rpath (libname_spec): Export.
58425         (library_names_spec): New variable. Export.
58426         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
58427         library_names_spec from the config.rpath output. Locate shared library
58428         through the name pattern in library_names_spec.
58429
58430 2007-01-01  Eric Blake  <ebb9@byu.net>
58431
58432         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
58433
58434 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
58435
58436         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
58437         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
58438         assume the C locale, and avoid an "eval" that could cause trouble.
58439         Problem with SORT reported by Bob Proulx.
58440
58441         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
58442         Define.  Trivial patch from Henning Nielsen Lund, originally
58443         sent to bug-grep@gnu.org today.
58444
58445 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58446
58447         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
58448         struct stat.  Problem reported by Henning Nielsen Lund.
58449         * lib/acl.c: Include acl.h first, to check interface.  Don't
58450         bother to include sys/types.h and sys/stat.h again.
58451
58452 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
58453
58454         Import the following change from libc; problem reported by
58455         Sven Verdoolaege.
58456
58457         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
58458
58459         [BZ #1373]
58460         * lib/argp.h: Remove __NTH for __argp_usage inline function.
58461
58462 2006-12-28  Jim Meyering  <jim@meyering.net>
58463
58464         * build-aux/announce-gen: Do not assume that the package
58465         builds any of tar.gz, tar.bz2, and .xdelta files.
58466         Suggestion from Simon Josefsson.
58467
58468 2006-12-28  Simon Josefsson  <simon@josefsson.org>
58469
58470         * modules/announce-gen: New file.
58471
58472 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
58473
58474         * lib/mbchar.h: Just include <wctype.h>; the wctype module
58475         handles its gotchas now.
58476         * lib/mbswidth.c: Likewise.
58477         * lib/wcwidth.h: Likewise.
58478         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
58479         and iswcntrl; the wctype module does this stuff now.
58480         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58481         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
58482         * modules/mbchar (Depends-on): Add wctype.
58483         * modules/mbswidth (Depends-on): Likewise.
58484         * modules/wcwidth (Depends-on): Likewise.
58485
58486 2006-12-27  Eric Blake  <ebb9@byu.net>
58487
58488         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
58489         module uses more than what <wctype.h> is required to provide.
58490
58491 2006-12-26  Eric Blake  <ebb9@byu.net>
58492
58493         * gnulib-tool (sed_extract_prog): Avoid space-tab.
58494
58495 2006-12-26  Eric Blake  <ebb9@byu.net>
58496
58497         * modules/absolute-header: New module.
58498         * modules/fcntl (Depends-on): Depend on it.
58499         * modules/inttypes (Depends-on): Likewise.
58500         * modules/stdint (Depends-on): Likewise.
58501         * modules/sys_stat (Depends-on): Likewise.
58502         * modules/wctype (Depends-on): Likewise.
58503         * MODULES.html.sh (Support for building libraries and
58504         executables): Document it.
58505
58506 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58507
58508         * gnulib-tool (SED): Remove, undoing previous change.
58509         The problem was that it broke coreutils on Solaris, because
58510         "sed --posix" leaked into a makefile.
58511         (sed): New alias, if 'alias' and GNU sed.
58512
58513 2006-12-24  Jim Meyering  <jim@meyering.net>
58514
58515         Work around an fchownat bug in glibc-2.4:
58516         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
58517         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
58518         in spite of the -P option.
58519         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
58520         New macros.
58521         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
58522         * modules/openat (Files): Add lib/fchownat.c.
58523         * lib/openat.c (fchownat): Don't define here.  Move to...
58524         * lib/fchownat.c: ...this new file.
58525
58526 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
58527
58528         Fix bug reported by Bruno Haible in
58529         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
58530         where quotearg.c didn't compile on Mac OS X 10.2 because it
58531         lacks <wchar.h> and wint_t.
58532         * lib/wctype_.h (__wctype_wint_t): New type.
58533         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
58534         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
58535         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
58536         Arg is now of type __wctype_wint_t, not wint_t.
58537         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
58538         substitute HAVE_WINT_T.
58539         * modules/wctype (Files): Add m4/wint_t.m4.
58540         (wctype.h): Substitute HAVE_WINT_T.
58541
58542 2006-12-23  Bruno Haible  <bruno@clisp.org>
58543
58544         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
58545
58546 2006-12-23  Bruno Haible  <bruno@clisp.org>
58547
58548         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
58549         S_ISLNK.
58550         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
58551         mingw.
58552
58553 2006-12-22  Bruno Haible  <bruno@clisp.org>
58554
58555         * lib/copy-file.c: Include acl.h.
58556         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
58557         Close the file descriptors only after being done with copy_acl.
58558         * modules/copy-file (Depends-on): Add acl.
58559
58560 2006-12-22  Bruno Haible  <bruno@clisp.org>
58561
58562         * gnulib-tool (SED): New variable.
58563         Use $SED instead of sed everywhere.
58564
58565 2006-12-22  Bruno Haible  <bruno@clisp.org>
58566
58567         * modules/no-c++: New file.
58568         * m4/no-c++.m4: New file.
58569         * MODULES.html.sh (Support for building libraries and executables):
58570         Add no-c++.
58571
58572 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
58573
58574         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
58575         Include <limits.h>, and use its INT_MAX to rewrite the
58576         j loop so that it does not overflow 'int'.  Problem reported by
58577         Ralf Wildenhues in
58578         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
58579         Play it safe by shifting left by 1 rather than multiplying by 2,
58580         as GCC is less likely to optimize this away when the value
58581         is signed (when it assumes overflow leads to undefined behavior).
58582         Also, don't assume time_t uses two's complement.
58583
58584 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
58585
58586         * MODULES.html.sh: New module wctype.
58587         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
58588         * lib/fnmatch.c: Don't bother to include <wchar.h> before
58589         <wctype.h>, since the new wctype module should fix this.
58590         * lib/quotearg.c: Include <wctype.h> unconditionally, since
58591         the wctype module should arrange for it.
58592         * lib/regex_internal.h: Likewise.
58593         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
58594         since the wctype module should handle this now.
58595         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
58596         * modules/fnmatch (Depends-on): Add wctype.
58597         * modules/quotearg (Depends-on): Likewise.
58598         * modules/regex (Depends-on): Likewise.
58599
58600 2006-12-19  Bruno Haible  <bruno@clisp.org>
58601
58602         * lib/strdup.h [C++]: Wrap definitions in extern "C".
58603         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
58604
58605 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58606
58607         * modules/savewd (Depends-on): Fix dependency on fcntl.
58608
58609 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58610
58611         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
58612         conforms to C99, rather than relying on the user's environment
58613         setting of STDINT_H.
58614
58615 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58616         and Eric Blake  <ebb9@byu.net>
58617
58618         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
58619         This is more consistent with the other defines here.
58620         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
58621         Port to z/OS.  Problem reported by Paul Gilmartin.
58622         Change local vars to use gl_ prefix rather than ac_.
58623         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
58624         with other defines.
58625         * modules/double-slash-root: New module.
58626         * modules/dirname (Files): Remove m4/double-slash-root.m4.
58627         (Depends-on): Add double-slash-root.
58628         * MODULES.html.sh (File system functions): Mention new module.
58629
58630 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
58631
58632         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
58633         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
58634         This is for the benefit of gzip, which doesn't do i18n.
58635
58636 2006-12-12  Jim Meyering  <jim@meyering.net>
58637
58638         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
58639         Reported by Andreas Schwab <schwab@suse.de>.
58640
58641 2006-12-12  Bruno Haible  <bruno@clisp.org>
58642
58643         Merge these changes.
58644         2006-09-05  Bruno Haible  <bruno@clisp.org>
58645         * lib/iconvme.c (iconv_string): No need to save and restore errno when
58646         iconv_alloc succeeded.
58647         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
58648         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
58649         test for " && dest " at the end - dest is always != NULL there. Call
58650         iconv with 4xNULL arguments initially, to reset the state. Call iconv
58651         with 2xNULL arguments, also to flush the state storage. Handle the
58652         IRIX iconv behaviour. Realloc the final result, to throw away unused
58653         memory.
58654
58655 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
58656
58657         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
58658         and fchmodat unconditionally, since glibc 2.4 has them.
58659         Problem reported by Arkadiusz Miskiewicz.
58660
58661 2006-12-10  Bruno Haible  <bruno@clisp.org>
58662
58663         * gnulib-tool (func_import): Show the include files only for those
58664         modules that are copied and specified.
58665         Reported by Karl Berry.
58666
58667 2006-12-08  Jim Meyering  <jim@meyering.net>
58668
58669         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
58670         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
58671
58672         * build-aux/announce-gen: Add two new options, both optional:
58673         --bootstrap-tools=TOOL_LIST
58674               a comma-separated list of tools, e.g.,
58675               autoconf,automake,bison,gnulib
58676         --gnulib-snapshot-date=DATE
58677               if gnulib is in the bootstrap tool list,
58678               then report this as the snapshot date.
58679               If not specified, use the current date/time.
58680               If you specify a date here, be sure it's UTC.
58681
58682 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58683
58684         * tests/test-argp-2.sh: Fix test to match actual output.
58685         (func_compare): Fix sed script to be portable.
58686
58687 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
58688
58689         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
58690         workaround for this case.  It is not autoconfigured now; offhand
58691         it's hard to see how to autoconfigure it.
58692
58693 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58694
58695         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
58696         a directory that is about to be chowned.  Such a directory's
58697         initial file permissions should permit the owner only and this
58698         should not be changed until after the chown, since the group and
58699         other bits would be incorrect if they granted permission before
58700         the chown.
58701
58702         Fix porting problem for iswctype reported by Georg Schwarz in:
58703         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
58704         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
58705         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
58706         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
58707         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58708
58709 2006-12-03  Jim Meyering  <jim@meyering.net>
58710
58711         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
58712         p->fts_statp may not yet be defined.
58713         (fts_read): Instead, set it in the caller, once p->fts_statp is
58714         sure to be defined, and corresponds to a top-level directory.
58715         This bug made du -x fail.  Here's the coreutils test case:
58716         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
58717         Reported by Mike Frysinger.
58718
58719 2006-12-01  Jim Meyering  <jim@meyering.net>
58720
58721         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
58722         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
58723         Reported by Simon Josefsson.
58724
58725 2006-11-30  Jim Meyering  <jim@meyering.net>
58726
58727         * m4/warning.m4: Use the all-permissive copyright notice
58728         recommended by RMS (rather than LGPL).
58729         * m4/vararrays.m4: Likewise.
58730         * m4/flexmember.m4: Likewise.
58731
58732 2006-11-29  Bruno Haible  <bruno@clisp.org>
58733
58734         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58735         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
58736         using +=.
58737         Reported by Simon Josefsson <simon@josefsson.org>.
58738
58739 2006-11-28  James Youngman <jay@gnu.org>
58740
58741         * README: Advise users that they might find the bug-gnulib@gnu.org
58742         and autotools-announce@gnu.org mailing lists useful.
58743
58744 2006-11-28  Bruno Haible  <bruno@clisp.org>
58745
58746         * m4/ptrdiff_max.m4: Remove file.
58747
58748 2006-11-21  Bruno Haible  <bruno@clisp.org>
58749
58750         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
58751         _AC_COMPUTE_INT.
58752         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58753         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
58754         _AC_COMPUTE_INT.
58755         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58756         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
58757         _AC_COMPUTE_INT.
58758         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58759
58760 2006-11-28  Jim Meyering  <jim@meyering.net>
58761
58762         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
58763         warning from "gcc -Wshadow" about shadowing the builtin.
58764
58765 2006-11-27  Bruno Haible  <bruno@clisp.org>
58766
58767         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
58768         _AC_COMPUTE_INT.
58769         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58770
58771 2006-11-27  Bruno Haible  <bruno@clisp.org>
58772             Paul Eggert  <eggert@cs.ucla.edu>
58773
58774         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
58775
58776 2006-11-26  Bruno Haible  <bruno@clisp.org>
58777
58778         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58779         noinst_LTLIBRARIES.
58780
58781 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
58782             Bruno Haible  <bruno@clisp.org>
58783
58784         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
58785         if compiling with "gcc -ansi".
58786
58787 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
58788
58789         Fix some incompatibilities with gcc -ansi -pedantic.
58790         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
58791         if compiling pedantically with GCC, unless it's C99 or later.
58792         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
58793         it mishandles gcc -ansi -pedantic as well.
58794         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
58795         if gcc -pedantic.
58796         * lib/regexec.c (check_node_accept_bytes): Don't use auto
58797         initializers for struct if -pedantic, unless it's C99 or later.
58798
58799 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
58800
58801         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
58802         Don't close an fd more than once. Identical atimes indicate
58803         success, not failure.
58804
58805 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
58806
58807         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
58808
58809 2006-11-23  Jim Meyering  <jim@meyering.net>
58810
58811         * build-aux/announce-gen: New file.  From coreutils.
58812
58813 2006-11-22  Jim Meyering  <jim@meyering.net>
58814
58815         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
58816         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
58817         (fts_read): Use a temporary to narrow the overused st_size member
58818         before using it in a switch statement.  Reported by Matthew Woehlke.
58819
58820         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
58821         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
58822
58823 2006-11-20  Bruno Haible  <bruno@clisp.org>
58824
58825         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
58826         changequote instead of pairs of brackets.
58827         Reported by Andreas Schwab <schwab@suse.de>.
58828
58829 2006-11-21  Jim Meyering  <jim@meyering.net>
58830
58831         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
58832         so as to remain compatible with older compilers.
58833         Patch from Michael Deutschmann.
58834
58835 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58836
58837         * MODULES.html.sh (File system functions): Add openat.
58838
58839         * lib/openat.h (rpl_fstatat): New macro, if
58840         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
58841         (fstatat): Define to rpl_fstatat under the same conditions,
58842         unless COMPILING_FSTATAT.
58843         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
58844         seems to have the bug.
58845         * lib/fstatat.c: New file.
58846         * modules/openat (Files): Add it.
58847
58848 2006-11-20  Bruno Haible  <bruno@clisp.org>
58849
58850         * Makefile: New file.
58851
58852 2006-11-20  Jim Meyering  <jim@meyering.net>
58853
58854         The beginnings of syntax-related checks for gnulib.
58855         * lib/Makefile: New file.
58856         * lib/t-idcache: New script.  Ensure that the two halves of
58857         idcache.c stay in sync.
58858
58859         * lib/idcache.c: Adjust comments in user- and group- portions to
58860         be more accurate, and to be consistent with one another.
58861
58862 2006-11-20  Jim Meyering  <jim@meyering.net>
58863
58864         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
58865         continue using the flexible array member (thus, this module performs
58866         half as many malloc calls), with the addition that...
58867         (getgroup, getuser): Consistently record a non-match via an empty
58868         "name" string, and map an empty string match to a NULL return value.
58869         * modules/idcache (Depends-on): Re-add flexmember.
58870
58871         * lib/idcache.c (getuser): Remove all uses of the register keyword.
58872         (getuidbyname, getgroup, getgidbyname): Likewise.
58873
58874         Use cleaner syntax: NULL rather than 0.
58875         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
58876
58877 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58878
58879         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
58880         It mishandled the case where the group was missing.
58881         Problem reported by Greg Schafer.
58882         * modules/idcache: Likewise.
58883
58884 2006-11-18  Jim Meyering  <jim@meyering.net>
58885
58886         * check-module (%exempt_header): Add exception for some
58887         conditionally-included headers.
58888
58889         * modules/i-ring (Depends-on): Add verify.
58890         (License): Change to LGPL.
58891
58892 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58893
58894         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
58895         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
58896         and inttostr.h.  Use snprintf rather than uinttostr, so that
58897         LGPLed code doesn't depend on GPLed.
58898
58899 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58900
58901         * modules/inline (License): Change from GPL to LGPL.
58902
58903 2006-11-17  Jim Meyering  <jim@meyering.net>
58904
58905         * modules/d-type (License): Switch to LGPL.
58906
58907 2006-11-15  Bruno Haible  <bruno@clisp.org>
58908
58909         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
58910
58911 2006-11-15  Eric Blake  <ebb9@byu.net>
58912
58913         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
58914         the module dependency.
58915
58916 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58917             Bruno Haible  <bruno@clisp.org>
58918
58919         * gnulib-tool (func_create_testdir): Add license consistency check.
58920
58921 2006-11-15  Eric Blake  <ebb9@byu.net>
58922
58923         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
58924         random "(cached)" in configure output.
58925
58926 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58927
58928         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
58929         test for conforming inttypes.h is both announced and cached.
58930
58931         * MODULES.html.sh (seen_modules, seen_files): New variables.
58932         (func_module): Rewrite to use a few less gnulib-tool and sed
58933         invocations.  Avoid a couple of quadratic algorithms for ...
58934         (missed_modules, missed_files): ... these, with ...
58935         (func_append, func_tmpdir): ... these new functions, from
58936         gnulib-tool.  Analogously, install traps for cleanup.
58937
58938         * tests/test-gc.c (main): Remove unused variables.
58939         * tests/test-read-file.c: Include stdlib.h, for 'free'.
58940
58941 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
58942
58943         * modules/inttostr (License): Change to LGPL.
58944
58945 2006-11-14  Eric Blake  <ebb9@byu.net>
58946
58947         * modules/tempname (License): Change to LGPL.
58948
58949 2006-11-14  Eric Blake  <ebb9@byu.net>
58950
58951         * doc/functions.texi (Function Portability): *printf functions on
58952         Cygwin now understand all POSIX size specifiers.
58953
58954 2006-11-14  Bruno Haible  <bruno@clisp.org>
58955
58956         * modules/c-ctype (License): Change to LGPL.
58957
58958 2006-11-12  Bruno Haible  <bruno@clisp.org>
58959
58960         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58961         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
58962         for GNOME libraries, for which the include files are installed in
58963         subdirectories of $prefix/include.
58964
58965 2006-11-12  Bruno Haible  <bruno@clisp.org>
58966
58967         * m4/lib-link.m4: Require at least autoconf-2.54.
58968         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
58969         name to underscores for the --with option.
58970
58971 2006-11-13  Bruno Haible  <bruno@clisp.org>
58972
58973         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
58974         the tests directory.
58975         Reported by Ralf Wildenhues.
58976
58977 2006-11-13  Bruno Haible  <bruno@clisp.org>
58978
58979         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
58980         (func_emit_initmacro_end): Undo the override here.
58981         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
58982         Works around the famous automake error in coreutils.
58983
58984 2006-11-13  Eric Blake  <ebb9@byu.net>
58985
58986         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
58987         element, not its node.
58988
58989 2006-11-12  Bruno Haible  <bruno@clisp.org>
58990
58991         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
58992         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
58993
58994 2006-11-12  Bruno Haible  <bruno@clisp.org>
58995
58996         * gnulib-tool: New option --local-symlink.
58997         (func_usage): Document it.
58998         (lsymbolic): New variable.
58999         (func_import, func_create_testdir): If --symlink was not specified,
59000         test whether --local-symlink was specified and the file comes from
59001         the local_gnulib_dir.
59002
59003 2006-11-12  Bruno Haible  <bruno@clisp.org>
59004
59005         * gnulib-tool (func_ln): New function.
59006         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
59007
59008 2006-11-12  Bruno Haible  <bruno@clisp.org>
59009
59010         Finish support for source files in subdirectories.
59011         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
59012         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
59013         AUTOMAKE_OPTIONS.
59014         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
59015
59016 2006-11-12  Bruno Haible  <bruno@clisp.org>
59017
59018         * gnulib-tool (func_get_automake_snippet): Synthesize also an
59019         EXTRA_lib_SOURCES augmentation.
59020         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
59021
59022 2006-11-12  Jim Meyering  <jim@meyering.net>
59023
59024         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
59025         file descriptors.  This also averts a failure on systems with
59026         native openat support when a traversed directory lacks "x" access.
59027         * lib/fts_.h: Include "i-ring.h"
59028         (struct FTS) [fts_fd_ring]: New member.
59029         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
59030         (FCHDIR): Add parentheses.
59031         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
59032         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
59033         When descending, rather than simply closing the previous
59034         fts_cwd_fd value, push that file descriptor onto the ring.
59035         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
59036         (fts_open): Initialize the new fd_ring member.
59037         (fts_close): Clear the ring.
59038         (fts_safe_changedir): When possible, use our new fd_ring to skip
59039         the diropen and fstat and dev/ino comparison that would normally
59040         accompany a virtual `chdir ("..")'.
59041
59042         * modules/fts (Depends-on): Add i-ring.
59043         * modules/i-ring: New module.
59044         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
59045         * m4/i-ring.m4: New file.
59046
59047 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59048
59049         * gnulib-tool (func_create_testdir): Fix replacement of
59050         `build-aux' in configure.ac.  Run autotools in gltests
59051         subdirectory.
59052         (func_create_testdir, func_create_megatestdir, test): There is
59053         no need for '--force' in most autotool invocations in a new
59054         tree.  Actually fail the whole test if any of the tools, or the
59055         configure or make stages fail.
59056
59057         Sync from Automake.
59058         * build-aux/gnupload: Revert last change.  Add pointer to upload
59059         instructions of the GNU Maintenance Instructions.
59060         Suggestion by Karl Berry.
59061
59062 2006-11-10  Jim Meyering  <jim@meyering.net>
59063
59064         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
59065
59066 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
59067
59068         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
59069         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
59070         (bind_textdomain_codeset) [! ENABLE_NLS]:
59071         Evaluate all the arguments.  That way, callers get compatible behavior
59072         if the arguments have side effects.  Also, it avoids some GCC
59073         diagnostics in some cases; Joel E. Denny reported problems when Bison
59074         was configured with --enable-gcc-warnigs.
59075
59076 2006-11-10  Jim Meyering  <jim@meyering.net>
59077
59078         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
59079         relevant options in CFLAGS (like -O, -fno-inline) are taken into
59080         account.
59081
59082 2006-11-10  Jim Meyering  <jim@meyering.net>
59083
59084         * modules/inline: New file/module.
59085         * modules/xalloc (Files): Remove m4/inline.m4.
59086         (Depends-on): Add inline, instead.
59087         * modules/oset: Likewise.
59088         * modules/list: Likewise.
59089
59090 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
59091
59092         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
59093         Problem reported by Matthew Woehlke.
59094
59095 2006-11-09  Bruno Haible  <bruno@clisp.org>
59096
59097         * lib/tempname.c (gen_tempname): Remove variant that invokes
59098         __gen_tempname.
59099         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
59100         __gen_tempname.
59101
59102 2006-11-08  Bruno Haible  <bruno@clisp.org>
59103
59104         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
59105         to 'yes' instead of 'cross-compiling'.
59106
59107 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
59108
59109         * lib/quotearg.h (quotearg_free): New decl.
59110         * lib/quotearg.c (quotearg_free): New function.
59111         (slot0, nslots, slotvec0, slotvec):
59112         Now file-scope so that quotearg_free can get at them.
59113
59114 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59115
59116         Sync from Automake.
59117         * build-aux/gnupload: Add missing 'gnu' to example URL.
59118         Report by Karl Berry.
59119
59120 2006-11-08  Bruno Haible  <bruno@clisp.org>
59121
59122         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
59123         Suggested by Paul Eggert.
59124
59125 2006-11-08  Jim Meyering  <jim@meyering.net>
59126
59127         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
59128         It's already included if !_LIBC.
59129         (fts_safe_changedir): Add a comment.
59130
59131 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
59132
59133         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
59134         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
59135         Matthew Woehlke.
59136
59137         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
59138         definitions up, to avoid colliding with change below.
59139         (static_inline) [HAVE_INLINE]: New macro.
59140         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
59141         Provide extern decls when !HAVE_INLINE.  Do not define unless
59142         static_inline is defined, either by us or by xmalloc.c.  Use
59143         static_inline rather than static inline.
59144         (XCALLOC): Optimize sizeof(T) = 1 case.
59145         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
59146
59147 2006-11-07  Bruno Haible  <bruno@clisp.org>
59148
59149         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
59150         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
59151         AC_C_INLINE.
59152         * modules/xalloc (Files): Add m4/inline.m4.
59153
59154 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59155
59156         * README: Fix typo.
59157         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
59158         (Miscellanous Notes): ...from this.
59159
59160 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
59161
59162         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
59163         Mention that offsetof should be used instead of sizeof.
59164         From Bruno Haible.
59165
59166 2006-11-07  Bruno Haible  <bruno@clisp.org>
59167
59168         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
59169
59170 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59171
59172         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
59173         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
59174         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59175         (gl_tree_add_before, gl_tree_add_after):
59176         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
59177         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
59178         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
59179         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
59180         (gl_linked_add_after, gl_linked_add_at): Likewise.
59181         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
59182         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59183         (gl_tree_add_before, gl_tree_add_after): Likewise.
59184         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
59185         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
59186         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59187
59188 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59189
59190         * lib/gl_oset.h: Use C comment style, not C++ comment style.
59191
59192 2006-11-06  Bruno Haible  <bruno@clisp.org>
59193
59194         * m4/inline.m4: New file.
59195         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
59196         * modules/list (Files): Add m4/inline.m4.
59197         * modules/oset (Files): Likewise.
59198
59199 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59200
59201         * lib/idcache.c: Include <stddef.h>, for offsetof.
59202         (struct userid.name): Change from char * to a flexible array member.
59203         All uses changed.
59204         * modules/idcache (Depends-on): Add flexmember.
59205
59206         * MODULES.html.sh (Core language properties): New module flexmember.
59207         * modules/flexmember, m4/flexmember.m4: New files.
59208
59209         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
59210         inline functions that are identical with the old xnmalloc_inline,
59211         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
59212         that we can avoid some unnecessary integer multiplications and
59213         divisions in the common case where the element size is known at
59214         compile time.
59215         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
59216         needed.
59217         (xnboundedmalloc): Remove.
59218         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
59219         arguments, for consistency with rest of this header.
59220         (xcharalloc): Rewrite using XNMALLOC.
59221         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
59222         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
59223         versions have been moved to lib/xalloc.h and renamed to be the
59224         non-*_inline versions.
59225         (xmalloc, xrealloc): Implement without reference to the xnmalloc
59226         and xnrealloc functions, since those functions are now inline and
59227         now call us.
59228         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
59229         renaming described above.
59230         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
59231         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
59232         captures the dependency in AC_C_INLINE.
59233
59234         New module canonicalize-lgpl, proposed by Charles Wilson in
59235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
59236         with a few small changes afterwards.
59237         * MODULES.html.sh (File system functions): New module
59238         canonicalize-lgpl.
59239         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
59240         and canonicalize_file_name.
59241         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
59242         * modules/canonicalize-lgpl: New files.
59243
59244 2006-11-05  Bruno Haible  <bruno@clisp.org>
59245
59246         * gnulib-tool (func_import, func_create_testdir): Create directories
59247         also for files in subdirectories of lib/.
59248
59249 2006-11-05  Bruno Haible  <bruno@clisp.org>
59250
59251         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
59252         ANSI C compliant.
59253
59254 2006-11-03  Bruno Haible  <bruno@clisp.org>
59255
59256         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
59257         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
59258         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
59259         (xnboundedmalloc): New inline function.
59260         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
59261         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
59262         xmalloc.
59263         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
59264         xmalloc.
59265         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
59266         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
59267         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
59268         xmalloc.
59269         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
59270         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
59271         xmalloc.
59272         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
59273         gl_tree_add_after): Use XMALLOC instead of xmalloc.
59274         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
59275         xmalloc.
59276         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
59277         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
59278         gl_tree_add_after): Use XMALLOC instead of xmalloc.
59279         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
59280         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
59281         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
59282         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
59283
59284 2006-11-03  Bruno Haible  <bruno@clisp.org>
59285
59286         * lib/c-ctype.h [C++]: Define functions without name mangling.
59287         * lib/fwriteerror.h [C++]: Likewise.
59288         * lib/gcd.h [C++]: Likewise.
59289         * lib/linebreak.h [C++]: Likewise.
59290
59291 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
59292
59293         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
59294         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
59295         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
59296         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59297         Check for functions and headers just once.
59298         Check for declaration of canonicalize_file_name.
59299         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
59300
59301 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59302
59303         * gnulib-tool (func_import): Fix typo in actioncmd.
59304
59305 2006-11-02  Bruno Haible  <bruno@clisp.org>
59306
59307         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
59308         newline sequence in the Makefile.am snippet as a space, like "make"
59309         does.
59310         Reported by Roger Persson <perrog@gmail.com>.
59311
59312 2006-11-01  Bruno Haible  <bruno@clisp.org>
59313
59314         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
59315         already declared in <string.h>.
59316         * lib/strcase.h (strncasecmp): Don't declare it if yes.
59317
59318 2006-11-01  Bruno Haible  <bruno@clisp.org>
59319
59320         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
59321         * lib/strcase.h: Include <string.h>.
59322         (strcasecmp): Define to rpl_strcasecmp here.
59323
59324 2006-11-01  Bruno Haible  <bruno@clisp.org>
59325
59326         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
59327
59328 2006-11-01  Eric Blake  <ebb9@byu.net>
59329
59330         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
59331
59332         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
59333
59334 2006-10-29  Bruno Haible  <bruno@clisp.org>
59335
59336         Make it compile in C++ mode.
59337         * lib/full-write.c (full_rw): Add a cast.
59338
59339 2006-11-01  Bruno Haible  <bruno@clisp.org>
59340
59341         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
59342         be POSIX compliant.
59343         Reported by Roger Persson <perrog@gmail.com>.
59344
59345 2006-11-01  Eric Blake  <ebb9@byu.net>
59346
59347         * lib/getopt_.h: Fix comments.
59348
59349 2006-10-31  Eric Blake  <ebb9@byu.net>
59350
59351         * modules/tmpdir (Depends-on): Add sys_stat.
59352         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
59353         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
59354         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
59355         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
59356         tempname.
59357
59358 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
59359
59360         Avoid some C++ diagnostics reported by Bruno Haible.
59361         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
59362         xmalloc.
59363         (quotearg_alloc): Use xcharalloc rather than xmalloc.
59364         (struct slotvec): Move to top level.
59365         (quotearg_n_options): Rewrite to avoid xmalloc.
59366         * lib/xalloc.h (xcharalloc): New function.
59367         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
59368         [defined __cplusplus]: Add function template that provides result
59369         type propagation.  This part of the change is from Bruno Haible.
59370
59371 2006-10-29  Bruno Haible  <bruno@clisp.org>
59372
59373         Make it compile in C++ mode.
59374         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
59375         * lib/strnlen1.c (strnlen1): Cast memchr result.
59376         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
59377         * lib/clean-temp.c (string_equals, string_hash): Add casts.
59378         (create_temp_dir): Rename local variable 'template'.
59379         (compile_csharp_using_sscli): Add cast.
59380         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
59381         * lib/findprog.c (find_in_path): Likewise.
59382         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
59383         * lib/wait-process.c (register_slave_subprocess): Likewise.
59384
59385 2006-10-22  Bruno Haible  <bruno@clisp.org>
59386
59387         * modules/tsearch: New file.
59388         * lib/tsearch.h: New file.
59389         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
59390         * m4/tsearch.m4: New file.
59391         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
59392
59393 2006-10-29  Eric Blake  <ebb9@byu.net>
59394
59395         * lib/arcfour.c: Assume config.h.
59396         * lib/arctwo.c: Likewise.
59397         * lib/base64.c: Likewise.
59398         * lib/check-version.c: Likewise.
59399         * lib/crc.c: Likewise.
59400         * lib/des.c: Likewise.
59401         * lib/gc-gnulib.c: Likewise.
59402         * lib/gc-libgcrypt.c: Likewise.
59403         * lib/gc-pbkdf2-sha1.c: Likewise.
59404         * lib/getaddrinfo.c: Likewise.
59405         * lib/getdelim.c: Likewise.
59406         * lib/getline.c: Likewise.
59407         * lib/hmac-md5.c: Likewise.
59408         * lib/hmac-sha1.c: Likewise.
59409         * lib/iconvme.c: Likewise.
59410         * lib/md2.c: Likewise.
59411         * lib/md4.c: Likewise.
59412         * lib/memxor.c: Likewise.
59413         * lib/read-file.c: Likewise.
59414         * lib/readline.c: Likewise.
59415         * lib/rijndael-alg-fst.c: Likewise.
59416         * lib/rijndael-api-fst.c: Likewise.
59417         * lib/xgetdomainname.c: Likewise.
59418
59419 2006-10-28  Eric Blake  <ebb9@byu.net>
59420
59421         * lib/xstrndup.c: Assume config.h.
59422
59423 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
59424
59425         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
59426         stat-macros.h is now for our own macros, whereas stat_h is for
59427         macros in the <sys/stat.h> name space.
59428         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
59429         (STAT_MACROS_H): Remove.
59430         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
59431         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
59432         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
59433         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
59434         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
59435         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
59436         Move these macros to ...
59437         * lib/stat_.h: here.  Don't include stat-macros.h.
59438         * lib/canonicalize.c: Don't include stat-macros.h.
59439         * lib/chown.c: Likewise.
59440         * lib/euidaccess.c: Likewise.
59441         * lib/file-type.c: Likewise.
59442         * lib/filemode.c: Likewise.
59443         * lib/glob.c: Likewise.
59444         * lib/isapipe.c: Likewise.
59445         * lib/lchown.c: Likewise.
59446         * lib/lstat.c: Likewise.
59447         * lib/mkdir-p.c: Likewise.
59448         * lib/rmdir.c: Likewise.
59449         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
59450         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
59451         unless mkdir isn't declared, to speed up 'configure'.
59452         Always create sys/stat.h, since it's unlikely any real sys/stat.h
59453         would define all the S_* symbols.
59454         * modules/canonicalize (Depends-on):
59455         Depend on sys_stat, not stat-macros.
59456         * modules/chown: Likewise.
59457         * modules/euidaccess: Likewise.
59458         * modules/filemode: Likewise.
59459         * modules/file-type: Likewise.
59460         * modules/glob: Likewise.
59461         * modules/isapipe: Likewise.
59462         * modules/lchown: Likewise.
59463         * modules/lstat: Likewise.
59464         * modules/mkancesdirs: Likewise.
59465         * modules/rmdir: Likewise.
59466         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
59467         * modules/modechange: Likewise.
59468         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
59469         (configure.ac): Remove gl_STAT_MACROS.
59470         * modules/sys_stat (Depends-on): Remove stat-macros.
59471
59472 2006-10-27  Bruno Haible  <bruno@clisp.org>
59473
59474         * m4/signed.m4: Remove file.
59475         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
59476         invocation.
59477         * modules/vasnprintf (Files): Remove m4/signed.m4.
59478
59479 2006-10-27  Bruno Haible  <bruno@clisp.org>
59480
59481         Update to GNU gettext 0.16.
59482         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
59483         m4/inttypes-h.m4, m4/signed.m4.
59484         * m4/gettext.m4: Update to GNU gettext 0.16.
59485         * m4/intl.m4: New file, from GNU gettext.
59486         * m4/intldir.m4: New file, from GNU gettext.
59487         * config/srclist.txt: Update
59488
59489 2006-10-27  Eric Blake  <ebb9@byu.net>
59490
59491         * MODULES.html.sh: Document tempname.
59492         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
59493         dependencies.
59494         (Files): Move lib/tempname.c...
59495         * modules/tempname: ...to this new module.
59496         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
59497         (gl_PREREQ_TEMPNAME): Move...
59498         * m4/tempname.m4: ...to this new file.
59499         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
59500         * modules/sys_stat (Depends-on): Add stat-macros.
59501         * lib/stat_.h (includes): Pick up stat macros.
59502         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
59503         if stat macros are broken.
59504         * lib/tempname.c (includes): No need to include "stat-macros.h".
59505         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
59506         (direxists, __path_search) [!_LIBC]: Don't compile these in
59507         gnulib; the tmpdir module covers that.
59508         * lib/tempname.h: New file.
59509
59510 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
59511
59512         * COPYING: Explain how gnulib-tool converts licence headers.
59513         Almost all wording by Eric Blake.
59514
59515 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
59516
59517         * lib/mbchar.h (is_basic_table): Make read-only.
59518         * lib/mbchar.c (is_basic_table): Likewise.
59519         Reported by John Darrington.
59520
59521 2006-10-25  Bruno Haible  <bruno@clisp.org>
59522
59523         * lib/progname.h (set_program_name): Undefine before defining.
59524
59525 2006-10-25  Bruno Haible  <bruno@clisp.org>
59526
59527         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
59528         false for non-gcc C++ compilers.
59529         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
59530
59531 2006-10-24  Bruno Haible  <bruno@clisp.org>
59532
59533         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
59534         iconv implementations like Irix iconv.
59535
59536 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59537
59538         * modules/vararrays: New file.
59539         * m4/vararrays.m4: New file, taken from diffutils.
59540         * MODULES.html.sh: New module vararrays.
59541
59542 2006-10-24  Karl Berry  <karl@gnu.org>
59543
59544         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
59545         Don't call GNU Unix.
59546
59547 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59548
59549         * users.txt: Add Libtool.
59550
59551         Sync from Libtool:
59552
59553         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59554
59555         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
59556         to gnulib's policy of including config.h unconditionally.
59557
59558 2006-10-24  Bruno Haible  <bruno@clisp.org>
59559
59560         * modules/wcwidth (Files): Add m4/wint_t.m4.
59561         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
59562         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
59563
59564 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59565
59566         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
59567         to pacify GCC with some -W flags enabled.  Problem reported by
59568         Bruno Haible.
59569
59570 2006-10-24  Jim Meyering  <jim@meyering.net>
59571
59572         * MODULES.html.sh: Remove uinttostr.  It's not a module.
59573         Reported by Karl Berry.
59574
59575 2006-10-23  Bruno Haible  <bruno@clisp.org>
59576
59577         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
59578
59579 2006-10-24  Bruno Haible  <bruno@clisp.org>
59580
59581         * lib/gl_list.h: Use C comment style, not C++ comment style.
59582
59583 2006-10-23  Eric Blake  <ebb9@byu.net>
59584
59585         * lib/getaddrinfo.c (includes): Add missing include.
59586
59587 2006-10-23  Bruno Haible  <bruno@clisp.org>
59588             Paul Eggert  <eggert@cs.ucla.edu>
59589
59590         Ability to rename obstack_free.
59591         * lib/obstack.h (__obstack_free): New macro. Declare instead of
59592         obstack_free.
59593         (obstack_free): Invoke the __obstack_free macro.
59594         * lib/obstack.c (obstack_free): Use __obstack_free macro.
59595
59596 2006-10-23  Bruno Haible  <bruno@clisp.org>
59597             Paul Eggert  <eggert@cs.ucla.edu>
59598
59599         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
59600         __argc, __argv from the declaration. (They are defined as macros on
59601         mingw.)
59602
59603 2006-10-22  Bruno Haible  <bruno@clisp.org>
59604
59605         * doc/gnulib-intro.texi: New file.
59606         * doc/gnulib.texi: Include it.
59607
59608 2006-10-21  Bruno Haible  <bruno@clisp.org>
59609
59610         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
59611         "Introduction", "Miscellanous Notes", "Particular Modules".
59612
59613 2006-10-21  Bruno Haible  <bruno@clisp.org>
59614
59615         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59616         Change mostlyclean-local rule to avoid sh syntax error from bash
59617         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
59618
59619 2006-10-23  Jim Meyering  <jim@meyering.net>
59620
59621         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
59622         in place of snprintf.
59623
59624         * modules/inttostr (Files): Add lib/uinttostr.c.
59625         * lib/uinttostr.c (inttostr): New file/function.
59626         * lib/inttostr.h (uinttostr): Declare.
59627         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
59628         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
59629         Add uinttostr.
59630         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
59631
59632 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
59633
59634         * lib/canonicalize.c (ELOOP): Define if not already defined.
59635         Problem reported by Bruno Haible in
59636         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
59637
59638 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
59639
59640         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
59641         Problem reported by Perry Smith and Ville Laurikari.
59642
59643         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
59644         uses.
59645
59646 2006-10-19  Bruno Haible  <bruno@clisp.org>
59647
59648         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
59649         for mingw.
59650
59651 2006-10-19  Bruno Haible  <bruno@clisp.org>
59652
59653         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
59654         Needed for mingw.
59655
59656 2006-10-19  Bruno Haible  <bruno@clisp.org>
59657
59658         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
59659
59660 2006-10-19  Bruno Haible  <bruno@clisp.org>
59661
59662         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
59663         it.
59664
59665 2006-10-19  Bruno Haible  <bruno@clisp.org>
59666
59667         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
59668         invocation.
59669
59670 2006-10-19  Bruno Haible  <bruno@clisp.org>
59671
59672         * gnulib-tool (func_create_testdir): Don't include ftruncate and
59673         mountlist by default.
59674
59675 2006-10-16  Bruno Haible  <bruno@clisp.org>
59676
59677         * lib/c-strstr.c: Include c-strstr.h.
59678
59679 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59680
59681         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
59682         in a slash.
59683
59684 2006-10-18  Bruno Haible  <bruno@clisp.org>
59685
59686         * lib/lock.h [C++]: Wrap definitions in extern "C".
59687
59688 2006-10-18  Bruno Haible  <bruno@clisp.org>
59689
59690         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
59691         gl_LIBOBJS list.
59692
59693 2006-10-18  Bruno Haible  <bruno@clisp.org>
59694
59695         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
59696
59697 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * lib/xstrtol.h: Include gettext.h.
59700         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
59701         Problem reported by Eric Blake.
59702         * modules/xstrtol (Depends-on): Add gettext-h.
59703
59704 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
59705
59706         * lib/strftime.c (advance): New macro.
59707         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
59708         incomplete type, so you can't add 0 to it.  Problem and patch
59709         reported by Eelco Dolstra for dietlibc.
59710
59711 2006-10-18  Jim Meyering  <jim@meyering.net>
59712
59713         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
59714         type for a local, and rename it: s/up/user_proc/.
59715
59716 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59717
59718         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
59719         READ_UTMP_USER_PROCESS.
59720         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
59721
59722 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59723
59724         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
59725         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
59726
59727 2006-10-17  Eric Blake  <ebb9@byu.net>
59728
59729         * lib/sigprocmask.c (sigprocmask): Fix typo.
59730
59731         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
59732
59733         * modules/clean-temp (Makefile.am): Don't add to make output...
59734         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
59735         config.h.
59736
59737 2006-10-17  Bruno Haible  <bruno@clisp.org>
59738
59739         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
59740         differently if DEFAULT_TEXT_DOMAIN is set.
59741
59742 2006-10-16  Bruno Haible  <bruno@clisp.org>
59743
59744         * lib/clean-temp.c: Include fwriteerror.h.
59745
59746 2006-10-16  Bruno Haible  <bruno@clisp.org>
59747
59748         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
59749
59750 2006-10-16  Bruno Haible  <bruno@clisp.org>
59751
59752         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
59753         * lib/sigprocmask.h: Include <sys/types.h>.
59754         (sigset_t): Use the system's definition if present.
59755
59756 2006-10-17  Eric Blake  <ebb9@byu.net>
59757
59758         * lib/xvasprintf.c (includes): Assume config.h.
59759         * lib/xasprintf.c (includes): Likewise.
59760
59761 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59762
59763         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
59764         at least as wide as intmax_t.
59765
59766 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
59767
59768         (Imported from Automake.)
59769         * build-aux/gnupload: Update to version 1.1 of directive file.
59770
59771 2006-10-16  Eric Blake  <ebb9@byu.net>
59772
59773         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
59774         match Automake 1.10a.
59775
59776 2006-10-14  Bruno Haible  <bruno@clisp.org>
59777
59778         * modules/sigprocmask: New file.
59779         * lib/sigprocmask.h: New file.
59780         * lib/sigprocmask.c: New file.
59781         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
59782         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
59783         request sigprocmask.o.
59784         (gl_PREREQ_SIGPROCMASK): New macro.
59785         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
59786         (Depends-on): Add sigprocmask.
59787         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
59788         gt_SIGNALBLOCKING. Test for 'raise' only once.
59789         * lib/fatal-signal.c: Include sigprocmask.h.
59790         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
59791         unblock_fatal_signals): Define always.
59792         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59793         sigprocmask.
59794
59795 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59796
59797         Sync from Automake.
59798         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
59799         which incorrectly sets the mode of an existing destination
59800         directory.  In some cases the unpatched install-sh could do the
59801         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
59802         system.  We hope this is rare in practice, but it's clearly worth
59803         fixing.  Problem reported by Alex Unleashed in
59804         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
59805         Also, don't bother to check for -m bugs unless we're using -m;
59806         suggested by Stepan Kasal.
59807
59808 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59809
59810         Sync from Automake.
59811         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
59812         `-c' flag, so they appear at the same position as in %FASTDEP%
59813         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
59814         which ignores unknown options only after the first non-option.
59815         Bug report against M4 by Nelson H. F. Beebe.
59816
59817 2006-10-13  Jim Meyering  <jim@meyering.net>
59818
59819         Fix a bug in yesterday's change.
59820         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
59821         p->fts_statp->st_dev would be used uninitialized.
59822         Ensures that we always call fts_stat on the very first entry.
59823         Miklos Szeredi reported that find -xdev stopped working.
59824
59825 2006-10-12  Bruno Haible  <bruno@clisp.org>
59826
59827         * gnulib-tool (func_get_automake_snippet): Append an automatically
59828         computed EXTRA_DIST augmentation.
59829         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
59830         * modules/alloca-opt (Makefile.am): Likewise.
59831         * modules/allocsa (Makefile.am): Likewise.
59832         * modules/arcfour (Makefile.am): Likewise.
59833         * modules/arctwo (Makefile.am): Likewise.
59834         * modules/argmatch (Makefile.am): Likewise.
59835         * modules/argz (Makefile.am): Likewise.
59836         * modules/atexit (Makefile.am): Likewise.
59837         * modules/backupfile (Makefile.am): Likewise.
59838         * modules/byteswap (Makefile.am): Likewise.
59839         * modules/c-strtod (Makefile.am): Likewise.
59840         * modules/c-strtold (Makefile.am): Likewise.
59841         * modules/calloc (Makefile.am): Likewise.
59842         * modules/canon-host (Makefile.am): Likewise.
59843         * modules/canonicalize (Makefile.am): Likewise.
59844         * modules/chdir-long (Makefile.am): Likewise.
59845         * modules/chdir-safer (Makefile.am): Likewise.
59846         * modules/check-version (Makefile.am): Likewise.
59847         * modules/chown (Makefile.am): Likewise.
59848         * modules/cloexec (Makefile.am): Likewise.
59849         * modules/close-stream (Makefile.am): Likewise.
59850         * modules/closeout (Makefile.am): Likewise.
59851         * modules/crc (Makefile.am): Likewise.
59852         * modules/csharpexec (Makefile.am): Likewise.
59853         * modules/cycle-check (Makefile.am): Likewise.
59854         * modules/des (Makefile.am): Likewise.
59855         * modules/dev-ino (Makefile.am): Likewise.
59856         * modules/dirfd (Makefile.am): Likewise.
59857         * modules/dirname (Makefile.am): Likewise.
59858         * modules/dup2 (Makefile.am): Likewise.
59859         * modules/eealloc (Makefile.am): Likewise.
59860         * modules/error (Makefile.am): Likewise.
59861         * modules/euidaccess (Makefile.am): Likewise.
59862         * modules/exclude (Makefile.am): Likewise.
59863         * modules/exitfail (Makefile.am): Likewise.
59864         * modules/fcntl-safer (Makefile.am): Likewise.
59865         * modules/fcntl (Makefile.am): Likewise.
59866         * modules/file-type (Makefile.am): Likewise.
59867         * modules/fileblocks (Makefile.am): Likewise.
59868         * modules/filemode (Makefile.am): Likewise.
59869         * modules/filenamecat (Makefile.am): Likewise.
59870         * modules/fnmatch (Makefile.am): Likewise.
59871         * modules/fopen-safer (Makefile.am): Likewise.
59872         * modules/fpending (Makefile.am): Likewise.
59873         * modules/fprintftime (Makefile.am): Likewise.
59874         * modules/free (Makefile.am): Likewise.
59875         * modules/fsusage (Makefile.am): Likewise.
59876         * modules/ftruncate (Makefile.am): Likewise.
59877         * modules/fts (Makefile.am): Likewise.
59878         * modules/gc-arcfour (Makefile.am): Likewise.
59879         * modules/gc-des (Makefile.am): Likewise.
59880         * modules/gc-hmac-md5 (Makefile.am): Likewise.
59881         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
59882         * modules/gc-md4 (Makefile.am): Likewise.
59883         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
59884         * modules/gc-sha1 (Makefile.am): Likewise.
59885         * modules/gc (Makefile.am): Likewise.
59886         * modules/getaddrinfo (Makefile.am): Likewise.
59887         * modules/getcwd (Makefile.am): Likewise.
59888         * modules/getdelim (Makefile.am): Likewise.
59889         * modules/getdomainname (Makefile.am): Likewise.
59890         * modules/getgroups (Makefile.am): Likewise.
59891         * modules/gethostname (Makefile.am): Likewise.
59892         * modules/gethrxtime (Makefile.am): Likewise.
59893         * modules/getline (Makefile.am): Likewise.
59894         * modules/getloadavg (Makefile.am): Likewise.
59895         * modules/getlogin_r (Makefile.am): Likewise.
59896         * modules/getndelim2 (Makefile.am): Likewise.
59897         * modules/getopt (Makefile.am): Likewise.
59898         * modules/getpagesize (Makefile.am): Likewise.
59899         * modules/getpass-gnu (Makefile.am): Likewise.
59900         * modules/getpass (Makefile.am): Likewise.
59901         * modules/getsubopt (Makefile.am): Likewise.
59902         * modules/gettime (Makefile.am): Likewise.
59903         * modules/gettimeofday (Makefile.am): Likewise.
59904         * modules/getugroups (Makefile.am): Likewise.
59905         * modules/getusershell (Makefile.am): Likewise.
59906         * modules/glob (Makefile.am): Likewise.
59907         * modules/group-member (Makefile.am): Likewise.
59908         * modules/hard-locale (Makefile.am): Likewise.
59909         * modules/hash (Makefile.am): Likewise.
59910         * modules/hmac-md5 (Makefile.am): Likewise.
59911         * modules/hmac-sha1 (Makefile.am): Likewise.
59912         * modules/human (Makefile.am): Likewise.
59913         * modules/idcache (Makefile.am): Likewise.
59914         * modules/imaxabs (Makefile.am): Likewise.
59915         * modules/imaxdiv (Makefile.am): Likewise.
59916         * modules/inet_ntop (Makefile.am): Likewise.
59917         * modules/inet_pton (Makefile.am): Likewise.
59918         * modules/intprops (Makefile.am): Likewise.
59919         * modules/inttostr (Makefile.am): Likewise.
59920         * modules/inttypes (Makefile.am): Likewise.
59921         * modules/isapipe (Makefile.am): Likewise.
59922         * modules/javaversion (Makefile.am): Likewise.
59923         * modules/lchmod (Makefile.am): Likewise.
59924         * modules/lchown (Makefile.am): Likewise.
59925         * modules/localcharset (Makefile.am): Likewise.
59926         * modules/long-options (Makefile.am): Likewise.
59927         * modules/lstat (Makefile.am): Likewise.
59928         * modules/malloc (Makefile.am): Likewise.
59929         * modules/mathl (Makefile.am): Likewise.
59930         * modules/mbchar (Makefile.am): Likewise.
59931         * modules/md2 (Makefile.am): Likewise.
59932         * modules/md4 (Makefile.am): Likewise.
59933         * modules/md5 (Makefile.am): Likewise.
59934         * modules/memcasecmp (Makefile.am): Likewise.
59935         * modules/memchr (Makefile.am): Likewise.
59936         * modules/memcmp (Makefile.am): Likewise.
59937         * modules/memcoll (Makefile.am): Likewise.
59938         * modules/memcpy (Makefile.am): Likewise.
59939         * modules/memmem (Makefile.am): Likewise.
59940         * modules/memmove (Makefile.am): Likewise.
59941         * modules/mempcpy (Makefile.am): Likewise.
59942         * modules/memrchr (Makefile.am): Likewise.
59943         * modules/memset (Makefile.am): Likewise.
59944         * modules/memxor (Makefile.am): Likewise.
59945         * modules/mkancesdirs (Makefile.am): Likewise.
59946         * modules/mkdir-p (Makefile.am): Likewise.
59947         * modules/mkdir (Makefile.am): Likewise.
59948         * modules/mkdtemp (Makefile.am): Likewise.
59949         * modules/mkstemp (Makefile.am): Likewise.
59950         * modules/mktime (Makefile.am): Likewise.
59951         * modules/modechange (Makefile.am): Likewise.
59952         * modules/mountlist (Makefile.am): Likewise.
59953         * modules/nanosleep (Makefile.am): Likewise.
59954         * modules/obstack (Makefile.am): Likewise.
59955         * modules/openat (Makefile.am): Likewise.
59956         * modules/pagealign_alloc (Makefile.am): Likewise.
59957         * modules/pathmax (Makefile.am): Likewise.
59958         * modules/physmem (Makefile.am): Likewise.
59959         * modules/poll (Makefile.am): Likewise.
59960         * modules/posixtm (Makefile.am): Likewise.
59961         * modules/posixver (Makefile.am): Likewise.
59962         * modules/putenv (Makefile.am): Likewise.
59963         * modules/quote (Makefile.am): Likewise.
59964         * modules/quotearg (Makefile.am): Likewise.
59965         * modules/raise (Makefile.am): Likewise.
59966         * modules/read-file (Makefile.am): Likewise.
59967         * modules/readline (Makefile.am): Likewise.
59968         * modules/readlink (Makefile.am): Likewise.
59969         * modules/readtokens (Makefile.am): Likewise.
59970         * modules/readutmp (Makefile.am): Likewise.
59971         * modules/realloc (Makefile.am): Likewise.
59972         * modules/regex (Makefile.am): Likewise.
59973         * modules/rename-dest-slash (Makefile.am): Likewise.
59974         * modules/rename (Makefile.am): Likewise.
59975         * modules/rijndael (Makefile.am): Likewise.
59976         * modules/rmdir (Makefile.am): Likewise.
59977         * modules/rpmatch (Makefile.am): Likewise.
59978         * modules/safe-read (Makefile.am): Likewise.
59979         * modules/safe-write (Makefile.am): Likewise.
59980         * modules/same-inode (Makefile.am): Likewise.
59981         * modules/same (Makefile.am): Likewise.
59982         * modules/save-cwd (Makefile.am): Likewise.
59983         * modules/savedir (Makefile.am): Likewise.
59984         * modules/setenv (Makefile.am): Likewise.
59985         * modules/settime (Makefile.am): Likewise.
59986         * modules/sha1 (Makefile.am): Likewise.
59987         * modules/sig2str (Makefile.am): Likewise.
59988         * modules/snprintf (Makefile.am): Likewise.
59989         * modules/stat-macros (Makefile.am): Likewise.
59990         * modules/stat-time (Makefile.am): Likewise.
59991         * modules/stdbool (Makefile.am): Likewise.
59992         * modules/stdint (Makefile.am): Likewise.
59993         * modules/stdlib-safer (Makefile.am): Likewise.
59994         * modules/stpcpy (Makefile.am): Likewise.
59995         * modules/stpncpy (Makefile.am): Likewise.
59996         * modules/strcase (Makefile.am): Likewise.
59997         * modules/strcasestr (Makefile.am): Likewise.
59998         * modules/strchrnul (Makefile.am): Likewise.
59999         * modules/strcspn (Makefile.am): Likewise.
60000         * modules/strdup (Makefile.am): Likewise.
60001         * modules/strerror (Makefile.am): Likewise.
60002         * modules/strftime (Makefile.am): Likewise.
60003         * modules/strndup (Makefile.am): Likewise.
60004         * modules/strnlen (Makefile.am): Likewise.
60005         * modules/strpbrk (Makefile.am): Likewise.
60006         * modules/strsep (Makefile.am): Likewise.
60007         * modules/strstr (Makefile.am): Likewise.
60008         * modules/strtod (Makefile.am): Likewise.
60009         * modules/strtoimax (Makefile.am): Likewise.
60010         * modules/strtok_r (Makefile.am): Likewise.
60011         * modules/strtol (Makefile.am): Likewise.
60012         * modules/strtoll (Makefile.am): Likewise.
60013         * modules/strtoul (Makefile.am): Likewise.
60014         * modules/strtoull (Makefile.am): Likewise.
60015         * modules/strtoumax (Makefile.am): Likewise.
60016         * modules/strverscmp (Makefile.am): Likewise.
60017         * modules/sys_socket (Makefile.am): Likewise.
60018         * modules/sys_stat (Makefile.am): Likewise.
60019         * modules/sysexits (Makefile.am): Likewise.
60020         * modules/time_r (Makefile.am): Likewise.
60021         * modules/timegm (Makefile.am): Likewise.
60022         * modules/timespec (Makefile.am): Likewise.
60023         * modules/tmpfile-safer (Makefile.am): Likewise.
60024         * modules/trim (Makefile.am): Likewise.
60025         * modules/unistd-safer (Makefile.am): Likewise.
60026         * modules/unlinkdir (Makefile.am): Likewise.
60027         * modules/unlocked-io (Makefile.am): Likewise.
60028         * modules/userspec (Makefile.am): Likewise.
60029         * modules/utime (Makefile.am): Likewise.
60030         * modules/utimecmp (Makefile.am): Likewise.
60031         * modules/utimens (Makefile.am): Likewise.
60032         * modules/vasnprintf (Makefile.am): Likewise.
60033         * modules/vasprintf (Makefile.am): Likewise.
60034         * modules/vsnprintf (Makefile.am): Likewise.
60035         * modules/xalloc (Makefile.am): Likewise.
60036         * modules/xgetcwd (Makefile.am): Likewise.
60037         * modules/xnanosleep (Makefile.am): Likewise.
60038         * modules/xreadlink (Makefile.am): Likewise.
60039         * modules/xstrtod (Makefile.am): Likewise.
60040         * modules/xstrtol (Makefile.am): Likewise.
60041         * modules/xstrtold (Makefile.am): Likewise.
60042         * modules/yesno (Makefile.am): Likewise.
60043         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
60044
60045 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60046
60047         * modules/error (Makefile.am): Distribute files through
60048         EXTRA_DIST, not lib_SOURCES.
60049
60050 2006-10-12  Eric Blake  <ebb9@byu.net>
60051
60052         * modules/error (Makefile.am): Distribute files in /lib.
60053         * modules/obstack (Makefile.am): Likewise.
60054
60055 2006-10-12  Bruno Haible  <bruno@clisp.org>
60056
60057         * modules/acl (Makefile.am): Distribute all files in lib/ through
60058         EXTRA_DIST.
60059         * modules/arcfour (Makefile.am): Likewise.
60060         * modules/arctwo (Makefile.am): Likewise.
60061         * modules/argmatch (Makefile.am): Likewise.
60062         * modules/argz (Makefile.am): Likewise.
60063         * modules/atexit (Makefile.am): Likewise.
60064         * modules/backupfile (Makefile.am): Likewise.
60065         * modules/c-strtod (Makefile.am): Likewise.
60066         * modules/c-strtold (Makefile.am): Likewise.
60067         * modules/calloc (Makefile.am): Likewise.
60068         * modules/canon-host (Makefile.am): Likewise.
60069         * modules/canonicalize (Makefile.am): Likewise.
60070         * modules/chdir-long (Makefile.am): Likewise.
60071         * modules/chdir-safer (Makefile.am): Likewise.
60072         * modules/check-version (Makefile.am): Likewise.
60073         * modules/chown (Makefile.am): Likewise.
60074         * modules/cloexec (Makefile.am): Likewise.
60075         * modules/close-stream (Makefile.am): Likewise.
60076         * modules/closeout (Makefile.am): Likewise.
60077         * modules/crc (Makefile.am): Likewise.
60078         * modules/cycle-check (Makefile.am): Likewise.
60079         * modules/des (Makefile.am): Likewise.
60080         * modules/dirfd (Makefile.am): Likewise.
60081         * modules/dirname (Makefile.am): Likewise.
60082         * modules/dup2 (Makefile.am): Likewise.
60083         * modules/euidaccess (Makefile.am): Likewise.
60084         * modules/exclude (Makefile.am): Likewise.
60085         * modules/exitfail (Makefile.am): Likewise.
60086         * modules/fcntl-safer (Makefile.am): Likewise.
60087         * modules/file-type (Makefile.am): Likewise.
60088         * modules/fileblocks (Makefile.am): Likewise.
60089         * modules/filemode (Makefile.am): Likewise.
60090         * modules/filenamecat (Makefile.am): Likewise.
60091         * modules/fnmatch (Makefile.am): Likewise.
60092         * modules/fopen-safer (Makefile.am): Likewise.
60093         * modules/fpending (Makefile.am): Likewise.
60094         * modules/fprintftime (Makefile.am): Likewise.
60095         * modules/free (Makefile.am): Likewise.
60096         * modules/fsusage (Makefile.am): Likewise.
60097         * modules/ftruncate (Makefile.am): Likewise.
60098         * modules/fts (Makefile.am): Likewise.
60099         * modules/gc (Makefile.am): Likewise.
60100         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
60101         * modules/getaddrinfo (Makefile.am): Likewise.
60102         * modules/getcwd (Makefile.am): Likewise.
60103         * modules/getdelim (Makefile.am): Likewise.
60104         * modules/getdomainname (Makefile.am): Likewise.
60105         * modules/getgroups (Makefile.am): Likewise.
60106         * modules/gethostname (Makefile.am): Likewise.
60107         * modules/gethrxtime (Makefile.am): Likewise.
60108         * modules/getline (Makefile.am): Likewise.
60109         * modules/getloadavg (Makefile.am): Likewise.
60110         * modules/getlogin_r (Makefile.am): Likewise.
60111         * modules/getopt (Makefile.am): Likewise.
60112         * modules/getpass (Makefile.am): Likewise.
60113         * modules/getpass-gnu (Makefile.am): Likewise.
60114         * modules/getsubopt (Makefile.am): Likewise.
60115         * modules/gettime (Makefile.am): Likewise.
60116         * modules/gettimeofday (Makefile.am): Likewise.
60117         * modules/getugroups (Makefile.am): Likewise.
60118         * modules/getusershell (Makefile.am): Likewise.
60119         * modules/glob (Makefile.am): Likewise.
60120         * modules/group-member (Makefile.am): Likewise.
60121         * modules/hard-locale (Makefile.am): Likewise.
60122         * modules/hash (Makefile.am): Likewise.
60123         * modules/hmac-md5 (Makefile.am): Likewise.
60124         * modules/hmac-sha1 (Makefile.am): Likewise.
60125         * modules/human (Makefile.am): Likewise.
60126         * modules/idcache (Makefile.am): Likewise.
60127         * modules/imaxabs (Makefile.am): Likewise.
60128         * modules/imaxdiv (Makefile.am): Likewise.
60129         * modules/inet_ntop (Makefile.am): Likewise.
60130         * modules/inet_pton (Makefile.am): Likewise.
60131         * modules/inttostr (Makefile.am): Likewise.
60132         * modules/isapipe (Makefile.am): Likewise.
60133         * modules/lchown (Makefile.am): Likewise.
60134         * modules/long-options (Makefile.am): Likewise.
60135         * modules/lstat (Makefile.am): Likewise.
60136         * modules/malloc (Makefile.am): Likewise.
60137         * modules/mathl (Makefile.am): Likewise.
60138         * modules/mbchar (Makefile.am): Likewise.
60139         * modules/md2 (Makefile.am): Likewise.
60140         * modules/md4 (Makefile.am): Likewise.
60141         * modules/md5 (Makefile.am): Likewise.
60142         * modules/memcasecmp (Makefile.am): Likewise.
60143         * modules/memchr (Makefile.am): Likewise.
60144         * modules/memcmp (Makefile.am): Likewise.
60145         * modules/memcoll (Makefile.am): Likewise.
60146         * modules/memcpy (Makefile.am): Likewise.
60147         * modules/memmem (Makefile.am): Likewise.
60148         * modules/memmove (Makefile.am): Likewise.
60149         * modules/mempcpy (Makefile.am): Likewise.
60150         * modules/memrchr (Makefile.am): Likewise.
60151         * modules/memset (Makefile.am): Likewise.
60152         * modules/memxor (Makefile.am): Likewise.
60153         * modules/mkancesdirs (Makefile.am): Likewise.
60154         * modules/mkdir (Makefile.am): Likewise.
60155         * modules/mkdir-p (Makefile.am): Likewise.
60156         * modules/mkdtemp (Makefile.am): Likewise.
60157         * modules/mkstemp (Makefile.am): Likewise.
60158         * modules/mktime (Makefile.am): Likewise.
60159         * modules/modechange (Makefile.am): Likewise.
60160         * modules/mountlist (Makefile.am): Likewise.
60161         * modules/nanosleep (Makefile.am): Likewise.
60162         * modules/openat (Makefile.am): Likewise.
60163         * modules/pagealign_alloc (Makefile.am): Likewise.
60164         * modules/physmem (Makefile.am): Likewise.
60165         * modules/poll (Makefile.am): Likewise.
60166         * modules/posixtm (Makefile.am): Likewise.
60167         * modules/posixver (Makefile.am): Likewise.
60168         * modules/putenv (Makefile.am): Likewise.
60169         * modules/quote (Makefile.am): Likewise.
60170         * modules/quotearg (Makefile.am): Likewise.
60171         * modules/raise (Makefile.am): Likewise.
60172         * modules/read-file (Makefile.am): Likewise.
60173         * modules/readline (Makefile.am): Likewise.
60174         * modules/readlink (Makefile.am): Likewise.
60175         * modules/readtokens (Makefile.am): Likewise.
60176         * modules/readutmp (Makefile.am): Likewise.
60177         * modules/realloc (Makefile.am): Likewise.
60178         * modules/regex (Makefile.am): Likewise.
60179         * modules/rename (Makefile.am): Likewise.
60180         * modules/rename-dest-slash (Makefile.am): Likewise.
60181         * modules/rijndael (Makefile.am): Likewise.
60182         * modules/rmdir (Makefile.am): Likewise.
60183         * modules/rpmatch (Makefile.am): Likewise.
60184         * modules/safe-read (Makefile.am): Likewise.
60185         * modules/safe-write (Makefile.am): Likewise.
60186         * modules/same (Makefile.am): Likewise.
60187         * modules/save-cwd (Makefile.am): Likewise.
60188         * modules/savedir (Makefile.am): Likewise.
60189         * modules/setenv (Makefile.am): Likewise.
60190         * modules/settime (Makefile.am): Likewise.
60191         * modules/sha1 (Makefile.am): Likewise.
60192         * modules/sig2str (Makefile.am): Likewise.
60193         * modules/snprintf (Makefile.am): Likewise.
60194         * modules/stdlib-safer (Makefile.am): Likewise.
60195         * modules/stpcpy (Makefile.am): Likewise.
60196         * modules/stpncpy (Makefile.am): Likewise.
60197         * modules/strcase (Makefile.am): Likewise.
60198         * modules/strcasestr (Makefile.am): Likewise.
60199         * modules/strchrnul (Makefile.am): Likewise.
60200         * modules/strcspn (Makefile.am): Likewise.
60201         * modules/strdup (Makefile.am): Likewise.
60202         * modules/strerror (Makefile.am): Likewise.
60203         * modules/strftime (Makefile.am): Likewise.
60204         * modules/strndup (Makefile.am): Likewise.
60205         * modules/strnlen (Makefile.am): Likewise.
60206         * modules/strpbrk (Makefile.am): Likewise.
60207         * modules/strsep (Makefile.am): Likewise.
60208         * modules/strstr (Makefile.am): Likewise.
60209         * modules/strtod (Makefile.am): Likewise.
60210         * modules/strtoimax (Makefile.am): Likewise.
60211         * modules/strtok_r (Makefile.am): Likewise.
60212         * modules/strtol (Makefile.am): Likewise.
60213         * modules/strtoll (Makefile.am): Likewise.
60214         * modules/strtoul (Makefile.am): Likewise.
60215         * modules/strtoull (Makefile.am): Likewise.
60216         * modules/strtoumax (Makefile.am): Likewise.
60217         * modules/strverscmp (Makefile.am): Likewise.
60218         * modules/time_r (Makefile.am): Likewise.
60219         * modules/timegm (Makefile.am): Likewise.
60220         * modules/tmpfile-safer (Makefile.am): Likewise.
60221         * modules/unistd-safer (Makefile.am): Likewise.
60222         * modules/unlinkdir (Makefile.am): Likewise.
60223         * modules/userspec (Makefile.am): Likewise.
60224         * modules/utime (Makefile.am): Likewise.
60225         * modules/utimecmp (Makefile.am): Likewise.
60226         * modules/utimens (Makefile.am): Likewise.
60227         * modules/vasnprintf (Makefile.am): Likewise.
60228         * modules/vasprintf (Makefile.am): Likewise.
60229         * modules/vsnprintf (Makefile.am): Likewise.
60230         * modules/xalloc (Makefile.am): Likewise.
60231         * modules/xgetcwd (Makefile.am): Likewise.
60232         * modules/xnanosleep (Makefile.am): Likewise.
60233         * modules/xreadlink (Makefile.am): Likewise.
60234         * modules/xstrtod (Makefile.am): Likewise.
60235         * modules/xstrtol (Makefile.am): Likewise.
60236         * modules/xstrtold (Makefile.am): Likewise.
60237         * modules/yesno (Makefile.am): Likewise.
60238
60239 2006-10-12  Jim Meyering  <jim@meyering.net>
60240
60241         * m4/getloadavg.m4: Revert the change below.
60242
60243         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
60244         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
60245         fail with a symlink, which is what coreutils' ./bootstrap now
60246         creates by default.
60247
60248 2006-10-12  Bruno Haible  <bruno@clisp.org>
60249
60250         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
60251         mingw.
60252         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
60253         MSVC and mingw explicitly.
60254
60255 2006-10-11  Simon Josefsson  <jas@extundo.com>
60256             Bruno Haible  <bruno@clisp.org>
60257
60258         Add support for multiple gnulib-tool invocations in the scope of a
60259         single configure.ac file.
60260         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
60261         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
60262         with the same contents as the _LIBADD variable.
60263         (func_emit_initmacro_start, func_emit_initmacro_end,
60264         func_emit_initmacro_done): New functions.
60265         (func_import, func_create_testdir): Invoke them. Allow the identifiers
60266         gl_LIBOBJS and gl_LTLIBOBJS.
60267
60268 2006-10-11  Bruno Haible  <bruno@clisp.org>
60269
60270         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
60271         (func_create_testdir): Don't create po/Makefile.am, don't invoke
60272         autoreconf. Instead, invoke autopoint explicitly but move back the
60273         *.m4 files from gnulib.
60274
60275 2006-10-11  Bruno Haible  <bruno@clisp.org>
60276
60277         * gnulib-tool (func_usage): Make module names after --create-testdir
60278         optional.
60279         (func_create_testdir): If no module was specified, use nearly all
60280         modules.
60281
60282 2006-10-12  Jim Meyering  <jim@meyering.net>
60283
60284         Big performance improvement for fts-based tools that use FTS_NOSTAT.
60285         Avoid spurious inode-mismatch problems on non-POSIX file systems.
60286         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
60287         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
60288         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
60289         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
60290         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
60291         (fts_set_stat_required): New function.
60292         (fts_open): Defer the calls to fts_stat, if possible or requested.
60293         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
60294         into fts_stat itself.
60295         (fts_read): Perform any required (deferred) fts_stat call.
60296         (fts_build): Likewise, for the directory we're about to open and read.
60297         In the readdir loop, carefully decide whether each entry will require
60298         an eventual call to fts_stat, using dirent.d_type info if available.
60299         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
60300         a command line argument into this function.  Update all callers.
60301         Map a return value of FTS_DOT to FTS_D for a command line argument.
60302         * modules/fts (Depends-on): Add d-type.  Alphabetize.
60303         Thanks to Miklos Szeredi for his tenacity and for the initial
60304         bug report about "find" failing on a FUSE-based file system.
60305
60306         * lib/fts.c (fts_open): Use consistent indentation.
60307
60308 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60309
60310         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
60311         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
60312         reported by Jim Meyering.  All uses of cache variables renamed
60313         to match Autoconf's.
60314         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
60315         the other one.
60316
60317         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
60318         Fix misspelling in diagnostic.
60319
60320 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60321
60322         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
60323         defined.  Problem reported by Matthew Woehlke.
60324
60325         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
60326         Add support for Tandem NonStop R series.
60327         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
60328         Use new macro.
60329
60330         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
60331         (has_trailing_slash): Omit size arg; all callers changed.
60332         Omit 'inline', since it doesn't help performance and we'd
60333         need to configure it.
60334         Don't count //, ///, etc. as having a trailing slash.
60335         As a side effect, this removes a C99ism reported by Matthew Woehlke.
60336         (rpl_rename_dest_slash): On failure, use rename's errno rather
60337         than (in some cases) an incorrect or junk errno.
60338         Simplify code by removing need to compute length; this does
60339         cause it to make two passes instead of one over the file name,
60340         but it's worth it.
60341
60342         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
60343         change, since Autoconf's version may no longer be appropriate now
60344         that we are using CVS Autoconf's version.  Add support for Tandem.
60345
60346 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60347             Bruno Haible  <bruno@clisp.org>
60348
60349         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
60350         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
60351         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
60352         gl_AC_TYPE_LONG_LONG.
60353
60354         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
60355         instead of HAVE_LONG_LONG.
60356         * lib/printf-args.c (printf_fetchargs): Likewise.
60357         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
60358         * lib/vasnprintf.c (VASNPRINTF): Likewise.
60359         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
60360         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
60361         gl_AC_TYPE_LONG_LONG.
60362
60363 2006-10-11  Bruno Haible  <bruno@clisp.org>
60364
60365         * m4/longlong.m4: Add comments.
60366         * m4/ulonglong.m4: Likewise.
60367
60368 2006-10-10  Bruno Haible  <bruno@clisp.org>
60369
60370         Make it possible to #define stpcpy, strdup to aliases.
60371         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
60372         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
60373
60374 2006-10-10  Bruno Haible  <bruno@clisp.org>
60375
60376         Make it possible to #define gcd to an alias.
60377         * lib/gcd.c: Include config.h.
60378
60379 2006-10-10  Bruno Haible  <bruno@clisp.org>
60380
60381         Make it possible to #define c_isascii to an alias.
60382         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
60383         defined. Undefine the macros before defining them, to avoid gcc
60384         warnings.
60385         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
60386         define NO_C_CTYPE_MACROS early.
60387
60388 2006-10-10  Bruno Haible  <bruno@clisp.org>
60389
60390         Make it possible to #define set_program_name to an alias.
60391         * lib/progname.c: Don't undefine set_program_name; instead, undefine
60392         ENABLE_RELOCATABLE early.
60393
60394 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60395
60396         Port to Tandem NSK OSS, which has 64-bit signed int but at most
60397         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
60398         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
60399         More generally, don't assume that 64-bit signed int is available
60400         if unsigned int is, and vice versa.
60401         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
60402         unsigned symbols, not on their signed counterparts.
60403         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
60404         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
60405         (UINT64_C, UINTMAX_C):
60406         Likewise.
60407         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
60408         unsigned counterparts.
60409         (Have_long_long, Unsigned): New macros.
60410         (Int): Renamed from INT.
60411         (strtoimax): Use the new macros.
60412         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
60413         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
60414         * modules/inttypes (inttypes.h): Substitute
60415         HAVE_UNSIGNED_LONG_LONG_INT.
60416         * modules/stdint (stdint.h): Likewise.
60417         (Files): Add m4/ulonglong.m4.
60418
60419 2006-10-10  Bruno Haible  <bruno@clisp.org>
60420
60421         Fix a gcc -Wshadow warning.
60422         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
60423         to 'bucket'.
60424         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
60425         gl_linked_indexof_from_to): Likewise.
60426         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
60427         Likewise.
60428         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
60429         Likewise.
60430         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
60431         Reported by Eric Blake.
60432
60433 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
60434
60435         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
60436         for NetBSD.  Problem reported by Bruno Haible.
60437
60438 2006-10-09  Jim Meyering  <jim@meyering.net>
60439
60440         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
60441         Patch from Bruno Haible.
60442
60443 2006-10-09  Jim Meyering  <jim@meyering.net>
60444
60445         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
60446         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
60447         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
60448
60449 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
60450
60451         Don't include <config.h> twice; this doesn't work in some cases,
60452         e.g., when config.h has "#define intmax_t long long int" and
60453         we include <config.h>, <inttypes.h>, <config.h> in that order.
60454         Problem reported by Matthew Woehlke in:
60455         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
60456         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
60457         * lib/fts-cycle.c: Don't include config.h.
60458         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
60459         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
60460         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
60461         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
60462         inttypes.h.
60463         * lib/xstrtoumax.c: Likewise.
60464         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
60465         __strtol and the like, so that this module is more like its siblings.
60466         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
60467         Remove; no longer needed now that we assume gnulib inttypes.h.
60468
60469 2006-10-08  Bruno Haible  <bruno@clisp.org>
60470
60471         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
60472         option.
60473
60474 2006-10-07  Jim Meyering  <jim@meyering.net>
60475
60476         * modules/inttypes (inttypes.h): Revert what seems to have been
60477         an inadvertent part of today's change: use "|", not "/" in the
60478         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
60479
60480 2006-10-07  Bruno Haible  <bruno@clisp.org>
60481
60482         * modules/sublist: New file.
60483
60484 2006-10-07  Bruno Haible  <bruno@clisp.org>
60485
60486         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
60487         * modules/argz (argz.h): Likewise.
60488         * modules/arpa_inet (arpa/inet.h): Likewise.
60489         * modules/byteswap (byteswap.h): Likewise.
60490         * modules/configmake (configmake.h): Likewise.
60491         * modules/fcntl (fcntl.h): Likewise.
60492         * modules/fnmatch (fnmatch.h): Likewise.
60493         * modules/getopt (getopt.h): Likewise.
60494         * modules/glob (glob.h): Likewise.
60495         * modules/inttypes (inttypes.h): Likewise.
60496         * modules/netinet_in (netinet/in.h): Likewise.
60497         * modules/poll (poll.h): Likewise.
60498         * modules/stdbool (stdbool.h): Likewise.
60499         * modules/stdint (stdint.h): Likewise.
60500         * modules/sys_select (sys/select.h): Likewise.
60501         * modules/sys_socket (sys/socket.h): Likewise.
60502         * modules/sys_stat (sys/stat.h): Likewise.
60503         * modules/sysexits (sysexits.h): Likewise.
60504         * modules/unistd (unistd.h): Likewise.
60505         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60506         Add a "DO NOT EDIT" comment to the generated file.
60507         (func_import): Likewise for gnulib-comp.m4.
60508
60509 2006-10-07  Bruno Haible  <bruno@clisp.org>
60510
60511         * lib/gl_sublist.h: New file.
60512         * lib/gl_sublist.c: New file.
60513
60514 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60515
60516         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
60517         name (relative to the original working directory) and the file
60518         name component (relative to the temporary working directory).  All
60519         callers changed.
60520         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
60521         * lib/mkdir-p.c (make_dir_parents): Likewise.
60522         * lib/mkdir-p.h (make_dir_parents): Likewise.
60523
60524 2006-10-06  Eric Blake  <ebb9@byu.net>
60525
60526         Define several macros for use by the clean-temp module.
60527         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
60528         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
60529         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
60530
60531         * lib/clean-temp.h (close_stream_temp): New declaration.
60532         * lib/clean-temp.c (includes): Pull in headers according to what
60533         other modules are in use.
60534         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
60535
60536 2006-10-06  Bruno Haible  <bruno@clisp.org>
60537
60538         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
60539         instead of fopen, fwriteerror.
60540
60541 2006-10-06  Bruno Haible  <bruno@clisp.org>
60542
60543         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
60544         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
60545         int.
60546         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
60547         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
60548         Return an error indicator.
60549         Suggested by Eric Blake.
60550
60551 2006-10-06  Bruno Haible  <bruno@clisp.org>
60552
60553         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
60554         Reported by Eric Blake.
60555
60556 2006-10-06  Bruno Haible  <bruno@clisp.org>
60557
60558         * modules/closeout (Description): Mention stderr too.
60559
60560 2006-10-06  Bruno Haible  <bruno@clisp.org>
60561         and Paul Eggert  <eggert@cs.ucla.edu>
60562
60563         * lib/closeout.c (close_stdout): Also close stderr.
60564         * lib/closeout.h: Update comment.
60565
60566 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
60567
60568         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
60569         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
60570         * lib/dirchownmod.c: Include lchown.h.
60571         * lib/lchown.c: Don't include files that lchown.h now includes.
60572         Don't declare chown, since lchown.h now does that.
60573         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
60574         (lchown): Define to rpl_chown if lchown is declared but
60575         does not exist.  Declare using a prototype if lchown is not
60576         declared.  Add a copyright notice.
60577         * lib/mkstemp.h: Include <unistd.h>.
60578         * lib/openat.c: Include lchown.h.
60579
60580         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
60581         we now test for that separately.
60582         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
60583         rather than O_NOFOLLOW, when testing whether it's possible to
60584         avoid a race condition reliably.
60585         * lib/savewd.c (savewd_chdir): Likewise.
60586
60587         Remove macros that are no longer needed now that stdint.h is
60588         reliable.
60589         * lib/fsusage.c (UINTMAX_MAX): Remove.
60590         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
60591         * lib/utimecmp.c (SIZE_MAX): Remove.
60592
60593         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
60594
60595         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
60596         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
60597         O_NOATIME works.
60598
60599 2006-10-05  Bruno Haible  <bruno@clisp.org>
60600
60601         * lib/gl_list.h (gl_sortedlist_search_from_to,
60602         gl_sortedlist_indexof_from_to): New declarations.
60603         (gl_list_implementation): New fields sortedlist_search_from_to,
60604         sortedlist_indexof_from_to.
60605         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
60606         inline functions.
60607         * lib/gl_list.c (gl_sortedlist_search_from_to,
60608         gl_sortedlist_indexof_from_to): New functions.
60609         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
60610         function.
60611         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
60612         (gl_array_sortedlist_search_from_to): New function.
60613         (gl_array_list_implementation): Update.
60614         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
60615         function.
60616         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
60617         (gl_carray_sortedlist_search_from_to): New function.
60618         (gl_carray_list_implementation): Update.
60619         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
60620         gl_linked_sortedlist_indexof_from_to): New functions.
60621         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60622         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60623         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
60624         gl_tree_sortedlist_indexof_from_to): New functions.
60625         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60626         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60627         Update.
60628         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60629         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
60630         Update.
60631
60632 2006-10-05  Bruno Haible  <bruno@clisp.org>
60633
60634         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
60635         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
60636         (struct gl_list_implementation): Add fields search_from_to,
60637         indexof_from_to. Remove fields search, indexof.
60638         (gl_list_search): Use the search_from_to method.
60639         (gl_list_search_from, gl_list_search_from_to): New functions.
60640         (gl_list_indexof): Use the indexof_from_to method.
60641         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
60642         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
60643         (gl_list_search_from, gl_list_search_from_to): New functions.
60644         (gl_list_indexof): Use the indexof_from_to method.
60645         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
60646         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
60647         gl_array_indexof. Add start_index, end_index arguments.
60648         (gl_array_search_from_to): Renamed from gl_array_search. Add
60649         start_index, end_index arguments.
60650         (gl_array_remove, gl_array_list_implementation): Update.
60651         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
60652         gl_carray_indexof. Add start_index, end_index arguments.
60653         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
60654         start_index, end_index arguments.
60655         (gl_carray_remove, gl_carray_list_implementation): Update.
60656         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
60657         gl_linked_search. Add start_index, end_index arguments.
60658         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
60659         start_index, end_index arguments.
60660         (gl_linked_remove): Update.
60661         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60662         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60663         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
60664         field to 'size_t'.
60665         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
60666         gl_tree_search. Add start_index, end_index arguments.
60667         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
60668         start_index, end_index arguments.
60669         (gl_tree_remove): Update.
60670         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60671         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60672         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
60673         function.
60674         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
60675         gl_tree_search. Add start_index, end_index arguments.
60676         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
60677         start_index, end_index arguments.
60678         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60679         Update.
60680         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
60681
60682 2006-10-05  Bruno Haible  <bruno@clisp.org>
60683
60684         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
60685
60686         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
60687         fwriteerror_temp): New declarations.
60688         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
60689         (descriptors): New variable.
60690         (cleanup): First, close the descriptors.
60691         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
60692         fclose_temp, fwriteerror_temp): New functions.
60693
60694 2006-10-04  Jim Meyering  <jim@meyering.net>
60695
60696         * lib/fts.c (fts_open): Tiny comment change.
60697
60698 2006-10-04  Bruno Haible  <bruno@clisp.org>
60699
60700         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
60701         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
60702         gl_LOCK_BODY.
60703         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
60704         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
60705         gl_LOCK_EARLY_BODY.
60706         (gl_LOCK): Require gl_LOCK_BODY.
60707
60708 2006-10-04  Bruno Haible  <bruno@clisp.org>
60709
60710         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
60711         (gl_oset_search_atleast): New declaration.
60712         (struct gl_oset_implementation): Add field 'search_atleast'.
60713         (gl_oset_search_atleast): New inline function.
60714         * lib/gl_oset.c (gl_oset_search_atleast): New function.
60715         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
60716         (gl_array_oset_implementation): Update.
60717         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
60718         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
60719         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
60720
60721 2006-10-04  Bruno Haible  <bruno@clisp.org>
60722
60723         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
60724
60725 2006-10-03  Bruno Haible  <bruno@clisp.org>
60726
60727         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
60728         from gl_avltreehash_list_implementation.
60729
60730 2006-10-03  Bruno Haible  <bruno@clisp.org>
60731
60732         * lib/gl_oset.c (gl_oset_add): Fix return type.
60733
60734 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
60735
60736         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
60737
60738 2006-10-02  Eric Blake  <ebb9@byu.net>
60739
60740         * modules/strnlen (Depends-on): Add extensions.
60741
60742 2006-10-02  Eric Blake  <ebb9@byu.net>
60743
60744         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
60745         definition in 2.60+.
60746
60747 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
60748
60749         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
60750         checks.
60751
60752 2006-10-02  Bruno Haible  <bruno@clisp.org>
60753
60754         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
60755         to the AUTOMAKE_OPTIONS.
60756         Reported by Jim Meyering.
60757
60758 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
60759
60760         Work around bug in Solaris 10 /proc file system:
60761         /proc/self/fd/NNN/.. isn't the parent directory of
60762         the directory whose file descriptor is NNN.  This needs to
60763         be worked around at run time, not compile time, since a
60764         program might be built on Solaris 8, where things work, and
60765         run on Solaris 10.
60766         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
60767         to use the following interface instead:
60768         (OPENAT_BUFFER_SIZE): New macro.
60769         (openat_proc_name): New function.
60770         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
60771         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
60772         Likewise.
60773         * lib/openat-proc.c: New file.
60774         * modules/openat (Files): Add lib/openat-proc.c.
60775         (Depends-on): Add same-inode, stdbool.
60776         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
60777
60778 2006-09-29  Bruno Haible  <bruno@clisp.org>
60779
60780         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
60781         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
60782         argument. Set stdout_closed before testing for ferror, not after.
60783         (fwriteerror, fwriteerror_no_ebadf): New functions.
60784
60785 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60786
60787         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
60788
60789 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
60790
60791         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
60792         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
60793
60794 2006-09-28  Jim Meyering  <jim@meyering.net>
60795
60796         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
60797         Include <unistd.h>.
60798
60799 2006-09-28  Bruno Haible  <bruno@clisp.org>
60800
60801         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
60802         * modules/linkedhash-list (Depends-on): Likewise.
60803         * modules/rbtreehash-list (Depends-on): Likewise.
60804
60805 2006-09-28  Bruno Haible  <bruno@clisp.org>
60806
60807         * lib/strndup.h: Simplify the redefinition of strndup.
60808         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
60809         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
60810
60811 2006-09-28  Bruno Haible  <bruno@clisp.org>
60812
60813         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
60814         * lib/gl_linkedhash_list.c: Likewise.
60815         * lib/gl_rbtreehash_list.c: Likewise.
60816
60817 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
60818
60819         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
60820         getaddrinfo.
60821
60822         * lib/__fpending.h: Don't include <stdio_ext.h> unless
60823         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
60824         it causes <stdio_ext.h> to cause a compile-time error.
60825         Problem reported by Nelson H. F. Beebe.
60826         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
60827         of HAVE_DECL___PENDING.
60828
60829         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
60830         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
60831         declaration.
60832
60833 2006-09-27  Jim Meyering  <jim@meyering.net>
60834
60835         This file could end up with a definition for a function
60836         named __strndup, rather than rpl_strndup on a system with
60837         incomplete weak_alias support.
60838         * lib/strndup.c (strndup): Rename from __strndup.
60839         Remove #defines that used to map __strndup to strndup.
60840         Don't use K&R prototypes.
60841         Remove LIBC-related code, since this file is not sync'd with glibc.
60842         * lib/strndup.h: Revamp, accordingly.
60843         * m4/strndup.m4: Modernize.
60844
60845 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
60846
60847         * modules/savewd (Depends-on): Add 'raise'.
60848         * lib/savewd.c: Include <signal.h>, for 'raise'.
60849
60850 2006-09-26  Jim Meyering  <jim@meyering.net>
60851
60852         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
60853         when we detect Darwin 8.7.0's acl_get_file bug.
60854         Rearrange to perform the new (below) run-test while $LIBS
60855         contains any acl-related library.  Set USE_ACL at the end.
60856         (gl_ACL_GET_FILE): New function.
60857
60858 2006-09-26  Eric Blake  <ebb9@byu.net>
60859
60860         * lib/verror.c: Include <config.h> unconditionally.
60861
60862 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
60863
60864         * modules/clock-time (Maintainer): Add self.
60865         * modules/getlogin_r (Depends-on): Add extensions.
60866
60867 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60868
60869         * modules/clock-time: New module.
60870         * modules/nanosleep (Depends-on): Add clock-time.
60871         * modules/gethrxtime (Depends-on): Likewise.
60872         * modules/gettime (Depends-on): Likewise.
60873         * modules/settime (Depends-on): Likewise.
60874
60875         * modules/fts-lgpl: Depend on openat.
60876         * modules/mkancesdirs: Depend on savewd.
60877         * modules/mkdir-p: Likewise.
60878
60879 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60880
60881         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
60882
60883         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
60884         `gl_have_arbitrary_file_name_length_limit' to
60885         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
60886         actually works between configure runs.
60887
60888 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60889             Bruno Haible  <bruno@clisp.org>
60890
60891         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
60892
60893 2006-09-25  Jim Meyering  <jim@meyering.net>
60894
60895         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
60896         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
60897
60898 2006-09-25  Eric Blake  <ebb9@byu.net>
60899
60900         * gnulib-tool (func_import, func_create_testdir): Fix typos in
60901         exec's in 2006-09-18 patch when shuffling fds.
60902
60903 2006-09-25  Bruno Haible  <bruno@clisp.org>
60904
60905         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
60906         Reported by Jim Meyering.
60907
60908 2006-09-24  Jim Meyering  <jim@meyering.net>
60909
60910         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
60911         compare a pointer against a literal "0".  That caused failures with
60912         at least HP-UX's hpcc.
60913
60914 2006-09-22  Simon Josefsson  <jas@extundo.com>
60915
60916         * modules/gc-sha1:
60917         * modules/gc-md4:
60918         * modules/gc-hmac-sha1:
60919         * modules/gc-hmac-md5:
60920         * modules/gc-des:
60921         * modules/gc-arcfour: Distribute more files.
60922
60923 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60924
60925         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
60926         (gl_linked_iterator_from_to): Initialize struct completely.
60927         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
60928         (gl_tree_iterator_from_to): Likewise
60929         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
60930         * lib/gl_array_list.c [lint] (gl_array_iterator)
60931         (gl_array_iterator_from_to): Likewise.
60932         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
60933         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
60934         (gl_carray_iterator_from_to): Likewise.
60935
60936         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
60937         * lib/md4.c (md4_process_block): Remove unused variable.
60938         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
60939         parentheses for clarity.
60940
60941 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60942
60943         * modules/bison-i18n (Depends-on): Add gettext.
60944
60945 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60946
60947         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
60948         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
60949         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
60950         also add missing comma that caused broken test.
60951         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
60952         stdlib.h, for `abort'.
60953         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
60954         variables.
60955         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
60956         include unistd.h if present, for `rmdir'.
60957         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
60958         variables.
60959         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
60960         in the process include standard headers for prototypes.
60961         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
60962         gets declared on GNU/Linux.
60963         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
60964         unistd.h, for `rmdir'.
60965         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
60966
60967         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
60968         always true.
60969         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
60970
60971         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
60972
60973 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60974
60975         * gnulib-tool (func_version): Create output all at once.  This
60976         may help avoid triggering unnecessary SIGPIPEs, and at any
60977         rate it doesn't hurt.
60978
60979 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60980             Bruno Haible  <bruno@clisp.org>
60981
60982         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
60983         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60984         * m4/signed.m4 (bh_C_SIGNED): Likewise.
60985
60986         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
60987         (gl_FUNC_VASPRINTF): Invoke it.
60988
60989 2006-09-22  Bruno Haible  <bruno@clisp.org>
60990
60991         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
60992         getloadavg.c as first argument.
60993
60994 2006-09-22  Bruno Haible  <bruno@clisp.org>
60995
60996         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
60997         at the beginning of the gl_INIT macro.
60998         * modules/getloadavg (configure.ac): Pass $gl_source_base to
60999         gl_GETLOADAVG.
61000
61001 2006-09-22  Bruno Haible  <bruno@clisp.org>
61002
61003         * gnulib-tool (func_create_megatestdir): Don't include the config-h
61004         module.
61005         Suggested by Ralf Wildenhues.
61006
61007 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
61008
61009         Import this patch from libc:
61010
61011         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
61012
61013         * lib/regex_internal.c (re_string_reconstruct): Handle
61014         offset < pstr->valid_raw_len && pstr->offsets_needed case.
61015         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
61016         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
61017         re_string_context_at.
61018
61019         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
61020         now requires it.
61021         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
61022         gl_REGEX now does it for us.
61023         (gl_REGEX): Add test taken from
61024         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
61025
61026         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
61027         Check that large offsets work.  Modernize Autoconf usages.
61028         Prefer "yes" to mean a good thing rather than a bad.
61029         Don't put "#define mkstemp" in config.h, as this might interfere
61030         with standard system headers that "#define mkstemp mkstemp64".
61031
61032         * modules/mkstemp (Depends-on): Add extensions, so that
61033         mkstemp is visible on some platforms.
61034         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
61035         (Include): Change to "mkstemp.h" from <stdlib.h>.
61036         (Files): Add mkstemp.h.
61037
61038         * lib/mkstemp.h: New file, since some standard headers
61039         #define mkstemp.
61040         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
61041         Include "mkstemp.h".
61042         Make the _LIBC code resemble glibc original more,
61043         e.g., use K&R style.
61044         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
61045         (mkstemp): Remove, since mkstemp.h does this for us.
61046         * lib/stdlib--.h: Include mkstemp.h.
61047
61048         Import this patch from libc:
61049
61050         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
61051
61052         * lib/tempname.c (__gen_tempname): Change attempts_min
61053         into a macro.  Use preprocessor to decide how to initialize
61054         attempts [Coverity CID 67].
61055
61056 2006-09-20  Bruno Haible  <bruno@clisp.org>
61057
61058         * lib/mkdtemp.c: Import from libc.
61059         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
61060                 * sysdeps/posix/tempname.c (__gen_tempname): Change
61061                 attempts_min into a macro.  Use preprocessor to decide how to
61062                 initialize attempts [Coverity CID 67].
61063         2001-11-27  Paul Eggert  <eggert@twinsun.com>
61064                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
61065                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
61066
61067 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61068
61069         * gnulib-tool (func_exit): New function, to allow to pass the
61070         exit status portably through the trap.  Use everywhere.
61071         (--help, --version): Signal a write error.
61072         (trap): catch SIGPIPE, for write errors.
61073         Exit at the end of the trap, with the correct exit status.
61074
61075 2006-09-19  Karl Berry  <karl@gnu.org>
61076
61077         * doc/gnulib.texi: note about the license texinfo files.
61078
61079 2006-09-19  Eric Blake  <ebb9@byu.net>
61080
61081         * gnulib-tool: Avoid space-tab.
61082
61083 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
61084
61085         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
61086         that prevented coreutils 6.1 from building.  Problem reported
61087         by Petter Reinholdtsen.
61088
61089 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
61090
61091         * gnulib-tool (avoidlist): Fix typo that broke options like
61092         --avoid=lock that are used by coreutils bootstrap.
61093
61094 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
61095
61096         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
61097         more systematically.
61098
61099 2006-09-18  Jim Meyering  <jim@meyering.net>
61100
61101         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
61102
61103 2006-09-18  Bruno Haible  <bruno@clisp.org>
61104
61105         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
61106
61107 2006-09-18  Bruno Haible  <bruno@clisp.org>
61108
61109         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
61110         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
61111         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
61112         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
61113         * m4/gettext.m4: Require autoconf >= 2.52.
61114         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
61115         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
61116         of gl_cv_header_inttypes_h.
61117
61118 2006-09-18  Bruno Haible  <bruno@clisp.org>
61119
61120         * lib/javaversion.c: Include configmake.h.
61121
61122 2006-09-18  Bruno Haible  <bruno@clisp.org>
61123
61124         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
61125         avoid that the while loops be executed in a subshell.
61126
61127 2006-09-18  Bruno Haible  <bruno@clisp.org>
61128
61129         * MODULES.html.sh (func_module): Break long lines.
61130         Suggested by Bruce Korb <bkorb@gnu.org>.
61131
61132 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61133
61134         Speed up by a factor of 1.12.
61135         * gnulib-tool (nl): New variable.
61136         (func_import): Rewrite include directive extraction to only read each
61137         directive once.
61138
61139 2006-09-17  Bruno Haible  <bruno@clisp.org>
61140
61141         * modules/javaversion (Makefile.am): Remove DEFS setting.
61142         (Depends-on): Add configmake, for PKGDATADIR definition.
61143
61144 2006-09-17  Bruno Haible  <bruno@clisp.org>
61145
61146         * gnulib-tool (func_create_testdir): Rewrite all files at once.
61147
61148 2006-09-17  Bruno Haible  <bruno@clisp.org>
61149
61150         * gnulib-tool (func_append): New function, stolen from libtool.m4.
61151         (func_modules_transitive_closure, func_modules_add_dummy,
61152         func_modules_to_filelist, func_import, func_create_testdir,
61153         func_create_megatestdir, ...): Use it wherever possible.
61154         Suggested by Ralf Wildenhues.
61155
61156 2006-09-16  Karl Berry  <karl@gnu.org>
61157
61158         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
61159         to avoid sectioning errors.
61160         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
61161         [ifinfo]: blank line after @center-ed titles.
61162         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
61163         Spell FSF address consistently with others.
61164         (These changes approved by rms.)
61165
61166 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61167
61168         Speed up by a factor of 1.61.
61169         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
61170         already checked module names again.
61171
61172 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61173
61174         Speed up by a factor of 1.13.
61175         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
61176         for new_files, and the input to func_add_or_update.
61177
61178 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61179
61180         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
61181         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
61182
61183 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61184
61185         * modules/mkancesdirs (Depends-on): Add fcntl.
61186         * modules/savewd: New file.
61187         * MODULES.html.sh (File system functions): Add savewd.
61188
61189         * modules/configmake (Makefile.am): Add support for the
61190         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
61191
61192 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61193
61194         * m4/savewd.m4: New file.
61195
61196 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61197
61198         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
61199         (dirchownmod): New arg FD.  All callers changed.
61200         Use FD rather than opening the directory ourself, as opening is
61201         now the caller's responsibility.
61202         * lib/dirchownmod.h: Likewise.
61203         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
61204         hosts that require <sys/types.h> before <sys/stat.h>.  Include
61205         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
61206         (test_dir): Remove.
61207         (mkancesdirs): Return length of prefix of FILE that has already
61208         been made, or -2 if there is a child doing the work.  Redo
61209         algorithm so that it is O(N) rather than O(N**2).  Optimize away
61210         ".", and treat ".." specially since it might stray back into
61211         already-created areas.  Use a subprocess if necessary.  New arg
61212         WD; all users changed.  MAKE_DIR function should now return 1
61213         if it creates a directory that is not readable.  Return -2 if
61214         a child process is spun off.
61215         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
61216         Adjust signature to match code.
61217         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
61218         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
61219         all users changed.
61220         * lib/savewd.c, lib/savewd.h: New files.
61221
61222 2006-09-15  Jim Meyering  <jim@meyering.net>
61223
61224         * modules/rename-dest-slash: New module.
61225         * MODULES.html.sh (posix_compat): Add it here.
61226
61227         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
61228
61229 2006-09-15  Jim Meyering  <jim@meyering.net>
61230
61231         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
61232         file.
61233
61234         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
61235
61236 2006-09-15  Jim Meyering  <jim@meyering.net>
61237
61238         * lib/rename-dest-slash.c (has_trailing_slash): Use
61239         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
61240         (rpl_rename_dest_slash): Perform the cheaper trailing slash
61241         test before testing whether SRC is a directory.
61242         Suggestions from Bruno Haible.
61243
61244         Avoid a warning about an unused variable.
61245         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
61246         into the #ifdef block where it's used.
61247
61248         * lib/rename-dest-slash.c: New file.
61249
61250 2006-09-14  Bruno Haible  <bruno@clisp.org>
61251
61252         * lib/allocsa.c: Include <config.h> unconditionally.
61253         * lib/asnprintf.c: Likewise.
61254         * lib/asprintf.c: Likewise.
61255         * lib/c-strcasecmp.c: Likewise.
61256         * lib/c-strcasestr.c: Likewise.
61257         * lib/c-strncasecmp.c: Likewise.
61258         * lib/c-strstr.c: Likewise.
61259         * lib/classpath.c: Likewise.
61260         * lib/clean-temp.c: Likewise.
61261         * lib/concatpath.c: Likewise.
61262         * lib/copy-file.c: Likewise.
61263         * lib/csharpcomp.c: Likewise.
61264         * lib/csharpexec.c: Likewise.
61265         * lib/execute.c: Likewise.
61266         * lib/fatal-signal.c: Likewise.
61267         * lib/findprog.c: Likewise.
61268         * lib/fwriteerror.c: Likewise.
61269         * lib/gl_array_list.c: Likewise.
61270         * lib/gl_array_oset.c: Likewise.
61271         * lib/gl_avltree_list.c: Likewise.
61272         * lib/gl_avltree_oset.c: Likewise.
61273         * lib/gl_avltreehash_list.c: Likewise.
61274         * lib/gl_carray_list.c: Likewise.
61275         * lib/gl_linked_list.c: Likewise.
61276         * lib/gl_linkedhash_list.c: Likewise.
61277         * lib/gl_list.c: Likewise.
61278         * lib/gl_oset.c: Likewise.
61279         * lib/gl_rbtree_list.c: Likewise.
61280         * lib/gl_rbtree_oset.c: Likewise.
61281         * lib/gl_rbtreehash_list.c: Likewise.
61282         * lib/imaxabs.c: Likewise.
61283         * lib/imaxdiv.c: Likewise.
61284         * lib/javacomp.c: Likewise.
61285         * lib/javaexec.c: Likewise.
61286         * lib/javaversion.c: Likewise.
61287         * lib/linebreak.c: Likewise.
61288         * lib/localcharset.c: Likewise.
61289         * lib/lock.c: Likewise.
61290         * lib/mbchar.c: Likewise.
61291         * lib/mbswidth.c: Likewise.
61292         * lib/mkdtemp.c: Likewise.
61293         * lib/pipe.c: Likewise.
61294         * lib/printf-args.c: Likewise.
61295         * lib/printf-parse.c: Likewise.
61296         * lib/progname.c: Likewise.
61297         * lib/progreloc.c: Likewise.
61298         * lib/readlink.c: Likewise.
61299         * lib/sh-quote.c: Likewise.
61300         * lib/stpcpy.c: Likewise.
61301         * lib/stpncpy.c: Likewise.
61302         * lib/strcasecmp.c: Likewise.
61303         * lib/strcasestr.c: Likewise.
61304         * lib/strcspn.c: Likewise.
61305         * lib/striconv.c: Likewise.
61306         * lib/strncasecmp.c: Likewise.
61307         * lib/strnlen1.c: Likewise.
61308         * lib/strstr.c: Likewise.
61309         * lib/strtok_r.c: Likewise.
61310         * lib/tls.c: Likewise.
61311         * lib/tmpdir.c: Likewise.
61312         * lib/unicodeio.c: Likewise.
61313         * lib/unsetenv.c: Likewise.
61314         * lib/vasnprintf.c: Likewise.
61315         * lib/vasprintf.c: Likewise.
61316         * lib/wait-process.c: Likewise.
61317         * lib/xallocsa.c: Likewise.
61318         * lib/xsetenv.c: Likewise.
61319         * lib/xstriconv.c: Likewise.
61320
61321 2006-09-13  Simon Josefsson  <jas@extundo.com>
61322
61323         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
61324         that internally, suggested by Ralf Wildenhues
61325         <Ralf.Wildenhues@gmx.de>.
61326
61327 2006-09-13  Simon Josefsson  <jas@extundo.com>
61328
61329         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
61330         @LIBOBJS@.
61331         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61332
61333 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
61334
61335         * lib/_fpending.c: Include <config.h> unconditionally, since we no
61336         longer worry about uses that don't define HAVE_CONFIG_H.
61337         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
61338         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
61339         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
61340         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
61341         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
61342         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
61343         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
61344         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
61345         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
61346         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
61347         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
61348         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
61349         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
61350         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
61351         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
61352         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
61353         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
61354         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
61355         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
61356         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
61357         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
61358         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
61359         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
61360         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
61361         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
61362         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
61363         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
61364         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
61365         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
61366         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
61367         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
61368         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
61369         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
61370         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
61371         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
61372         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
61373         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
61374         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
61375         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
61376         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
61377         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
61378         Likewise.
61379
61380 2006-09-13  Eric Blake  <ebb9@byu.net>
61381
61382         * lib/getopt.c: Fix typo in last commit.
61383
61384 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61385
61386         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
61387         dgettext.
61388
61389 2006-09-12  Jim Meyering  <jim@meyering.net>
61390
61391         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
61392         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
61393         Reported by Nelson H. F. Beebe.
61394
61395 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61396
61397         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
61398         program_invocation_name and program_invocation_short_name are
61399         initialized.
61400         * lib/argp-namefrob.h: Move declarations of program_invocation_name
61401         and program_invocation_short_name to argp.h, so they are visible
61402         to user programs.
61403         * lib/argp.h: Likewise
61404
61405 2006-09-10  Bruno Haible  <bruno@clisp.org>
61406
61407         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
61408         m4/inttypes_h.m4, m4/uintmax_t.m4.
61409
61410 2006-09-10  Bruno Haible  <bruno@clisp.org>
61411
61412         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
61413         gl_AC_TYPE_UINTMAX_T.
61414
61415 2006-09-10  Bruno Haible  <bruno@clisp.org>
61416
61417         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
61418
61419 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61420
61421         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
61422         convention.  Text proposed by Bruno Haible.
61423         (struct argp_option): Document the use of N_() wrappers.
61424
61425         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
61426         '\v', and translate the two parts separately, instead of feeding
61427         the whole string to gettext.  This allows to exclude
61428         '\v' from the strings visible to the translator by writing doc
61429         strings as N_("..") "\v" N_("..").
61430
61431 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
61432
61433         * config/srclist.txt: Undo latest change; the bug was fixed.
61434
61435 2006-09-09  Bruno Haible  <bruno@clisp.org>
61436
61437         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
61438         assignments if building a library without libtool.
61439         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
61440         in func_emit_lib_Makefile_am.
61441         (func_import): When building a static library libfoo.a, arrange to
61442         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
61443         (func_create_testdir): Likewise.
61444         * modules/gc (configure.ac, Makefile.am): If building statically,
61445         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
61446         * modules/iconvme (configure.ac, Makefile.am): Likewise.
61447         * modules/striconv (configure.ac, Makefile.am): Likewise.
61448         Based on a suggestion by Ralf Wildenhues.
61449
61450 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61451
61452         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
61453         Check for unistd.h too, since Autoconf doesn't assume POSIX.
61454         Also:
61455
61456         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61457         Add year_2050_test to catch glibc bug 2821
61458         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
61459
61460         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61461         Prefer #ifdef to #if.
61462
61463         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
61464         Return from 'main' instead of calling 'exit'.
61465
61466 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61467
61468         * lib/mktime.c (guess_time_tm): Fix bug where mktime
61469         returned the maximum time_t value rather than (time_t) -1.
61470         Problem originally reported by William Bardwell
61471         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
61472
61473         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
61474         Moved to here ...
61475         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
61476         ... from here.
61477
61478 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61479
61480         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
61481         2821 is fixed.
61482
61483 2006-09-08  Jim Meyering  <jim@meyering.net>
61484
61485         Don't make generated files read-only.  That would bother too many
61486         people.  However, do retain the ability to work when targets are
61487         read-only: remove the destination and temporary files before writing
61488         them (when generated via sed or echo), or by using the -f option for
61489         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
61490         * modules/alloca-opt, modules/argz, modules/arpa_inet:
61491         * modules/byteswap, modules/configmake, modules/fcntl:
61492         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
61493         * modules/localcharset, modules/netinet_in, modules/poll:
61494         * modules/stdbool, modules/stdint, modules/sys_select:
61495         * modules/sys_socket, modules/sys_stat, modules/sysexits:
61496
61497 2006-09-08  Jim Meyering  <jim@meyering.net>
61498
61499         Avoid new build failure on FreeBSD 6.0.
61500         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
61501         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
61502         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
61503
61504 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61505
61506         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
61507
61508 2006-09-07  Jim Meyering  <jim@meyering.net>
61509
61510         Fix global typo in last change: use chmod u-w, not chmod u-x.
61511         Spotted by Paul Eggert and Bruce Korb.
61512         * modules/alloca-opt, modules/argz, modules/arpa_inet:
61513         * modules/byteswap, modules/configmake, modules/fcntl:
61514         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
61515         * modules/localcharset, modules/netinet_in, modules/poll:
61516         * modules/stdbool, modules/stdint, modules/sys_select:
61517         * modules/sys_socket, modules/sys_stat, modules/sysexits:
61518
61519 2006-09-06  Jim Meyering  <jim@meyering.net>
61520
61521         Make generated files be read-only.
61522         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
61523         Ensure that each generated file is now read-only.
61524         * modules/argz: Likewise.
61525         * modules/arpa_inet: Likewise.
61526         * modules/byteswap: Likewise.
61527         * modules/configmake: Likewise.
61528         * modules/fcntl: Likewise.
61529         * modules/fnmatch: Likewise.
61530         * modules/getopt: Likewise.
61531         * modules/glob: Likewise.
61532         * modules/inttypes: Likewise.
61533         * modules/netinet_in: Likewise.
61534         * modules/poll: Likewise.
61535         * modules/stdbool: Likewise.
61536         * modules/stdint: Likewise.
61537         * modules/sys_select: Likewise.
61538         * modules/sys_socket: Likewise.
61539         * modules/sys_stat: Likewise.
61540         * modules/sysexits: Likewise.
61541         * modules/localcharset: Same as above, but continue using temporary
61542         file named "t-$@" (why different?) rather than the "$@-t" used
61543         everywhere else.
61544
61545         * modules/sysexits (Makefile.am): Replace literal occurrences
61546         of "sysexit.h" more readable, and more consistent, "$@".
61547
61548 2006-09-06  Bruno Haible  <bruno@clisp.org>
61549
61550         * modules/striconv: New file.
61551         * modules/xstriconv: New file.
61552         * MODULES.html.sh (Internationalization functions): Add striconv,
61553         xstriconv.
61554
61555 2006-09-06  Bruno Haible  <bruno@clisp.org>
61556
61557         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
61558         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
61559         not using libtool correctly.
61560
61561 2006-09-06  Bruno Haible  <bruno@clisp.org>
61562
61563         * lib/striconv.h: New file.
61564         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
61565         iconvstring.c.
61566         * lib/xstriconv.h: New file.
61567         * lib/xstriconv.c: New file.
61568
61569 2006-09-06  Bruno Haible  <bruno@clisp.org>
61570
61571         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61572         lib_..._LDFLAGS.
61573
61574 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61575
61576         * lib/argz_.h: Sync from Libtool.
61577
61578         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
61579                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
61580
61581         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
61582
61583 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
61584
61585         * modules/trim: New file.
61586
61587 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
61588
61589         * lib/trim.h: New file.
61590         * lib/trim.c: New file.
61591
61592 2006-09-05  Bruno Haible  <bruno@clisp.org>
61593
61594         * MODULES.html.sh (String handling): Add trim.
61595
61596 2006-09-04  Karl Berry  <karl@gnu.org>
61597
61598         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
61599         until next release.
61600
61601 2006-09-03  Bruno Haible  <bruno@clisp.org>
61602
61603         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
61604         correctly.
61605
61606 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61607
61608         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
61609         not gl_GETLOADAVG.  Omit unneeded semicolons.
61610         Problems reported by Ralf Wildenhues in
61611         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
61612         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
61613         at the end, which is the usual gnulib style.
61614
61615         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
61616         of doing all the work ourselves.
61617         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
61618         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
61619
61620 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61621
61622         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
61623         Problem reported by Ralf Wildenhues in
61624         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
61625
61626         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
61627         HAVE_STRUCT_STATFS_F_FSTYPENAME.
61628
61629 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61630
61631         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
61632         yesterday's patch by changing test -n to test -z.
61633
61634 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61635
61636         * modules/getloadavg (Files): Add m4/getloadavg.m4.
61637         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
61638         the former is now obsolescent.
61639
61640         * modules/chdir-long (Depends-on): Add fcntl.
61641
61642 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61643
61644         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
61645         obsolescent, and programs should use gnulib instead.
61646         * m4/getloadavg.m4: New file, with contents taken from Autoconf
61647         but with prefixes changed.
61648
61649 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61650
61651         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
61652         or stdbool.h, because they might not exist while configuring.
61653
61654         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
61655         Don't include unistd.h or limits.h; not needed, since chdir-long.h
61656         does that for us.
61657         (O_DIRECTORY): Remove.
61658
61659 2006-08-31  Eric Blake  <ebb9@byu.net>
61660
61661         * gnulib-tool: Don't let emacs change spaces to TAB.
61662
61663 2006-08-31  Bruno Haible  <bruno@clisp.org>
61664
61665         * gnulib-tool: When calling func_import more than once, do it in a
61666         subshell.
61667         Reported by Eric Blake <ebb9@byu.net>.
61668
61669 2006-08-31  Bruno Haible  <bruno@clisp.org>
61670
61671         * gnulib-tool (nl): Remove variable.
61672         (sed_transform_lib_file): Use more robust test for config-h module.
61673         (func_import): Fix typo in 2006-08-25 patch.
61674
61675 2006-08-31  Bruno Haible  <bruno@clisp.org>
61676
61677         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
61678         specified, augment Makefile.am variables instead of assigning them.
61679
61680 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61681
61682         Work around a bug in both the Linux and SunOS 64-bit kernels:
61683         nanosleep mishandles sleeps for longer than 2**31 seconds.
61684         Problem reported by Frank v Waveren in
61685         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61686         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
61687         Check for nanosleep bug.
61688         (LIB_NANOSLEEP): Append clock_gettime library if needed.
61689
61690 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61691
61692         Work around a bug in both the Linux and SunOS 64-bit kernels:
61693         nanosleep mishandles sleeps for longer than 2**31 seconds.
61694         Problem reported by Frank v Waveren in
61695         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61696         * lib/nanosleep.c (BILLION): New constant.
61697         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
61698         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
61699         implementation.
61700
61701 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61702
61703         * modules/nanosleep (Depends-on): Add gettime.
61704
61705 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61706         and Simon Josefsson  <jas@extundo.com>
61707         and Oskar Liljeblad  <oskar@osk.mine.nu>
61708
61709         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
61710         * gnulib-tool (func_import): New license type 'unmodifiable license
61711         text'.
61712         * modules/fdl: Use it.  Longer description.
61713         * module/gpl, module/lgpl: New files.
61714
61715 2006-08-30  Jim Meyering  <jim@meyering.net>
61716
61717         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
61718         shadowing the parameter.
61719
61720 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61721
61722         Sync from Libtool:
61723
61724         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61725
61726         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
61727         sharing with gnulib.  Report by Eric Blake.
61728
61729 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61730
61731         * modules/isapipe: New file.
61732         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
61733
61734 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61735
61736         * modules/configmake (Makefile.am): Add a comment, and omit
61737         the CONFIGMAKE_ prefix from generated macro names.  Suggested
61738         by Bruno Haible.
61739
61740 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61741
61742         * m4/isapipe.m4: New file.
61743
61744 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61745
61746         * lib/isapipe.c, lib/isapipe.h: New files.
61747
61748 2006-08-29  Jim Meyering  <jim@meyering.net>
61749
61750         * modules/configmake (Makefile.am): Make configmake.h depend on
61751         Makefile.  Otherwise, a stale configmake.h could hang around.
61752
61753 2006-08-29  Eric Blake  <ebb9@byu.net>
61754
61755         * lib/error.c (error_at_line, print_errno_message): Match libc, after
61756         resolution of upstream bug 3044.
61757
61758 2006-08-29  Bruno Haible  <bruno@clisp.org>
61759
61760         * modules/localcharset (Depends-on): Add configmake.
61761         (Makefile.am): Remove setting of LIBDIR through DEFS.
61762
61763 2006-08-29  Bruno Haible  <bruno@clisp.org>
61764
61765         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
61766         defined.
61767
61768 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61769
61770         * modules/fcntl: New file.
61771         * modules/chdir-safer (Depends-on): Add fcntl.
61772         * modules/fts: Likewise.
61773         * modules/mkdir-p: Likewise.
61774
61775         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
61776         This undoes the most recent change, since we're now addressing the
61777         problem in a different way.
61778
61779         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
61780         into output, since the output might be called Makefile.am even
61781         if $makefile_name is something different.
61782         (func_import): Use $makefile_am rather than
61783         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
61784         empty.
61785
61786         * modules/inttypes (Files): Add m4/inttypes-h.m4.
61787
61788 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61789
61790         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
61791         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
61792         recent change to stdint.m4, since we're now addressing the problem in a
61793         different way.
61794
61795 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61796
61797         * m4/fcntl_h.m4: New file.
61798
61799 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61800
61801         * lib/fcntl_.h: New file.
61802         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
61803         the fcntl module.
61804         * lib/dirchownmod.c: Likewise.
61805         * lib/fts.c: Likewise.
61806
61807         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
61808         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
61809         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
61810         just before including <inttypes.h>, to avoid circular inclusion.
61811
61812 2006-08-28  Jim Meyering  <jim@meyering.net>
61813
61814         * doc/visibility.texi: Actually read and correct the grammar of the
61815         sentence affected by yesterday's change.
61816
61817 2006-08-28  Eric Blake  <ebb9@byu.net>
61818
61819         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
61820         needs wrapper.
61821
61822 2006-08-28  Eric Blake  <ebb9@byu.net>
61823
61824         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
61825
61826 2006-08-28  Eric Blake  <ebb9@byu.net>
61827
61828         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
61829
61830 2006-08-28  Bruno Haible  <bruno@clisp.org>
61831
61832         * modules/c-strstr: New file, from GNU gettext.
61833         * MODULES.html.sh (String handling): Add c-strstr.
61834
61835 2006-08-28  Bruno Haible  <bruno@clisp.org>
61836
61837         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
61838         macros.
61839         Reported by Eric Blake.
61840
61841 2006-08-28  Bruno Haible  <bruno@clisp.org>
61842
61843         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
61844         (VASNPRINTF): Return a string of length > INT_MAX without failing.
61845         * lib/vasprintf.c: Include errno.h, limits.h.
61846         (EOVERFLOW): New fallback definition.
61847         (vasprintf): Test here whether the string length is > INT_MAX.
61848         * lib/vsnprintf.c: Include errno.h, limits.h.
61849         (EOVERFLOW): New fallback definition.
61850         (vsnprintf): Fix bug when generated string was too long for the buffer.
61851         Test here whether the string length is > INT_MAX.
61852
61853 2006-08-28  Bruno Haible  <bruno@clisp.org>
61854
61855         * lib/inttypes_.h (SCNX*): Remove definitions.
61856         Reported by Eric Blake.
61857
61858 2006-08-28  Bruno Haible  <bruno@clisp.org>
61859
61860         * lib/c-strstr.h: New file, from GNU gettext.
61861         * lib/c-strstr.c: New file, from GNU gettext.
61862
61863 2006-08-28  Bruno Haible  <bruno@clisp.org>
61864
61865         * gnulib-tool: Reorder some statements.
61866
61867 2006-08-28  Bruno Haible  <bruno@clisp.org>
61868
61869         * gnulib-tool: New option --makefile-name.
61870         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
61871         $makefile_name.
61872         (func_import): Write $makefile_name to the cache file, and read it from
61873         there unless explicitly specified. Use $makefile_name as file name
61874         instead of Makefile.am. Adjust the recommendations accordingly.
61875
61876 2006-08-28  Bruno Haible  <bruno@clisp.org>
61877
61878         * gnulib-tool (func_verify_module): Check against misapplying patch.
61879
61880 2006-08-28  Bruno Haible  <bruno@clisp.org>
61881
61882         * gnulib-tool (func_relativize, func_relconcat): New functions.
61883         Give an error if --local-dir is given with --update.
61884         Remove trailing slashes from $local_gnulib_dir.
61885         (func_import): Store the relativized $local_gnulib_dir in
61886         gnulib-cache.m4, and read it from there if not specified explicitly.
61887
61888 2006-08-28  Bruno Haible  <bruno@clisp.org>
61889
61890         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
61891         is the current directory. Respect also $local_gnulib_dir.
61892
61893 2006-08-28  Bruno Haible  <bruno@clisp.org>
61894             Simon Josefsson  <jas@extundo.com>
61895
61896         BeOS portability.
61897         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
61898
61899 2006-08-27  Jim Meyering  <jim@meyering.net>
61900
61901         * doc/visibility.texi: Remove duplicate word: "pointer".
61902
61903 2006-08-26  Bruno Haible  <bruno@clisp.org>
61904
61905         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
61906         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
61907         (Makefile.am): Create inttypes.h from inttypes_.h.
61908         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
61909
61910         * modules/imaxabs: New file.
61911
61912         * modules/imaxdiv: New file.
61913
61914 2006-08-26  Bruno Haible  <bruno@clisp.org>
61915
61916         * m4/inttypes.m4: New file.
61917         * m4/_inttypes_h.m4: Remove file.
61918         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
61919         PRI_MACROS_BROKEN.
61920         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
61921
61922         * m4/imaxabs.m4: New file.
61923
61924         * m4/imaxdiv.m4: New file.
61925
61926 2006-08-26  Bruno Haible  <bruno@clisp.org>
61927
61928         * lib/inttypes_.h: New file.
61929         * lib/inttypes.h: Remove file.
61930         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
61931
61932         * lib/imaxabs.c: New file.
61933
61934         * lib/imaxdiv.c: New file.
61935
61936 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61937
61938         New config-h module, so that "make" output needn't be cluttered
61939         by -DHAVE_CONFIG_H.
61940         * MODULES.html.sh (Support for building libraries and executables):
61941         Add config-h.
61942         * modules/config-h: New file.
61943         * gnulib-tool (nl, sed_transform_lib_file): New vars.
61944         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
61945         the config-h module is used.
61946
61947         New configmake module, so that "make" output needn't be cluttered
61948         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
61949         * MODULES.html.sh (Support for building libraries and executables):
61950         Add configmake.
61951         * modules/configmake: New file.
61952
61953 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61954
61955         * m4/config-h.m4: New file.
61956
61957 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61958
61959         * config/srclist.txt: Add elisp-comp.
61960
61961 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61962
61963         * MODULES.html.sh (Support for building libraries and executables):
61964         Add elisp-comp.
61965         * build-aux/elisp-comp: New file.
61966         * modules/elisp-comp: New file.
61967
61968 2006-08-24  Bruno Haible  <bruno@clisp.org>
61969
61970         * gnulib-tool (func_create_testdir): Use non-default values of
61971         sourcebase and m4base.
61972
61973 2006-08-24  Bruno Haible  <bruno@clisp.org>
61974
61975         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
61976         HTML structure.
61977
61978 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61979
61980         * modules/openat (Depends-on): Add lchown.
61981
61982 2006-08-23  Bruno Haible  <bruno@clisp.org>
61983
61984         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
61985         of gl_LOCK_EARLY instead of gl_LOCK.
61986
61987 2006-08-23  Bruno Haible  <bruno@clisp.org>
61988
61989         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
61990         on OSF/1 to no.
61991         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
61992
61993 2006-08-23  Bruno Haible  <bruno@clisp.org>
61994
61995         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
61996         as unusable.
61997
61998         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
61999         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
62000         (gl_LOCK): New macro.
62001
62002 2006-08-22  Simon Josefsson  <jas@extundo.com>
62003
62004         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
62005         to md5 module.
62006
62007 2006-08-22  Simon Josefsson  <jas@extundo.com>
62008
62009         * MODULES.html.sh: Add "Support for maintaining and release
62010         projects".
62011
62012         * build-aux/gnupload: New file, from coreutils.
62013
62014 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62015
62016         Avoid the need for AC_LIBSOURCES in m4 macros.
62017         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
62018         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
62019         * modules/check-version (EXTRA_DIST): Add check-version.h.
62020         * modules/crc (EXTRA_DIST): Add crc.h.
62021         * modules/des (EXTRA_DIST): Add des.h.
62022         * modules/gc (EXTRA_DIST): Add gc.h.
62023         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
62024         * modules/getline (EXTRA_DIST): Add getline.h.
62025         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
62026         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
62027         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
62028         * modules/md2 (EXTRA_DIST): Add md2.h.
62029         * modules/md4 (EXTRA_DIST): Add md4.h.
62030         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
62031         * modules/read-file (EXTRA_DIST): Add read-file.h.
62032         * modules/readline (EXTRA_DIST): Add readline.h.
62033         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
62034         rijndael-api-fst.h.
62035
62036 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62037
62038         * m4/rijndael.m4 (gl_ARCFOUR):
62039         * m4/arctwo.m4 (gl_ARCTWO):
62040         * m4/check-version.m4 (gl_CHECK_VERSION):
62041         * m4/crc.m4 (gl_CRC):
62042         * m4/des.m4 (gl_DES):
62043         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
62044         * m4/gc.m4 (gl_GC):
62045         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
62046         * m4/getline.m4 (gl_FUNC_GETLINE):
62047         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
62048         * m4/hmac-md5.m4 (gl_HMAC_MD5):
62049         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
62050         * m4/md2.m4 (gl_MD2):
62051         * m4/md4.m4 (gl_MD4):
62052         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
62053         * m4/read-file.m4 (gl_FUNC_READ_FILE):
62054         * m4/readline.m4 (gl_FUNC_READLINE):
62055         * m4/rijndael.m4 (gl_RIJNDAEL):
62056         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
62057         to get the necessary .h files and whatnot.
62058
62059 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62060
62061         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
62062         gnulib rather than the other way around.
62063         * config/srclistvars.sh (COREUTILS): Remove.
62064
62065 2006-08-22  Jim Meyering  <jim@meyering.net>
62066
62067         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
62068
62069         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
62070
62071 2006-08-22  Eric Blake  <ebb9@byu.net>
62072
62073         * modules/regexprops-generic: New file.
62074         * MODULES.html.sh (Support for building documentation): List it.
62075
62076 2006-08-22  Eric Blake  <ebb9@byu.net>
62077
62078         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
62079         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
62080         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
62081         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
62082
62083 2006-08-22  Bruno Haible  <bruno@clisp.org>
62084
62085         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
62086         and lib_LTLIBRARIES like the other lib_* variables.
62087
62088 2006-08-22  Bruno Haible  <bruno@clisp.org>
62089
62090         * build-aux/x-to-1.in: New file, from GNU gettext.
62091
62092 2006-08-22  Bruno Haible  <bruno@clisp.org>
62093
62094         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
62095         <utmpx.h> exists.
62096
62097 2006-08-22  Bruno Haible  <bruno@clisp.org>
62098
62099         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
62100         <utmpx.h> exists.
62101
62102 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62103
62104         BeOS portability.
62105         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
62106         exist.
62107         Problem reported by Bruno Haible.
62108
62109 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62110
62111         Avoid the need for AC_LIBSOURCES in m4 macros.
62112         * modules/acl (EXTRA_DIST): Add acl.h.
62113         * modules/argmatch (Files): Add m4/argmatch.m4.
62114         (configure.ac): Add gl_ARGMATCH.
62115         (EXTRA_DIST): Renamed from lib_SOURCES, for
62116         consistency with the other modules.  Remove argmatch.c.
62117         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
62118         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
62119         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
62120         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
62121         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
62122         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
62123         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
62124         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
62125         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
62126         * modules/closeout (EXTRA_DIST): Add closeout.h.
62127         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
62128         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
62129         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
62130         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
62131         dirname.h; remove basename.c and stripslash.c.
62132         * modules/exclude (EXTRA_DIST): Add exclude.h.
62133         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
62134         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
62135         * modules/file-type (EXTRA_DIST): Add file-type.h.
62136         * modules/filemode (EXTRA_DIST): Add filemode.h.
62137         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
62138         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
62139         * modules/fpending (EXTRA_DIST): Add __fpending.h.
62140         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
62141         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
62142         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
62143         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
62144         * modules/getdate (EXTRA_DIST): Add getdate.c.
62145         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
62146         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
62147         * modules/getpass (EXTRA_DIST): Add getpass.h.
62148         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
62149         * modules/group-member (EXTRA_DIST): Add group-member.h.
62150         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
62151         * modules/hash (EXTRA_DIST): Add hash.h.
62152         * modules/human (EXTRA_DIST): Add human.h.
62153         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
62154         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
62155         * modules/lchown (EXTRA_DIST): Add lchown.h.
62156         * modules/long-options (EXTRA_DIST): Add long-options.h.
62157         * modules/lstat (EXTRA_DIST): Add lstat.h.
62158         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
62159         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
62160         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
62161         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
62162         * modules/memxor (EXTRA_DIST): Add memxor.h.
62163         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
62164         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
62165         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
62166         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
62167         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
62168         * modules/physmem (EXTRA_DIST): Add physmem.h.
62169         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
62170         * modules/posixver (EXTRA_DIST): Add posixver.h.
62171         * modules/quote (EXTRA_DIST): Add quote.h.
62172         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
62173         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
62174         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
62175         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
62176         regex_internal.h regexec.c.
62177         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
62178         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
62179         * modules/same (EXTRA_DIST): Add same.h.
62180         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
62181         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
62182         * modules/savedir (EXTRA_DIST): Add savedir.h.
62183         * modules/sha1 (EXTRA_DIST): Add sha1.h.
62184         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
62185         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
62186         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
62187         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
62188         * modules/strdup (EXTRA_DIST): Add strdup.h.
62189         * modules/strftime (EXTRA_DIST): Add strftime.h.
62190         * modules/strndup (EXTRA_DIST): Add strndup.h.
62191         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
62192         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
62193         * modules/time_r (EXTRA_DIST): Add time_r.h.
62194         * modules/timespec (EXTRA_DIST): Add timespec.h.
62195         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
62196         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
62197         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
62198         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
62199         * modules/userspec (EXTRA_DIST): Add userspec.h.
62200         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
62201         * modules/utimens (EXTRA_DIST): Add utimens.h.
62202         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
62203         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
62204         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
62205         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
62206         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
62207         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
62208         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
62209         * modules/yesno (EXTRA_DIST): Add yesno.h.
62210
62211 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62212
62213         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
62214
62215         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
62216         * m4/dev-ino.m4, same-inode.m4: Remove.
62217
62218         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
62219         * m4/acl.m4 (AC_FUNC_ACL):
62220         * m4/backupfile.m4 (gl_BACKUPFILE):
62221         * m4/c-strtod.m4 (gl_C99_STRTOLD):
62222         * m4/canon-host.m4 (gl_CANON_HOST):
62223         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
62224         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
62225         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
62226         * m4/cloexec.m4 (gl_CLOEXEC):
62227         * m4/close-stream.m4 (gl_CLOSE_STREAM):
62228         * m4/closeout.m4 (gl_CLOSEOUT):
62229         * m4/dirfd.m4 (gl_FUNC_DIRFD):
62230         * m4/dirname.m4 (gl_DIRNAME):
62231         * m4/exclude.m4 (gl_EXCLUDE):
62232         * m4/exitfail.m4 (gl_EXITFAIL):
62233         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
62234         * m4/file-type.m4 (gl_FILE_TYPE):
62235         * m4/filemode.m4 (gl_FILEMODE):
62236         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
62237         * m4/fpending.m4 (gl_FUNC_FPENDING):
62238         * m4/fprintftime.m4 (gl_FPRINTFTIME):
62239         * m4/fts.m4 (gl_FUNC_FTS):
62240         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
62241         * m4/getdate.m4 (gl_GETDATE):
62242         * m4/gethrxtime.m4 (gl_GETHRXTIME):
62243         * m4/getpagesize.m4 (gl_GETPAGESIZE):
62244         * m4/getpass.m4 (gl_FUNC_GETPASS):
62245         * m4/gettime.m4 (gl_GETTIME):
62246         * m4/getugroups.m4 (gl_GETUGROUPS):
62247         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
62248         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
62249         * m4/hard-locale.m4 (gl_HARD_LOCALE):
62250         * m4/hash.m4 (gl_HASH):
62251         * m4/idcache.m4 (gl_IDCACHE):
62252         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
62253         * m4/lchown.m4 (gl_FUNC_LCHOWN):
62254         * m4/long-options.m4 (gl_LONG_OPTIONS):
62255         * m4/lstat.m4 (gl_FUNC_LSTAT):
62256         * m4/md5.m4 (gl_MD5):
62257         * m4/memcasecmp.m4 (gl_MEMCASECMP):
62258         * m4/memcoll.m4 (gl_MEMCOLL):
62259         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
62260         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
62261         * m4/memxor.m4 (gl_MEMXOR):
62262         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
62263         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
62264         * m4/modechange.m4 (gl_MODECHANGE):
62265         * m4/mountlist.m4 (gl_MOUNTLIST):
62266         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62267         * m4/openat.m4 (gl_FUNC_OPENAT):
62268         * m4/pathmax.m4 (gl_PATHMAX):
62269         * m4/physmem.m4 (gl_PHYSMEM):
62270         * m4/posixtm.m4 (gl_POSIXTM):
62271         * m4/posixver.m4 (gl_POSIXVER):
62272         * m4/quote.m4 (gl_QUOTE):
62273         * m4/quotearg.m4 (gl_QUOTEARG):
62274         * m4/readtokens.m4 (gl_READTOKENS):
62275         * m4/readutmp.m4 (gl_READUTMP):
62276         * m4/regex.m4 (gl_REGEX):
62277         * m4/safe-read.m4 (gl_SAFE_READ):
62278         * m4/safe-write.m4 (gl_SAFE_WRITE):
62279         * m4/same.m4 (gl_SAME):
62280         * m4/save-cwd.m4 (gl_SAVE_CWD):
62281         * m4/savedir.m4 (gl_SAVEDIR):
62282         * m4/settime.m4 (gl_SETTIME):
62283         * m4/sha1.m4 (gl_SHA1):
62284         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
62285         * m4/stat-macros.m4 (gl_STAT_MACROS):
62286         * m4/stat-time.m4 (gl_STAT_TIME):
62287         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
62288         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
62289         * m4/strdup.m4 (gl_FUNC_STRDUP):
62290         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
62291         * m4/strndup.m4 (gl_FUNC_STRNDUP):
62292         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
62293         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
62294         * m4/time_r.m4 (gl_TIME_R):
62295         * m4/timespec.m4 (gl_TIMESPEC):
62296         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
62297         * m4/unlinkdir.m4 (gl_UNLINKDIR):
62298         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
62299         * m4/userspec.m4 (gl_USERSPEC):
62300         * m4/utimecmp.m4 (gl_UTIMECMP):
62301         * m4/utimens.m4 (gl_UTIMENS):
62302         * m4/xalloc.m4 (gl_XALLOC):
62303         * m4/xgetcwd.m4 (gl_XGETCWD):
62304         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
62305         * m4/xreadlink.m4 (gl_XREADLINK):
62306         * m4/xstrtod.m4 (gl_XSTRTOD):
62307         * m4/yesno.m4 (gl_YESNO):
62308         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
62309         to get the necessary .h files and whatnot.
62310
62311 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
62312             Bruno Haible  <bruno@clisp.org>
62313
62314         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
62315         /bin/sh understanding of '!' conditional negation.
62316
62317 2006-08-21  Jim Meyering  <jim@meyering.net>
62318
62319         * modules/openat (Depends-on): Really alphabetize.
62320
62321         * modules/acl (Depends-on): Add error and quote.
62322
62323         * check-module (find_included_lib_files): Add at-func.c to the
62324         ok-to-include-more-than-once white list.
62325
62326         * modules/openat (Depends-on): Add lstat.  Alphabetize.
62327
62328 2006-08-21  Bruno Haible  <bruno@clisp.org>
62329
62330         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62331         Emit a pkgdata_DATA variable only if some snippets add contents to it.
62332         Reported by Martin Lambers <marlam@marlam.de>.
62333
62334 2006-08-21  Bruno Haible  <bruno@clisp.org>
62335
62336         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
62337         specify an installation location, don't emit a noinst_LIBRARIES or
62338         noinst_LTLIBRARIES assignment.
62339
62340 2006-08-21  Bruno Haible  <bruno@clisp.org>
62341
62342         BeOS portability.
62343         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
62344         BeOS has mbrtowc() but no <wctype.h>.
62345
62346 2006-08-21  Bruno Haible  <bruno@clisp.org>
62347
62348         BeOS portability.
62349         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
62350         exist.
62351
62352 2006-08-21  Bruno Haible  <bruno@clisp.org>
62353
62354         BeOS portability.
62355         * lib/mbchar.h: Include <wctype.h> only if it exists.
62356
62357 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62358
62359         Remove files that are no longer needed by their respective modules.
62360         * m4/obstack.m4: Remove.
62361         * m4/strerror_r.m4: Remove.
62362         * m4/uint32_t.m4: Remove.
62363         * m4/uintptr_t.m4: Remove.
62364         * m4/ullong_max.m4: Remove.
62365         * m4/xstrtoimax.m4: Remove.
62366         * m4/xstrtoumax.m4: Remove.
62367
62368         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
62369         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
62370         dependencies now capture this.
62371
62372         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
62373         Do not use AC_LIBSOURCES, since gnulib modules now do this.
62374         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
62375         * m4/human.m4 (gl_HUMAN): Likewise.
62376         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
62377         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
62378
62379         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
62380
62381         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
62382         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
62383         stdint.
62384         * m4/human.m4 (gl_HUMAN): Likewise.
62385         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
62386         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
62387         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
62388         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
62389         * m4/xstrtol (gl_XSTRTOL): Likewise.
62390
62391         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
62392         AC_TYPE_LONG_LONG_INT.
62393         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
62394         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
62395         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
62396         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
62397
62398         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
62399         on stdbool.
62400
62401         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
62402         (gl_PREREQ_XSTRTOUL): Remove.
62403
62404         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
62405
62406         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
62407         mode.
62408
62409 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62410
62411         Add and change modules to make it easier for coreutils to use
62412         gnulib-tool.
62413         * modules/backupfile (Files): Remove m4/d-ino.m4.
62414         (Depends-on): Add d-ino.
62415         * modules/cycle-check (Depends-on): Add stdint.
62416         (lib_SOURCES): Add cycle-check.h.
62417         * modules/d-ino: New module.
62418         * modules/d-type: New module.
62419         * modules/error (Files): Remove m4/strerror_r.m4.
62420         * modules/filemode (Files): Add m4/st_dm_mode.m4.
62421         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
62422         m4/inttypes_h.m4, m4/uintmax_t.m4.
62423         (Depends-on): Add stdint.
62424         (lib_SOURCES): Add fsusage.h.
62425         * modules/getcwd (Files): Remove d-ino.m4.
62426         (Depends-on): Add d-ino.
62427         * modules/getndelim2 (Depends-on): Add stdint.
62428         * modules/glob (Files): Remove m4/d-type.m4.
62429         (Depends-on): Add d-type.
62430         * modules/host-os: New module.
62431         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
62432         m4/inttypes_h.m4, m4/uintmax_t.m4.
62433         * Depends-on: Add stdint.
62434         (lib_SOURCES): Add human.h.
62435         * modules/inttostr (Files): Remove m4/intmax_t.m4,
62436         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
62437         m4/uintmax_t.m4, m4/ulonglong.m4.
62438         (Depends-on): Add stdint.
62439         (EXTRA_DIST): Add inttostr.h.
62440         * modules/lchmod: New module.
62441         * modules/link-follow: New module.
62442         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
62443         (Depends-on): Add lchmod.
62444         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
62445         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
62446         (Depends-on): Add stdint.
62447         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
62448         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
62449         (Depends-on): Add stdint.
62450         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
62451         * modules/perl: New module.
62452         * modules/regex (Depends-on): Add stdint.
62453         * modules/rmdir-errno: New module.
62454         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
62455         m4/intmax_t.m4.
62456         (Depends-on): Add stdint.
62457         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
62458         m4/uintmax_t.m4.
62459         (Depends-on): Add stdint.
62460         * modules/unlink-busy: New module.
62461         * modules/utimecmp (Depends-on): Add stdint.
62462         * modules/uptime: New module.
62463         * modules/winsz-ioctl: New module.
62464         * modules/winsz-termios: New module.
62465         * modules/xnanosleep (Depends-on): Add nanosleep.
62466         * modules/ullong_max: Remove.
62467         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
62468         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
62469         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
62470         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
62471         (Depends-on): Add inttypes.
62472         (lib_SOURCES): Add xstrtol.h.
62473         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
62474         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
62475         * MODULES.html.sh: Move 'assert' into the assert section.
62476         Move 'dummy' into the linking section.
62477         Remove ullong_max.
62478         Add section for compatibility checks for POSIX:2001 functions,
62479         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
62480         winsz-ioctl, and winsz-termios into it.
62481         Add lchmod.
62482         Add top-level Misc section and put host-os, perl, and uptime
62483         into it.
62484
62485 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62486
62487         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
62488         now assume the stdint module.  Do not include inttypes.h.
62489         * lib/fsusage.h: Likewise.
62490         * lib/getndelim2.c: Likewise.
62491         * lib/human.h: Likewise.
62492         * lib/inttostr.h: Likewise.
62493         * lib/obstack.c: Likewise.
62494         * lib/regex_internal.h: Likewise.
62495         * lib/tempname.c: Likewise.
62496         * lib/utimecmp.c: Likewise.
62497         * lib/xstrtol.h: Likewise.
62498
62499         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
62500
62501         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
62502         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
62503         * lib/xtime.h: Likewise.
62504
62505 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62506
62507         * modules/openat (Files): Add lib/fchmodat.c.
62508         Fixes problem reported by Jay Youngman.
62509
62510 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62511
62512         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
62513         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
62514
62515 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
62516             Bruno Haible  <bruno@clisp.org>
62517
62518         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
62519         and is a script that invokes bison. Tighten the code. Add comments.
62520
62521 2006-08-18  Jim Meyering  <jim@meyering.net>
62522
62523         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
62524         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
62525         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
62526         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
62527
62528 2006-08-18  Bruno Haible  <bruno@clisp.org>
62529
62530         * modules/bison-i18n: New file.
62531         * MODULES.html.sh (Internationalization functions): Add it.
62532
62533 2006-08-18  Bruno Haible  <bruno@clisp.org>
62534
62535         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
62536         sys/statvfs.h. When getmntinfo was found, check its declaration and
62537         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
62538
62539 2006-08-18  Bruno Haible  <bruno@clisp.org>
62540
62541         * m4/bison-i18n.m4: New file, from bison.
62542
62543 2006-08-18  Bruno Haible  <bruno@clisp.org>
62544
62545         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
62546         (ME_DUMMY): Treat "kernfs" as a dummy.
62547         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
62548
62549 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
62550
62551         Update from coreutils.
62552
62553         2006-08-15  Jim Meyering  <jim@meyering.net>
62554
62555         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
62556
62557         2006-01-17  Jim Meyering  <jim@meyering.net>
62558
62559         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
62560
62561         2006-01-11  Jim Meyering  <jim@meyering.net>
62562
62563         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
62564         Check for the lchmod function.
62565
62566 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
62567
62568         Update from coreutils.
62569
62570         * lib/__fpending.h: Add copyright notice.
62571         * lib/fprintftime.h: Likewise.
62572         * lib/savedir.c: Use (C) in copyright notice.
62573         * lib/savedir.h: Likewise.
62574
62575         2006-08-15  Jim Meyering  <jim@meyering.net>
62576
62577         * lib/at-func.c: New file, with the logic of all emulated at-functions.
62578         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
62579         in support of the EXPECTED_ERRNO macro.
62580         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
62581         definitions.  Instead, define the appropriate symbols and include
62582         "at-func.c".
62583         * lib/mkdirat.c (mkdirat): Likewise.
62584         * lib/fchmodat.c (fchmodat): Likewise.
62585         (ENOSYS): Remove definition.
62586         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
62587         it.  Don't include "unistd--.h" -- it wasn't ever used.
62588
62589         2006-01-17  Jim Meyering  <jim@meyering.net>
62590
62591         Rewrite fts.c not to change the current working directory,
62592         by using openat, fstatat, fdopendir, etc..
62593
62594         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
62595         (HAVE_OPENAT_SUPPORT): Define.
62596         [_LIBC] (fchdir): Don't undef or define; no longer used.
62597         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
62598         Now, this `function' always succeeds, and consumes its file descriptor
62599         parameter -- so callers must not close such FDs.  Update callers.
62600         (diropen_fd, opendirat, cwd_advance_fd): New functions.
62601         (diropen): Add parameter, SP.  Adjust all callers.
62602         Implement using diropen_fd, rather than open.
62603         (fts_open): Initialize new member, fts_cwd_fd.
62604         Remove fts_rft-setting code.
62605         (fts_close): Close fts_cwd_fd, if necessary.
62606         (__opendir2): Define in terms of opendir or opendirat,
62607         depending on whether the FST_NOCHDIR flag is set.
62608         (fts_build): Since fts_safe_changedir consumes its FD, and since
62609         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
62610         and close the dup'd file descriptor upon failure.
62611         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
62612         (fts_safe_changedir): Tweak semantics to reflect that this function
62613         now calls cwd_advance_fd and hence consumes its FD argument.
62614         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
62615         [struct FTS] (fts_rft): Remove now-unused member.
62616         [struct FTS] (fts_cycle.state): Improve comment.
62617
62618         * lib/openat.c (openat_needs_fchdir): New function.
62619         * lib/openat.h (openat_needs_fchdir): Declare it.
62620
62621 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
62622
62623         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
62624         Problem and fix reported by Pádraig Brady in
62625         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
62626
62627 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62628
62629         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
62630
62631 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62632
62633         * lib/memcoll.c (memcoll): Optimize for the common case where the
62634         arguments are bytewise equal.
62635
62636 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62637
62638         * doc/regexprops-generic.texi: Add a copyright notice.
62639
62640 2006-08-15  Bruno Haible  <bruno@clisp.org>
62641
62642         * modules/tmpdir (License): Change to LGPL.
62643
62644 2006-08-15  Bruno Haible  <bruno@clisp.org>
62645
62646         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
62647         module.
62648
62649 2006-08-14  Simon Josefsson  <jas@extundo.com>
62650
62651         * config/srclist.txt: Add gnupload.
62652
62653 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62654
62655         Change copyright notice from LGPL 2 to GPL 2, since that's the
62656         standard form used in the gnulib repository.
62657         * tests/test-lock.c: Likewise.
62658         * tests/test-stdint.c: Likewise.
62659         * tests/test-tls.c: Likewise.
62660
62661         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
62662         prelude-manager.  User shorter URLs for GNU projects, without '?'.
62663         Add copyright notice.
62664
62665         * check-module: Add copyright notice.  Output a copyright
62666         notice if "--version" is specified.
62667         * modules/COPYING: New file.
62668         * tests/test-getaddrinfo.c: Add copyright notice.
62669         * tests/test-verify.c: Likewise.
62670
62671 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62672
62673         Change copyright notice from LGPL 2 to GPL 2, since that's the
62674         standard form used in the gnulib repository.
62675         * lib/lock.c: LGPL -> GPL.
62676         * lib/lock.h: Likewise.
62677         * lib/strnlen1.c: Likewise.
62678         * lib/strnlen1.h: Likewise.
62679         * lib/tls.c: Likewise.
62680         * lib/tls.h: Likewise.
62681         * lib/tmpdir.c: Likewise.
62682
62683         * lib/TODO: Remove; this belongs only in coreutils.
62684
62685 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62686
62687         Add copyright notices to long-enough files that lack them, since
62688         otherwise the files aren't clearly free.  Use the same notice that
62689         getdate.texi already uses.
62690         * doc/alloca-opt.texi: Add copyright notice.
62691         * doc/alloca.texi: Likewise.
62692         * doc/ctime.texi: Likewise.
62693         * doc/functions.texi: Likewise.
62694         * doc/gcd.texi: Likewise.
62695         * doc/gnulib-tool.texi: Likewise.
62696         * doc/inet_ntoa.texi: Likewise.
62697         * doc/visibility.texi: Likewise.
62698
62699         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
62700         * doc/quote.texi: Add copyright notice.
62701
62702         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
62703         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
62704         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
62705         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
62706         is now obsolete, and give a pointer to the Sun list.
62707         Add copyright notice.
62708
62709 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62710
62711         * config/srclistvars.sh: Add copyright notice.
62712
62713 2006-08-14  Eric Blake  <ebb9@byu.net>
62714
62715         Import the following change from libc:
62716
62717         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
62718
62719         Upstream bug 2997.
62720         * lib/misc/error.c: Add space between program name and message if file
62721         name is missing.
62722
62723 2006-08-12  Karl Berry  <karl@gnu.org>
62724
62725         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
62726         remove, these originate in gnulib now.
62727
62728 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62729
62730         * doc/Makefile (standards.info standards.html standards.dvi):
62731         Also depend on make-stds.texi.
62732
62733 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
62734
62735         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
62736         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
62737
62738         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
62739         in wchar_t.  Problem reported by Eric Blake.
62740
62741         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
62742         LEN is smaller than SIZE.  Suggested by Bruno Haible.
62743         Also, help the compiler to keep LEN in a register.
62744
62745 2006-08-11  Eric Blake  <ebb9@byu.net>
62746
62747         * users.txt: Sort.  Add tar.
62748
62749 2006-08-11  Bruno Haible  <bruno@clisp.org>
62750
62751         * users.txt: New file.
62752
62753 2006-08-11  Bruno Haible  <bruno@clisp.org>
62754
62755         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
62756         before <wchar.h>. Needed for OSF/1 and BSD/OS.
62757
62758 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62759
62760         * modules/snprintf (Depends-on): Remove minmax.
62761         (Maintainer): Add self and Bruno.
62762
62763 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62764
62765         * lib/.cppi-disable: Add snprintf.h, socket_.h.
62766         * lib/snprintf.c: Include <errno.h> and <limits.h>.
62767         (EOVERFLOW): Define if the system does not.
62768         Do not include "minmax.h"; it wasn't used.
62769         (snprintf): Don't assume size_t promotes to an unsigned type.
62770         Fix bug when generated string was too long for the buffer: the
62771         buffer's contents are supposed to be the initial prefix of the
62772         output.  Don't assume vasnprintf returns EOVERFLOW if the size
62773         exceeds INT_MAX; do the check ourselves.
62774
62775         Import the following changes from libc:
62776
62777         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
62778
62779         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
62780         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
62781         set wc to the byte which couldn't be converted.
62782         (re_string_reconstruct): Don't clear valid_raw_len before calling
62783         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
62784         tip_context using re_string_context_at.
62785
62786         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
62787
62788         * lib/posix/regex.h: g++ still cannot handled [restrict].
62789
62790         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
62791
62792         * lib/posix/regex.h: Remove special handling for VMS.
62793
62794 2006-08-10  Jim Meyering  <jim@meyering.net>
62795
62796         * modules/same-inode: New module.
62797         * modules/dev-ino: New module.
62798         * modules/cycle-check: Depend on these modules, rather than simply
62799         including their .h files.
62800         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
62801         required via m4/cycle-check.m4.
62802         * modules/same: Depend on new same-inode module, rather than
62803         including same-inode.h.
62804         * modules/chdir-safer: New file.
62805
62806         * modules/chown (Depends-on): Add stat-macros.
62807
62808 2006-08-10  Jim Meyering  <jim@meyering.net>
62809
62810         * m4/cycle-check.m4: New file.
62811         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
62812         * m4/dev-ino.m4, m4/same-inode.m4: New files.
62813
62814 2006-08-10  Eric Blake  <ebb9@byu.net>
62815
62816         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
62817         in from original proposal.
62818
62819 2006-08-10  Eric Blake  <ebb9@byu.net>
62820         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62821
62822         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
62823         namespace.
62824
62825 2006-08-10  Bruno Haible  <bruno@clisp.org>
62826
62827         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
62828         as well.
62829
62830 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62831
62832         Sync from coreutils.
62833
62834         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
62835
62836         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
62837         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
62838
62839 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62840
62841         * modules/restrict: Remove; no longer needed now that we assume
62842         Autoconf 2.59 or later.
62843         * MODULES.html.sh: Remove 'restrict'.
62844         * modules/argp (Depends-on): Remove 'restrict'.
62845         * modules/base64 (Depends-on): Likewise.
62846         * modules/gc (Depends-on): Likewise.
62847         * modules/getaddrinfo (Depends-on): Likewise.
62848         * modules/glob (Depends-on): Likewise.
62849         * modules/inet_ntop (Depends-on): Likewise.
62850         * modules/inet_pton (Depends-on): Likewise.
62851         * modules/memxor (Depends-on): Likewise.
62852         * modules/regex (Depends-on): Likewise.
62853         * modules/strtok_r (Depends-on): Likewise.
62854         * modules/time_r (Depends-on): Likewise.
62855
62856 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62857
62858         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
62859         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
62860         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62861         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
62862         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62863         * m4/memxor.m4 (gl_MEMXOR): Likewise.
62864         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
62865         gl_C_RESTRICT replaced by AC_C_RESTRICT.
62866
62867         Merge from coreutils.
62868         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
62869         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
62870         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62871         * m4/time_r.m4 (gl_TIME_R): Likewise.
62872
62873 2006-08-09  Karl Berry  <karl@gnu.org>
62874
62875         * config/srclist.txt: no more gettext-tools, per Bruno.
62876
62877 2006-08-08  Eric Blake  <ebb9@byu.net>
62878
62879         * modules/verror: New module.
62880         * MODULES.html.sh: Document it.
62881
62882 2006-08-08  Eric Blake  <ebb9@byu.net>
62883
62884         * lib/verror.h, lib/verror.c: New files.
62885
62886 2006-08-08  Eric Blake  <ebb9@byu.net>
62887
62888         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
62889         verror_at_line output complies with GNU Coding Standards even when
62890         file is NULL.
62891
62892 2006-08-07  Bruno Haible  <bruno@clisp.org>
62893
62894         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
62895         versions of AIX.
62896         Reported by Ralf Wildenhues.
62897
62898 2006-08-07  Bruno Haible  <bruno@clisp.org>
62899
62900         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
62901         in an AC_DEFUN. Needed so that the autoconf snippets can use
62902         AC_REQUIRE.
62903
62904 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62905
62906         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62907         Initialize pkgdata_DATA.
62908         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
62909         overriding it.
62910
62911 2006-08-06  Eric Blake  <ebb9@byu.net>
62912
62913         * lib/error.h: Fold in some upstream changes from glibc.
62914         * lib/error.c: Likewise.
62915
62916 2006-08-04  Bruno Haible  <bruno@clisp.org>
62917
62918         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62919         Make the mostlyclean-local rule depend on mostlyclean-generic.
62920         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
62921
62922 2006-07-31  Bruno Haible  <bruno@clisp.org>
62923
62924         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
62925         <stdlib.h>, <string.h>.
62926
62927 2006-07-30  Bruno Haible  <bruno@clisp.org>
62928
62929         * modules/readlink (License): Change to LGPL.
62930
62931 2006-07-30  Bruno Haible  <bruno@clisp.org>
62932
62933         * modules/javaversion (Makefile.am): Distribute javaversion.java and
62934         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
62935         set PKGDATADIR to point to it.
62936
62937 2006-07-30  Bruno Haible  <bruno@clisp.org>
62938
62939         * modules/csharpexec (configure.ac): Comment out macro invocation.
62940         * modules/javaexec (configure.ac): Likewise.
62941         * modules/javacomp-script (configure.ac): Likewise.
62942
62943         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
62944
62945 2006-07-30  Bruno Haible  <bruno@clisp.org>
62946
62947         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
62948         linked-list.
62949
62950 2006-07-30  Bruno Haible  <bruno@clisp.org>
62951
62952         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
62953
62954 2006-07-30  Bruno Haible  <bruno@clisp.org>
62955
62956         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62957         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
62958         get removed.
62959
62960 2006-07-29  Bruno Haible  <bruno@clisp.org>
62961
62962         Make it possible for gnulib-tool to work with locally modified or
62963         augmented gnulib repositories.
62964         * gnulib-tool (func_usage): Document --local-dir option.
62965         (local_gnulib_dir): New variable.
62966         Handle --local-dir option.
62967         (func_lookup_file): New function.
62968         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
62969         (func_get_description, func_get_filelist, func_get_description,
62970         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
62971         func_get_automake_snippet, func_get_include_directive,
62972         func_get_license, func_get_maintainer): Use func_lookup_file.
62973         (func_import, func_create_testdir): Use func_lookup_file.
62974
62975 2006-07-29  Bruno Haible  <bruno@clisp.org>
62976
62977         * modules/setenv (Depends-on): Add unistd.
62978
62979 2006-07-29  Bruno Haible  <bruno@clisp.org>
62980
62981         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
62982
62983 2006-07-29  Bruno Haible  <bruno@clisp.org>
62984
62985         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
62986
62987 2006-07-29  Bruno Haible  <bruno@clisp.org>
62988
62989         * gnulib-tool (import, update): If there is no Makefile.am, look at
62990         aclocal.m4, instead of bailing out.
62991
62992 2006-07-29  Bruno Haible  <bruno@clisp.org>
62993
62994         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
62995         Categorize the options by when they are useful.
62996
62997 2006-07-29  Bruno Haible  <bruno@clisp.org>
62998
62999         * gnulib-tool (func_usage): Document option --no-libtool.
63000         Handle option --no-libtool.
63001         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
63002         for changed semantics of $libtool variable.
63003         (func_import): Likewise. If libtool is not used, show this through
63004         an option --no-libtool.
63005         (func_create_testdir): Update.
63006
63007 2006-07-29  Bruno Haible  <bruno@clisp.org>
63008
63009         * gnulib-tool (func_import): Extend error message about missing
63010         --doc-base.
63011
63012 2006-07-29  Bruno Haible  <bruno@clisp.org>
63013
63014         * gnulib-tool (func_import): Don't create the $docbase directory if
63015         there is no file to store there.
63016
63017 2006-07-29  Bruno Haible  <bruno@clisp.org>
63018
63019         * gnulib-tool (autoconf_minversion): If a --dir option is given and
63020         relevant, look for configure.ac there, not in the current directory.
63021         Also use a simple search for AC_PREREQ, not "autoconf --trace".
63022
63023 2006-07-29  Bruno Haible  <bruno@clisp.org>
63024
63025         * gnulib-tool (SORT): New variable.
63026         (func_usage): Undocument --assume-autoconf option.
63027         Remove --assume-autoconf option handling.
63028         (autoconf_minversion): Determine from the contents of configure.ac.
63029         (func_import): Remove autoconf_minversion handling.
63030         Suggested by Eric Blake.
63031
63032 2006-07-29  Bruno Haible  <bruno@clisp.org>
63033
63034         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
63035
63036 2006-07-29  Bruno Haible  <bruno@clisp.org>
63037
63038         * config/srclist.txt (*setenv.[ch]): Remove rules.
63039
63040 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63041
63042         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
63043
63044 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63045
63046         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
63047         arpa/inet.h.
63048
63049 2006-07-28  Simon Josefsson  <jas@extundo.com>
63050
63051         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
63052         * modules/inet_pton (Depends-on): Likewise.
63053
63054 2006-07-28  Simon Josefsson  <jas@extundo.com>
63055
63056         * m4/netinet_in_h.m4: New file.
63057
63058 2006-07-28  Simon Josefsson  <jas@extundo.com>
63059
63060         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
63061         #include's.
63062
63063 2006-07-28  Simon Josefsson  <jas@extundo.com>
63064
63065         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
63066         #include's.
63067
63068 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
63069
63070         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
63071         setgid on directories only if they set these bits.
63072         * lib/modechange.h: Remove obsolete comment about masks.
63073
63074 2006-07-28  Eric Blake  <ebb9@byu.net>
63075
63076         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
63077         macro expansion.
63078
63079 2006-07-28  Bruno Haible  <bruno@clisp.org>
63080
63081         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
63082
63083 2006-07-28  Bruno Haible  <bruno@clisp.org>
63084
63085         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
63086
63087 2006-07-28  Bruno Haible  <bruno@clisp.org>
63088
63089         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
63090         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
63091         Define fallbacks.
63092         Avoids link error on FreeBSD 4.x.
63093         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63094
63095         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
63096         encoding.
63097         * lib/mbswidth.c (iswcntrl): Likewise.
63098
63099 2006-07-27  Bruno Haible  <bruno@clisp.org>
63100
63101         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
63102         test.
63103
63104 2006-07-27  Bruno Haible  <bruno@clisp.org>
63105
63106         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
63107         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
63108         defined.
63109
63110 2006-07-26  Eric Blake  <ebb9@byu.net>
63111
63112         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
63113
63114 2006-07-26  Eric Blake  <ebb9@byu.net>
63115
63116         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
63117         like mingw that lack mkstemp.
63118         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
63119         avoid compilation warning on mingw.
63120
63121 2006-07-26  Bruno Haible  <bruno@clisp.org>
63122
63123         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
63124         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
63125         INT_FAST*_MIN, INTPTR_MIN.
63126
63127 2006-07-25  Bruno Haible  <bruno@clisp.org>
63128
63129         * modules/version-etc (Depends-on): Add stdarg.
63130
63131 2006-07-25  Bruno Haible  <bruno@clisp.org>
63132
63133         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
63134         complex commands.
63135
63136 2006-07-25  Bruno Haible  <bruno@clisp.org>
63137
63138         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
63139         defined in <stdarg.h> or config.h.
63140
63141 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
63142
63143         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
63144         (gl_STDIO_SAFER): Remove.
63145
63146 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
63147
63148         * MODULES.html.sh (File stream based Input/Output):
63149         Add fopen-safer, tmpfile-safer; remove stdio-safer.
63150         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
63151         * modules/fopen-safer, modules/tmpfile-safer: New files.
63152         * modules/stdio-safer: Remove.
63153
63154 2006-07-24  Bruno Haible  <bruno@clisp.org>
63155
63156         * modules/tmpdir: New file.
63157         * MODULES.html.sh (File system functions): Add it.
63158
63159 2006-07-24  Bruno Haible  <bruno@clisp.org>
63160
63161         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
63162         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
63163
63164 2006-07-24  Bruno Haible  <bruno@clisp.org>
63165
63166         * modules/clean-temp: New file.
63167
63168 2006-07-24  Bruno Haible  <bruno@clisp.org>
63169
63170         * m4/tmpdir.m4: New file, from GNU gettext.
63171
63172 2006-07-24  Bruno Haible  <bruno@clisp.org>
63173
63174         * lib/tmpdir.h: New file, from GNU gettext.
63175         * lib/tmpdir.c: New file, from GNU gettext.
63176
63177 2006-07-24  Bruno Haible  <bruno@clisp.org>
63178
63179         * lib/clean-temp.h: New file, from GNU gettext.
63180         * lib/clean-temp.c: New file, from GNU gettext.
63181
63182 2006-07-23  Eric Blake  <ebb9@byu.net>
63183
63184         * modules/stdio-safer (Files): Add tmpfile-safer.c.
63185         (Depends-on): Add binary-io.
63186
63187 2006-07-23  Eric Blake  <ebb9@byu.net>
63188
63189         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
63190
63191 2006-07-23  Eric Blake  <ebb9@byu.net>
63192
63193         * lib/tmpfile-safer.c: New file.
63194         * lib/stdio-safer.h (fopen_safer): Add prototype.
63195         * lib/stdio--.h (tmpfile): Make safer.
63196
63197 2006-07-23  Bruno Haible  <bruno@clisp.org>
63198
63199         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
63200         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
63201         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
63202         gl_linked_remove_at): Use it.
63203
63204 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63205         and Simon Josefsson <jas@extundo.com>
63206
63207         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
63208
63209         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
63210
63211 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63212
63213         * modules/close-stream: New file.
63214         * modules/closeout (Description): Make it clear that it exits
63215         with a diagnostic on error.
63216         (Depends-on): Add close-stream.  Remove fpending, stdbool.
63217         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
63218
63219 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63220
63221         * m4/close-stream.m4: New file.
63222
63223 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63224
63225         * lib/close-stream.c, lib/close-stream.h: New files.
63226
63227 2006-07-22  Bruno Haible  <bruno@clisp.org>
63228
63229         Merge from GNU gettext 0.15.
63230
63231         2006-05-01  Bruno Haible  <bruno@clisp.org>
63232
63233                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
63234
63235         2006-07-22  Bruno Haible  <bruno@clisp.org>
63236
63237                 * modules/javaversion: New file.
63238                 * MODULES.html.sh (Java): Add javaversion.
63239
63240         2006-03-12  Bruno Haible  <bruno@clisp.org>
63241
63242                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
63243
63244         2005-12-04  Bruno Haible  <bruno@clisp.org>
63245
63246                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
63247                 (untested).
63248
63249         2006-06-21  Bruno Haible  <bruno@clisp.org>
63250
63251                 Avoid warnings from recent versions of mcs.
63252                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
63253                 -o, -L, -r any more. Use options documented since mcs-1.0
63254                 instead. Similarly for -g.
63255
63256         2005-12-04  Bruno Haible  <bruno@clisp.org>
63257
63258                 * build-aux/csharpcomp.sh.in: Suffix for resources is
63259                 .resources, not .resource.
63260
63261         2005-07-09  Bruno Haible  <bruno@clisp.org>
63262
63263                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
63264                 add a .dll suffix.
63265                 Reported by Mark Junker <mjscod@gmx.de>.
63266
63267         2006-07-22  Bruno Haible  <bruno@clisp.org>
63268
63269                 * modules/gettext: Upgrade to gettext-0.15.
63270                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
63271                 m4/visibility.m4.
63272                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
63273
63274 2006-07-22  Bruno Haible  <bruno@clisp.org>
63275
63276         Merge from GNU gettext 0.15.
63277
63278         2006-03-25  Bruno Haible  <bruno@clisp.org>
63279
63280                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
63281
63282         2006-07-21  Bruno Haible  <bruno@clisp.org>
63283
63284                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
63285                 "1.1".
63286
63287         2006-05-09  Bruno Haible  <bruno@clisp.org>
63288
63289                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
63290                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
63291                 for the conftestver execution.
63292
63293         2006-05-01  Bruno Haible  <bruno@clisp.org>
63294
63295                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
63296                 optional target-version argument. Verify that the compiler
63297                 groks source of the specified source-version, or add -source
63298                 option as necessary. Verify that the compiler produces
63299                 bytecode in the specified target-version, or add -target and
63300                 -source options as necessary. Make the result of the test
63301                 available as variable CONF_JAVAC. Also log error output in
63302                 config.log.
63303
63304         2006-03-11  Bruno Haible  <bruno@clisp.org>
63305
63306                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
63307
63308         2006-05-09  Bruno Haible  <bruno@clisp.org>
63309
63310                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
63311                 CLASSPATH_SEPARATOR to a semicolon.
63312
63313         2006-03-12  Bruno Haible  <bruno@clisp.org>
63314
63315                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
63316                 available as variable CONF_JAVA, for subsequent autoconf
63317                 tests. Also log error output in config.log.
63318
63319         2006-07-19  Bruno Haible  <bruno@clisp.org>
63320
63321                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
63322                 that getline works on glibc2 systems. Needed to avoid trouble
63323                 in relocatable.c.
63324                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
63325
63326         2005-12-04  Bruno Haible  <bruno@clisp.org>
63327
63328                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
63329                 launcher (untested).
63330
63331         2005-12-04  Bruno Haible  <bruno@clisp.org>
63332
63333                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
63334
63335         2006-07-22  Bruno Haible  <bruno@clisp.org>
63336
63337                 * gettext.m4: Update from GNU gettext-0.15.
63338                 * nls.m4: Likewise.
63339                 * po.m4: Likewise.
63340                 * inttypes-pri.m4: Likewise.
63341                 * inttypes-h.m4: Renamed from inttypes.m4.
63342                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
63343
63344 2006-07-22  Bruno Haible  <bruno@clisp.org>
63345
63346         Merge from GNU gettext 0.15.
63347
63348         2005-07-05  Bruno Haible  <bruno@clisp.org>
63349
63350                 * printf-args.c (printf_fetchargs): Work around broken
63351                 definition of wint_t on mingw.
63352
63353         2005-02-12  Bruno Haible  <bruno@clisp.org>
63354
63355                 * xallocsa.h: Add extern "C" for C++.
63356
63357         2006-05-17  Bruno Haible  <bruno@clisp.org>
63358
63359                 Cygwin portability.
63360                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
63361
63362         2006-04-30  Bruno Haible  <bruno@clisp.org>
63363
63364                 * progreloc.c: Include <mach-o/dyld.h> if available.
63365                 (find_executable): Use _NSGetExecutablePath when possible.
63366
63367         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
63368
63369                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
63370                 function.
63371
63372         2005-12-29  Bruno Haible  <bruno@clisp.org>
63373
63374                 * progreloc.c (set_program_name_and_installdir): Fix
63375                 compilation error.
63376
63377         2005-12-04  Bruno Haible  <bruno@clisp.org>
63378
63379                 Cygwin portability.
63380                 * progreloc.c: Include <windows.h> also on Cygwin.
63381                 (find_executable): Add support for Cygwin.
63382                 (set_program_name_and_installdir): Handle also platforms with
63383                 nonempty EXEEXT.
63384
63385         2006-07-11  Bruno Haible  <bruno@clisp.org>
63386
63387                 * javacomp.c: Fix a comment.
63388                 Reported by Jim Meyering.
63389
63390         2006-04-30  Bruno Haible  <bruno@clisp.org>
63391
63392                 * javacomp.h (compile_java_class): Add source_version,
63393                 target_version arguments.
63394                 * javacomp.c: Rewritten to choose only a compiler that
63395                 respects the specified source_version and target_version.
63396
63397         2006-06-27  Bruno Haible  <bruno@clisp.org>
63398
63399                 Assume correct S_ISDIR macro.
63400                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
63401
63402         2006-07-22  Bruno Haible  <bruno@clisp.org>
63403
63404                 * javaversion.h: New file, from GNU gettext.
63405                 * javaversion.c: New file, from GNU gettext.
63406                 * javaversion.java: New file, from GNU gettext.
63407                 * javaversion.class: New file, from GNU gettext.
63408
63409         2006-05-17  Bruno Haible  <bruno@clisp.org>
63410
63411                 Cygwin portability.
63412                 * javaexec.c (execute_java_class): Test for jview program
63413                 also on Cygwin.
63414
63415         2006-04-09  Bruno Haible  <bruno@clisp.org>
63416
63417                 * fatal-signal.c: Don't include string.h.
63418                 (at_fatal_signal): Use a copying loop instead of memcpy.
63419
63420         2005-12-04  Bruno Haible  <bruno@clisp.org>
63421
63422                 * csharpexec.c: Add support for 'clix' launcher (untested).
63423                 (execute_csharp_using_sscli): New function.
63424                 (execute_csharp_program): Call it.
63425
63426         2006-06-21  Bruno Haible  <bruno@clisp.org>
63427
63428                 Avoid warnings from recent versions of mcs.
63429                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
63430                 -o, -L, -r any more. Use options documented since mcs-1.0
63431                 instead. Similarly for -g.
63432
63433         2005-07-09  Bruno Haible  <bruno@clisp.org>
63434
63435                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
63436                 add a .dll suffix.
63437                 Reported by Mark Junker <mjscod@gmx.de>.
63438
63439         2006-06-17  Bruno Haible  <bruno@clisp.org>
63440
63441                 * config.charset: Update for NetBSD 3.0.
63442
63443         2006-05-17  Bruno Haible  <bruno@clisp.org>
63444
63445                 Cygwin portability.
63446                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
63447
63448         2006-05-16  Bruno Haible  <bruno@clisp.org>
63449
63450                 * localcharset.c [CYGWIN]: Include <windows.h>.
63451                 (get_charset_aliases): For Cygwin, return the same CPxxx
63452                 aliases list as under WIN32.
63453                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
63454                 the environment variables. Fall back to GetACP().
63455
63456         2006-04-05  Bruno Haible  <bruno@clisp.org>
63457
63458                 * config.charset: Update Juan Manuel Guerrero's address.
63459
63460         2005-02-12  Bruno Haible  <bruno@clisp.org>
63461
63462                 * allocsa.h: Add extern "C" for C++.
63463
63464         2005-02-10  Bruno Haible  <bruno@clisp.org>
63465
63466                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
63467                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
63468
63469         2006-07-22  Bruno Haible  <bruno@clisp.org>
63470
63471                 * gettext.h: Update to GNU gettext-0.15.
63472
63473 2006-07-22  Bruno Haible  <bruno@clisp.org>
63474
63475         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
63476         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
63477         lib-prefix.m4, longdouble.m4, ssize_t.m4.
63478
63479 2006-07-21  Eric Blake  <ebb9@byu.net>
63480
63481         * modules/stdlib-safer: New file.
63482         * MODULES.html.sh (File stream based Input/Output): Add
63483         stdlib-safer.
63484
63485 2006-07-21  Eric Blake  <ebb9@byu.net>
63486
63487         * lib/stdlib-safer.h: New file from coreutils, required by
63488         stdlib--.h.
63489
63490 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
63491
63492         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
63493
63494 2006-07-20  Bruno Haible  <bruno@clisp.org>
63495
63496         * gnulib-tool: Recognize new option --assume-autoconf.
63497         (autoconf_minversion): New variable.
63498         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
63499
63500 2006-07-20  Bruno Haible  <bruno@clisp.org>
63501
63502         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
63503
63504 2006-07-19  Derek R. Price  <derek@ximbiot.com>
63505
63506         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
63507         Reindent and repaginate.
63508
63509 2006-07-19  Derek Price  <derek@ximbiot.com>
63510
63511         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
63512         Correct grammar.
63513
63514 2006-07-17  Bruno Haible  <bruno@clisp.org>
63515
63516         * modules/list: New file.
63517         * modules/array-list: New file.
63518         * modules/carray-list, modules/carray-list-tests: New files.
63519         * modules/linked-list, modules/linked-list-tests: New files.
63520         * modules/avltree-list, modules/avltree-list-tests: New files.
63521         * modules/rbtree-list, modules/rbtree-list-tests: New files.
63522         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
63523         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
63524         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
63525         * modules/oset: New file.
63526         * modules/array-oset: New file.
63527         * modules/avltree-oset, modules/avltree-oset-tests: New files.
63528         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
63529         * tests/test-carray_list.c: New file.
63530         * tests/test-linked_list.c: New file.
63531         * tests/test-avltree_list.c: New file.
63532         * tests/test-rbtree_list.c: New file.
63533         * tests/test-linkedhash_list.c: New file.
63534         * tests/test-avltreehash_list.c: New file.
63535         * tests/test-rbtreehash_list.c: New file.
63536         * tests/test-avltree_oset.c: New file.
63537         * tests/test-rbtree_oset.c: New file.
63538         * MODULES.html.sh (Container data structures): New section.
63539
63540 2006-07-17  Bruno Haible  <bruno@clisp.org>
63541
63542         * m4/gl_list.m4: New file.
63543
63544 2006-07-17  Bruno Haible  <bruno@clisp.org>
63545
63546         * lib/gl_list.h: New file.
63547         * lib/gl_list.c: New file.
63548         * lib/gl_array_list.h: New file.
63549         * lib/gl_array_list.c: New file.
63550         * lib/gl_carray_list.h: New file.
63551         * lib/gl_carray_list.c: New file.
63552         * lib/gl_linked_list.h: New file.
63553         * lib/gl_linked_list.c: New file.
63554         * lib/gl_anylinked_list1.h: New file.
63555         * lib/gl_anylinked_list2.h: New file.
63556         * lib/gl_avltree_list.h: New file.
63557         * lib/gl_avltree_list.c: New file.
63558         * lib/gl_anyavltree_list1.h: New file.
63559         * lib/gl_anyavltree_list2.h: New file.
63560         * lib/gl_rbtree_list.h: New file.
63561         * lib/gl_rbtree_list.c: New file.
63562         * lib/gl_anyrbtree_list1.h: New file.
63563         * lib/gl_anyrbtree_list2.h: New file.
63564         * lib/gl_anytree_list1.h: New file.
63565         * lib/gl_anytree_list2.h: New file.
63566         * lib/gl_linkedhash_list.h: New file.
63567         * lib/gl_linkedhash_list.c: New file.
63568         * lib/gl_anyhash_list1.h: New file.
63569         * lib/gl_anyhash_list2.h: New file.
63570         * lib/gl_avltreehash_list.h: New file.
63571         * lib/gl_avltreehash_list.c: New file.
63572         * lib/gl_rbtreehash_list.h: New file.
63573         * lib/gl_rbtreehash_list.c: New file.
63574         * lib/gl_anytreehash_list1.h: New file.
63575         * lib/gl_anytreehash_list2.h: New file.
63576
63577         * lib/gl_oset.h: New file.
63578         * lib/gl_oset.c: New file.
63579         * lib/gl_array_oset.h: New file.
63580         * lib/gl_array_oset.c: New file.
63581         * lib/gl_avltree_oset.h: New file.
63582         * lib/gl_avltree_oset.c: New file.
63583         * lib/gl_rbtree_oset.h: New file.
63584         * lib/gl_rbtree_oset.c: New file.
63585         * lib/gl_anytree_oset.h: New file.
63586
63587 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63588
63589         * m4/mkancesdirs.m4: New file.
63590         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
63591         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
63592         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
63593         it.
63594
63595 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63596
63597         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
63598         * lib/mkancesdirs.h: New files.
63599         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
63600         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
63601         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
63602         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
63603         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
63604         callers changed.  Revamp internals significantly, by not
63605         attempting to create directories that are temporarily more
63606         permissive than the final results.  Do not attempt to use
63607         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
63608         This removes some race conditions, fixes some bugs, and simplifies
63609         things.  Use new dirchownmod function to do owner and mode changes.
63610         * lib/mkdir-p.h: Likewise.
63611         * lib/modechange.c (octal_to_mode): New function.
63612         (struct mode_change): New member mentioned.
63613         (make_node_op_equals): New arg mentioned.  All callers changed.
63614         (mode_compile): Keep track of which mode bits the user has explicitly
63615         mentioned.
63616         (mode_adjust): New arg DIR, so that we implement the X op correctly.
63617         New arg PMODE_BITS, to keep track of which mode bits the user
63618         mentioned; it treats S_ISUID and S_ISGID speciall.
63619         All callers changed.
63620         * lib/modechange.h: Likewise.
63621
63622 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63623
63624         * MODULES.html.sh: Add mkancestors.
63625         * modules/mkancesdirs: New module.
63626         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
63627         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
63628         The chdir-safer and afs files are now orphans; I'll remove them
63629         unless someone speaks up.
63630         Add lib/dirchownmod.c, lib/dirchownmod.h.
63631         (Depends-on): Remove alloca, chown, save-cwd, dirname.
63632         Add lchown, mkancesdirs.
63633         (Maintainer): Add self.
63634
63635 2006-07-15  Karl Berry  <karl@gnu.org>
63636
63637         * gnulib-tool: help message wording/arrangement.
63638
63639 2006-07-14  Simon Josefsson  <jas@extundo.com>
63640
63641         * doc/gnulib.texi (Libtool and Windows): New section.
63642
63643 2006-07-12  Simon Josefsson  <jas@extundo.com>
63644
63645         * modules/gendocs (License): Fix license, approved by Karl.
63646
63647 2006-07-12  Eric Blake  <ebb9@byu.net>
63648
63649         * MODULES.html.sh: Add gendocs.
63650
63651 2006-07-11  Eric Blake  <ebb9@byu.net>
63652
63653         * modules/fdl: New module, to install doc/fdl.texi.
63654         * MODULES.html.sh: Add new section for documentation modules.
63655         * gnulib-tool: Avoid space-tab.
63656         (--doc-base): New option, to manage files from doc.
63657
63658 2006-07-11  Eric Blake  <ebb9@byu.net>
63659
63660         * m4/absolute-header.m4: Fix comments to match recent change.
63661
63662 2006-07-11  Eric Blake  <ebb9@byu.net>
63663
63664         * gnulib-tool: List --doc-base before --tests-base.
63665
63666 2006-07-11  Derek R. Price  <derek@ximbiot.com>
63667
63668         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
63669
63670 2006-07-11  Bruno Haible  <bruno@clisp.org>
63671
63672         * README: Mention where to put documentation.
63673
63674 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63675
63676         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
63677
63678 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63679
63680         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
63681         to stdint.m4.
63682
63683 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63684
63685         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
63686         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
63687         "no/such/file/stdint.h" when there is no such file, so that
63688         the resulting C code can be parsed by dodgy compilers.
63689         Problems reported by Bob Proulx.
63690
63691 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63692
63693         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
63694         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63695         macros into the GNU _D_EXACT_NAMLEN.
63696         * lib/savedir.c:  Likewise.
63697         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
63698
63699 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63700         and Paul Eggert  <eggert@cs.ucla.edu>
63701
63702         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
63703         * m4/savedir.m4:
63704         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63705         macros into the GNU _D_EXACT_NAMLEN.
63706
63707 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63708
63709         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
63710         around the absolute name, to work around a problem with the HP-UX
63711         11.23 native C compiler, reported by Bob Proulx.
63712
63713 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63714
63715         * doc/maintain.texi, make-stds.texi: Sync from
63716         <http://savannah.gnu.org/projects/gnustandards>.
63717
63718 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63719
63720         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
63721
63722 2006-07-09  Jim Meyering  <jim@meyering.net>
63723
63724         * m4/glob.m4: Remove a doubled word in a comment.
63725
63726 2006-07-09  Jim Meyering  <jim@meyering.net>
63727
63728         * lib/argp-pv.c: Remove a doubled word in a comment.
63729         * lib/check-version.c (check_version): Likewise.
63730         * lib/javacomp.c (compile_java_class): Likewise.
63731
63732 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
63733
63734         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
63735         for the benefit of people using Autoconf 2.60.  If you want to
63736         support older Autoconf versions you can copy m4/onceonly_2_57.m4
63737         (or m4/onceonly.m4, if pre-2.57) manually.
63738
63739 2006-07-08  Jim Meyering  <jim@meyering.net>
63740
63741         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
63742         comment.
63743         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
63744         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
63745         comment.
63746
63747 2006-07-08  Jim Meyering  <jim@meyering.net>
63748
63749         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
63750
63751 2006-07-07  Simon Josefsson  <jas@extundo.com>
63752
63753         * tests/test-crc.c: Change expected crc value, the test vector
63754         were probably computed using the old broken crc.c?
63755
63756 2006-07-06  Simon Josefsson  <jas@extundo.com>
63757
63758         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
63759         now the canonical place for the M4 file).
63760
63761         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
63762         from the sys_socket dependency now.
63763
63764         * modules/inet_pton (Files): Ditto.
63765
63766         * modules/inet_ntop (Files): Ditto.
63767
63768 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63769
63770         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
63771         not gl_PREREQ_GETUSERSHELL.
63772
63773 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63774
63775         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
63776         with only one argument, for Autoconf 2.60.
63777         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
63778         expand to nothing, so add a shell command to avoid syntax error.
63779         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
63780
63781 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63782
63783         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
63784
63785 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63786
63787         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
63788         no longer needed.  Check for isblank decl.
63789         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
63790         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
63791         of existence.
63792
63793 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63794
63795         * lib/getloadavg.c: Use __VMS, not VMS.
63796         * lib/getopt.c: Likewise.
63797         * lib/getpagesize.h: Likewise.
63798         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
63799         and probably does not work.
63800
63801 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63802
63803         * lib/.cppi-disable: Add wcwidth.
63804         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
63805         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
63806         (ISGRAPH): Remove.  All uses changed to isgraph.
63807         (FOLD) [!defined _LIBC]: Remove special case.
63808         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
63809         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
63810         HAVE_ISBLANK.
63811         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
63812         case.
63813
63814 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
63815
63816         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
63817         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
63818         brackets.  Other minor changes to suppress some compiler
63819         warnings.
63820
63821 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63822         and Paul Eggert  <eggert@cs.ucla.edu>
63823
63824         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
63825         of invoking obsolescent AC_HEADER_DIRENT macro.
63826         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63827         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
63828         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63829         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
63830         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
63831         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63832         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
63833         * m4/readdir.m4: Remove; no longer needed.
63834
63835 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63836         and Paul Eggert  <eggert@cs.ucla.edu>
63837
63838         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
63839         Don't worry about this obsolete case any more.
63840         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
63841         directories.
63842         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
63843         worry about this obsolete case any more.
63844         * lib/fts.c: Likewise.
63845         * lib/getcwd.c: Likewise.
63846         * lib/glob.h: Likewise.
63847         * lib/savedir.c: Likewise.
63848
63849 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63850
63851         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
63852         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
63853         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
63854         needed.
63855         All uses removed.
63856         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63857         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63858         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
63859         needed.
63860         * m4/getdate.m4 (gl_GETDATE): Likewise.
63861         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63862         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63863         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63864         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63865         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63866         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63867         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
63868         needed.
63869
63870 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63871
63872         * lib/memcasecmp.c: Include <limits.h>.
63873         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
63874         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
63875         Don't assume isdigit succeeds only on '0' through '9'.
63876
63877 2006-07-05  Eric Blake  <ebb9@byu.net>
63878
63879         * modules/getaddrinfo (Depends-on): Add snprintf.
63880
63881 2006-07-05  Eric Blake  <ebb9@byu.net>
63882
63883         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
63884         to avoid 'header present but could not be compiled' on cygwin.
63885
63886 2006-07-05  Eric Blake  <ebb9@byu.net>
63887
63888         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
63889         missing from netdb.h.
63890         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
63891
63892 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63893
63894         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
63895         no longer needed.
63896         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
63897         * m4/getdate.m4 (gl_GETDATE): Likewise.
63898         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63899         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63900         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63901         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63902         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63903
63904 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63905
63906         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
63907         All uses of is_space replaced by isspace.
63908         * lib/exit.h: Don't talk about STDC_HEADERS.
63909         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
63910         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
63911         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
63912         replaced by isprint etc.
63913         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
63914         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63915         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
63916         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
63917         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
63918         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63919
63920 2006-07-05  Bruno Haible  <bruno@clisp.org>
63921
63922         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
63923         the function exists, before testing against AIX.
63924         Reported by Martin Lambers <marlam@marlam.de>.
63925
63926 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63927
63928         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
63929         From Mark D. Baushke.
63930
63931 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63932
63933         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
63934         to the absolute name, not just one, to bypass Sun C 5.8's
63935         "warning: #include of /usr/include/... may be non-portable".
63936
63937 2006-07-04  Eric Blake  <ebb9@byu.net>
63938
63939         * modules/dirname-tests: New test module.
63940         * tests/test-dirname.c: New file, replacing dirname.c
63941         TEST_DIRNAME section that was recently deleted.
63942
63943 2006-07-04  Bruno Haible  <bruno@clisp.org>
63944
63945         Assume ANSI C header files and <ctype.h> functions.
63946         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
63947         (mbsnwidth): Use isprint, iscntrl instead.
63948
63949 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63950
63951         Merge from coreutils.
63952         * MODULES.html.sh: Add xstrtold.
63953         * modules/xstrtold: New file.
63954         * modules/cycle-check (Files): Add lib/same-inode.h.
63955         * modules/dirname (Files): Add m4/double-slash-root.m4.
63956         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
63957         * modules/mkdir-p (Files): Add lib/same-inode.h.
63958         * modules/same (Files): Add lib/same-inode.h.
63959
63960 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63961
63962         * m4/absolute-header.m4: Renamed from full-header-path.m4.
63963         This is to keep the terminology clean; POSIX talks about
63964         "absolute pathnames", not "full pathnames", but the GNU
63965         Coding Standards say to use "path" for something else;
63966         so use "absolute" to keep both sides happy.
63967         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
63968         Set gl_absolute_header, not gl_full_header_path.
63969         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
63970         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
63971         All uses changed.
63972
63973         Merge from coreutils.
63974
63975         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
63976
63977         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
63978         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
63979         want to require the building of c-strtod.o.
63980         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
63981         needs -lm directly.
63982         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
63983
63984         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
63985
63986         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
63987         --as-needed option if available.  Problem reported by Albert Chin in
63988         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
63989         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
63990         cc merely issues a bunch of annoying warnings for --as-needed
63991         (this problem was reported by Bob Proulx).  Also, try linking with
63992         -lm to detect a bug in binutils 2.16 (this problem was reported
63993         by Ralf Wildenhues).
63994
63995         2006-06-18  Jim Meyering  <jim@meyering.net>
63996
63997         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
63998         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
63999         macro.
64000         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
64001         also check for glibc-2.4's abort-inducing bug.
64002
64003         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
64004         Low-probability clean-up should be to use rmdir to get rid of
64005         the just-created directory, not unlink.
64006
64007         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
64008         configure fail, and request a bug report to inform us about it.
64009         Add a comment that, barring reports to the contrary, in 2007 we'll
64010         assume ftruncate is universally available.
64011
64012         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
64013
64014         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
64015
64016         2006-03-12  Jim Meyering  <jim@meyering.net>
64017
64018         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
64019         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
64020         * m4/same.m4 (gl_SAME): Likewise.
64021         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
64022
64023         2006-03-11  Eric Blake  <ebb9@byu.net>
64024
64025         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
64026         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
64027         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
64028         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
64029
64030 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64031
64032         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
64033         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
64034         reported by Mark D. Baushke, one in
64035         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
64036
64037         Merge from coreutils.
64038
64039         * lib/.cppi-disable: Add stdint_.h.
64040         * lib/.cvsignore: Add stdint.h.
64041
64042         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
64043
64044         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
64045         both double and long double versions.
64046         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
64047         * lib/xstrtold.c: New file.
64048         * lib/xstrtod.h (xstrtold): New decl.
64049
64050         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64051
64052         * lib/filemode.c (setst): Remove.
64053         (strmode): Rewrite to avoid setst.  This makes the code shorter,
64054         (arguably) clearer, and the generated code is a bit smaller on my
64055         Debian GNU/Linux stable x86 host.
64056
64057         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
64058
64059         * lib/filemode.c: Include "filemode.h" first, to test the interface.
64060         Assume that filemode.h includes sys/types.h and sys/stat.h.
64061         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
64062         (ftypelet): Reorder to put common cases first, for efficiency.
64063         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
64064         to do 'M'.
64065         (strmode): Renamed from mode_string, and now stores 12 bytes instead
64066         of 10, for compatibility with FreeBSD.  All callers changed.
64067         (filemodestring): Now stores 12 bytes instead of 10, and sets file
64068         types that can't be deduced solely from st_mode.  First arg is now a
64069         const pointer.
64070         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
64071         (strmode): Renamed from mode_string.
64072         (filemodestring): New decl.
64073         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
64074         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
64075         needed.
64076         (S_ISPORT, S_ISWHT): New macros, if not already defined.
64077
64078         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
64079
64080         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
64081         fsusage.h now does that.  Include fsusage.h first, to test interface.
64082         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
64083         at most one method (the old code could have generated decls that
64084         didn't conform to C89, not that this was ever exercised).
64085         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
64086
64087         2006-03-19  Jim Meyering  <jim@meyering.net>
64088
64089         Work even in a chroot where d_ino values for entries in "/"
64090         don't match the stat.st_ino values for the same names.
64091         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
64092         number, iterate through all entries again, using lstat instead.
64093         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
64094         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
64095
64096         * lib/getcwd.c (__getcwd): Clarify a comment.
64097         Use memcpy in place of a call to strcpy.
64098
64099         2006-03-12  Jim Meyering  <jim@meyering.net>
64100
64101         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
64102         matches that of the current directory (which we're about to chdir ".."
64103         out of), then save the dev-ino of the parent, instead.
64104
64105         * lib/same-inode.h (SAME_INODE): New file/macro.
64106         * lib/chdir-safer.c (SAME_INODE): Remove definition.
64107         Include "same-inode.h", instead.
64108         * lib/same.c: Likewise.
64109         * lib/cycle-check.h: Include "same-inode.h".
64110         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
64111         * lib/cycle-check.c (SAME_INODE): Remove definition.
64112         * lib/root-dev-ino.h: Include "same-inode.h".
64113
64114         2006-03-11  Eric Blake  <ebb9@byu.net>
64115
64116         * lib/same.c (same_name): s/base_name/last_component/
64117         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
64118         * lib/filenamecat.c (file_name_concat): Likewise.
64119
64120         2006-03-11  Eric Blake  <ebb9@byu.net>,
64121                     Paul Eggert  <eggert@cs.ucla.edu>
64122
64123         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
64124         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
64125         drive prefix.
64126         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
64127         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
64128         (last_component): New method.
64129         * lib/dirname.c (dir_len): Determine when drive letters need a
64130         subsequent slash.  Preserve // when it is special.
64131         (dir_name): Don't append dot when drive letter is absolute.
64132         [TEST_DIRNAME]: Move into a full-blown gnulib test.
64133         * lib/basename.c (base_name): New semantics - malloc the result.
64134         Preserve // when it is special.  Preserve relative files that look
64135         like drive letters.
64136         (base_len): Preserve // when it is special.
64137         (last_component): New method, similar to old base_name semantics.
64138         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
64139         base_name.  Strip redundant slashes from ///.
64140
64141 2006-07-03  Jim Meyering  <jim@meyering.net>
64142
64143         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
64144         macro is used before the first cycle_check call.
64145
64146 2006-07-03  Eric Blake  <ebb9@byu.net>
64147
64148         * modules/dirname (Depends-on): Add xstrndup.
64149
64150 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64151
64152         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
64153         test cases, so that config.log is a bit easier to follow.
64154
64155 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64156
64157         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
64158         both are 64 bits, since this seems to be the tradition, and this
64159         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
64160         we ever run into a host that prefers long long to long in this
64161         case, we'll need another configure-time test.  Problem reported by
64162         Jim Meyering.
64163
64164 2006-07-02  Eric Blake  <ebb9@byu.net>
64165
64166         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
64167
64168 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64169
64170         * modules/inttypes (Depends-on): No longer depends on stdint.
64171         * modules/stdint (Description): Say more about assumptions.
64172         Say that the fast types might differ.  Say macros are used.
64173         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
64174         (Makefile.am): Revise list of substituted symbols to match
64175         new stdint.m4.
64176         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
64177         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
64178         * tests/test-stdint.c (verify_same_types)
64179         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
64180         the code conforms to C99/C89.
64181         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
64182         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
64183
64184 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64185
64186         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
64187         but fix a bug, by requiring at least 64 bits.
64188         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64189         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
64190         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
64191         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
64192
64193         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
64194         changes.  Make 2.59 a prerequisite.  Check and substitute for
64195         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
64196         inttypes.h.  Do not use special include files; just use the
64197         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
64198         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
64199         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
64200         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
64201         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
64202         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
64203         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
64204         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
64205         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
64206         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
64207         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
64208         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
64209         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
64210         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
64211         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
64212         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
64213         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
64214         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
64215         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
64216         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
64217         WINT_MAX.  Check for C99 conformance more strictly, by detecting
64218         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
64219         not check for things that C99 does not require, e.g., int8_t.  If
64220         a test isn't needed unless <stdint.h> isn't working, and is
64221         unlikely to be needed for any other reason, then don't do it
64222         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
64223         size_t, since we assume C89 freestanding at least.  Do not check
64224         for sig_atomic_t, wchar_t, or wint_t, since the code now does
64225         the right thing even if the types are not defined.  Instead use:
64226         (gl_STDINT_TYPE_PROPERTIES): New macro.
64227         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
64228         testing whether <sys/types.h> clashes, as Autoconf does this for
64229         us now.  All uses removed.
64230         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
64231         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
64232         (gl_CHECK_TYPE_SAME):
64233         Remove; no longer needed.
64234         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
64235         exists, since we'll return 0 anyway in that case.
64236         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
64237
64238 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64239
64240         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
64241         possible collision with system files.
64242         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
64243         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
64244         WCHAR_MIN and WCHAR_MAX in this case.
64245         (<stddef.h>): Do not include; no longer needed.
64246         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
64247         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
64248         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
64249         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
64250         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
64251         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
64252         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
64253         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
64254         !defined(__c99))]: Include in this case too, since it's harmless
64255         now.
64256         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
64257         dangerous to do so.
64258         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
64259         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
64260         (_STDINT_MIN, _STDINT_MAX): New macros.
64261         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
64262         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
64263         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
64264         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
64265         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
64266         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
64267         macros, not typedefs; this simplifies things quite a bit.
64268         Use long int for all types narrower than int64_t.
64269         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
64270         Define in terms of long long int or int64_t or long int,
64271         not int64_t or int32_t.  This saves some compile-time testing.
64272         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
64273         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
64274         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
64275         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
64276         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
64277         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
64278         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
64279         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
64280         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
64281         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
64282         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
64283         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
64284         undef any previous version and define our own version, for
64285         simplicity and consistency with the new macros for types.
64286         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
64287         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
64288         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
64289         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
64290         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
64291         @WINT_T_SUFFIX@ to keep things simple here.
64292         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
64293         Simplify by assuming typical 8/16/32/64 host, since we're
64294         already doing that elsewhere anyway.
64295         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
64296         and assume long long int is 64 bits if available.  This
64297         speeds up 'configure'.
64298
64299 2006-07-01  Eric Blake  <ebb9@byu.net>
64300
64301         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
64302         Reported by Andreas Buening.
64303
64304 2006-07-01  Eric Blake  <ebb9@byu.net>
64305
64306         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
64307
64308 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
64309
64310         * lib/getaddrinfo.c: fixed typo
64311
64312 2006-06-29  Jim Meyering  <jim@meyering.net>
64313
64314         * modules/strftime (Maintainer): Add my name, since with the
64315         FPRINTFTIME changes strftime.c has forked from glibc.
64316
64317 2006-06-29  Eric Blake  <ebb9@byu.net>
64318
64319         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
64320
64321 2006-06-29  Eric Blake  <ebb9@byu.net>
64322
64323         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
64324
64325 2006-06-29  Eric Blake  <ebb9@byu.net>
64326
64327         * lib/stat_.h: New file.
64328
64329 2006-06-29  Eric Blake  <ebb9@byu.net>
64330
64331         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
64332         unused static function.
64333
64334 2006-06-29  Eric Blake  <ebb9@byu.net>
64335
64336         * doc/functions.texi (Function Portability): Document missing lstat
64337         on mingw.
64338
64339 2006-06-29  Eric Blake  <ebb9@byu.net>
64340
64341         * MODULES.html.sh: Add sys_stat.
64342         * modules/sys_stat: New module.
64343         * modules/mkstemp (Depends-on): Add sys_stat.
64344
64345 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64346
64347         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
64348
64349 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64350
64351         * m4/c-bs-a.m4: Removed.
64352
64353 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64354
64355         * lib/strftime.c: Assume strftime() exists.
64356
64357 2006-06-29  Derek Price  <derek@ximbiot.com>
64358
64359         * modules/c-bs-a: Removed - \a is C89.
64360         * MODULES.html.sh: Remove c-bs-a.
64361
64362 2006-06-29  Bruno Haible  <bruno@clisp.org>
64363
64364         * modules/wcwidth (License): Change to LGPL.
64365
64366 2006-06-28  Simon Josefsson  <jas@extundo.com>
64367
64368         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
64369         on _WIN32.
64370
64371         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
64372         getnameinfo.
64373
64374 2006-06-28  Simon Josefsson  <jas@extundo.com>
64375
64376         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
64377
64378 2006-06-28  Simon Josefsson  <jas@extundo.com>
64379
64380         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
64381         functions there.  It will succeed on Windows XP, but on Windows
64382         2000 and (presumably) earlier, it will fail, and use the internal
64383         re-implementation.
64384         (use_win32_p): New function.
64385         (getaddrinfo): Use strtoul on servname, to support numeric ports.
64386         Support AI_NUMERICSERV to disable getservbyname.
64387         (getnameinfo): New function, only supports
64388         NI_NUMERICHOST|NI_NUMERICSERV for now.
64389
64390         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
64391         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
64392         getnameinfo.
64393
64394 2006-06-28  Eric Blake  <ebb9@byu.net>
64395
64396         * modules/wcwidth: New file.
64397         * modules/mbchar (Depends-on): Add wcwidth.
64398         * modules/mbswidth (Depends-on): Add wcwidth.
64399         * MODULES.html.sh: Add wcwidth.
64400
64401 2006-06-28  Eric Blake  <ebb9@byu.net>
64402
64403         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
64404         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
64405
64406 2006-06-28  Eric Blake  <ebb9@byu.net>
64407
64408         * lib/xvasprintf.h: Fix comments.
64409
64410 2006-06-28  Eric Blake  <ebb9@byu.net>
64411
64412         * lib/mbchar.h (wcwidth): Include wcwidth.h.
64413         * lib/mbswidth.c (wcwidth): Move from here...
64414         * lib/wcwidth.h: ...to this new file.
64415
64416 2006-06-28  Derek R. Price  <derek@ximbiot.com>
64417
64418         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
64419
64420         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
64421         it's obsolete.
64422         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
64423
64424 2006-06-28  Derek R. Price  <derek@ximbiot.com>
64425
64426         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
64427         Autoconf 2.60 says this stuff was obsolete.
64428
64429 2006-06-28  Bruno Haible  <bruno@clisp.org>
64430
64431         * modules/wcwidth (Files): Add m4/wchar_t.m4.
64432
64433 2006-06-28  Bruno Haible  <bruno@clisp.org>
64434
64435         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
64436         gt_TYPE_WCHAR_T.
64437
64438 2006-06-28  Bruno Haible  <bruno@clisp.org>
64439
64440         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
64441         declaration for wcwidth.
64442         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
64443
64444 2006-06-28  Bruno Haible  <bruno@clisp.org>
64445
64446         * lib/mkdtemp.c [MINGW]: Include <io.h>.
64447         (mkdir): Define using _mkdir.
64448
64449 2006-06-28  Bruno Haible  <bruno@clisp.org>
64450
64451         * lib/getaddrinfo.h: Fix POSIX URL.
64452         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
64453         _WIN32.
64454         (use_win32_p): Make static.
64455         (getaddrinfo): Reject service name if it is empty or does not consist
64456         solely of decimal digits, or if its value is > 65535.
64457         (getnameinfo): Remove useless casts.
64458
64459 2006-06-27  Simon Josefsson  <jas@extundo.com>
64460
64461         * modules/sys_select: New file, suggested by Bruno Haible, Paul
64462         Eggert and Martin Lambers.
64463
64464 2006-06-27  Simon Josefsson  <jas@extundo.com>
64465
64466         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
64467         Eggert and Martin Lambers.
64468
64469 2006-06-27  Bruno Haible  <bruno@clisp.org>
64470
64471         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
64472         result to 0, not to empty.
64473         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
64474
64475 2006-06-27  Bruno Haible  <bruno@clisp.org>
64476
64477         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
64478
64479 2006-06-26  Simon Josefsson  <jas@extundo.com>
64480
64481         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
64482         present.
64483
64484 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
64485
64486         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
64487         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
64488         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
64489
64490 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
64491
64492         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
64493
64494 2006-06-26  Bruno Haible  <bruno@clisp.org>
64495
64496         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
64497
64498 2006-06-26  Bruno Haible  <bruno@clisp.org>
64499
64500         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
64501
64502 2006-06-26  Bruno Haible  <bruno@clisp.org>
64503
64504         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
64505         SGI C compiler in pre-C99 mode.
64506         Suggested by Mark D. Baushke and Larry Jones.
64507
64508 2006-06-26  Bruno Haible  <bruno@clisp.org>
64509
64510         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
64511         WCHAR_MAX.
64512         Reported by Mark D. Baushke and Larry Jones.
64513
64514 2006-06-26  Bruno Haible  <bruno@clisp.org>
64515
64516         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
64517         in pre-C99 mode.
64518         Suggested by Mark D. Baushke and Larry Jones.
64519
64520 2006-06-23  Simon Josefsson  <jas@extundo.com>
64521             Bruno Haible  <bruno@clisp.org>
64522
64523         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
64524         Emit mostlyclean-local rule.
64525         (func_emit_tests_Makefile_am): Likewise.
64526         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
64527
64528 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
64529
64530         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
64531
64532 2006-06-23  Bruno Haible  <bruno@clisp.org>
64533
64534         * tests/test-stdint.c: Update to match ISO C 99 Technical
64535         Corrigendum 1.
64536
64537 2006-06-23  Bruno Haible  <bruno@clisp.org>
64538
64539         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
64540
64541 2006-06-23  Bruno Haible  <bruno@clisp.org>
64542
64543         * lib/stdint_.h: Treat IRIX like OpenBSD.
64544
64545 2006-06-23  Bruno Haible  <bruno@clisp.org>
64546
64547         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
64548         ISO C 99 Technical Corrigendum 1.
64549
64550 2006-06-22  Simon Josefsson  <jas@extundo.com>
64551
64552         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
64553         MinGW.
64554
64555 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64556
64557         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
64558         needed.  Some compiler complained about some of them.  Problem reported
64559         by Larry Jones in
64560         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
64561
64562 2006-06-21  Simon Josefsson  <jas@extundo.com>
64563
64564         * tests/test-getaddrinfo.c: New file.
64565
64566         * modules/getaddrinfo-tests: New file.
64567
64568         * MODULES.html.sh: Add inet_pton.
64569
64570         * modules/inet_pton: New file.
64571
64572 2006-06-21  Simon Josefsson  <jas@extundo.com>
64573
64574         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
64575         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
64576         of using the (limited) gnulib implementation on Windows XP.
64577
64578         * m4/inet_pton.m4: New file.
64579
64580 2006-06-21  Simon Josefsson  <jas@extundo.com>
64581
64582         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
64583         variable.
64584
64585         * lib/socket_.h: Don't define WINVER.
64586
64587         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
64588         slightly modified to work in gnulib.
64589
64590 2006-06-21  Simon Josefsson  <jas@extundo.com>
64591
64592         * doc/gnulib.texi (Windows sockets): Add.
64593
64594 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64595
64596         * lib/read-file.c (fread_file): Start with buffer allocation of
64597         0 bytes rather than 1 byte; this simplifies the code.
64598         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
64599         code to free buffer and save/restore errno.
64600         (internal_read_file): Remove unused local.
64601
64602 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64603
64604         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
64605         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
64606         Problem reported by Denis Excoffier in
64607         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
64608
64609 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64610
64611         * modules/sys_socket, modules/socklen: Include sys/types since
64612         FreeBSD 4.x's sys/socket.h needs it.
64613
64614 2006-06-19  Simon Josefsson  <jas@extundo.com>
64615
64616         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
64617
64618 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
64619
64620         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
64621
64622 2006-06-19  Bruno Haible  <bruno@clisp.org>
64623
64624         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
64625         and FULL_PATH_INTTYPES_H in angle brackets.
64626         Reported by Mark D. Baushke <mdb@gnu.org>.
64627
64628 2006-06-17  Eric Blake  <ebb9@byu.net>
64629
64630         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
64631         errno.
64632
64633 2006-06-17  Bruno Haible  <bruno@clisp.org>
64634
64635         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
64636         <sys/inttypes.h>.
64637
64638 2006-06-17  Bruno Haible  <bruno@clisp.org>
64639
64640         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
64641         whether errno is declared. Assume <errno.h> declares errno.
64642
64643 2006-06-17  Bruno Haible  <bruno@clisp.org>
64644
64645         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
64646
64647 2006-06-17  Bruno Haible  <bruno@clisp.org>
64648
64649         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
64650         problem on Solaris 2.5.1.
64651
64652 2006-06-16  Eric Blake  <ebb9@byu.net>
64653
64654         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
64655         * lib/unicodeio.c [!defined errno]: Likewise.
64656         * lib/strtol.c [!defined errno]: Likewise.
64657         * lib/strtod.c [!defined errno]: Likewise.
64658
64659 2006-06-15  Eric Blake  <ebb9@byu.net>
64660
64661         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
64662
64663 2006-06-15  Eric Blake  <ebb9@byu.net>
64664
64665         * config/srclist.txt (ssize_t.m4): Lose sync.
64666
64667 2006-06-15  Bruno Haible  <bruno@clisp.org>
64668
64669         * modules/stdint (Files): Include m4/full-header-path.m4,
64670         m4/size_max.m4, m4/wchar_t.m4.
64671         (Makefile.am): Many more substitutions.
64672         * modules/stdint-tests: New file.
64673         * tests/test-stdint.c: New file.
64674
64675 2006-06-15  Bruno Haible  <bruno@clisp.org>
64676
64677         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
64678         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
64679         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
64680         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
64681         gl_CHECK_TYPE_SAME): New macros.
64682
64683 2006-06-15  Bruno Haible  <bruno@clisp.org>
64684
64685         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
64686
64687 2006-06-15  Bruno Haible  <bruno@clisp.org>
64688
64689         * lib/stdint_.h: Rewritten to be fully auto-configured.
64690         Fixes bug on HP-UX/IA64.
64691
64692 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
64693
64694         * lib/getdate.y (__attribute__): Don't define if already defined.
64695         Problem reported by Larry Jones.
64696         * lib/utimens.c (__attribute__): Likewise.
64697
64698 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
64699
64700         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
64701         reported by Andreas Schwab.
64702
64703 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64704             Bruno Haible  <bruno@clisp.org>
64705
64706         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
64707         check for the declaration of strnlen and a run test that exposes the
64708         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
64709         rpl_strndup.
64710
64711 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64712             Bruno Haible  <bruno@clisp.org>
64713
64714         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
64715
64716 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64717
64718         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
64719         compile test, for Tru64 4.0D.
64720
64721 2006-05-28  Karl Berry  <karl@gnu.org>
64722
64723         * config/srclist.txt (printf-args.c): lose sync.
64724
64725 2006-05-26  Martin Lambers  <marlam@marlam.de>
64726
64727         * lib/getpass.c: Updates the test for the native W32 API, and adds
64728         missing includes, thus fixing compilation warnings.
64729
64730 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64731
64732         * lib/exclude.c (exclude_fnmatch): New function.
64733         (excluded_file_name): Call exclude_fnmatch.
64734         * lib/exclude.h (excluded_file_name): New prototype
64735
64736 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
64737
64738         * lib/tempname.c (small_open, large_open): New macros.
64739         (__open, __open64) [!_LIBC]: Remove.
64740         (__gen_tempname): Use small_open and large_open instead of __open
64741         and __open64.  This fixes a portability bug on HP-UX 11.11i
64742         reported by Simon Wing-Tang in
64743         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
64744
64745 2006-05-24  Bruno Haible  <bruno@clisp.org>
64746
64747         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
64748         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
64749         Reported by Thorsten Maerz <torte@netztorte.de> via
64750         Aaron Stone <aaron@serendipity.cx>.
64751
64752 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64753
64754         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
64755         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
64756         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
64757         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
64758         not really conditional on the cache.
64759         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
64760
64761 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64762
64763         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
64764         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
64765         (my_usleep): Don't mishandle maximum value.
64766
64767 2006-05-19  Jim Meyering  <jim@meyering.net>
64768
64769         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
64770
64771 2006-05-17  Bruno Haible  <bruno@clisp.org>
64772
64773         Cygwin portability.
64774         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
64775
64776 2006-05-17  Bruno Haible  <bruno@clisp.org>
64777
64778         * lib/stdint_.h: Fix recognition of Cygwin.
64779
64780 2006-05-15  Bruno Haible  <bruno@clisp.org>
64781
64782         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
64783         on libtool patch by Ralf Wildenhues.
64784
64785 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64786
64787         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
64788         test for C99 conformance; (bool) 0.5 is an integer constant
64789         expression, but (bool) -0.5 is not.  Problem reported by Fedor
64790         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
64791
64792 2006-05-11  Simon Josefsson  <jas@extundo.com>
64793
64794         * m4/xvasprintf.m4: Fix obvious typo.
64795
64796 2006-05-11  Jim Meyering  <jim@meyering.net>
64797
64798         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
64799         James Lemley.
64800
64801 2006-05-10  Simon Josefsson  <jas@extundo.com>
64802
64803         * lib/md4.c: Typo fix, update copyright years.
64804         (K1, K2): Don't use L because it turn computations into 64-bit on
64805         64-bit platforms.
64806
64807 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
64808
64809         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
64810         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
64811         unwanted sign propagation, e.g., on hosts with 64-bit int.
64812         There still are some problems with reeelly weird theoretical hosts
64813         (e.g., 33-bit int) but it's not worth worrying about now.
64814         * lib/sha1.c (rol): Likewise.
64815         (K1, K2, K3, K4): Remove unnecessary L suffix.
64816
64817 2006-05-10  Bruno Haible  <bruno@clisp.org>
64818
64819         * lib/des.c: Cast to avoid warnings.
64820
64821 2006-05-09  Bruno Haible  <bruno@clisp.org>
64822
64823         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
64824         (Depends-on): Depend also on xsize, stdarg.
64825         (configure.ac): Add gl_XVASPRINTF.
64826
64827 2006-05-09  Bruno Haible  <bruno@clisp.org>
64828
64829         * m4/xvasprintf.m4: New file.
64830
64831 2006-05-09  Bruno Haible  <bruno@clisp.org>
64832
64833         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
64834         (EOVERFLOW): Define fallback value.
64835         (xstrcat): New function.
64836         (xvasprintf): Recognize the special case of a string concatenation.
64837
64838 2006-05-08  Eric Blake  <ebb9@byu.net>
64839
64840         * gnulib-tool (func_version): Base copyright year on CVS date.
64841         (func_emit_copyright_notice): New function.
64842         (func_emit_lib_Makefile_am): Use it.
64843         (func_emit_tests_Makefile_am): Likewise.
64844         (func_import): Likewise.
64845
64846 2006-05-08  Bruno Haible  <bruno@clisp.org>
64847
64848         * modules/stdarg: New file.
64849         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
64850
64851 2006-05-08  Bruno Haible  <bruno@clisp.org>
64852
64853         * m4/stdarg.m4: New file, from GNU gettext.
64854
64855 2006-05-08  Bruno Haible  <bruno@clisp.org>
64856
64857         * config/srclist.txt (build-aux/config.rpath): different from latest
64858         release.
64859
64860 2006-05-08  Bruno Haible  <bruno@clisp.org>
64861
64862         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
64863
64864 2006-05-05  Jim Meyering  <jim@meyering.net>
64865
64866         * m4/warning.m4: New file, derived from bison's file by the same name.
64867
64868 2006-05-03  Bruno Haible  <bruno@clisp.org>
64869
64870         * lib/stdint_.h: Shorter URL.
64871         * lib/inttypes.h: Likewise.
64872
64873 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64874
64875         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
64876
64877 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64878
64879         * lib/verify.h: Document the internals better.  Most of this change
64880         was written by Bruno Haible.
64881
64882 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64883
64884         * doc/verify.texi: New file, partly based on a proposal by
64885         Bruno Haible.
64886
64887 2006-05-02  Bruno Haible  <bruno@clisp.org>
64888
64889         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
64890         test from here...
64891         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
64892
64893 2006-04-29  Bruno Haible  <bruno@clisp.org>
64894
64895         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
64896         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
64897
64898 2006-04-29  Bruno Haible  <bruno@clisp.org>
64899
64900         * gnulib-tool: Make --update option actually work.
64901
64902 2006-04-29  Bruno Haible  <bruno@clisp.org>
64903
64904         * doc/gcd.texi: New file.
64905         * doc/gnulib.texi: Include it.
64906
64907 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
64908
64909         * lib/getdate.y (get_date): When adding relative date, start with the
64910         initial time, not with the result of the first mktime call.
64911
64912 2006-04-25  Bruno Haible  <bruno@clisp.org>
64913
64914         * gnulib-tool (func_import): Output the include directives in three
64915         blocks, sorted separately.
64916         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64917
64918 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64919
64920         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
64921         to define main with arguments, for C++.  Reported by Eric Blake.
64922         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
64923         Prefer 'int main ()' to 'int main (void)', for C++.
64924         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
64925         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
64926         for 'main', for C99 and C++.
64927
64928 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64929
64930         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
64931         Don't assume that exit status -1 is valid.
64932         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64933         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
64934         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64935         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
64936         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
64937         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
64938         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
64939         functions can be used without declaring them, or that you can
64940         exit with status -1.
64941         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64942
64943 2006-04-24  Karl Berry  <karl@gnu.org>
64944
64945         * config/srclist.txt (longdouble.m4): sync lost.
64946
64947 2006-04-24  Eric Blake  <ebb9@byu.net>
64948
64949         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
64950
64951 2006-04-24  Bruno Haible  <bruno@clisp.org>
64952
64953         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
64954         poll() implementation in AIX.
64955         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64956
64957 2006-04-24  Bruno Haible  <bruno@clisp.org>
64958
64959         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
64960         assigned exactly once.
64961
64962 2006-04-23  Claudio Fontana  <claudio@gnu.org>
64963             Bruno Haible  <bruno@clisp.org>
64964
64965         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
64966         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
64967         for AM_CPPFLAGS.
64968
64969 2006-04-23  Bruno Haible  <bruno@clisp.org>
64970
64971         * modules/copy-file: Depend on unistd.
64972         * modules/execute: Likewise.
64973         * modules/fatal-signal: Likewise.
64974         * modules/findprog: Likewise.
64975         * modules/mkdtemp : Likewise.
64976         * modules/pipe: Likewise.
64977         * modules/wait-process: Likewise.
64978
64979 2006-04-23  Bruno Haible  <bruno@clisp.org>
64980
64981         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
64982         condition was already detected.
64983         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64984
64985 2006-04-23  Bruno Haible  <bruno@clisp.org>
64986
64987         * lib/copy-file.c: Include <unistd.h> unconditionally.
64988         * lib/execute.c: Likewise.
64989         * lib/fatal-signal.c: Likewise.
64990         * lib/findprog.c: Likewise.
64991         * lib/mkdtemp.c: Likewise.
64992         * lib/pipe.h: Likewise.
64993         * lib/pipe.c: Likewise.
64994         * lib/wait-process.h: Likewise.
64995
64996 2006-04-23  Bruno Haible  <bruno@clisp.org>
64997
64998         * gnulib-tool (func_usage): Fix --import description. Document
64999         --update.
65000         (func_import): Create temporary file in a temporary directory, if
65001         --dry-run is specified. Silence errors from 'grep' when there are no
65002         m4 files in $m4dir.
65003         (func_create_testdir): Silence errors from 'grep' when there are no
65004         m4 files in $m4dir.
65005         Reported by Karl Berry <karl@freefriends.org>.
65006
65007 2006-04-20  Bruno Haible  <bruno@clisp.org>
65008
65009         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
65010         one argument, so that the code will be portable to Autoconf 2.60.
65011         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
65012         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
65013         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
65014
65015 2006-04-19  Derek Price  <derek@ximbiot.com>
65016             Eric Blake  <ebb9@byu.net>
65017
65018         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
65019         rather than "/full/path.h".  Update comment to match.  Shorten &
65020         generalize m4_translit call via AS_TR_CPP.
65021
65022 2006-04-19  Derek Price  <derek@ximbiot.com>
65023             Eric Blake  <ebb9@byu.net>
65024
65025         * lib/inttypes.h: Correct grammar in comment.
65026
65027 2006-04-18  Derek Price  <derek@ximbiot.com>
65028             Paul Eggert  <eggert@cs.ucla.edu>
65029
65030         * modules/inttypes: New file.
65031         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
65032
65033 2006-04-18  Derek Price  <derek@ximbiot.com>
65034             Paul Eggert  <eggert@cs.ucla.edu>
65035
65036         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
65037         New files.
65038
65039 2006-04-18  Derek Price  <derek@ximbiot.com>
65040             Paul Eggert  <eggert@cs.ucla.edu>
65041
65042         * lib/inttypes.h: New file.
65043         * lib/strtoimax.c: Assume <inttypes.h>.
65044
65045 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
65046
65047         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
65048         isn't mounted.  Problem reported by Kir Kolyshkin.
65049
65050 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65051
65052         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
65053         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
65054         Derek R. Price.
65055         * lib/regex.h (RE_DUP_MAX): Update comment to match current
65056         implementation.
65057
65058 2006-04-12  Eric Blake  <ebb9@byu.net>
65059
65060         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
65061         is now done automatically by the corresponding Autoconf macro.
65062
65063 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
65064
65065         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
65066         time_r.h.
65067
65068 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65069
65070         Merge regex changes from libc, removing some of our
65071         POSIX-conformance changes that were rejected and redoing them in a
65072         less-intrusive way.
65073
65074         * lib/regcomp.c (re_compile_internal, init_dfa):
65075         Length arg is now size_t, not Idx.  All uses changed.
65076         (peek_token): Forward decl now says internal_function.
65077         (__re_error_msgid, __re_error_msgid_idx):
65078         Now static rather than extern with attribute_hidden.
65079         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
65080         For some reason libc prefers K&R style defns for external functions.
65081         (regerror) [!defined _LIBC]: Likewise.
65082         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
65083         (seek_collating_symbol_entry, lookup_collation_sequence_value):
65084         (build_range_exp, build_collating_symbol):
65085         Use K&R-style defn.
65086         (re_compile_fastmap): Use '\0' to memset, not 0.
65087         (utf8_sb_map): Make the calculations more obvious.
65088         (init_dfa, parse_bracket_exp, build_charclass_op):
65089         Call calloc and cast result, as glibc does.
65090         (init_word_char, fetch_token, peek_token, peek_token_bracket):
65091         (build_range_exp, build_collating_symbol):
65092         Now internal functions.
65093
65094         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
65095
65096         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
65097         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
65098         Don't depend on VMS; depend on __VMS instead, for POSIX
65099         namespace cleanness.
65100         (regoff_t): Define to ssize_t, not long int.
65101
65102         Remove the REG_ macros named below.  Instead, make the old names
65103         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
65104         __USE_GNU_REGEX.
65105         (REG_BACKSLASH_ESCAPE_IN_LISTS):
65106         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
65107         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
65108         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
65109         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
65110         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
65111         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
65112         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
65113         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
65114         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
65115         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
65116         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
65117         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
65118         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
65119         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
65120         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
65121         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
65122         (REG_NREGS):
65123         Remove.  All uses replaced by the old RE_* names.
65124         (RE_BACKSLASH_ESCAPE_IN_LISTS):
65125         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
65126         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
65127         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
65128         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
65129         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
65130         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
65131         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
65132         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
65133         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
65134         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
65135         Don't bother having these macros be independent of each others'
65136         values, since they no longer exist in the POSIX name space.
65137
65138         Rename the following member names back to their old names,
65139         unless !__USE_GNU_REGEX.  All uses changed back.
65140         (buffer): Renamed from re_buffer.
65141         (allocated): Renamed from re_allocated.
65142         (used): Renamed from re_used.
65143         (syntax): Renamed from re_syntax.
65144         (fastmap): Renamed from re_fastmap.
65145         (translate): Renamed from re_translate.
65146         (can_be_null): Renamed from re_can_be_null.
65147         (regs_allocated): Renamed from re_regs_allocated.
65148         (fastmap_accurate): Renamed from re_fastmap_accurate.
65149         (no_sub): Renamed from re_no_sub.
65150         (not_bol): Renamed from re_not_bol.
65151         (not_eol): Renamed from re_not_eol.
65152         (newline_anchor): Renamed from re_newline_anchor.
65153         (num_regs): Renamed from rm_num_regs.
65154         (start): Renamed from rm_start.
65155         (end): Renamed from rm_end.
65156
65157         (free_state): Move up a bit.
65158
65159         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
65160         #define to be empty.
65161         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
65162         when that is what is intended.
65163         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
65164         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
65165         (MAX): New macro.
65166         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
65167         All uses changed back to re_malloc, etc.  It's now the caller's
65168         responsibility to check for overflow; all callers changed.
65169         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
65170         (re_x2nrealloc): Remove.
65171         (free_state): Remove decl.
65172
65173         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
65174         (re_set_registers, re_exec):
65175         Use K&R-style defn.
65176
65177         2006-01-31  Roland McGrath  <roland@redhat.com>
65178
65179         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
65180         Reported by Mike Frysinger <vapier@gentoo.org>.
65181
65182         2006-01-15  Andreas Jaeger  <aj@suse.de>
65183
65184         [BZ #1950]
65185         * lib/regex_internal.c (re_string_reconstruct): Adjust for
65186         build_wcs_upper_buffer change.
65187         (build_wcs_upper_buffer): Change return type.
65188
65189         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
65190
65191         * lib/regex_internal.h: Include <stdint.h> if available.
65192
65193         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
65194
65195         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
65196
65197         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
65198
65199         * lib/regcomp.c: Adjust for changed secondary hash function.
65200
65201         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
65202
65203         * lib/regex.h: Pretty printing.
65204         Clean up namespace a bit.
65205
65206         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
65207
65208         * lib/regexec.c (update_cur_sifted_state, check_arrival,
65209         check_arrival_add_next_nodes): Avoid using uninitialized variable.
65210
65211         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65212                     Ulrich Drepper  <drepper@redhat.com>
65213
65214         [BZ #1302]
65215         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
65216         changed.
65217         (bitset_word_t): Renamed from bitset_word.  All uses changed.
65218
65219         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
65220
65221         [BZ #281]
65222         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
65223         * lib/regcomp.c: Remove unnecessary uses of
65224         unsigned RE_TRANSLATE_TYPE.
65225         * lib/regex_internal.h: Likewise.
65226         * lib/regex_internal.c: Likewise.
65227         * lib/regexec.c: Likewise.
65228         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
65229
65230         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
65231
65232         * lib/regexec.c (find_recover_state): Remove unnecessary
65233         initialization.
65234         (transit_state_bkref): Make DFA a const pointer.
65235         (get_subexp): Likewise.
65236         (check_arrival): Likewise.
65237         (update_cur_sifted_state): Likewise.
65238         (re_search_internal): Likewise.
65239         (prune_impossible_nodes): Likewise.
65240         (acquire_init_state_context): Likewise.
65241         (proceed_next_node): Likewise.
65242         (set_regs): Likewise.
65243         (free_fail_stack_return): Likewise.
65244         (check_arrival_expand_ecl): Mark DFA parameter as const.
65245         (check_arrival_expand_ecl_sub): Likewise.
65246         (check_subexp_limits): Likewise.
65247         (sub_epsilon_src_nodes):  Likewise.
65248         (add_epsilon_src_nodes):  Likewise.
65249         (merge_state_array): Likewise.
65250         (update_regs): Likewise.
65251         (build_trtable): Likewise.
65252         (sift_states_backward): Mark MCTX parameter as const.
65253         (build_sifted_states): Likewise.
65254         (update_cur_sifted_state): Likewise.
65255         (sift_states_mkref): Likewise.
65256         (check_arrival_expand_ecl): Mark eclosure as const.
65257         (check_dst_limits_calc_pos_1): Likewise.
65258         * lib/regex_internal.h (re_match_context_t): Make dfa a const
65259         pointer.
65260
65261         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
65262
65263         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
65264         (transit_state_sb): Likewise.
65265         (transit_state_mb): Likewise.
65266         (sift_states_iter_mb): Likewise.
65267         (check_arrival_add_next_nodes): Likewise.
65268         (check_node_accept_bytes): Change first parameter to pointer-to-const.
65269         [_LIBC] (re_search_2_stub): Use mempcpy.
65270
65271         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
65272         mbrtowc for very simple UTF-8 case.
65273
65274         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
65275         a pointer-to-const.
65276         (re_acquire_state_context): Likewise.
65277         * lib/regex_internal.h: Adjust prototypes.
65278
65279         * lib/regex.c: Prevent using C++ compilers.
65280
65281         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
65282         (re_acquire_state_context): Likewise.
65283
65284 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65285
65286         * modules/regex (Depends-on): Add ssize_t.
65287
65288 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65289
65290         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
65291         translation table.
65292
65293 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65294
65295         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
65296
65297 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
65298             Bruno Haible  <bruno@clisp.org>
65299
65300         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
65301         <sys/types.h> and <inttypes.h>.
65302
65303 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65304
65305         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
65306         `__error_t_defined', so argp.h will not typedef the former.
65307
65308 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
65309
65310         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
65311         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
65312         glibc names.  Even if glibc is changed to conform to POSIX, the
65313         traditional names will be available anyway, since regex depends on
65314         the extensions module.  Also, fix a longstanding typo in the
65315         implementation of Spencer ERE test #75 from grep 2.3.  Problems
65316         reported by Emanuele Giaquinta.  Also, change sense of cached
65317         variable, so that the message makes sense.
65318
65319 2006-03-24  Simon Josefsson  <jas@extundo.com>
65320
65321         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
65322         including some doc fixes.
65323         (base64_encode_alloc): Fix +1 bug on allocation failures.
65324
65325 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65326
65327         * lib/base64.c (base64_encode): Do not read past end of array with
65328         unsanitized input on systems with CHAR_BIT > 8.
65329
65330 2006-03-24  Eric Blake  <ebb9@byu.net>
65331
65332         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
65333
65334 2006-03-22  Karl Berry  <karl@gnu.org>
65335
65336         * config/srclist.txt (*setenv.[ch]): get from coreutils.
65337         * config/srclistvars.sh (COREUTILS): new var.
65338
65339 2006-03-17  Jim Meyering  <jim@meyering.net>
65340
65341         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
65342         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
65343
65344 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65345
65346         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
65347         no longer needs it.  Instead, check that regoff_t is as least
65348         as wide as ptrdiff_t.
65349
65350         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
65351         so that our regex.h stays compatible with the installed regex.
65352         This is helpful for installers who configure --without-included-regex.
65353         Problem reported by Emanuele Giaquinta.
65354
65355 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65356
65357         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
65358         Typedef to long int, not to off_, as POSIX will likely change
65359         in that direction.
65360
65361 2006-03-15  Eric Blake  <ebb9@byu.net>
65362
65363         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
65364
65365 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
65366
65367         * lib/argp-help.c (validate_uparams): Fix typo
65368         * lib/argp-parse.c (argp_default_options): Consistently begin help
65369         messages with a lowercase letter.
65370
65371 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
65372
65373         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
65374         overrun buffers and shouldn't be used (much as gets shouldn't be
65375         used).
65376         * lib/time_r.c (asctime_r, ctime_r): Likewise.
65377
65378 2006-03-08  Simon Josefsson  <jas@extundo.com>
65379
65380         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
65381         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65382
65383 2006-03-08  Simon Josefsson  <jas@extundo.com>
65384
65385         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
65386         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65387
65388 2006-03-08  Simon Josefsson  <jas@extundo.com>
65389
65390         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
65391         signal that configure disabled the device.
65392
65393 2006-03-08  Simon Josefsson  <jas@extundo.com>
65394
65395         * build-aux/maint.mk: Fix refresh-po, to handle no translated
65396         languages.
65397
65398 2006-03-07  Simon Josefsson  <jas@extundo.com>
65399
65400         * modules/getopt (Depends-on): Add unistd.
65401
65402         * modules/unistd: New file.
65403
65404 2006-03-07  Simon Josefsson  <jas@extundo.com>
65405
65406         * modules/gc-random: New file.
65407
65408 2006-03-07  Simon Josefsson  <jas@extundo.com>
65409
65410         * m4/unistd_h.m4: New file.
65411
65412 2006-03-07  Simon Josefsson  <jas@extundo.com>
65413
65414         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
65415         test to be side-effect free by storing the result in the cache
65416         variable gl_cv_lib_readline, and moving the assignment of
65417         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
65418         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65419
65420 2006-03-07  Simon Josefsson  <jas@extundo.com>
65421
65422         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
65423         error on missing devices (the functions will return an error).
65424
65425         * m4/gc.m4: Move random stuff to gc-random.m4
65426
65427 2006-03-07  Simon Josefsson  <jas@extundo.com>
65428
65429         * lib/unistd_.h: New file.
65430
65431 2006-03-07  Simon Josefsson  <jas@extundo.com>
65432
65433         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
65434
65435 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65436
65437         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
65438         Problem reported by Juan Manuel Guerrero.
65439
65440 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65441
65442         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
65443         the unistd module.
65444         * lib/getlogin_r.c: Likewise.
65445         * lib/getlogin_r.h: Likewise.
65446         * lib/glob.c: Likewise.
65447         * lib/pagealign_alloc.c: Likewise.
65448         * lib/unistd_.h: Remove; no longer needed.
65449
65450 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65451
65452         * MODULES.html.sh (Support for systems lacking POSIX:2001):
65453         Add unistd.
65454         * modules/c-stack (Depends-on): Add unistd.
65455         * modules/getlogin_r: Likewise.
65456         * modules/glob: Likewise.
65457         * modules/pagealign_alloc: Likewise.
65458         * modules/unistd (Files): Remove lib/unistd_.h.
65459         (EXTRA_DIST): Remove.
65460         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
65461         need unistd_.h.
65462         (MOSTLYCLEANFILES): Remove unistd.h-t.
65463
65464 2006-03-03  Simon Josefsson  <jas@extundo.com>
65465
65466         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
65467
65468 2006-03-03  Simon Josefsson  <jas@extundo.com>
65469
65470         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
65471         libidn and bison.
65472
65473 2006-03-03  Simon Josefsson  <jas@extundo.com>
65474
65475         * build-aux/maint.mk: Add indent target.
65476
65477 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
65478
65479         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
65480         our replacement poll.h in any case, to avoid a differing
65481         declaration from a system header.  Seen on AIX.
65482
65483 2006-03-01  Simon Josefsson  <jas@extundo.com>
65484
65485         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
65486         <kasal@ucw.cz>.
65487
65488 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65489
65490         * modules/gettime (Depends-on): Add extensions module.
65491         * modules/nanosleep (Depends-on): Likewise.
65492         * modules/settime (Depends-on): Likewise.
65493
65494 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65495
65496         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
65497         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
65498         pedantically.
65499         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
65500         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
65501
65502         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
65503         not "==".  Reported by Ralf Wildenhues.
65504
65505 2006-03-01  Karl Berry  <karl@gnu.org>
65506
65507         * doc/Copyright/request-*: new files, synced from gnuorg.
65508
65509 2006-03-01  Karl Berry  <karl@gnu.org>
65510
65511         * config/srclist.txt (Copyright/*): new entries.
65512
65513 2006-02-28  Simon Josefsson  <jas@extundo.com>
65514
65515         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
65516
65517 2006-02-27  Simon Josefsson  <jas@extundo.com>
65518
65519         * lib/base64.h: Indent #define's.  From Jim Meyering
65520         <jim@meyering.net>.
65521
65522 2006-02-27  Jim Meyering  <jim@meyering.net>
65523
65524         Revert the change of 2006-02-24, so these files can continue
65525         to be sync'd from gettext.
65526         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
65527         of `config.h'.
65528
65529 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65530
65531         * modules/intprops: New file.
65532         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
65533         Add intprops.
65534         * modules/getloadavg (Files): Remove lib/intprops.h.
65535         (Depends-on): Add intprops.
65536         * modules/human: Likewise.
65537         * modules/inttostr: Likewise.
65538         * modules/openat: Likewise.
65539         * modules/sig2str: Likewise.
65540         * modules/userspec: Likewise.
65541         * modules/utimecmp: Likewise.
65542         * modules/xnanosleep: Likewise.
65543         * modules/xstrtol: Likewise.
65544
65545 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
65546
65547         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
65548         * modules/lock-tests (TESTS): Use $(EXEEXT).
65549         * modules/tls-tests: Likewise.
65550         * modules/argp-tests: Likewise.
65551         (check_PROGRAMS): New var, replacing...
65552         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
65553
65554 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65555
65556         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
65557         `config.h'.
65558
65559 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65560
65561         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
65562
65563 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65564
65565         Sync from coreutils.
65566         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
65567         gl_CHDIR_SAFER.
65568
65569 2006-02-22  Jim Meyering  <jim@meyering.net>
65570
65571         Sync from coreutils.
65572         * m4/chdir-safer.m4: New file.
65573
65574 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65575
65576         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
65577         AT_FDCWD exceeds INT_MAX.
65578         * lib/openat.h (AT_FDCWD): Likewise.
65579
65580 2006-02-17  Eric Blake  <address@hidden>
65581
65582         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
65583
65584 2006-02-16  Simon Josefsson  <jas@extundo.com>
65585
65586         * modules/getaddrinfo (Depends-on): Add sys_socket.
65587
65588 2006-02-15  Simon Josefsson  <jas@extundo.com>
65589
65590         * build-aux/maint.mk: Add dsyntax-check rule.
65591
65592 2006-02-15  Eric Blake  <ebb9@byu.net>
65593
65594         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
65595         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
65596         'present but cannot compile' warnings on cygwin.
65597         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
65598         use ws2tcpip.h if sys/socket.h works.
65599         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
65600         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
65601
65602 2006-02-14  Simon Josefsson  <jas@extundo.com>
65603
65604         * modules/maintainer-makefile (Files): Rename.
65605
65606         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
65607         and (the local) Makefile.cfg to maint-cfg.mk.
65608
65609         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
65610         to the latter.
65611
65612         * modules/maintainer-makefile: New module.
65613
65614         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
65615         severaly stripped to make it possible to build it up from scratch
65616         with reliable tests.
65617
65618         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
65619         fixes to permit overriding the default actions when configure and
65620         makefile are not available.
65621
65622 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65623
65624         Sync from coreutils.
65625         * modules/lstat (Depends-on): Don't depend on xalloc.
65626         (License): Change from GPL to LGPL, since this is now simply a
65627         replacement for a libc function.
65628
65629 2006-02-14  Jim Meyering  <jim@meyering.net>
65630
65631         Sync from coreutils.
65632
65633         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
65634         failure on deficient systems, and simplify gnulib lgpl dependencies.
65635         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
65636         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
65637
65638         * lib/xalloc-die.c: Remove unused definition of N_.
65639
65640 2006-02-14  Jim Meyering  <jim@meyering.net>
65641
65642         Sync from coreutils.
65643         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
65644         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
65645         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
65646         double-quote uses of that variable, to accommodate the rare case in
65647         which getmntent is available in none of the libraries checked.  This
65648         happens at least on FreeBSD 5.0.
65649
65650 2006-02-13  Simon Josefsson  <jas@extundo.com>
65651
65652         * gnulib-tool (Usage): Fix --import, from
65653         karl@freefriends.org (Karl Berry).
65654
65655 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
65656
65657         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
65658
65659 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
65660
65661         * lib/argp-namefrob.h: Restore changes accidentally lost during the
65662         "autoupdate" on 2005-12-12.
65663
65664 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
65665
65666         * modules/closeout (Depends-on): Remove atexit.
65667
65668 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
65669
65670         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
65671         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
65672
65673 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65674
65675         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
65676         __EXTENSIONS__ if this causes compilation to fail.  Problem
65677         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
65678         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
65679
65680 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
65681
65682         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
65683         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
65684         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
65685         All uses changed.
65686
65687 2006-01-26  Simon Josefsson  <jas@extundo.com>
65688
65689         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
65690         prototype is visible on mingw32.
65691
65692         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
65693         for mingw32.
65694
65695         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
65696         mingw32).
65697
65698 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
65699
65700         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
65701         attempt to open for write; this always fails, at least on POSIX
65702         hosts.  This reinstates the 2006-01-09 change, which was
65703         inadvertently removed.
65704
65705 2006-01-26  Bruno Haible  <bruno@clisp.org>
65706
65707         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
65708         Reported by Paul Eggert.
65709
65710 2006-01-26  Bruno Haible  <bruno@clisp.org>
65711             Paul Eggert  <eggert@cs.ucla.edu>
65712
65713         * lib/stdbool_.h (_Bool)
65714         [(! (defined __cplusplus || defined __BEOS__)
65715           && !defined __GNUC__
65716           && !(defined __HP_cc || defined __xlc__
65717                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
65718                || defined __sgi))]:
65719         #define to signed char in these cases too; this simplifies
65720         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
65721         etc., separately) and makes it more conservative.
65722
65723 2006-01-25  Simon Josefsson  <jas@extundo.com>
65724
65725         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
65726         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
65727         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
65728
65729 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65730
65731         * lib/argp-namefrob.h: Bugfix. Remove stray #
65732
65733 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
65734
65735         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
65736         so that we test the test.
65737         Check for yet another HP-UX cc bug involving *bool |= bool.
65738
65739 2006-01-25  Karl Berry  <karl@gnu.org>
65740
65741         * config/srclist.txt (vasnprintf.c): sync lost.
65742
65743 2006-01-25  Jim Meyering  <jim@meyering.net>
65744
65745         Sync from the stable (b5) branch of coreutils:
65746
65747         * lib/fts.c (fts_children): Don't let close() clobber errno from
65748         failed fchdir().
65749
65750         * lib/fts.c (fts_stat): When following a symlink-to-directory,
65751         don't necessarily interpret stat-fails+lstat-succeeds as indicating
65752         a dangling symlink.  That can also happen at least for ELOOP.
65753         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
65754         FYI, this bug predates the inclusion of fts.c in coreutils.
65755
65756         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
65757         in their own block, so pre-c99 compilers don't object.
65758
65759         Avoid the double-free (first in fts_read, second in fts_close) that
65760         would occur when an `active' directory is made inaccessible (e.g.,
65761         via chmod a-x) during a traversal.
65762         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
65763         before returning.  Reproduce this failure by
65764         mkdir -p a/b; cd a; chmod a-x . b
65765         Reported by Stavros Passas.
65766
65767 2006-01-25  Jim Meyering  <jim@meyering.net>
65768
65769         * lib/fileblocks.c: Remove more useless parentheses.
65770         * lib/readutmp.h: Likewise.
65771
65772 2006-01-25  Bruno Haible  <bruno@clisp.org>
65773
65774         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
65775         warnings.
65776         Reported by Paul Eggert.
65777
65778 2006-01-25  Bruno Haible  <bruno@clisp.org>
65779
65780         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
65781         rid of a trap command. For Solaris sh.
65782         Reported by Mark D. Baushke <mdb@gnu.org>.
65783
65784 2006-01-24  Simon Josefsson  <jas@extundo.com>
65785
65786         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
65787         Bruno.
65788
65789 2006-01-24  Karl Berry  <karl@gnu.org>
65790
65791         * config/srclist.txt (argp-namefrob.h): sync lost.
65792
65793 2006-01-24  Jim Meyering  <jim@meyering.net>
65794
65795         * modules/openat (Files): Add lib/intprops.h.
65796         From Mark D. Baushke.
65797
65798 2006-01-24  Jim Meyering  <jim@meyering.net>
65799
65800         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
65801         Reported by Mark D. Baushke.
65802
65803 2006-01-24  Jim Meyering  <jim@meyering.net>
65804
65805         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
65806
65807 2006-01-24  Bruno Haible  <bruno@clisp.org>
65808
65809         * modules/strnlen (Maintainer): Change from glibc to all.
65810
65811 2006-01-24  Bruno Haible  <bruno@clisp.org>
65812
65813         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
65814         Patch by Paul Eggert.
65815
65816 2006-01-24  Bruno Haible  <bruno@clisp.org>
65817
65818         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
65819         already has it.
65820         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
65821         2005-11-26.
65822
65823         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
65824         'signed char' to avoid problems with the built-in _Bool type.
65825         Reported by Paul Eggert on 2005-11-26.
65826
65827 2006-01-24  Bruno Haible  <bruno@clisp.org>
65828
65829         * gnulib-tool (func_import): Avoid constructing complicated sed
65830         expressions inside backquote.
65831         Report and solution by Mark D. Baushke <mdb@gnu.org>.
65832
65833 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
65834
65835         These changes imported from libc.
65836         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
65837         test and two separate function calls.
65838         * lib/strndup.c (__strndup): Add libc_hidden_def.
65839
65840 2006-01-23  Simon Josefsson  <jas@extundo.com>
65841
65842         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
65843         Remove the test_*_SOURCES variable: automake infers it by default.
65844         * modules/tls-tests: Likewise.
65845
65846 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65847
65848         Work around porting bugs reported by Dieter in
65849         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
65850         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
65851         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
65852         Include "getopt.h" first, to check interface.
65853         (getenv): Declare only if defined HAVE_DECL_GETENV &&
65854         !HAVE_DECL_GETENV.
65855         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
65856         (__strndup): Revert to K&R-style function dfns, the glibc style.
65857         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
65858         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
65859         Include strnlen.h first, to get prototype properly.
65860         (strnlen): Renamed from __strnlen.
65861         Remove weak alias.
65862
65863 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65864
65865         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
65866
65867 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65868
65869         * config/srclist.txt: Adjust to reflect glibc reorganization.
65870         This affects only comments.
65871
65872 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65873
65874          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
65875          Reported by Bruce Korb <bkorb@gnu.org>.
65876
65877 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
65878
65879         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
65880         to pacify gcc -Wswitch-default.
65881
65882 2006-01-22  Bruno Haible  <bruno@clisp.org>
65883
65884         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
65885         temporary buffer for sprintf, take into account the precision also
65886         for 'd', 'i', 'u', 'o', 'x', 'X'.
65887
65888 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65889
65890         * modules/argp-tests: New module
65891         * tests/test-argp.c: New file
65892         * tests/test-argp-2.sh: New file
65893
65894 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65895
65896         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
65897         (__argp_base_name): Removed
65898         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
65899         typo.
65900         (__argp_base_name): Provide macro definition or extern declaration
65901         depending on the configuration
65902
65903 2006-01-20  Simon Josefsson  <jas@extundo.com>
65904
65905         * modules/inet_ntop (Depends-on): Depend on sys_socket.
65906
65907 2006-01-20  Simon Josefsson  <jas@extundo.com>
65908
65909         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
65910
65911 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
65912
65913         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
65914         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
65915         Suggested by Bruno Haible.
65916
65917 2006-01-20  Karl Berry  <karl@gnu.org>
65918
65919         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
65920         until changes propagate, I guess.
65921
65922 2006-01-19  Simon Josefsson  <jas@extundo.com>
65923
65924         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
65925
65926 2006-01-19  Simon Josefsson  <jas@extundo.com>
65927
65928         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
65929
65930 2006-01-19  Simon Josefsson  <jas@extundo.com>
65931
65932         * gnulib-tool: Set check_PROGRAMS.
65933
65934         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65935         modules/des-tests, modules/gc-arcfour-tests,
65936         modules/gc-arctwo-tests, modules/gc-des-tests,
65937         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65938         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65939         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65940         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65941         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65942         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
65943         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
65944         test_*_SOURCES.
65945
65946 2006-01-18  Simon Josefsson  <jas@extundo.com>
65947
65948         * modules/socklen (Depends-on): Depend on sys_socket.
65949
65950 2006-01-18  Simon Josefsson  <jas@extundo.com>
65951
65952         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65953         modules/des-tests, modules/gc-arcfour-tests,
65954         modules/gc-arctwo-tests, modules/gc-des-tests,
65955         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65956         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65957         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65958         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65959         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65960         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
65961         $(EXEEXT) to automake TESTS variable, for mingw32.
65962
65963 2006-01-17  Simon Josefsson  <jas@extundo.com>
65964
65965         * modules/socklen (Include): Need sys/socket.h.
65966
65967 2006-01-17  Bruno Haible  <bruno@clisp.org>
65968
65969         * modules/ssize_t (Include): Add <sys/types.h>.
65970
65971 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
65972
65973         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
65974         it's not portable and it doesn't work with cross-compiles.
65975         Problem reported by Bruno Haible.  Fix missing-$ typo in
65976         'test "gl_cv_ignore_unused_libraries" ...' that prevented
65977         -zignore from being used with Sun's C compiler.
65978
65979 2006-01-12  Simon Josefsson  <jas@extundo.com>
65980
65981         * lib/base64.c: Fix warning, reported by Bruno Haible
65982         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
65983
65984 2006-01-12  Bruno Haible  <bruno@clisp.org>
65985
65986         * modules/ldd: New file.
65987         * build-aux/ldd.sh.in: New file.
65988         * MODULES.html.sh (Support for building libraries and executables): Add
65989         ldd.
65990
65991 2006-01-12  Bruno Haible  <bruno@clisp.org>
65992
65993         * m4/ldd.m4: New file.
65994
65995 2006-01-12  Bruno Haible  <bruno@clisp.org>
65996
65997         * gnulib-tool (func_import, func_create_testdir): Don't go into an
65998         endless loop while replacing $auxdir with build-aux.
65999
66000 2006-01-11  Simon Josefsson  <jas@extundo.com>
66001
66002         * lib/stdint_.h (SIZE_MAX): Add missing (.
66003
66004 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
66005
66006         Sync from coreutils.
66007         * lib/md5.c: Fix commentary typos.
66008         (alignof, UNALIGNED_P): No need for a GCC-specific version.
66009         * lib/md5.h (__attribute__): Remove; unused.
66010         * lib/sha1.c: Fix commentary to match md5 better.
66011         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
66012         so that we don't need to worry about alignment.  All uses changed.
66013         This merges the 2005-10-28 md5 change into sha1.
66014
66015 2006-01-11  Jim Meyering  <jim@meyering.net>
66016
66017         Sync from coreutils.
66018         * lib/md5.c (OP): Fix spacing.
66019
66020 2006-01-11  Bruno Haible  <bruno@clisp.org>
66021
66022         Ensure automatic ordering between gl_LOCK and gl_ARGP.
66023         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
66024         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
66025
66026 2006-01-11  Bruno Haible  <bruno@clisp.org>
66027
66028         Ensure automatic ordering between gl_LOCK and gl_ARGP.
66029         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
66030         the "early" section as well.
66031
66032 2006-01-11  Bruno Haible  <bruno@clisp.org>
66033
66034         Avoid "ar: no archive members specified" error on MacOS X.
66035         * gnulib-tool (func_modules_add_dummy): New function.
66036         (func_import, func_create_testdir): Invoke it.
66037
66038 2006-01-11  Bruno Haible  <bruno@clisp.org>
66039
66040         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
66041         with $auxdir in AC_CONFIG_FILES statements.
66042
66043 2006-01-11  Bruno Haible  <bruno@clisp.org>
66044
66045         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66046         Initialize also noinst_HEADERS to empty.
66047
66048 2006-01-11  Bruno Haible  <bruno@clisp.org>
66049
66050         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
66051         variables.
66052         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
66053         autoreconf.
66054
66055 2006-01-11  Bruno Haible  <bruno@clisp.org>
66056
66057         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
66058         overridable by the user.
66059         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66060
66061 2006-01-10  Simon Josefsson  <jas@extundo.com>
66062
66063         * modules/sys_socket: New file.
66064
66065 2006-01-10  Simon Josefsson  <jas@extundo.com>
66066
66067         * m4/sys_socket_h.m4: New file.
66068
66069 2006-01-10  Simon Josefsson  <jas@extundo.com>
66070
66071         * lib/socket_.h: New file.
66072
66073 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66074
66075         * modules/readutmp (Maintainer): Add myself.
66076
66077 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66078
66079         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
66080         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
66081         People who are still concerned with buggy memcmp implementations
66082         can invoke gl_FUNC_MEMCMP themselves.
66083
66084 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66085
66086         * lib/regex_internal.h (BITSET_WORD_BITS):
66087         Work around a bug in 64-bit PGC (before version 6.1-2), where the
66088         preprocessor mishandles large unsigned values as if they were signed.
66089         Problem reported by Claudio Fontana in
66090         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
66091
66092 2006-01-10  Jim Meyering  <jim@meyering.net>
66093
66094         Avoid the double-free (first in fts_read, second in fts_close) that
66095         would occur when an `active' directory is made inaccessible (e.g.,
66096         via chmod a-x) during a traversal.
66097         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
66098         before returning.  Reproduce this failure by
66099         mkdir -p a/b; cd a; chmod a-x . b
66100         Reported by Stavros Passas.
66101
66102         Sync from coreutils.
66103         * lib/sha1.c: Tweak grammar in a comment.
66104
66105 2006-01-10  Jim Meyering  <jim@meyering.net>
66106
66107         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
66108         Patch by Joerg Sonnenberger.
66109
66110 2006-01-10  Bruno Haible  <bruno@clisp.org>
66111
66112         * modules/readutmp: Depend on module free.
66113         * modules/strtok_r: Depend on module restrict.
66114
66115 2006-01-10  Bruno Haible  <bruno@clisp.org>
66116
66117         * modules/gettext (configure.ac): Add an invocation of
66118         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
66119
66120 2006-01-10  Bruno Haible  <bruno@clisp.org>
66121
66122         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
66123         Reported by Werner Lemberg <wl@gnu.org>.
66124
66125 2006-01-10  Bruno Haible  <bruno@clisp.org>
66126
66127         * lib/localcharset.c: Update from GNU gettext.
66128
66129 2006-01-10  Bruno Haible  <bruno@clisp.org>
66130
66131         * lib/argp.h (__const): Remove macro. Use const instead.
66132         * lib/argp-fmtstream.h (__const): Likewise.
66133         * lib/glob_.h (__const): Remove macro.
66134         * lib/glob-libc.h: Use const instead of __const.
66135
66136 2006-01-10  Bruno Haible  <bruno@clisp.org>
66137
66138         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
66139         variable.
66140         Needed to avoid an automake error regarding the 'gettext' module.
66141
66142 2006-01-09  Simon Josefsson  <jas@extundo.com>
66143
66144         * modules/inet_ntop (Depends-on): Add restrict.
66145
66146 2006-01-09  Simon Josefsson  <jas@extundo.com>
66147
66148         * modules/gc-rijndael-tests (License): Put under LGPL.
66149
66150         * modules/gc-des-tests (License): Likewise.
66151
66152         * modules/gc-arcfour-tests (License): Likewise.
66153
66154         * modules/gc-arctwo-tests (License): Likewise.
66155
66156         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
66157
66158         * modules/gc-hmac-sha1-tests (Files): Likewise.
66159
66160         * modules/gc-hmac-md5-tests (License): Likewise.
66161
66162         * modules/gc-sha1-tests (License): Likewise.
66163
66164         * modules/gc-md5-tests (License): Likewise.
66165
66166         * modules/gc-md4-tests (License): Likewise.
66167
66168         * modules/gc-md2-tests (License): Likewise.
66169
66170         * modules/gc-tests (License): Likewise.
66171
66172         * modules/des-tests (License): Likewise.
66173
66174         * modules/md4-tests (License): Likewise.
66175
66176         * modules/md2-tests (License): Likewise.
66177
66178 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66179
66180         Sync from coreutils:
66181
66182         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
66183         * modules/lib-ignore: New file.
66184         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
66185         chdir-safer.m4, lchmod.m4.
66186         * modules/openat: Add mkdirat.c, openat-priv.h.
66187
66188 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66189
66190         Sync from coreutils.
66191         * m4/lib-ignore.m4: New file.
66192         * m4/lchmod.m4: New file.
66193
66194 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66195
66196         Sync from coreutils.
66197         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
66198         for write access: POSIX says that must fail.
66199         * lib/fts.c (diropen): Likewise.
66200         * lib/save-cwd.c (save_cwd): Likewise.
66201         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
66202         well, for minor improvements on hosts that lack O_DIRECTORY.
66203         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
66204         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
66205         Fall back on chown if open failed with EACCES.
66206
66207         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
66208         Report an error at compile-time if only a 1-second nominal clock
66209         resolution is found.
66210
66211         * lib/lchmod.h: New file.
66212         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
66213         (make_dir_parents): Use lchown rather than chown, and
66214         lchmod rather than chmod.
66215
66216         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
66217         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
66218         "proc" reported by n0dalus.
66219
66220         * lib/mountlist.c: Include <limits.h>.
66221         (dev_from_mount_options)
66222         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
66223         New function.  It no longer assumes "dev=" has the System V meaning
66224         on Linux (since it doesn't).  It also parses "dev=" more carefully.
66225         (read_file_system_list)
66226         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
66227         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
66228         dev= in that case.
66229
66230         * lib/posixtm.h (PDS_PRE_2000): New macro.
66231         * lib/posixtm.c (year): Arg is now syntax_bits rather than
66232         allow_century.  All usages changed.  Reject dates outside the range
66233         1969-1999 if PDS_PRE_2000 is used.
66234
66235 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66236
66237         Sync from coreutils.
66238         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
66239         (Time of day items): Mention the possibility of leap seconds.
66240         Problem reported by Dr. David Alan Gilbert.
66241
66242 2006-01-09  Jim Meyering  <jim@meyering.net>
66243
66244         Sync from coreutils.
66245
66246         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
66247
66248         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
66249
66250         * lib/modechange.c (mode_compile): Reject an invalid mode string
66251         that starts with an octal digit.  From Andreas Gruenbacher.
66252
66253         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
66254         and dup to open_safer and dup_safer, respectively.
66255         (openat_permissive): Fix typo in comment.
66256
66257         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
66258         "gettext.h"; either no longer needed or are guaranteed by openat.h.
66259         (_): Remove; no longer needed.
66260         (openat): Renamed from rpl_openat; no need for rpl_openat
66261         since openat.h renames openat for us.
66262         Replace most of the body with a call to openat_permissive,
66263         to avoid duplicate code.
66264         Port to (probably hypothetical) environments were mode_t is
66265         wider than int.
66266         (openat_permissive): Require mode arg, so that we can check
66267         types better.  Put it just after flags.  Change cwd failure
66268         indicator from pointer-to-bool to pointer-to-errno-value.
66269         All callers changed.
66270         Invoke openat_save_fail and/or openat_restore_fail if
66271         cwd_errno is null, so that openat can call us.
66272         (openat_permissive, fdopendir, fstatat, unlinkat):
66273         Simplify errno handling to avoid some duplicate code,
66274         as it's OK to set errno on success.
66275         * lib/openat.h: Revamp code so that function macros depend on
66276         __OPENAT_PREFIX only, not also on AT_FDCWD.
66277         (openat_ro): Remove.  Caller changed to use openat_permissive.
66278         (openat_permissive): Now a macro, if not a function.
66279         (openat_restore_fail, openat_save_fail): Now always functions,
66280         since mkdirat needs them even if __OPENAT_PREFIX is defined.
66281
66282         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
66283         and openat.c.
66284         * lib/mkdirat.c: Include openat-priv.h.
66285         Remove definitions of macros defined therein.
66286         * lib/openat.c: Likewise.
66287
66288         * lib/mkdirat.c (mkdirat): New file and function.
66289         * lib/openat.h (mkdirat): Declare.
66290
66291         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
66292
66293         * lib/openat.h (openat_permissive): Declare.
66294         (openat_ro): Define.
66295
66296         * lib/openat.c (EXPECTED_ERRNO): New macro.
66297         (openat_permissive): New function -- used in remove.c rewrite.
66298         (all functions): Set errno just before returning, only if there
66299         was an actual failure.
66300         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
66301
66302         Emulate openat-family functions using Linux's procfs, if possible.
66303         Idea and some code based on Ulrich Drepper's glibc changes.
66304
66305         * lib/openat.c: (BUILD_PROC_NAME): New macro.
66306         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
66307         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
66308         before falling back on save_cwd and restore_cwd.
66309         (fdopendir, fstatat, unlinkat): Likewise.
66310
66311         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
66312         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
66313
66314         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
66315         as second argument to va_arg.  Otherwise, some versions of gcc
66316         warn that `if this code is reached, the program will abort'.
66317
66318 2006-01-09  Jim Meyering  <jim@meyering.net>
66319
66320         Sync from coreutils.
66321         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
66322         Require openat-priv.h.
66323
66324 2006-01-09  Bruno Haible  <bruno@clisp.org>
66325
66326         * modules/strnlen (Include): Use strnlen.h.
66327
66328 2006-01-09  Bruno Haible  <bruno@clisp.org>
66329
66330         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
66331
66332 2006-01-09  Bruno Haible  <bruno@clisp.org>
66333
66334         * lib/sysexit_.h (EX_OK): New macro.
66335         Suggested by Martin Lambers <marlam@marlam.de>.
66336
66337 2006-01-09  Bruno Haible  <bruno@clisp.org>
66338
66339         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
66340         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
66341
66342 2006-01-09  Bruno Haible  <bruno@clisp.org>
66343
66344         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
66345         numbers.
66346
66347 2006-01-09  Bruno Haible  <bruno@clisp.org>
66348
66349         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
66350         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
66351         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
66352         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
66353
66354 2006-01-09  Bruno Haible  <bruno@clisp.org>
66355
66356         * build-aux/javacomp.sh.in: New file, moved from lib/.
66357         * modules/javacomp-script (Files): Update.
66358         (configure.ac): Add AC_CONFIG_FILES invocation.
66359         (EXTRA_DIST): Remove variable.
66360
66361         * build-aux/javaexec.sh.in: New file, moved from lib/.
66362         * modules/javaexec (Files): Update.
66363         (configure.ac): Add AC_CONFIG_FILES invocation.
66364         (EXTRA_DIST): Remove javaexec.sh.in.
66365
66366         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
66367         * modules/csharpcomp-script (Files): Update.
66368         (configure.ac): Add AC_CONFIG_FILES invocation.
66369         (EXTRA_DIST): Remove variable.
66370
66371         * build-aux/csharpexec.sh.in: New file, moved from lib/.
66372         * modules/csharpexec (Files): Update.
66373         (configure.ac): Add AC_CONFIG_FILES invocation.
66374         (EXTRA_DIST): Remove csharpexec.sh.in.
66375
66376 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
66377
66378         Sync from coreutils.
66379
66380         Add POSIX ACL support
66381         * lib/acl.h (copy_acl, set_acl): Add declarations.
66382         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
66383         systems other than Linux.
66384         (chmod_or_fchmod): New function: use fchmod when possible,
66385         and chmod otherwise.
66386         (file_has_acl): Add a POSIX ACL implementation, with a
66387         Linux-specific subcase.
66388         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
66389         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
66390         acls are unsupported.
66391         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
66392         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
66393         are unsupported.
66394
66395 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
66396
66397         Sync from coreutils.
66398         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
66399
66400 2006-01-07  Bruno Haible  <bruno@clisp.org>
66401
66402         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
66403         gl_EARLY.
66404
66405 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66406
66407         * lib/strftime.c (tzname): Don't declare if it is already #defined.
66408         Problem reported for Mingw by Mark Junker.
66409
66410 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66411
66412         * README: Gnulib normally doesn't generate a tarball.
66413
66414 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
66415
66416         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
66417         long int, not int, for nanosecond counts, so that people who are
66418         used to POSIX struct timespec won't be surprised.  Reported by Jim
66419         Meyering.
66420
66421 2005-12-28  Bruno Haible  <bruno@clisp.org>
66422
66423         * build-aux/config.rpath: Update from GNU gettext.
66424
66425 2005-12-16  Jim Meyering  <jim@meyering.net>
66426
66427         * modules/fprintftime: New module.
66428         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
66429
66430 2005-12-16  Jim Meyering  <jim@meyering.net>
66431
66432         * m4/fprintftime.m4: New file.
66433
66434 2005-12-16  Jim Meyering  <jim@meyering.net>
66435
66436         * lib/fprintftime.c, lib/fprintftime.h: New files.
66437
66438 2005-12-15  Simon Josefsson  <jas@extundo.com>
66439
66440         * modules/socklen (configure.ac): Fix M4 macro name, to align with
66441         new m4/socklen.m4.
66442
66443 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66444
66445         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
66446         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
66447
66448 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66449
66450         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
66451         * lib/argp-help.c (fill_in_uparams): Check if the constructed
66452         struct uparams is valid. Fall back to the default values if it is
66453         not.
66454
66455 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66456
66457         * modules/argp (Files): Add argp-pin.c
66458         (Depends-on): dirname
66459         (lib_SOURCES): Add argp-pin.c
66460
66461 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66462
66463         * m4/argp.m4:  Check if program_invocation_name and
66464         program_invocation_short_name are declared and define appropriate
66465         macros if they are not.
66466
66467 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66468
66469         * lib/argp-help.c (__argp_base_name): New function
66470         (__argp_short_program_name): Rewrite using __argp_base_name
66471         * lib/argp-namefrob.h: Define program_invocation_name and
66472         program_invocation_short_name if requested
66473         (__argp_base_name): Add prototype
66474         * lib/argp-parse.c (argp_def): Use gettext wrappers
66475         (argp_default_parser): Use __argp_base_name
66476         * lib/argp-pin.c: New file. Defines program_invocation_name and
66477         program_invocation_short_name on systems that lack them.
66478
66479 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66480
66481         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
66482         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
66483         porting problem reported by Georg Schwarz in
66484         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
66485
66486 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66487
66488         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
66489         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
66490         porting problem reported by Georg Schwarz in
66491         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
66492
66493 2005-12-05  Bruno Haible  <bruno@clisp.org>
66494
66495         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
66496         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
66497         Reported by Mark Junker <mjscod@gmx.de>.
66498
66499 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
66500
66501         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
66502         Use implementation from Albert Chin, with some
66503         comments/corrections by Stepan Kasal and myself.
66504
66505 2005-12-02  Bruno Haible  <bruno@clisp.org>
66506
66507         * gnulib-tool (func_import): Accept GPLed build tool modules when
66508         --lgpl is given.
66509         * modules/csharpcomp-script: New file.
66510         * modules/csharpcomp: Depend on it.
66511         * modules/javacomp-script: New file.
66512         * modules/javacomp: Depend on it.
66513         Suggested by Simon Josefsson.
66514
66515 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
66516
66517         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
66518         statement, to work around an HP-UX 10.20 compiler bug reported by
66519         Peter O'Gorman.
66520
66521 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
66522
66523         * modules/savedir (Depends-on): Add openat.
66524
66525 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
66526
66527         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
66528         (uintmax_t) [defined uintmax_t]: Do not declare.
66529         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
66530         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
66531         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
66532         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
66533         sake of portability to weird hosts that C allows (though we don't
66534         know of any practical examples).
66535
66536         * lib/savedir.h (fdsavedir): New decl.
66537         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
66538         contains most of the former guts of savedir.
66539         (savedir): Use savedirstream.
66540         Include "openat.h".
66541
66542 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66543
66544         * modules/obstack (Files): Add m4/ulonglong.m4.
66545         Problem reported by Davide Angelocola.
66546
66547 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
66548
66549         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
66550         coreutils no longer futzes with rounding modes.
66551
66552 2005-11-14  Jim Meyering  <jim@meyering.net>
66553
66554         * lib/mkstemp-safer.c: Include <config.h>, required for possible
66555         replacement of mkstemp.
66556
66557 2005-11-10  Simon Josefsson  <jas@extundo.com>
66558
66559         * lib/readline.c: Remove EOL.
66560
66561 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66562
66563         * modules/gethrxtime (Depends-on): Add gettime.
66564
66565 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66566
66567         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
66568         or gettimeofday; no longer needed.
66569
66570 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66571
66572         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
66573         time business.
66574         (gethrxtime) [! (HAVE_NANOUPTIME
66575         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
66576         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
66577         our own approximation.
66578
66579 2005-11-08  Eric Blake  <ebb9@byu.net>
66580
66581         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
66582
66583 2005-11-08  Eric Blake  <ebb9@byu.net>
66584
66585         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
66586
66587 2005-11-04  Bruno Haible  <bruno@clisp.org>
66588
66589         * gnulib-tool: Implement --update mode.
66590
66591 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66592
66593         Fix porting problem reported by Theodoros V. Kalamatianos.
66594         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
66595         Don't assume that futimes failing means we must fail.
66596
66597 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66598
66599         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
66600         variables to suggest the intended function of the PATH_MAX check.
66601
66602 2005-10-30  Kean Johnston  <jkj@sco.com>
66603
66604         Trivial changes to support SCO systems.
66605         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
66606         as PATH_MAX.
66607         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
66608         where __ptr is null when no I/O is pending.
66609
66610 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66611
66612         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
66613         leave errno alone.  Problem reported by Dmitry V. Levin.
66614
66615 2005-10-28  Simon Josefsson  <jas@extundo.com>
66616
66617         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
66618         Test more.
66619
66620         * tests/test-gc-md2.c, tests/test-md2.c: New files.
66621
66622         * modules/md2, modules/md2-tests: New files.
66623
66624 2005-10-28  Simon Josefsson  <jas@extundo.com>
66625
66626         * m4/inet_ntop.m4: More tests.
66627
66628         * m4/gc-md2.m4, md2.m4: New file.
66629
66630 2005-10-28  Simon Josefsson  <jas@extundo.com>
66631
66632         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
66633         "restrict" keywords, as per POSIX.  Protect the function
66634         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
66635         Don't use K&R prototypes.  Check the sprintf return values.
66636         Re-define EAFNOSUPPORT if not present.  Indent.
66637
66638         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
66639         suggested by Bruno Haible <bruno@clisp.org>.
66640
66641         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
66642
66643         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
66644
66645         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
66646         libgcrypt).
66647
66648         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
66649
66650         * lib/md2.h, lib/md2.c: New files.
66651
66652 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
66653
66654         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
66655         errno alone.  Problem reported by Frederic Jolliton.
66656
66657 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66658
66659         * modules/verify (License): Change from GPL to LGPL.  This is a
66660         tiny module and there are apparently near-equivalents that are
66661         under the BSD license.
66662
66663 2005-10-24  Simon Josefsson  <jas@extundo.com>
66664
66665         * modules/sha1: Relicense to LGPL.
66666
66667 2005-10-24  Simon Josefsson  <jas@extundo.com>
66668
66669         * lib/md4.h: Shrink buffer size, now that we changed the type.
66670
66671 2005-10-23  Simon Josefsson  <jas@extundo.com>
66672
66673         * gnulib-tool (func_import): Fix --tests-base.
66674
66675 2005-10-22  Simon Josefsson  <jas@extundo.com>
66676
66677         * modules/arcfour (Depends-on): Need stdint.
66678
66679 2005-10-22  Simon Josefsson  <jas@extundo.com>
66680
66681         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
66682         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
66683
66684 2005-10-22  Simon Josefsson  <jas@extundo.com>
66685
66686         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
66687         suggested by Bruno Haible <bruno@clisp.org>.
66688
66689 2005-10-22  Simon Josefsson  <jas@extundo.com>
66690
66691         * lib/crc.h: Include stddef.h, for size_t.
66692
66693 2005-10-22  Simon Josefsson  <jas@extundo.com>
66694
66695         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
66696         arcfour_context struct (simplify test vector testing in GNU
66697         Shishi).
66698
66699 2005-10-21  Simon Josefsson  <jas@extundo.com>
66700
66701         * modules/des, modules/des-tests: New files.
66702
66703         * modules/gc-des, modules/gc-des-tests: New files.
66704
66705         * tests/test-des.c, tests/test-gc-des.c: New file.
66706
66707 2005-10-21  Simon Josefsson  <jas@extundo.com>
66708
66709         * modules/arctwo, modules/arctwo-tests: New files.
66710
66711         * tests/test-arctwo.c: New file.
66712
66713         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
66714
66715         * tests/test-gc-arctwo.c: New file.
66716
66717 2005-10-21  Simon Josefsson  <jas@extundo.com>
66718
66719         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
66720         Bruno Haible <bruno@clisp.org>.
66721
66722         * m4/gc-des.m4: New file.
66723
66724 2005-10-21  Simon Josefsson  <jas@extundo.com>
66725
66726         * m4/arctwo.m4: New file.
66727
66728         * m4/gc-arctwo.m4: New file.
66729
66730 2005-10-21  Simon Josefsson  <jas@extundo.com>
66731
66732         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
66733         block.
66734
66735 2005-10-21  Simon Josefsson  <jas@extundo.com>
66736
66737         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
66738         <bruno@clisp.org>.
66739
66740         * lib/hmac-sha1.c (hmac_sha1): Likewise.
66741
66742         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
66743         Bruno Haible <bruno@clisp.org>.
66744
66745         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
66746         <bruno@clisp.org>.
66747
66748 2005-10-21  Simon Josefsson  <jas@extundo.com>
66749
66750         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
66751
66752 2005-10-21  Simon Josefsson  <jas@extundo.com>
66753
66754         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
66755
66756 2005-10-21  Simon Josefsson  <jas@extundo.com>
66757
66758         * lib/des.h, lib/des.c: New files.
66759
66760         * lib/gc-gnulib.c: Support DES.c
66761
66762 2005-10-21  Simon Josefsson  <jas@extundo.com>
66763
66764         * lib/arctwo.h, lib/arctwo.c: New files.
66765
66766         * lib/gc-gnulib.c: Support ARCTWO.
66767
66768 2005-10-21  Simon Josefsson  <jas@extundo.com>
66769
66770         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
66771         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66772
66773 2005-10-21  Simon Josefsson  <jas@extundo.com>
66774
66775         * gnulib-tool (func_import, func_create_testdir): Define automake
66776         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
66777         Makefile.am snippet),
66778         suggested by Bruno Haible <bruno@clisp.org>.
66779
66780         * modules/gc (Makefile.am): Use it.
66781
66782 2005-10-21  Bruno Haible  <bruno@clisp.org>
66783
66784         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
66785         patch.
66786
66787 2005-10-19  Simon Josefsson  <jas@extundo.com>
66788
66789         * tests/test-gc-rijndael.c: New file.
66790
66791         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
66792
66793 2005-10-19  Simon Josefsson  <jas@extundo.com>
66794
66795         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
66796         interface too.
66797
66798 2005-10-19  Simon Josefsson  <jas@extundo.com>
66799
66800         * tests/test-gc-arcfour.c: New file.
66801
66802         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
66803
66804 2005-10-19  Simon Josefsson  <jas@extundo.com>
66805
66806         * modules/gc-md4, modules/gc-md4-tests: New file.
66807
66808         * tests/test-gc-md4.c: New file.
66809
66810 2005-10-19  Simon Josefsson  <jas@extundo.com>
66811
66812         * m4/gc-md4.m4: New file.
66813
66814 2005-10-19  Simon Josefsson  <jas@extundo.com>
66815
66816         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
66817         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
66818         <kasal@ucw.cz>.
66819
66820 2005-10-19  Simon Josefsson  <jas@extundo.com>
66821
66822         * m4/gc-arcfour.m4: New file.
66823
66824         * m4/gc-rijndael.m4: New file.
66825
66826 2005-10-19  Simon Josefsson  <jas@extundo.com>
66827
66828         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
66829
66830 2005-10-19  Simon Josefsson  <jas@extundo.com>
66831
66832         * lib/gc-gnulib.c: Support ARCFOUR.
66833
66834 2005-10-19  Simon Josefsson  <jas@extundo.com>
66835
66836         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
66837         support.
66838
66839         * lib/gc.h: Add ECB enum type.
66840
66841         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
66842
66843 2005-10-18  Simon Josefsson  <jas@extundo.com>
66844
66845         * tests/test-md5.c: New file.
66846
66847         * modules/md5-tests: New file.
66848
66849 2005-10-18  Simon Josefsson  <jas@extundo.com>
66850
66851         * tests/test-md4.c: New file.
66852
66853         * modules/md4, modules/md4-tests: New files.
66854
66855 2005-10-18  Simon Josefsson  <jas@extundo.com>
66856
66857         * m4/md4.m4: New file.
66858
66859 2005-10-18  Simon Josefsson  <jas@extundo.com>
66860
66861         * lib/md4.h, lib/md4.c: New files, based on md5.?.
66862
66863 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
66864
66865         * gnulib-tool (func_create_testdir): Omit the second check whether
66866         BUILT_SOURCES in nonempty.
66867
66868 2005-10-17  Simon Josefsson  <jas@extundo.com>
66869
66870         * tests/test-rijndael.c: New file.
66871
66872 2005-10-17  Simon Josefsson  <jas@extundo.com>
66873
66874         * modules/sha1: Depend on stdint instead of md5.
66875
66876         * modules/md5: Depend on stdint, remove uint32_t.
66877
66878 2005-10-17  Simon Josefsson  <jas@extundo.com>
66879
66880         * modules/gc-sha1-tests: New file.
66881
66882         * tests/test-gc-sha1.c: New file.
66883
66884 2005-10-17  Simon Josefsson  <jas@extundo.com>
66885
66886         * m4/md5.m4: Remove call to uint32_t.m4.
66887
66888 2005-10-17  Simon Josefsson  <jas@extundo.com>
66889
66890         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
66891
66892         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
66893         md5.h.
66894
66895         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
66896
66897         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
66898
66899 2005-10-17  Simon Josefsson  <jas@extundo.com>
66900
66901         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
66902
66903 2005-10-17  Simon Josefsson  <jas@extundo.com>
66904
66905         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
66906
66907 2005-10-17  Simon Josefsson  <jas@extundo.com>
66908
66909         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
66910
66911         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
66912
66913 2005-10-17  Bruno Haible  <bruno@clisp.org>
66914
66915         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
66916         that it can also be used in a test.
66917
66918 2005-10-16  Bruno Haible  <bruno@clisp.org>
66919
66920         * gnulib-tool (func_emit_tests_Makefile_am): Also define
66921         TESTS_ENVIRONMENT, so that individual tests can augment it.
66922
66923         * gnulib-tool (func_create_testdir): Use an intermediate target for
66924         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
66925         macros, like $(ALLOCA_H), which cannot be passed through the command
66926         line.
66927
66928 2005-10-15  Simon Josefsson  <jas@extundo.com>
66929
66930         * modules/rijndael-tests: New file.
66931
66932         * modules/rijndael: New file.
66933
66934 2005-10-15  Simon Josefsson  <jas@extundo.com>
66935
66936         * m4/rijndael.m4: New file.
66937
66938 2005-10-15  Simon Josefsson  <jas@extundo.com>
66939
66940         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
66941
66942         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
66943
66944 2005-10-14  Simon Josefsson  <jas@extundo.com>
66945
66946         * tests/test-arcfour.c: New file.
66947
66948         * modules/arcfour, modules/arcfour-tests: New files.
66949
66950 2005-10-14  Simon Josefsson  <jas@extundo.com>
66951
66952         * m4/arcfour.m4: New file.
66953
66954 2005-10-14  Simon Josefsson  <jas@extundo.com>
66955
66956         * lib/arcfour.h, lib/arcfour.c: New files.
66957
66958 2005-10-14  Roland McGrath  <roland@redhat.com>
66959
66960         Import from libc.  [BZ #1331]
66961         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
66962         macro argument.
66963         Reported by Matej Vela <vela@debian.org>.
66964
66965 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66966
66967         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
66968         include <wchar.h>; no longer needed.
66969
66970 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66971
66972         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
66973
66974 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
66975         and  Ulrich Drepper  <drepper@redhat.com>
66976
66977         Import from libc.
66978         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
66979         instead of inline stream orientation test and two separate
66980         function calls.  Pay no attention to USE_IN_LIBIO.
66981
66982 2005-10-13  Simon Josefsson  <jas@extundo.com>
66983
66984         * modules/gc-hmac-md5-tests: New file.
66985
66986         * tests/test-gc-hmac-sha1.c: New file.
66987
66988         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
66989
66990         * modules/gc-hmac-md5-tests: New file.
66991
66992         * tests/test-gc-md5.c: New file.
66993
66994         * modules/gc-md5-tests: New file.
66995
66996 2005-10-13  Simon Josefsson  <jas@extundo.com>
66997
66998         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
66999         Move memory allocation outside of loop.
67000
67001 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
67002
67003         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
67004         intermediate directory is in a read-only file system.  Problem
67005         reported by Eric Blake.
67006
67007 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
67008
67009         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
67010
67011 2005-10-12  Simon Josefsson  <jas@extundo.com>
67012
67013         * tests/test-hmac-sha1.c: New file.
67014
67015         * modules/hmac-sha1-tests: New file.
67016
67017         * modules/hmac-sha1: New file.
67018
67019 2005-10-12  Simon Josefsson  <jas@extundo.com>
67020
67021         * modules/gc-sha1: New file.
67022
67023 2005-10-12  Simon Josefsson  <jas@extundo.com>
67024
67025         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
67026
67027         * tests/test-gc-pbkdf2-sha1.c: New file.
67028
67029 2005-10-12  Simon Josefsson  <jas@extundo.com>
67030
67031         * modules/gc-md5, modules/gc-hmac-md5: New files.
67032
67033         * modules/gc (Files): Remove md5, memxor and hmac files.
67034
67035 2005-10-12  Simon Josefsson  <jas@extundo.com>
67036
67037         * m4/gc-pbkdf2-sha1.m4: New file.
67038
67039         * m4/gc-hmac-sha1.m4: New file.
67040
67041         * m4/gc-sha1: New file.
67042
67043         * m4/hmac-sha1.m4: New file.
67044
67045 2005-10-12  Simon Josefsson  <jas@extundo.com>
67046
67047         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
67048
67049         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
67050
67051 2005-10-12  Simon Josefsson  <jas@extundo.com>
67052
67053         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
67054         suggested by Bruno Haible <bruno@clisp.org>.
67055
67056 2005-10-12  Simon Josefsson  <jas@extundo.com>
67057
67058         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
67059
67060 2005-10-12  Simon Josefsson  <jas@extundo.com>
67061
67062         * lib/gc-pbkdf2-sha1.c: New file.
67063
67064         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
67065
67066 2005-10-12  Simon Josefsson  <jas@extundo.com>
67067
67068         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
67069
67070         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
67071
67072 2005-10-12  Simon Josefsson  <jas@extundo.com>
67073
67074         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
67075         GC_USE_HMAC_MD5, respectively.
67076
67077         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
67078         (gc_md5): Fix typo.
67079
67080         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
67081
67082         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
67083
67084         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
67085
67086 2005-10-12  Bruno Haible  <bruno@clisp.org>
67087
67088         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
67089         Reported by Stepan Kasal <kasal@ucw.cz>.
67090
67091 2005-10-11  Simon Josefsson  <jas@extundo.com>
67092
67093         * tests/test-crc.c: New file.
67094
67095         * modules/crc, modules/crc-tests: New files.
67096
67097 2005-10-11  Simon Josefsson  <jas@extundo.com>
67098
67099         * m4/crc.m4: New file.
67100
67101 2005-10-11  Simon Josefsson  <jas@extundo.com>
67102
67103         * lib/gc.h: Add gc_hash and gc_hash_buffer.
67104
67105         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
67106
67107         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
67108
67109 2005-10-11  Simon Josefsson  <jas@extundo.com>
67110
67111         * lib/crc.h, lib/crc.c: New files.
67112
67113         * lib/gc.h (gc_hash_buffer): Add doc.
67114
67115 2005-10-11  Bruno Haible  <bruno@clisp.org>
67116
67117         * modules/c-strcasestr: New file.
67118         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
67119
67120 2005-10-11  Bruno Haible  <bruno@clisp.org>
67121
67122         * modules/c-strcase: New file.
67123         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
67124
67125 2005-10-11  Bruno Haible  <bruno@clisp.org>
67126
67127         * lib/strcasecmp.c: Include limits.h.
67128         (strcasecmp): Avoid integer overflow on exotic platforms.
67129         * lib/strncasecmp.c: Include limits.h.
67130         (strncasecmp): Avoid integer overflow on exotic platforms.
67131         Reported by Paul Eggert.
67132
67133 2005-10-11  Bruno Haible  <bruno@clisp.org>
67134
67135         * lib/c-strcasestr.h: New file, from GNU gettext.
67136         * lib/c-strcasestr.c: New file, from GNU gettext.
67137
67138 2005-10-11  Bruno Haible  <bruno@clisp.org>
67139
67140         * lib/c-strcase.h: New file, from GNU gettext.
67141         * lib/c-strcasecmp.c: New file, from GNU gettext.
67142         * lib/c-strncasecmp.c: New file, from GNU gettext.
67143
67144 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67145
67146         * modules/mempcpy (License): GPL -> LGPL.
67147         * modules/strchrnul (License): Likewise.
67148         * modules/sysexits (License): Likewise.
67149
67150 2005-10-08  Simon Josefsson  <jas@extundo.com>
67151
67152         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
67153
67154 2005-10-07  Simon Josefsson  <jas@extundo.com>
67155
67156         * m4/memxor.m4: Remove gl_C_RESTRICT call.
67157
67158 2005-10-06  Simon Josefsson  <jas@extundo.com>
67159
67160         * tests/test-hmac-md5.c: New file.
67161
67162         * modules/hmac-md5-tests: New file.
67163
67164         * modules/hmac-md5: New file.
67165
67166 2005-10-06  Simon Josefsson  <jas@extundo.com>
67167
67168         * m4/hmac-md5.m4: New file.
67169
67170         * m4/memxor.m4: Require gl_C_RESTRICT.
67171
67172 2005-10-06  Simon Josefsson  <jas@extundo.com>
67173
67174         * lib/memxor.c (memxor): Avoid casts and warnings.
67175
67176 2005-10-06  Simon Josefsson  <jas@extundo.com>
67177
67178         * lib/hmac-md5.c: New file.
67179
67180         * lib/hmac.h: New file.
67181
67182 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67183
67184         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
67185         promotes to int, not unsigned int, to catch the AIX 5.3
67186         compiler bug.
67187
67188 2005-10-05  Simon Josefsson  <jas@extundo.com>
67189
67190         * modules/memxor: New file.
67191
67192         * modules/iconv (Files): Move config.rpath to havelib, it is used
67193         there.
67194
67195         * modules/havelib (Files): Add config.rpath.
67196
67197 2005-10-05  Simon Josefsson  <jas@extundo.com>
67198
67199         * m4/memxor.m4: New file.
67200
67201 2005-10-05  Simon Josefsson  <jas@extundo.com>
67202
67203         * lib/memxor.c (memxor): Fix compiler error.
67204
67205         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
67206         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
67207
67208         * lib/memxor.h, lib/memxor.c: New files.
67209
67210         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
67211         we assume all systems have it, suggested by Jim Meyering
67212         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
67213         any systems lack sys/socket.h; mingw32 is known to lack it, but we
67214         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
67215         same reasons.
67216
67217 2005-10-05  Simon Josefsson  <jas@extundo.com>
67218
67219         * config/srclist.txt: Add glibc bug 1423 for md5.h.
67220
67221 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67222
67223         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
67224         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
67225         needed, since the source code now assumes these .h files.
67226
67227 2005-10-05  Derek Price  <derek@ximbiot.com>
67228
67229         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
67230
67231 2005-10-05  Bruno Haible  <bruno@clisp.org>
67232
67233         * modules/stdint (License): Change to LGPL.
67234
67235 2005-10-04  Simon Josefsson  <jas@extundo.com>
67236
67237         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
67238         D. Baushke" <mdb@gnu.org>.
67239
67240 2005-10-04  Bruno Haible  <bruno@clisp.org>
67241
67242         * lib/verify.h (verify_true): Provide alternative definition for C++.
67243
67244 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
67245
67246         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
67247         (SSIZE_MAX): New macro, if not already defined.
67248         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
67249         than 2 GiB.
67250
67251 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67252
67253         Sync from coreutils.
67254         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
67255         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
67256         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
67257         ULLONG_MAX doesn't work with 2.7.2.1.
67258
67259 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67260
67261         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
67262         From Ben Pfaff.
67263
67264         * modules/exclude (Depends-on): Depend on verify.
67265         * modules/strtoimax (Depends-on): Likewise.
67266         * modules/utimecmp (Depends-on): Likewise.
67267
67268 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67269
67270         * lib/exclude.c: Include verify.h.
67271         (verify): Remove.  All callers changed to use verify.h's version.
67272         * lib/strtoimax.c: Likewise.
67273         * lib/utimecmp.c: Likewis.e
67274
67275         Sync from coreutils.
67276         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
67277         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
67278         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
67279         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
67280         bother returning ENOSYS if settimeofday or stime fails; just let
67281         them return whatever errno they want to return.
67282         * lib/utimens.c: Include unistd.h, for dup2.
67283         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
67284         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
67285
67286 2005-10-02  Jim Meyering  <jim@meyering.net>
67287
67288         Sync from coreutils.
67289         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
67290         from glibc-2.2.5 that fails for read-only files.
67291
67292 2005-10-02  Jim Meyering  <jim@meyering.net>
67293
67294         Sync from coreutils.
67295         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
67296         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
67297         `#if HAVE_CONFIG_H'.
67298         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
67299         Remove AT_FDCWD test.
67300         Do not consume the fd unless successful.
67301         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
67302         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
67303         block, so that we don't even try to compile it if settimeofday is
67304         available.  This works around a compilation failure on OSF1 V5.1,
67305         due to stime requiring a `long int*' while tv_sec is `int'.
67306
67307 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
67308
67309         Sync from coreutils.
67310         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
67311         against `yes', rather than just testing for nonempty.
67312
67313 2005-10-01  Simon Josefsson  <jas@extundo.com>
67314
67315         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
67316         and Darwin.
67317
67318         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
67319         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
67320         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
67321         freeaddrinfo and gai_strerror are declared by the POSIX headers.
67322         Check if struct addrinfo is declared.
67323
67324 2005-10-01  Simon Josefsson  <jas@extundo.com>
67325
67326         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
67327         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
67328         AI_* and EAI_* definitions.  Protect function declarations.
67329
67330 2005-10-01  Jim Meyering  <jim@meyering.net>
67331
67332         Sync from coreutils.
67333
67334         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
67335         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
67336         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
67337         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
67338         in the inet and nsl libraries.  Required on Solaris 5.7.
67339
67340 2005-10-01  Jim Meyering  <jim@meyering.net>
67341
67342         Sync from coreutils.
67343         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
67344         in the inet and nsl libraries.  Required on Solaris 5.7.
67345
67346 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
67347
67348         * lib/getdelim.c (getdelim): Remove unused variables.
67349
67350 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67351
67352         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
67353         so that the code works even with ancient cpp.  Portability problem
67354         with GCC 2.7.2.1 reported by Thomas M.Ott.
67355
67356 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67357
67358         * modules/regex (Depends-on): Add strcase.
67359
67360         * modules/gethostname (Licence): Change from GPL to LGPL, since
67361         gethostname.c is a trivial implementation of a standard library
67362         function.
67363         * modules/poll (License): Change from GPL to LGPL, since it's
67364         derived from LGPL code.
67365
67366 2005-09-27  Jim Meyering  <jim@meyering.net>
67367
67368         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
67369         HAVE_CONFIG_H.
67370
67371         * lib/intprops.h (signed_type_or_expr__): Define.
67372         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
67373         for unsigned types.
67374
67375 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67376
67377         * lib/verify.h (verify_expr): Remove, replacing with:
67378         (verify_true): New macro that returns true instead of void.
67379         (verify_type__): Remove.
67380         (verify): Use verify_true rather than verify_type__.
67381
67382 2005-09-26  Bruno Haible  <bruno@clisp.org>
67383
67384         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
67385         is necessary.
67386         (lib_SOURCES): Remove mbchar.c.
67387         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
67388         (Files): Add m4/mbrtowc.m4.
67389         * modules/mbiter: Likewise.
67390         * modules/mbuiter: Likewise.
67391
67392 2005-09-26  Bruno Haible  <bruno@clisp.org>
67393
67394         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
67395         compile mbchar.c if they are not both present.
67396         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
67397         * m4/mbiter.m4 (gl_MBITER): Likewise.
67398         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
67399         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
67400         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
67401
67402 2005-09-25  Jim Meyering  <jim@meyering.net>
67403
67404         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
67405         also uses socklen_t.
67406
67407 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
67408
67409         * lib/utimens.c (ENOSYS): Define if not already defined.
67410         (futimens): Support having a null PATH if the file descriptor
67411         is nonnegative.
67412
67413         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
67414         Remove.
67415         (__attribute): Define to empty unless GCC 3.1 or later.
67416         This works around a core dump on OpenBSD 3.4, which has GCC
67417         2.95.3, which dumps core when given __attribute__(()).  It also
67418         simplifies other tests, since we really don't want to bother with
67419         worrying about which ancient version of GCC supported what.
67420         Original problem reported by Yoann Vandoorselaere, with part of
67421         the fix suggested by Derek Price.
67422
67423 2005-09-24  Jim Meyering  <jim@meyering.net>
67424
67425         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
67426         so we can once again use a positive bitfield width of 1 -- now we
67427         don't have to explain why we were using a bitfield width of 2.
67428
67429 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
67430
67431         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
67432         and similarly for the other external symbols.  Problem reported
67433         by James Gallager.
67434
67435         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
67436         bug reported by Jim Meyering.
67437
67438         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
67439         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
67440         not needed, since socklen is a prerequisite module.
67441
67442 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
67443
67444         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
67445         Problem reported by Eric Blake.
67446         (getaddrinfo): Initialize se so that it's not garbage.
67447         Redo internal storage allocation so that it doesn't make unportable
67448         assumptions about alignment.
67449         Fix a memory leak.
67450
67451         * lib/utimens.c (futimens): Use futimesat if available.
67452         Prefer it to futimes since it doesn't have the futimes bug.
67453
67454         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
67455         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
67456         Instead, declare a function that returns a pointer to an array,
67457         and use verify_type__ to declare the size of the array.
67458         Problem and germ of a solution reported by Bruno Haible.
67459         (verify_type__): Use 2, not 1, for bitfield size, to avoid
67460         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
67461
67462 2005-09-23  Jim Meyering  <jim@meyering.net>
67463
67464         Sync from coreutils.
67465         Correct build failure (socklen_t not defined) on at least
67466         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
67467         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
67468
67469 2005-09-23  Jim Meyering  <jim@meyering.net>
67470
67471         * modules/getaddrinfo (Depends-on): Add socklen.
67472
67473 2005-09-23  Bruno Haible  <bruno@clisp.org>
67474
67475         * tests/test-verify.c: New file.
67476
67477 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67478
67479         Sync from coreutils.
67480
67481         * modules/argmatch (Depends-on): Add verify.
67482         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
67483         unistd-safer.
67484         * modules/save-cwd (Depends-on): Likewise.
67485
67486         * modules/openat (Files): Add lib/openat-die.c.
67487         (Depends-on): Remove error, exitfail.
67488         Add dirname.
67489
67490         * modules/verify: New file.
67491         * MODULES.html.sh (Diagnostics <assert.h>): New section,
67492         with "verify" module.
67493
67494 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67495
67496         Sync from coreutils.
67497
67498         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
67499         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
67500         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
67501         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
67502         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
67503         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
67504         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
67505         Don't bother checking for string.h, stdlib.h, unistd.h.
67506         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
67507         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
67508         module's job.
67509         * m4/jm-macros.m4 (gl_MACROS): Likewise.
67510         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
67511
67512         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
67513         (gl_GETDATE): Use it.
67514
67515         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
67516
67517 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67518
67519         Sync from coreutils.
67520
67521         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
67522         stat-time.h.
67523         * lib/argmatch.h: Include verify.h
67524         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
67525         (ARGMATCH_ASSERT): Remove; unused.
67526         * lib/canonicalize.c: Assume STDC_HEADERS.
67527         * lib/exclude.c: Include "strcase.h".
67528         * lib/regex_internal.h [!defined _LIBC]: Likewise.
67529         * lib/getusershell.c: Include stdio--.h rather than stdio.h
67530         and stdio-safer.h.
67531         (getusershell): Call fopen, not fopen_safer.
67532         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
67533         Do not include unistd-safer.h.
67534         (save_cwd): Don't call fd_safer; no longer needed
67535         now that we include fcntl--.h.
67536
67537         * lib/getdate.y (relative_time): New type.
67538         (RELATIVE_TIME_0): New constant.
67539         (parser_control): Use relative_time instead of doing it ourselves.
67540         (%union): Add new relative_time rel member.
67541         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
67542         Now typeless.
67543         (relunit, relunit_snumber): Now of type rel.
67544         (zone, rel, relunit, get_date): Adjust to above changes.
67545
67546         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
67547         Do not include unistd-safer.h.
67548         (getloadavg): Don't call fd_safer; no longer needed
67549         now that we include fcntl--.h.
67550
67551         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
67552         (make_dir_parents): Treat ENOSYS like EEXIST.
67553
67554         Improve quality of diagnostics on restore_cwd failure.
67555         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
67556         (make_dir_parents): Last arg is now int * (for errno), not bool *.
67557         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
67558         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
67559         each time through the loop.  Do not diagnose restore_cwd failure;
67560         that is the caller's job (and perhaps the caller does not care).
67561
67562         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
67563         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
67564         If the file already exists but is not a directory, don't bother
67565         to try to make its parents.
67566         Close potential file descriptor leak if we can't chdir("/") (!).
67567         Don't always return true if chdir($PWD) fails; return true only
67568         if the requested action was done successfully (except for the
67569         chdir($PWD)).
67570         Don't log final directory unless we actually made it.
67571         Refactor to avoid duplicate code to fix up permissions.
67572         Don't attempt to fix up parent permissions if chdir($PWD) fails.
67573
67574         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
67575         to make it a bit faster and (I hope) clearer.
67576         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
67577         Fix bug in formats like %2N.
67578
67579         * lib/verify.h: New file.
67580
67581 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67582
67583         Sync from coreutils.
67584         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
67585
67586 2005-09-22  Jim Meyering  <jim@meyering.net>
67587
67588         Sync from coreutils.
67589
67590         * m4/lstat.m4 (gl_FUNC_LSTAT):
67591         Use AC_LIBSOURCES to require lstat.c and lstat.h.
67592         Remove obsolete comment.
67593         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
67594         * m4/xstrtod.m4: Likewise.
67595
67596         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
67597
67598 2005-09-22  Jim Meyering  <jim@meyering.net>
67599
67600         Sync from coreutils.
67601
67602         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
67603
67604         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
67605         the .tm_year member, since otherwise gcc-4.0 would now warn about
67606         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
67607
67608         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
67609         order to avoid an unsuppressible warning from gcc on 64-bit systems.
67610
67611         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
67612         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
67613         when run in a time zone for which daylight savings time is in effect
67614         for the starting date.
67615
67616         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
67617         stop us from restricting permissions of just-created absolute-named
67618         directories.
67619         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
67620         to restore initial working directory.
67621         * lib/mkdir-p.c (make_dir_parents): New parameter:
67622         different_working_dir, to tell caller if/when we change the working
67623         directory and are unable to return to the initial one.
67624         * lib/mkdir-p.h (make_dir_parents): Update prototype.
67625         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
67626         `return false'.  This fixes a bug introduced on 2004-07-30.
67627
67628         * lib/openat.c (fdopendir): Be sure to close the supplied
67629         file descriptor before returning.  This makes our replacement
67630         implementation a little closer to Solaris's, where fdopendir
67631         ties the file descriptor to the returned DIR* pointer.
67632         * lib/openat.c (unlinkat): New function.
67633         * lib/openat.h (unlinkat): Add prototype.
67634         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
67635         (openat_restore_fail): Rename from openat_restore_die.
67636         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
67637
67638         Provide an alternative to exiting immediately upon save_cwd or
67639         restore_cwd failure.  Now, an application can arrange e.g.,
67640         to perform a longjump in that case.
67641         * lib/openat.c: Include dirname.h.
67642         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
67643         (rpl_openat, fdopendir, fstatat): Call openat_save_die
67644         and openat_restore_die rather than calling error directly.
67645         Don't include "error.h" or "exitfail.h"; they're no longer needed.
67646
67647         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
67648         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
67649         define.
67650
67651         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
67652         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
67653                             int utc, int nanoseconds);
67654         Background:
67655         date should not have to allocate a megabyte of virtual memory to
67656         handle a format argument like +%1048575T.  When implemented with
67657         strftime, it must allocate such a buffer, use strftime to fill it
67658         in, print it, then free it.
67659         With fprintftime, it simply prints everything and exits.
67660         With no need for memory allocation, that's one fewer way to fail.
67661         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
67662         optional field width, not before, so we accept %9:z, not %:9z.
67663         (my_strftime): Be sure to use L_('x') for literals.
67664
67665         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
67666         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
67667         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
67668         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
67669         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
67670         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
67671         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
67672         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
67673         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
67674         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
67675         * lib/xgethostname.c, lib/xreadlink.c:
67676         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
67677
67678         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
67679         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
67680         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
67681         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67682         and don't include <sys/file.h>).
67683
67684 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
67685
67686         Sync from coreutils.
67687
67688         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
67689         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
67690         [!LDAV_DONE]: Avoid unused variable warning.
67691
67692 2005-09-21  Bruno Haible  <bruno@clisp.org>
67693
67694         * lib/unicodeio.h (unicode_to_mb): New declaration.
67695
67696 2005-09-20  Derek Price  <derek@ximbiot.com>
67697
67698         * lib/getaddrinfo.c: Don't include <netdb.h> included from
67699         getaddrinfo.h.
67700
67701 2005-09-20  Bruno Haible  <bruno@clisp.org>
67702
67703         * gnulib-tool: Remove trailing slashes from the values specified for
67704         --source-base, --m4-base, --tests-base, --aux-dir.
67705         Suggested by Simon Josefsson <jas@extundo.com>.
67706
67707 2005-09-20  Bruno Haible  <bruno@clisp.org>
67708
67709         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
67710         func_modules_to_filelist, func_import, func_create_testdir): Make all
67711         sorting results locale-independent, so that gnulib-cache.m4 doesn't
67712         change when gnulib-tool is invoked in a different locale.
67713
67714 2005-09-19  Simon Josefsson  <jas@extundo.com>
67715
67716         * m4/socklen.m4: Fix typo.
67717
67718 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67719
67720         Use a consistent style for including <config.h>.
67721         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
67722         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
67723         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
67724         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
67725         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
67726         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
67727         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
67728         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
67729         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
67730         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
67731         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
67732         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
67733         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
67734         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
67735         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
67736         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
67737         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
67738         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
67739         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
67740         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
67741         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
67742         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
67743         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
67744         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
67745         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
67746         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
67747         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
67748         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
67749         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
67750         lib/xstrtoumax.c, lib/yesno.c:
67751         Standardize inclusion of config.h.
67752         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
67753         lib/inttostr.h:  Removed inclusion of config.h from header files.
67754         * lib/inttostr.c:  Adjusted in-tree users.
67755         * lib/timespec.h: Remove superfluous warning to include config.h.
67756         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
67757         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
67758         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
67759         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
67760         config.h with HAVE_CONFIG_H.
67761
67762 2005-09-19  Jim Meyering  <jim@meyering.net>
67763
67764         * modules/pathmax (License): Change to LGPL.
67765
67766 2005-09-19  Derek Price  <derek@ximbiot.com>
67767
67768         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
67769
67770 2005-09-19  Bruno Haible  <bruno@clisp.org>
67771
67772         * gnulib-tool (import): Provide default for --tests-base.
67773
67774 2005-09-19  Bruno Haible  <bruno@clisp.org>
67775
67776         * doc/quote.texi: New file, extracted from gnulib.texi.
67777         * doc/ctime.texi: New file, extracted from gnulib.texi.
67778         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
67779         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
67780         * doc/gnulib.texi: Include them.
67781
67782 2005-09-18  Bruno Haible  <bruno@clisp.org>
67783
67784         Portability fix.
67785         * gnulib-tool (func_readlink): New function.
67786         (func_ln_if_changed): Use it.
67787
67788 2005-09-18  Bruno Haible  <bruno@clisp.org>
67789
67790         * gnulib-tool: Support --with-tests also with --import.
67791         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
67792         (func_import): Use variables $testsbase and $inctests. Emit a
67793         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
67794         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
67795         SUBDIRS += $testsdir.
67796         (func_create_testdir): Update.
67797
67798 2005-09-18  Bruno Haible  <bruno@clisp.org>
67799
67800         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
67801         instead of $dry_run.
67802         (func_cp_if_changed, func_mv_if_changed): Remove functions.
67803         (func_ln_if_changed): Don't handle dry-run here.
67804         (func_import): In dry-run mode, detect more precisely which actions
67805         would be performed, and don't use "...ing" verbs.
67806
67807 2005-09-18  Bruno Haible  <bruno@clisp.org>
67808
67809         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
67810         (func_import): Use join on two temporary files instead of three nested
67811         loops, in order to determine which files are new or old.
67812
67813 2005-09-18  Bruno Haible  <bruno@clisp.org>
67814
67815         * gnulib-tool (func_import): Comment out code that spits out the
67816         new files with --dry-run.
67817
67818 2005-09-18  Bruno Haible  <bruno@clisp.org>
67819
67820         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
67821
67822 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67823
67824         * lib/stat-time.h: New file.
67825         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
67826         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
67827         in a different way.
67828         (timespec_cmp): New function.
67829         * lib/utimecmp.c: Include stat-time.h.
67830         (SYSCALL_RESOLUTION): Depend on whether various struct stat
67831         members exist, not on the obsolescent ST_MTIM_NSEC.
67832         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
67833
67834 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67835
67836         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
67837
67838 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67839
67840         * MODULES.html.sh (File system functions): Add stat-time.
67841         * modules/stat-time: New file.
67842         * modules/timespec (Files): Remove m4/st_mtim.m4; this
67843         is now done in a different way, by the stat-time module.
67844         * modules/utimecmp (Depends-on): Add stat-time.
67845
67846 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67847
67848         * m4/st_mtim.m4: Remove.  Superseded by...
67849         * m4/stat-time.m4: New file.
67850         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
67851         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
67852
67853 2005-09-15  Derek Price  <derek@ximbiot.com>
67854
67855         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
67856
67857 2005-09-15  Derek Price  <derek@ximbiot.com>
67858
67859         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
67860         * lib/regex_internal.c: Ditto, using this...
67861         (__GNUC_PREREQ): ...new macro.
67862         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
67863         using...
67864         (__GNUC_PREREQ): ...this new macro.
67865
67866         * lib/strstr.h: Include string.h. Define strstr as a macro here.
67867
67868 2005-09-15  Derek Price  <derek@ximbiot.com>
67869             Paul Eggert  <eggert@cs.ucla.edu>
67870
67871         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
67872         changes, consolidating in...
67873         * lib/regex_internal.h: ...this file.
67874
67875 2005-09-13  Jim Meyering  <jim@meyering.net>
67876
67877         * lib/canon-host.c: Filter through gnu indent and reword comments
67878         slightly.
67879         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
67880
67881 2005-09-13  Derek Price  <derek@ximbiot.com>
67882
67883         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
67884         failure.
67885         Reported by Jim Meyering  <jim@meyering.net>.
67886
67887 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67888
67889         * lib/base64.c: Typo.
67890         (base64_encode): Put b64str in initialized data section.
67891
67892 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
67893
67894         Merge glibc and coreutils changes into gnulib, plus a few
67895         extra fixes.
67896         * lib/md5.c: Use #error rather than a string.
67897         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
67898         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
67899         (__attribute__): Define to empty for non recent-GCC.
67900         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
67901         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
67902         Renamed from their non-__ counterparts, with new macros replacing
67903         them if not _LIBC.  Add __THROW attribute.
67904         (rol): Remove.
67905         (struct md5_ctx): Align buffer if using GCC.
67906         * lib/sha1.h (struct sha1_ctx): Likewise.
67907         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
67908         The old name was backwards.
67909         (NOTSWAP): Remove; not used.
67910         (rol): New macro, moved here from md5.h.
67911         (sha1_process_block): Remove a FIXME that doesn't make sense.
67912
67913 2005-09-12  Derek Price  <derek@ximbiot.com>
67914
67915         Return usable errors from canon-host.
67916         * lib/canon-host.h: New file.
67917         * lib/canon-host.c (canon_host): Wrap...
67918         (canon_host_r): ...this new function, which now relies exclusively on
67919         getaddrinfo.
67920         (ch_strerror): New function.
67921         (last_cherror): New global.
67922         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
67923         interface.
67924         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
67925         void *.
67926         (freeaddrinfo): Free ai->ai_canonname when set.
67927
67928 2005-09-12  Derek Price  <derek@ximbiot.com>
67929
67930         Make canon-host require getaddrinfo.
67931         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
67932         AC_LIBSOURCE canon-host.h.  Call...
67933         (gl_PREREQ_CANON_HOST): ...this new function, which requires
67934         gl_GETADDRINFO.
67935         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
67936
67937 2005-09-12  Derek Price  <derek@ximbiot.com>
67938
67939         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
67940         LGPL.
67941         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
67942
67943 2005-09-12  Derek Price  <derek@ximbiot.com>
67944
67945         * lib/gai_strerror.c: Include config.h when available.  Include
67946         getaddrinfo.h before other headers to test interface.
67947         Reported by Larry Jones <lawrence.jones@ugs.com>.
67948
67949 2005-09-12  Derek Price  <derek@ximbiot.com>
67950             Paul Eggert  <eggert@cs.ucla.edu>
67951
67952         * modules/glob (Files): Add glob-libc.h.
67953
67954 2005-09-12  Derek Price  <derek@ximbiot.com>
67955             Paul Eggert  <eggert@cs.ucla.edu>
67956
67957         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
67958         glob_.h, glob-libc.h.
67959         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
67960
67961 2005-09-12  Derek Price  <derek@ximbiot.com>
67962             Paul Eggert  <eggert@cs.ucla.edu>
67963
67964         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
67965         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
67966         protecting things that should be done only in gnulib contexts.
67967         * lib/glob_.h: New file, containing only the glob things needed for
67968         gnulib.
67969         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
67970         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
67971         (glob, globfree, glob_pattern_p): Now defined simply in terms of
67972         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
67973         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
67974         and to respect the namespace rules better.
67975
67976 2005-09-08  Simon Josefsson  <jas@extundo.com>
67977
67978         * modules/socklen: New file.
67979
67980 2005-09-08  Simon Josefsson  <jas@extundo.com>
67981
67982         * m4/socklen.m4: New file.
67983
67984 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67985
67986         * modules/utimens (Files): Add m4/utimbuf.m4, since
67987         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
67988         Reported by Sergey Poznyakoff.
67989
67990 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67991
67992         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
67993         definitions, since that's the preferred style in glibc.
67994         Fix a minor spacing issue, and update copyright notice to match
67995         glibc's.
67996
67997 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67998
67999         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
68000
68001 2005-09-06  Simon Josefsson  <jas@extundo.com>
68002
68003         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
68004         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
68005
68006 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68007
68008         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
68009         warning.
68010
68011 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68012
68013         * config/srclist.txt: Add glibc bug 1302.
68014
68015 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
68016
68017         Change bitset word type from unsigned int to unsigned long int,
68018         as this has better performance on typical 64-bit hosts.
68019         Port bitset code to hosts with unusual word sizes.
68020         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
68021         (build_collating_symbol):
68022         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
68023         argument is a bitset.  This is merely a style issue, but it makes
68024         it clearer that an entire array is expected.
68025         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
68026         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
68027         Port to the case where bitset_word is not the same as unsigned int.
68028         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
68029         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
68030         Likewise.
68031         * lib/regexec.c (check_dst_limits_calc_pos_1,
68032         check_subexp_matching_top):
68033         (build_trtable, group_nodes_into_DFAstates):
68034         Likewise.
68035         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
68036         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
68037         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
68038         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
68039         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
68040         * lib/regcomp.c (optimize_subexps, lower_subexp):
68041         Work even if bitset_word has holes in its bitwise representation.
68042         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
68043         * lib/regexec.c (check_dst_limits_calc_pos_1,
68044         check_subexp_matching_top):
68045         Likewise.
68046         * lib/regex_internal.c (re_string_reconstruct):
68047         Don't assume UCHAR_MAX == 255.
68048         * lib/regex_internal.h (bitset_set_all): Likewise.
68049         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
68050         All uses changed.
68051         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
68052         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
68053         All uses changed.
68054         (BITSET_WORD_MAX): New macro.
68055         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
68056         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
68057         (bitset_empty, bitset_copy):
68058         Prefer sizeof (bitset) to multiplying it out ourselves.
68059         (bitset_not_merge): Remove; unused.
68060         (bitset_contain): Return bool, not unsigned int with one bit on.
68061         All callers changed.
68062         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
68063         alignment than re_node_set; do this by defining a new internal
68064         type struct dests_alloc and using it to allocate memory.
68065
68066 2005-09-05  Bruno Haible  <bruno@clisp.org>
68067
68068         * gnulib-tool (func_import): Fix comparison in handling of symbolic
68069         links.
68070
68071 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
68072
68073         * modules/size_max (Makefile.am): Add size_max.h
68074
68075 2005-09-04  Derek Price  <derek@ximbiot.com>
68076
68077         * gnulib-tool (func_import): Fix reversed $symbolic logic.
68078
68079 2005-09-03  Simon Josefsson  <jas@extundo.com>
68080
68081         * gnulib-tool: Fix typo.
68082
68083 2005-09-03  Simon Josefsson  <jas@extundo.com>
68084
68085         * config/srclist.txt: Add glibc bug 1293.
68086
68087 2005-09-03  Derek Price  <derek@ximbiot.com>
68088
68089         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
68090         From Larry Jones <lawrence.jones@ugs.com>.
68091
68092 2005-09-02  Simon Josefsson  <jas@extundo.com>
68093
68094         * modules/socklen: New file.
68095
68096 2005-09-02  Simon Josefsson  <jas@extundo.com>
68097
68098         * modules/havelib: New module.
68099
68100         * modules/gettext, modules/iconv, modules/lock, modules/readline:
68101         Use havelib.
68102
68103 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
68104
68105         Check for arithmetic overflow when calculating sizes, to prevent
68106         some buffer-overflow issues.  These patches are conservative, in the
68107         sense that when I couldn't determine whether an overflow was possible,
68108         I inserted a run-time check.
68109         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
68110         macros.
68111         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
68112         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
68113         (re_xnrealloc, re_x2nrealloc): New inline functions.
68114         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
68115         parse_bracket_exp):
68116         (build_equiv_class, build_charclass): Check for arithmetic overflow
68117         in size expression calculations.
68118         * lib/regex_internal.c (re_string_realloc_buffers):
68119         (build_wcs_upper_buffer, re_node_set_add_intersect):
68120         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
68121         (re_dfa_add_node, register_state): Likewise.
68122         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
68123         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
68124         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
68125         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
68126
68127 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
68128
68129         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68130         m4/ulonglong.m4.  Problem reported by Martin Lambers.
68131
68132 2005-09-02  Bruno Haible  <bruno@clisp.org>
68133
68134         Support for lib vs. lib64 distinction on biarch platforms.
68135         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
68136         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
68137         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
68138
68139 2005-09-02  Bruno Haible  <bruno@clisp.org>
68140
68141         * gnulib-tool (import): In the other first-use case, provide defaults
68142         as well.
68143
68144 2005-09-02  Bruno Haible  <bruno@clisp.org>
68145
68146         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
68147         patches not yet found in the latest gettext release.
68148
68149 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68150
68151         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
68152         to avoid a collision with bits/local_lim.h in glibc.
68153         All uses changed.  Problem reported by Dmitry V. Levin in
68154         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
68155
68156         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
68157         bugs in int versus size_t comparisons.
68158         (re_string_context_at): Fix bug where the code assumed that
68159         Idx is signed.
68160
68161         Use bool where appropriate.
68162         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
68163         All callers changed.
68164         (calc_eclosure_iter): Likewise, for ROOT arg.
68165         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
68166         (build_charclass_op): Likewise, for NON_MATCH arg.
68167         * lib/regex_internal.c (re_string_allocate, re_string_construct):
68168         (re_string_construct_common): Likewise, for ICASE arg.
68169         * lib/regexec.c (re_search_2_stub, re_search_stub):
68170         Likewise, for RET_LEN arg.
68171         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
68172         (set_regs): Likewise, for FL_BACKTRACK arg.
68173         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
68174         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
68175         (calc_eclosure_iter, parse_bracket_exp):
68176         Use bool for internal variables that are booleans.
68177         * lib/regexec.c (re_search_internal, check_matching,
68178         proceed_next_node):
68179         (set_regs, build_sifted_states, sift_states_bkref):
68180         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
68181         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68182         (find_collation_sequence_value):
68183         Likewise.
68184         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
68185         (re_node_set_compare):
68186         Return bool, not int. All callers changed.
68187         * lib/regexec.c (check_halt_node_context, check_dst_limits):
68188         (build_trtable, check_node_accept): Likewise.
68189         * lib/regex_internal.h: Include stdbool.h.
68190
68191         Fix bugs uncovered when converting to bool.
68192         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
68193         failure instead of charging ahead blindly.
68194         * lib/regex_internal.c (register_state): Likewise.
68195         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
68196         for freeing internal storage.
68197         (group_nodes_into_DFA_states): Use unsigned int, not int, for
68198         bitset pieces used as boolean, to avoid undefined behavior
68199         on hosts that do int overflow checking.
68200
68201 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68202
68203         * config/srclist.txt: Add glibc bugs 1285-1287.
68204
68205 2005-09-01  Jim Meyering  <jim@meyering.net>
68206
68207         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
68208         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
68209         Require gl_STAT_MACROS, too.
68210
68211 2005-09-01  Bruno Haible  <bruno@clisp.org>
68212
68213         * gnulib-tool (import): In the first-use case, provide defaults.
68214
68215 2005-09-01  Bruno Haible  <bruno@clisp.org>
68216
68217         * gnulib-tool (func_import): Remove the .tmp files.
68218
68219 2005-09-01  Bruno Haible  <bruno@clisp.org>
68220
68221         * gnulib-tool (func_import): Fix handling of symbolic links.
68222
68223 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68224
68225         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
68226         old glibc regex code mishandles strings longer than 2**31 bytes.
68227         This patch fixes this when the regex code is used in gnulib
68228         (i.e., outside glibc).
68229
68230         This patch should not affect the use of the regex code inside
68231         glibc.  No doubt this problem also needs to be handled for glibc
68232         as well, but the result will be an incompatible change to the
68233         glibc ABI, and the old ABI will have to be supported too.  That
68234         can be the the subject for another patch.
68235
68236         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
68237         governing whether the rest of this patch is active.  By default,
68238         the macro is disabled and the patch has no effect.
68239         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
68240         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
68241         (struct re_pattern_buffer, re_search, re_search_2, re_match):
68242         (re_match_2, re_set_registers): Use the new types.
68243         * lib/regex_internal.h (Idx, re_hashval_t): New types.
68244         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
68245         New macros.
68246         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
68247         (re_string_context_at, bin_tree_t, re_dfastate_t):
68248         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
68249         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
68250         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
68251         (re_string_char_size_at, re_string_wchar_at):
68252         (re_string_elem_size_at):
68253         Use the new types and macros to port to 64-bit hosts.
68254         Use unsigned types for internal values, so that the code
68255         mostly works even for arrays larger than SSIZE_MAX.
68256         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
68257         (search_duplicated_node, calc_eclosure_iter, fetch_number):
68258         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
68259         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
68260         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
68261         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
68262         (calc_inveclosure, parse_dup_op, build_range_exp):
68263         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
68264         (fetch_number, create_token_tree, mark_opt_subexp):
68265         Likewise.
68266         * lib/regex_internal.c (re_string_construct_common,
68267         create_ci_newstate):
68268         (create_cd_newstate, re_string_allocate, re_string_construct):
68269         (re_string_realloc_buffers, build_wcs_upper_buffer):
68270         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
68271         (re_string_reconstruct, re_string_peek_byte_case):
68272         (re_string_fetch_byte_case, re_string_context_at):
68273         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
68274         (re_node_set_init_copy, re_node_set_add_intersect):
68275         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68276         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68277         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
68278         (re_acquire_state, re_acquire_state_context, register_state):
68279         Likewise.
68280         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
68281         search_cur_bkref_entry):
68282         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
68283         (re_search_internal, re_search_2_stub, re_search_stub)
68284         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
68285         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
68286         (update_cur_sifted_state, check_dst_limits):
68287         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
68288         (check_subexp_limits, sift_states_bkref, merge_state_array):
68289         (check_subexp_matching_top, get_subexp, get_subexp_sub):
68290         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
68291         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
68292         (expand_bkref_cache, check_node_accept_bytes):
68293         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
68294         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
68295         (acquire_init_state_context, check_halt_node_context):
68296         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
68297         (sift_states_backward, clean_state_log_if_needed):
68298         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
68299         (find_recover_state, transit_state_sb, transit_state_mb):
68300         (transit_state_bkref, build_trtable, match_ctx_clean):
68301         Likewise.
68302         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
68303         to work around an assumption that REG_MISSING is negative.
68304
68305         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
68306         (seek_collating_symbol_entry) [defined _LIBC]:
68307         (lookup_collation_sequence_value) [defined _LIBC]:
68308         (build_range_exp, build_collating_symbol) [defined _LIBC]:
68309         Use prototypes rather than old-style function definitions.
68310         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
68311         (transit_state_sb) [0]:
68312         (find_collation_sequence_value) [defined _LIBC]: Likewise.
68313
68314         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
68315         rm_eo.
68316
68317         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
68318         (optimize_subexps, lower_subexp):
68319         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
68320         since the signed shift might overflow.  Use 1u<<31 instead.
68321         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
68322         Likewise.
68323         * lib/regexec.c (check_dst_limits_calc_pos_1,
68324         check_subexp_matching_top): Likewise.
68325
68326         * lib/regcomp.c (optimize_subexps, lower_subexp):
68327         Use CHAR_BIT rather than 8, for clarity.
68328         * lib/regexec.c (check_dst_limits_calc_pos_1):
68329         (check_subexp_matching_top): Likewise.
68330         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
68331         have to worry about portability issues when shifting it left.
68332         Remove no-longer-needed test for table_size > 0.
68333         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
68334         in a word, as the resulting behavior is undefined.
68335         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
68336         in one case, a <= should have been an <, and in another case the
68337         whole test was missing.
68338         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
68339         the standard name CHAR_BIT.
68340         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
68341         this is not true on one's complement and signed-magnitude hosts.
68342
68343         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
68344         next_last_offset.
68345         (struct re_dfa_t): Remove unused member states_alloc.
68346         * lib/regcomp.c (init_dfa): Don't initialize unused members.
68347
68348 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68349
68350         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
68351         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
68352         and large-file glibc and in 32-bit large-file Solaris.
68353
68354 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68355
68356         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
68357         lengths fit in regoff_t; this isn't true if regoff_t is the same
68358         width as size_t.
68359         * lib/regex.c (re_search_internal): 5th arg is LAST_START
68360         (= START + RANGE) instead of RANGE.  This avoids overflow
68361         problems when regoff_t is the same width as size_t.
68362         All callers changed.
68363         (re_search_2_stub): Check for overflow when adding the
68364         sizes of the two strings.
68365         (re_search_stub): Check for overflow when adding START
68366         to RANGE; if it occurs, substitute the extreme value.
68367
68368 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68369
68370         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
68371
68372 2005-08-31  Jim Meyering  <jim@meyering.net>
68373
68374         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
68375         a pointer-to-const.
68376         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
68377         (register_state): Likewise.
68378         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
68379         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
68380         (group_nodes_into_DFAstates): Likewise.
68381
68382 2005-08-31  Jim Meyering  <jim@meyering.net>
68383
68384         * check-module: Add a FIXME comment.
68385
68386 2005-08-31  Eric Blake  <ebb9@byu.net>
68387
68388         * modules/unistd-safer (Files): Add unistd--.h.
68389         * modules/stdio-safer (Files): Add stdio--.h.
68390
68391 2005-08-31  Derek Price  <derek@ximbiot.com>
68392
68393         * lib/getdelim.c (getdelim): Return EOF on EOF.
68394         Reported by Larry Jones <lawrence.jones@ugs.com>.
68395
68396 2005-08-31  Bruno Haible  <bruno@clisp.org>
68397
68398         Avoid unnecessary diffs in the generated lib/Makefile.am.
68399         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
68400         the generated files.
68401         (func_import): Don't set cmd.
68402
68403 2005-08-31  Bruno Haible  <bruno@clisp.org>
68404
68405         * lib/strstr.c: Include <stddef.h>, for NULL.
68406         * lib/strcasestr.c: Likewise.
68407         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
68408
68409 2005-08-31  Bruno Haible  <bruno@clisp.org>
68410
68411         * gnulib-tool: New option --macro-prefix.
68412         (func_import): Use macro_prefix.
68413         (import): Handle option --macro-prefix.
68414
68415 2005-08-31  Bruno Haible  <bruno@clisp.org>
68416
68417         * gnulib-tool (import): Rename most ac_* variables to cached_*.
68418         Also use new variables cached_lgpl, cached_libtool.
68419
68420 2005-08-31  Bruno Haible  <bruno@clisp.org>
68421
68422         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
68423         always instantiating them.
68424
68425 2005-08-31  Bruno Haible  <bruno@clisp.org>
68426
68427         * gnulib-tool (func_import): Read the previous cached settings
68428         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
68429         earlier added by gnulib but are now dropped. Warn when a gnulib file
68430         overwrites a non-gnulib file.
68431
68432 2005-08-31  Bruno Haible  <bruno@clisp.org>
68433
68434         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
68435         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
68436         projects that don't keep autogenerated files in CVS. Put into
68437         actioncmd only the specified modules, not the transitive closure.
68438
68439 2005-08-31  Bruno Haible  <bruno@clisp.org>
68440
68441         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
68442         Create directories that shall be filled.
68443         (import): Don't look for gl_* macros in configure.ac. Recurse across
68444         all directories containing a gnulib-cache.m4 files, if meaningful.
68445
68446 2005-08-31  Bruno Haible  <bruno@clisp.org>
68447
68448         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
68449         (import): Set seen_libtool when we see gl_LIBTOOL.
68450
68451 2005-08-31  Bruno Haible  <bruno@clisp.org>
68452
68453         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
68454         declaration macro definitions from generated gnulib.m4.
68455
68456 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
68457
68458         * lib/iconvme.h: Add prototype for iconv_alloc.
68459
68460 2005-08-29  Simon Josefsson  <jas@extundo.com>
68461
68462         * lib/iconvme.c: Fix errno.
68463
68464 2005-08-29  Bruno Haible  <bruno@clisp.org>
68465
68466         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
68467         that it works when the directory contains spaces.
68468
68469 2005-08-29  Bruno Haible  <bruno@clisp.org>
68470
68471         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
68472
68473 2005-08-29  Bruno Haible  <bruno@clisp.org>
68474
68475         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
68476         Emit more advice.
68477
68478 2005-08-29  Bruno Haible  <bruno@clisp.org>
68479         and Stepan Kasal  <kasal@ucw.cz>
68480
68481         * check-module: If more parameters are given, check each of them
68482         separately; add more exceptions, as noted by Jim Meyering.
68483         (check_module): New procedure.
68484         (%exempt_header): Now contains all exceptions.
68485
68486 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
68487
68488         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
68489
68490 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
68491
68492         * lib/iconvme.c: Split iconv_string into iconv_alloc.
68493
68494 2005-08-28  Bruno Haible  <bruno@clisp.org>
68495
68496         * m4/gnulib-tool.m4: New file.
68497
68498 2005-08-27  Jim Meyering  <jim@meyering.net>
68499
68500         * modules/unistd-safer (Files): Add pipe-safer.c.
68501         * modules/fcntl-safer (Files): Add creat-safer.c.
68502
68503 2005-08-27  Jim Meyering  <jim@meyering.net>
68504
68505         * m4/stdlib-safer.m4: New file.  From coreutils.
68506         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
68507         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
68508         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
68509         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
68510         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
68511
68512 2005-08-27  Jim Meyering  <jim@meyering.net>
68513
68514         * lib/fopen-safer.c: Merge minor changes from coreutils.
68515         * lib/dup-safer.c: Likewise.
68516         * lib/fd-safer.c: Likewise.
68517
68518         Merge from coreutils.
68519         * lib/stdio--.h: New file.
68520         * lib/stdlib--.h: New file.
68521         * lib/mkstemp-safer.c: New file.
68522
68523         GNU tar needs these.
68524         * lib/pipe-safer.c: New file.
68525         * lib/creat-safer.c: New file.
68526         * lib/fcntl--.h (creat): Define to creat_safer.
68527         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
68528         * lib/unistd--.h (pipe): Define to pipe_safer.
68529         * lib/unistd-safer.h: Declare pipe_safer.
68530
68531 2005-08-26  Simon Josefsson  <jas@extundo.com>
68532
68533         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
68534         Haible <bruno@clisp.org>.
68535
68536 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
68537
68538         * lib/regex_internal.h: Remove all references to
68539         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
68540         or better.
68541         (bitset_not, bitset_merge, bitset_not_merge):
68542         (bitset_mask, re_string_allocate, re_string_construct):
68543         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
68544         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
68545         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
68546         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
68547         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68548         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68549         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
68550         (re_acquire_state_context):
68551         Remove unnecessary forward decls.
68552         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
68553         Put __attribute at function definition,
68554         now that the function decl has been removed.
68555         * lib/regex_internal.c (re_string_peek_byte_case):
68556         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
68557         Likewise.
68558
68559 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
68560
68561         * m4/regex.m4: Add AC_PREREQ(2.50).
68562         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
68563
68564 2005-08-25  Simon Josefsson  <jas@extundo.com>
68565
68566         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
68567         __fsetlocking.
68568
68569 2005-08-25  Simon Josefsson  <jas@extundo.com>
68570
68571         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
68572         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
68573         GLIBC specific code.
68574
68575 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68576
68577         Make regex safe for g++.  This fixes one real bug (an "err"
68578         that should have been "*err").  g++ problem reported by
68579         Sam Steingold.
68580         * lib/regex_internal.h (re_calloc): New macro, consistent with
68581         re_malloc etc.  All callers of calloc changed to use re_calloc.
68582         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
68583         not int.  All callers changed.
68584         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
68585         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
68586         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
68587         (find_recover_state): Change "err" to "*err"; this fixes what
68588         appears to be a real bug.
68589         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
68590         versus int.
68591
68592 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68593
68594         * modules/regex (Depends-on): Add malloc, since the code
68595         assumes that !malloc(0) means failure.
68596
68597 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68598
68599         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
68600
68601         alloca modernization/simplification for regex.
68602         * lib/regex.c: Remove portability cruft for alloca.  This no longer
68603         needs to be at the start of the file, and can be moved into
68604         regex_internal.h and simplified.
68605         * lib/regex_internal.h: Include <alloca.h>.
68606         (__libc_use_alloca) [!defined _LIBC]: New macro.
68607         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
68608         now works outside glibc.
68609
68610 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68611
68612         * config/srclist.txt: Add glibc bugs 1241, 1245.
68613
68614 2005-08-25  Jim Meyering  <jim@meyering.net>
68615
68616         * lib/open-safer.c: Include <config.h>.
68617         Otherwise, we'd lose LARGEFILE support in any file using
68618         e.g. "fcntl--.h"
68619
68620 2005-08-25  Bruno Haible  <bruno@clisp.org>
68621
68622         * m4/minmax.m4: Require autoconf 2.52.
68623         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
68624         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
68625         alternatives of translit over the alphabet.
68626         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
68627
68628 2005-08-24  Simon Josefsson  <jas@extundo.com>
68629
68630         * tests/test-getpass.c: New file.
68631
68632 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68633
68634         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
68635         for GNU regex features.
68636
68637 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68638
68639         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
68640         * lib/regex.h (regerror): Likewise.
68641
68642         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
68643         requires this.  (The code never needed it.)
68644
68645         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
68646         All uses of recently-renamed identifiers changed to use the new,
68647         POSIX-compliant names.  The code will build and run just fine
68648         without these changes, but it's better to eat our own dog food
68649         and use the standard-conforming names.
68650
68651         * lib/regex.h: Fix a multitude of POSIX name space violations.
68652         These changes have an effect only for programs that define
68653         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
68654         do not change anything for programs compiled in the normal way.
68655         Also, there is no effect on the ABI.
68656
68657         (_REGEX_SOURCE): New macro.
68658         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
68659         defined and _GNU_SOURCE is not; this fixes a name space violation.
68660
68661         Rename the following macros to obey POSIX requirements.
68662         The old names are still visible as macros if _REGEX_SOURCE is defined.
68663         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
68664         RE_BACKSLASH_ESCAPE_IN_LISTS.
68665         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
68666         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
68667         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
68668         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
68669         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
68670         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
68671         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
68672         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
68673         (REG_INTERVALS): renamed from RE_INTERVALS.
68674         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
68675         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
68676         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
68677         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
68678         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
68679         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
68680         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
68681         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
68682         RE_UNMATCHED_RIGHT_PAREN_ORD.
68683         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
68684         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
68685         (REG_DEBUG): renamed from RE_DEBUG.
68686         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
68687         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
68688         unusual, since we can't clash with the POSIX REG_ICASE.
68689         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
68690         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
68691         (REG_NO_SUB): renamed from RE_NO_SUB.
68692         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
68693         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
68694         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
68695         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
68696         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
68697         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
68698         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
68699         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
68700         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
68701         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
68702         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
68703         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
68704         RE_SYNTAX_POSIX_MINIMAL_BASIC.
68705         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
68706         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
68707         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
68708         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
68709         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
68710         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
68711         (REG_FIXED): Renamed from REGS_FIXED.
68712         (REG_NREGS): Renamed from RE_NREGS.
68713
68714         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
68715         of other REG_* macros, since POSIX says the user is allowed to
68716         #undef these macros selectively.
68717
68718         (reg_errcode_t): Update comment stating what other tables need
68719         to be consistent.
68720
68721         Rename the following enum values to obey POSIX requirements.
68722         The old names are still visible as macros.
68723         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
68724         is not defined, since GNU is supposed to be a superset of POSIX as
68725         much as possible, and since we want reg_errcode_t to be a signed
68726         type for implementation consistency.
68727         (_REG_NOERROR): Renamed from REG_NOERROR.
68728         (_REG_NOMATCH): Renamed from REG_NOMATCH.
68729         (_REG_BADPAT): Renamed from REG_BADPAT.
68730         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
68731         (_REG_ECTYPE): Renamed from REG_ECTYPE.
68732         (_REG_EESCAPE): Renamed from REG_EESCAPE.
68733         (_REG_ESUBREG): Renamed from REG_ESUBREG.
68734         (_REG_EBRACK): Renamed from REG_EBRACK.
68735         (_REG_EPAREN): Renamed from REG_EPAREN.
68736         (_REG_EBRACE): Renamed from REG_EBRACE.
68737         (_REG_BADBR): Renamed from REG_BADBR.
68738         (_REG_ERANGE): Renamed from REG_ERANGE.
68739         (_REG_ESPACE): Renamed from REG_ESPACE.
68740         (_REG_BADRPT): Renamed from REG_BADRPT.
68741         (_REG_EEND): Renamed from REG_EEND.
68742         (_REG_ESIZE): Renamed from REG_ESIZE.
68743         (_REG_ERPAREN): Renamed from REG_ERPAREN.
68744         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
68745         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
68746         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
68747         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
68748
68749         (_REG_RE_NAME, _REG_RM_NAME): New macros.
68750         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
68751         changed.  But support the old name if the new one is not defined
68752         and if _REGEX_SOURCE.
68753
68754         Change the following member names in struct re_pattern_buffer.
68755         The old names are still supported if !_REGEX_SOURCE.
68756         The new names are always supported, regardless of _REGEX_SOURCE.
68757         (re_buffer): Renamed from buffer.
68758         (re_allocated): Renamed from allocated.
68759         (re_used): Renamed from used.
68760         (re_syntax): Renamed from syntax.
68761         (re_fastmap): Renamed from fastmap.
68762         (re_translate): Renamed from translate.
68763         (re_can_be_null): Renamed from can_be_null.
68764         (re_regs_allocated): Renamed from regs_allocated.
68765         (re_fastmap_accurate): Renamed from fastmap_accurate.
68766         (re_no_sub): Renamed from no_sub.
68767         (re_not_bol): Renamed from not_bol.
68768         (re_not_eol): Renamed from not_eol.
68769         (re_newline_anchor): Renamed from newline_anchor.
68770
68771         Change the following member names in struct re_registers.
68772         The old names are still supported if !_REGEX_SOURCE.
68773         The new names are always supported, regardless of _REGEX_SOURCE.
68774         (rm_num_regs): Renamed from num_regs.
68775         (rm_start): Renamed from start.
68776         (rm_end): Renamed from end.
68777
68778         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
68779         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
68780         Prepend __ to parameter names.
68781
68782         Undo yesterday's changes.
68783
68784 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68785
68786         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
68787         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
68788         lib/regex.c.
68789
68790 2005-08-24  Jim Meyering  <jim@meyering.net>
68791
68792         Sync from coreutils.
68793         * m4/fcntl-safer.m4: New file.
68794
68795         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
68796         and object files for this module.
68797
68798 2005-08-24  Jim Meyering  <jim@meyering.net>
68799
68800         Sync from coreutils.
68801         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
68802
68803 2005-08-24  Jim Meyering  <jim@meyering.net>
68804
68805         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
68806         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
68807
68808 2005-08-24  Jim Meyering  <jim@meyering.net>
68809
68810         * modules/fcntl-safer: New module.
68811         * modules/fts (Depends-on): Add fcntl-safer.
68812         * MODULES.html.sh (File descriptor based Input/Output):
68813         Add fcntl-safer.
68814
68815 2005-08-24  Bruno Haible  <bruno@clisp.org>
68816
68817         Support for unit test modules.
68818         * modules/README: Mention tests modules.
68819         * modules/TEMPLATE-TESTS: New file.
68820         * gnulib-tool: New options --extract-tests-module, --with-tests and
68821         --tests-base (unused for the moment).
68822         (testsbase, inctests): New variables.
68823         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
68824         (func_verify_module): Exclude TEMPLATE-TESTS.
68825         (func_verify_nontests_module, func_verify_tests_module): New functions.
68826         (func_get_dependencies): Add implicit dependency for tests modules.
68827         (func_get_tests_module): New function.
68828         (func_modules_transitive_closure): When --with-tests was specified,
68829         include the unit tests as well, unless explicitly avoided.
68830         (func_emit_lib_Makefile_am): Ignore the tests modules here.
68831         (func_emit_tests_Makefile_am): New function.
68832         (func_create_testdir): When --with-tests was specified, emit a
68833         tests/ directory.
68834         * MODULES.html.sh (Future developments): Update.
68835
68836 2005-08-24  Bruno Haible  <bruno@clisp.org>
68837
68838         * modules/tls-tests: New file.
68839         * tests/test-tls.c: New file, from GNU gettext.
68840
68841 2005-08-24  Bruno Haible  <bruno@clisp.org>
68842
68843         * modules/lock-tests: New file.
68844         * tests/test-lock.c: New file, from GNU gettext.
68845
68846 2005-08-24  Bruno Haible  <bruno@clisp.org>
68847
68848         * lib/lock.h: Add multiple inclusion guard.
68849         * lib/tls.h: Add multiple inclusion guard.
68850
68851 2005-08-24  Bruno Haible  <bruno@clisp.org>
68852
68853         * gnulib-tool: Add support for the --aux-dir option to
68854         --create-testdir, --create-megatestdir, --test, --megatest.
68855         (func_create_testdir, func_create_megatestdir): Optionally emit a
68856         AC_CONFIG_AUX_DIR directive.
68857         (create-testdir, create-megatestdir, test, megatest): Provide a
68858         default value for $auxdir.
68859
68860 2005-08-24  Bruno Haible  <bruno@clisp.org>
68861
68862         * gnulib-tool (import): Use compound statement instead of subshell
68863         where possible.
68864
68865 2005-08-24  Bruno Haible  <bruno@clisp.org>
68866
68867         * gnulib-tool (import): Change --aux-dir default to "build-aux".
68868
68869 2005-08-24  Bruno Haible  <bruno@clisp.org>
68870
68871         * gnulib-tool (func_version): Update.
68872
68873 2005-08-24  Bruno Haible  <bruno@clisp.org>
68874
68875         * gnulib-tool (func_import, func_create_testdir,
68876         func_create_megatestdir): Quote all autoconf macro arguments.
68877
68878 2005-08-24  Bruno Haible  <bruno@clisp.org>
68879
68880         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
68881         option --force, because --force causes the aclocal.m4 of each
68882         subdirectory to be newer than the corresponding config.h.in.
68883
68884 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68885
68886         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
68887         All contents moved to gl_REGEX.
68888         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
68889         assume that it does.
68890
68891 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68892
68893         * lib/regex.h (REG_NOSYS)
68894         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
68895         Define, since POSIX requires it as of 2001.
68896         (_REG_ENOSYS)
68897         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
68898         New private symbol, used to keep the enum signed in all cases.
68899         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
68900         Youngman in
68901         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
68902
68903         * lib/regex_internal.c (re_string_skip_chars, register_state):
68904         (calc_state_hash):
68905         Remove forward decls; no longer needed now that we use prototypes.
68906         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
68907         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
68908         (clean_state_log_if_needed): Likewise.
68909
68910 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68911
68912         * config/srclist.txt: Add glibc bugs 1231-1233.
68913
68914 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68915
68916         Fix problems reported by Sam Steingold in
68917         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
68918         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
68919         assumed that reg_errcode_t is a signed type, which is not
68920         necessarily true if _XOPEN_SOURCE is not defined.
68921         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
68922         since some compilers warn about it otherwise.
68923
68924 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68925
68926         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
68927         (init_word_char, create_initial_state, duplicate_node_closure):
68928         (fetch_token, peek_token_bracket, build_range_exp):
68929         (build_collating_symbol): Remove forward decls; no longer needed
68930         now that we use prototypes.
68931
68932         * lib/regcomp.c:
68933         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
68934         (re_compile_fastmap_iter, regcomp, regerror, regfree):
68935         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
68936         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
68937         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
68938         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
68939         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
68940         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
68941         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
68942         (build_range_exp, build_collating_symbol, parse_bracket_exp):
68943         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
68944         (build_charclass, build_charclass_op, fetch_number, create_tree):
68945         (create_token_tree, mark_opt_subexp, duplicate_tree):
68946         Use prototypes rather than old-style definitions.
68947
68948         * lib/regex_internal.c:
68949         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
68950         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
68951         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
68952         (re_string_reconstruct, re_string_peek_byte_case):
68953         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
68954         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
68955         (re_node_set_init_copy, re_node_set_add_intersect):
68956         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68957         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68958         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
68959         (re_acquire_state, re_acquire_state_context, register_state):
68960         (create_ci_newstate, create_cd_newstate, free_state):
68961         Likewise.
68962         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
68963         re_search_2):
68964         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
68965         (re_search_internal, prune_impossible_nodes):
68966         (acquire_init_state_context, check_matching, static):
68967         (check_halt_node_context, check_halt_state_context, proceed_next_node):
68968         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
68969         (update_regs, sift_states_backward, build_sifted_states):
68970         (clean_state_log_if_needed, merge_state_array):
68971         (update_cur_sifted_state, add_epsilon_src_nodes):
68972         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
68973         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
68974         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
68975         (find_recover_state, check_subexp_matching_top, transit_state_mb):
68976         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
68977         (check_arrival, check_arrival_add_next_nodes):
68978         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
68979         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68980         (check_node_accept_bytes, check_node_accept, extend_buffers):
68981         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
68982         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
68983         (sift_ctx_init):
68984         Likewise.
68985
68986         * lib/regex_internal.h:
68987         (re_string_allocate, re_string_construct, re_string_reconstruct):
68988         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
68989         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
68990         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
68991         (re_string_context_at, re_string_peek_byte_case):
68992         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
68993         is defined, since we now use prototypes always.
68994
68995         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
68996         C89 or better.  All uses removed.
68997
68998 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68999
69000         * config/srclist.txt: Add glibc bugs 1220-1227.
69001
69002 2005-08-20  Jim Meyering  <jim@meyering.net>
69003
69004         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
69005         of unused local, dfa.
69006
69007 2005-08-20  Bruno Haible  <bruno@clisp.org>
69008
69009         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
69010
69011 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69012
69013         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
69014         (re_node_set_insert_last, re_dfa_add_node):
69015         Rename local variables to avoid GCC shadowing warnings.
69016
69017 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69018
69019         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
69020         [defined lint]: Suppress bogus uninitialized-variable warnings.
69021
69022         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
69023         and let the caller return REG_ESPACE if out of space.  This
69024         removes an uninitialied-variable warning with GCC 4.0.1, and also
69025         avoids taking the address of a local variable.  All callers
69026         changed.
69027
69028 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69029
69030         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
69031         $LIBCSRC/posix/regexec.c.
69032         Add glibc bug 1217 for regcomp.c.
69033
69034 2005-08-19  Jim Meyering  <jim@meyering.net>
69035
69036         * lib/regexec.c (proceed_next_node): Redo local variables to
69037         avoid GCC shadowing warnings.
69038
69039 2005-08-18  Bruno Haible  <bruno@clisp.org>
69040
69041         * lib/strstr.c (strstr): Fix return value in multibyte case.
69042         * lib/strcasestr.c (strcasestr): Likewise.
69043
69044 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69045
69046         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
69047
69048 2005-08-17  Jim Meyering  <jim@meyering.net>
69049
69050         Make the %s format (seconds since the epoch) work for a negative
69051         number and when used with a zero-padded field width, e.g. %015s.
69052
69053         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
69054         label so that it precedes the code to set `digits'.  Otherwise,
69055         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
69056         print `00-22'.  Now, it prints `-0022', as it should.
69057
69058 2005-08-17  Bruno Haible  <bruno@clisp.org>
69059
69060         * modules/strstr (Files): Add m4/mbrtowc.m4.
69061         (Depends-on): Add mbuiter.
69062
69063 2005-08-17  Bruno Haible  <bruno@clisp.org>
69064
69065         * modules/strcasestr: New file.
69066         * MODULES.html.sh (String handling, based on ANSI C 89): Add
69067         strcasestr.
69068
69069 2005-08-17  Bruno Haible  <bruno@clisp.org>
69070
69071         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
69072
69073 2005-08-17  Bruno Haible  <bruno@clisp.org>
69074
69075         * modules/mbuiter: New file.
69076         * MODULES.html.sh (Extended multibyte and wide character utilities):
69077         Add mbuiter.
69078
69079 2005-08-17  Bruno Haible  <bruno@clisp.org>
69080
69081         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
69082         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
69083
69084 2005-08-17  Bruno Haible  <bruno@clisp.org>
69085
69086         * m4/strcasestr.m4: New file.
69087
69088 2005-08-17  Bruno Haible  <bruno@clisp.org>
69089
69090         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
69091         * lib/strstr.c: Completely rewritten, with multibyte locale support.
69092
69093 2005-08-17  Bruno Haible  <bruno@clisp.org>
69094
69095         * lib/strcasestr.h: New file.
69096         * lib/strcasestr.c: New file.
69097
69098 2005-08-17  Bruno Haible  <bruno@clisp.org>
69099
69100         * lib/strcasecmp.c: Use mbuiter.h.
69101
69102 2005-08-17  Bruno Haible  <bruno@clisp.org>
69103
69104         * lib/mbuiter.h: New file.
69105
69106 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69107
69108         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
69109         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
69110         and gl_GETOPT are both invoked via different paths (as happens
69111         with GNU tar CVS because it uses both argp and getopt), the former
69112         wins.
69113
69114 2005-08-16  Bruno Haible  <bruno@clisp.org>
69115
69116         * modules/tls: New file.
69117         * MODULES.html.sh (Multithreading): Add tls.
69118
69119 2005-08-16  Bruno Haible  <bruno@clisp.org>
69120
69121         * modules/strnlen1: New file.
69122         * MODULES.html.sh (String handling): Add strnlen1.
69123
69124 2005-08-16  Bruno Haible  <bruno@clisp.org>
69125
69126         * modules/strcase (Files): Add m4/mbrtowc.m4.
69127         (Depends-on): Add strnlen1, mbchar.
69128
69129 2005-08-16  Bruno Haible  <bruno@clisp.org>
69130
69131         * modules/mbiter: New file.
69132         * MODULES.html.sh (Extended multibyte and wide character utilities):
69133         Add mbiter.
69134
69135 2005-08-16  Bruno Haible  <bruno@clisp.org>
69136
69137         * modules/mbfile: New file.
69138         * MODULES.html.sh (Extended multibyte and wide character utilities):
69139         Add mbfile.
69140
69141 2005-08-16  Bruno Haible  <bruno@clisp.org>
69142
69143         * modules/mbchar: New file.
69144         * MODULES.html.sh (Extended multibyte and wide character utilities):
69145         New section.
69146
69147 2005-08-16  Bruno Haible  <bruno@clisp.org>
69148
69149         * m4/tls.m4: New file, from GNU gettext.
69150
69151 2005-08-16  Bruno Haible  <bruno@clisp.org>
69152
69153         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
69154         always.
69155         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
69156
69157 2005-08-16  Bruno Haible  <bruno@clisp.org>
69158
69159         * m4/mbiter.m4: New file.
69160
69161 2005-08-16  Bruno Haible  <bruno@clisp.org>
69162
69163         * m4/mbfile.m4: New file.
69164
69165 2005-08-16  Bruno Haible  <bruno@clisp.org>
69166
69167         * m4/mbchar.m4: New file.
69168
69169 2005-08-16  Bruno Haible  <bruno@clisp.org>
69170
69171         * lib/tls.h: New file, from GNU gettext.
69172         * lib/tls.c: New file, from GNU gettext.
69173
69174 2005-08-16  Bruno Haible  <bruno@clisp.org>
69175
69176         * lib/strnlen1.h: New file.
69177         * lib/strnlen1.c: New file.
69178
69179 2005-08-16  Bruno Haible  <bruno@clisp.org>
69180
69181         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
69182         (mbi_init): Update.
69183         (mbi_avail, mbi_advance): Let the iteration end before the terminating
69184         NUL byte, not after it.
69185
69186 2005-08-16  Bruno Haible  <bruno@clisp.org>
69187
69188         * lib/strcase.h (strcasecmp): Add note in comments.
69189         * lib/strncasecmp.c: Use code from strcasecmp.c.
69190         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
69191         (strcasecmp): Work correctly in multibyte locales.
69192
69193 2005-08-16  Bruno Haible  <bruno@clisp.org>
69194
69195         * lib/mbiter.h: New file.
69196
69197 2005-08-16  Bruno Haible  <bruno@clisp.org>
69198
69199         * lib/mbfile.h: New file.
69200
69201 2005-08-16  Bruno Haible  <bruno@clisp.org>
69202
69203         * lib/mbchar.h: New file.
69204         * lib/mbchar.c: New file.
69205
69206 2005-08-16  Bruno Haible  <bruno@clisp.org>
69207
69208         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
69209         the valid ones. Makes the comparison operations transitive:
69210         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
69211         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
69212
69213 2005-08-15  Simon Josefsson  <jas@extundo.com>
69214
69215         * modules/ssize_t (License): Change to 'unlimited'.
69216
69217         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
69218
69219 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69220
69221         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
69222         Add comments for each pending glibc patch.
69223
69224 2005-08-15  Bruno Haible  <bruno@clisp.org>
69225
69226         * lib/regex.h (__restrict_arr): Don't define to __restrict if
69227         __cplusplus is defined.
69228
69229 2005-08-14  Jim Meyering  <jim@meyering.net>
69230
69231         Sync from coreutils.
69232
69233         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
69234         Use the hash-table-based cycle-detection code not just when
69235         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
69236         Reported by James Youngman in
69237         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
69238         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
69239         FTS_TIGHT_CYCLE_CHECK.
69240         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
69241         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
69242         once again.
69243         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
69244         * lib/fts.c (fd_safer): Remove decl.
69245         Include fcntl--.h rather than unistd-safer.h
69246         (fts_safe_changedir): Don't call fd_safer; no longer needed
69247         now that we include fcntl--.h.
69248
69249 2005-08-12  Simon Josefsson  <jas@extundo.com>
69250
69251         * modules/getndelim2: Use ssize_t module.
69252         * modules/getnline: Likewise.
69253         * modules/safe-read: Likewise.
69254         * modules/xreadlink: Likewise.
69255
69256         * modules/ssize_t: New file.
69257
69258 2005-08-12  Simon Josefsson  <jas@extundo.com>
69259
69260         * m4/readline.m4: Look for termcap, curses or ncurses if required.
69261
69262 2005-08-12  Simon Josefsson  <jas@extundo.com>
69263
69264         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69265         ssize_t.
69266
69267 2005-08-12  Simon Josefsson  <jas@extundo.com>
69268
69269         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
69270         readline, getdelim and check_version.
69271         (Support for systems lacking ISO C 99: Sizes of integer types):
69272         Add size_max.
69273
69274 2005-08-12  Bruno Haible  <bruno@clisp.org>
69275
69276         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
69277
69278 2005-08-11  Simon Josefsson  <jas@extundo.com>
69279
69280         * modules/readline: New file.
69281
69282         * modules/strnlen (Files): Add strnlen.h.
69283
69284 2005-08-11  Simon Josefsson  <jas@extundo.com>
69285
69286         * m4/readline.m4: New file.
69287
69288 2005-08-11  Simon Josefsson  <jas@extundo.com>
69289
69290         * lib/readline.h, readline.c: New file.
69291
69292 2005-08-11  Simon Josefsson  <jas@extundo.com>
69293
69294         * doc/gnulib.texi (Initial import, Finishing touches): Mention
69295         gl_AVOID.
69296
69297 2005-08-11  Bruno Haible  <bruno@clisp.org>
69298
69299         * lib/strnlen.h (strnlen): Change parameter name to match comment.
69300
69301 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
69302
69303         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
69304
69305 2005-08-10  Simon Josefsson  <jas@extundo.com>
69306
69307         * tests/test-iconvme.c: New file.
69308
69309 2005-08-10  Simon Josefsson  <jas@extundo.com>
69310
69311         * m4/strnlen.m4: New file.
69312
69313         * m4/strndup.m4: Don't check for strnlen declaration, done in
69314         strnlen.m4.
69315
69316 2005-08-10  Simon Josefsson  <jas@extundo.com>
69317
69318         * lib/strndup.c: Use strnlen.h.
69319
69320         * lib/strnlen.h: New file.
69321
69322 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69323
69324         * README: Typos.
69325
69326 2005-08-02  Simon Josefsson  <jas@extundo.com>
69327
69328         * modules/readline: New file.
69329
69330 2005-08-02  Simon Josefsson  <jas@extundo.com>
69331
69332         * modules/getdelim: New file.
69333
69334         * modules/getline: Rewrite, don't use getndelim2.
69335
69336 2005-08-02  Simon Josefsson  <jas@extundo.com>
69337
69338         * m4/getline.m4: Separate out getdelim stuff into separate module.
69339
69340         * m4/getdelim.m4: New file.
69341
69342 2005-08-02  Simon Josefsson  <jas@extundo.com>
69343
69344         * lib/getline.h, getline.c: Rewrite.
69345
69346         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
69347
69348 2005-07-31  Bruno Haible  <bruno@clisp.org>
69349
69350         * lib/lock.h (gl_lock_initializer): New macro.
69351         (gl_lock_define_initialized): Use it.
69352         (gl_rwlock_initializer): New macro.
69353         (gl_rwlock_define_initialized): Use it.
69354         (gl_recursive_lock_initializer): New macro.
69355         (gl_recursive_lock_define_initialized): Use it.
69356
69357 2005-07-30  Karl Berry  <karl@gnu.org>
69358
69359         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
69360         Report from Ben Pfaff, regarding getopt.
69361
69362 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
69363
69364         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
69365         normal way.
69366         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
69367         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
69368         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
69369         (gl_GETOPT): Use the new macros.  Most of the implementation
69370         is moved to the new macros.  This is for programs like Emacs
69371         that don't want all the functionality of gl_GETOPT.
69372
69373 2005-07-26  Bruno Haible  <bruno@clisp.org>
69374
69375         * m4/lock.m4: Update from GNU gettext.
69376
69377 2005-07-26  Bruno Haible  <bruno@clisp.org>
69378
69379         * lib/lock.h: Update from GNU gettext.
69380         * lib/lock.c: Update from GNU gettext.
69381
69382 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
69383
69384         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
69385         obsolescent AC_TRY_RUN.  Include the default includes files, for
69386         'exit'.
69387
69388 2005-07-24  Bruno Haible  <bruno@clisp.org>
69389
69390         * modules/visibility: New file.
69391         * MODULES.html.sh (Misc): Add visibility.
69392
69393 2005-07-24  Bruno Haible  <bruno@clisp.org>
69394
69395         * m4/visibility.m4: New file.
69396
69397 2005-07-24  Bruno Haible  <bruno@clisp.org>
69398
69399         * doc/visibility.texi: New file.
69400
69401 2005-07-22  Bruno Haible  <bruno@clisp.org>
69402
69403         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
69404         $(ALLOCA_H), redundant through BUILT_SOURCES.
69405         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
69406         redundant through BUILT_SOURCES.
69407         * modules/byteswap (Makefile.am): Remove explicit dependency on
69408         $(BYTESWAP_H), redundant through BUILT_SOURCES.
69409         * modules/fnmatch (Makefile.am): Remove explicit dependency on
69410         $(FNMATCH_H), redundant through BUILT_SOURCES.
69411         * modules/getopt (Makefile.am): Remove explicit dependency on
69412         $(GETOPT_H), redundant through BUILT_SOURCES.
69413         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
69414         redundant through BUILT_SOURCES.
69415         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
69416         redundant through BUILT_SOURCES.
69417         * modules/stdbool (Makefile.am): Remove explicit dependency on
69418         $(STDBOOL_H), redundant through BUILT_SOURCES.
69419         * modules/stdint (Makefile.am): Remove explicit dependency on
69420         $(STDINT_H), redundant through BUILT_SOURCES.
69421         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
69422         Remove explicit dependency on $(SYSEXITS_H).
69423         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
69424
69425 2005-07-18  Simon Josefsson  <jas@extundo.com>
69426
69427         * lib/check-version.c (check_version): Accept identical versions too.
69428
69429 2005-07-18  Bruno Haible  <bruno@clisp.org>
69430
69431         * modules/lock: New file.
69432         * MODULES.html.sh (Multithreading): New section.
69433
69434 2005-07-18  Bruno Haible  <bruno@clisp.org>
69435
69436         * m4/lock.m4: New file, from GNU gettext.
69437
69438 2005-07-18  Bruno Haible  <bruno@clisp.org>
69439
69440         * lib/lock.h: New file, from GNU gettext.
69441         * lib/lock.c: New file, from GNU gettext.
69442
69443 2005-07-18  Bruno Haible  <bruno@clisp.org>
69444
69445         * lib/lock.h (gl_once_t): New type.
69446         (gl_once_define, gl_once): New macros.
69447         * lib/lock.c (fresh_once): New variable.
69448         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
69449         functions.
69450
69451 2005-07-16  Simon Josefsson  <jas@extundo.com>
69452
69453         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
69454         workaround, suggested by Bruno.
69455
69456 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
69457
69458         * modules/xalloc (Depends-on): Add xalloc-die.
69459         * modules/xvasprintf (Depends-on): Add xalloc-die.
69460
69461 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
69462
69463         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
69464         with a minor change.
69465
69466 2005-07-15  Bruno Haible  <bruno@clisp.org>
69467
69468         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
69469         When using lib/poll.c, define poll as rpl_poll.
69470
69471 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
69472
69473         * modules/argp (Depends-on): Remove unlocked-io.
69474
69475 2005-07-14  Derek Price  <derek@ximbiot.com>
69476
69477         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
69478         for glob symlink bug.
69479
69480 2005-07-14  Bruno Haible  <bruno@clisp.org>
69481
69482         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
69483         Instead, test for *_unlocked function declarations directly.
69484
69485 2005-07-11  Simon Josefsson  <jas@extundo.com>
69486
69487         * modules/size_max: New file.
69488
69489         * modules/xsize: Depend on size_max module for size_max.m4.
69490
69491 2005-07-11  Simon Josefsson  <jas@extundo.com>
69492
69493         * lib/size_max.h: New file.
69494
69495 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
69496
69497         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
69498         copyright symbol and the year.
69499         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
69500         (version_etc_va): Use parameterized copyright notice.
69501         Reword to conform to the current GNU coding standards.
69502
69503 2005-07-11  Karl Berry  <karl@gnu.org>
69504
69505         * doc/gnulib.texi (Quoting): new node.
69506         (Initial import): more info, from Patrice.
69507
69508 2005-07-11  Bruno Haible  <bruno@clisp.org>
69509
69510         * gnulib-tool (func_usage): Document option --avoid.
69511         (Command line options): Handle --avoid.
69512         (func_acceptable): New function.
69513         (func_modules_transitive_closure): Use it.
69514
69515 2005-07-11  Bruno Haible  <bruno@clisp.org>
69516
69517         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
69518         Reported by Jim Meyering.
69519
69520 2005-07-10  Bruno Haible  <bruno@clisp.org>
69521
69522         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
69523         Needed when size_t is smaller than 'unsigned int'.
69524         Reported by Paul Eggert.
69525
69526 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69527
69528         * modules/argp (Depends-on): Add unlocked-io
69529
69530 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69531
69532         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
69533         block of defines.
69534
69535 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
69536
69537         * config/srclist.txt: Comment out regcomp.c, since we have a porting
69538         fix now.
69539
69540 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
69541         and Paul Eggert  <eggert@cs.ucla.edu>
69542
69543         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
69544         in wint_t, not wchar_t.  Remove now-unnecessary cast.
69545
69546 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69547
69548         * modules/regex (Files): Add lib/regex_internal.c,
69549         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
69550         (Depends-on): Add extensions.
69551         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
69552
69553 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69554
69555         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
69556         pathconf.
69557         * m4/same.m4 (gl_SAME): Likewise.
69558         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
69559
69560         * m4/regex.m4: Adjust to new libc regex implementation.
69561         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
69562         all the .c and .h parts of (the new) regex.
69563         Quote the m4 stuff better.
69564         Check for RE_ICASE bug of old gnulib.
69565         Check for REG_STARTEND of recent libc.
69566         Rename local variables from jm_* to gl_*.
69567         Quote operand of "test -f".
69568         Say "recent enough" version of libc, not "version 2".
69569         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
69570         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
69571         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
69572         Remove check for btowc, isascii.
69573         Require AM_LANGINFO_CODESET.
69574
69575 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69576
69577         * lib/regex.c, regex.h: Sync from libc.
69578         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
69579         * lib/regexec.c:
69580         New files, synced from libc, except that regex_internal.h
69581         currently has a small porting fix.
69582
69583 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69584
69585         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
69586         regex_internal.c, regexec.c.
69587         Add regex_internal.h too, but as a comment, since the libc version
69588         is currently broken in gnulib mode.
69589
69590 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69591
69592         Support programs like Emacs that use gnulib but not gettext.
69593         * MODULES.html.sh (Internationalization functions): Add gettext-h.
69594         * modules/gettext-h: New file.
69595         * modules/gettext (Files): Remove lib/gettext.h.
69596         (Depends-on): Add gettext-h.
69597         (Makefile.am): Remove lib_SOURCES.
69598         * modules/argmatch, modules/c-stack, modules/closeout:
69599         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
69600         * modules/execute, modules/file-type, modules/getaddrinfo:
69601         * modules/getopt, modules/human, modules/javacomp:
69602         * modules/javaexec, modules/mkdir-p, modules/obstack:
69603         * modules/openat, modules/pagealign_alloc, modules/pipe:
69604         * modules/quotearg, modules/regex, modules/rpmatch:
69605         * modules/unicodeio, modules/userspec, modules/version-etc:
69606         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
69607         * modules/xsetenv:
69608         Depend on gettext-h, not gettext.
69609
69610 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
69611
69612         * gnulib-tool (func_import): Add support for 'public domain' license.
69613         * modules/alloca, modules/atexit, modules/memmove:
69614         Now public domain, not GPL.
69615         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
69616         * modules/realloc, modules/strerror, modules/strtod:
69617         Now LGPL, not GPL.
69618
69619 2005-07-05  Bruno Haible  <bruno@clisp.org>
69620
69621         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
69622         autoconf CVS. Needed for mingw.
69623
69624 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69625
69626         Remove the dependency of the strftime module on the tzset module.
69627         * modules/strftime (Depends-on): Remove dependency on tzset.
69628
69629 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69630
69631         Remove the dependency of the strftime module on the tzset module.
69632         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
69633         gl_FUNC_TZSET_CLOBBER.
69634
69635 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69636
69637         Remove the dependency of the strftime module on the tzset module.
69638         * lib/strftime.c (my_strftime)
69639         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
69640         Copy the input structure, to work around some of the bug with
69641         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
69642         Solaris releases, you should also use the tzset module, but we won't
69643         require it as a dependency any more since we don't want LGPLed code
69644         to depend on GPLed code.
69645
69646 2005-07-02  Jim Meyering  <jim@meyering.net>
69647
69648         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
69649         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
69650         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
69651         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
69652
69653 2005-07-02  Jim Meyering  <jim@meyering.net>
69654
69655         * lib/backupfile.c (backup_args): Change a `0' to NULL.
69656
69657 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
69658
69659         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
69660         declares only 'struct timespec;' (!).
69661
69662 2005-07-01  Jim Meyering  <jim@meyering.net>
69663
69664         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
69665         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
69666         * lib/save-cwd.c, tempname.c:
69667         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
69668         and don't include <sys/file.h>).
69669
69670 2005-06-29  Jim Meyering  <jim@meyering.net>
69671
69672         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
69673         type name.  Use the variable name instead.
69674         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
69675         Likewise.
69676
69677 2005-06-28  Simon Josefsson  <jas@extundo.com>
69678
69679         * modules/check-version (Files): Add check-version.m4.
69680
69681 2005-06-28  Simon Josefsson  <jas@extundo.com>
69682
69683         * m4/check-version.m4: New file, suggested by Jim Meyering
69684         <jim@meyering.net>.
69685
69686 2005-06-28  Simon Josefsson  <jas@extundo.com>
69687
69688         * lib/check-version.h, lib/check-version.c: New files.
69689
69690 2005-06-28  Simon Josefsson  <jas@extundo.com>
69691
69692         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
69693         collision with global variable.  Better indentation.  Don't
69694         increment buffer pointer beyond buffer end.  Based on comments
69695         from Paul Eggert <eggert@cs.ucla.edu>.
69696
69697         * lib/base64.h: Indent.
69698
69699 2005-06-28  Simon Josefsson  <jas@extundo.com>
69700
69701         * doc/gnulib.texi (Library version handling): New section.
69702
69703 2005-06-28  Jim Meyering  <jim@meyering.net>
69704
69705         * check-module (find_included_lib_files): Hard-code another
69706         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
69707         but modules/fts-lgpl (correctly) does not list those files.
69708
69709         * modules/canonicalize (Files): Add lib/pathmax.h.
69710
69711 2005-06-25  Simon Josefsson  <jas@extundo.com>
69712
69713         * modules/check-version: New file.
69714
69715 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
69716
69717         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
69718         initializer of struct addrinfo, as an indication that we don't
69719         care how many members the structure has.
69720
69721 2005-06-24  Derek Price  <derek@ximbiot.com>
69722         and Bruno Haible  <bruno@clisp.org>
69723
69724         Remove stat module & update lstat.
69725         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
69726         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69727         * m4/stat.m4: Remove this file.
69728
69729 2005-06-24  Derek Price  <derek@ximbiot.com>
69730         and Bruno Haible  <bruno@clisp.org>
69731
69732         Remove stat module & update lstat.
69733         * lib/stat.c: Remove this file...
69734         (slash_aware_lstat): ...moving this content and its support...
69735         * lib/lstat.c (rpl_lstat): ...into here.
69736         * lib/lstat.h: New file.
69737
69738 2005-06-24  Derek Price  <derek@ximbiot.com>
69739         and Bruno Haible  <bruno@clisp.org>
69740
69741         Remove stat module & update lstat.
69742         * config/srclist.txt (libc sources): Remove stat.
69743
69744 2005-06-24  Derek Price  <derek@ximbiot.com>
69745         and Bruno Haible  <bruno@clisp.org>
69746
69747         Remove stat module & update lstat.
69748         * MODULES.html.sh (stat): Remove.
69749         * MODULES.html: Regenerated.
69750         * modules/lstat (Description): Correct function name.
69751         (Files): Add "lstat.h".
69752         (Depends-on): Remove stat, add xalloc, stat-macros.
69753         * modules/stat: Remove this file.
69754         (Include): Add "lstat.h", remove <sys/stat.h>.
69755
69756 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
69757
69758         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
69759         (ranged_convert): Don't save conversion in a temporary struct.
69760         This causes a warning with GCC 4.0.0, and anyway in the typical
69761         case it's not worth the extra 100 bytes or so of code.
69762         (ranged_convert, __mktime_internal): When calling a function via a
69763         pointer P, use P () rather than (*P) (), as we now assume C89 or
69764         better.
69765
69766 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69767
69768         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
69769         "who -r" failed to give output.  Problem reported by Tim Waugh.
69770
69771         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
69772         (xcalloc): Use it to avoid needless tests.
69773         Problem reported by Jim Meyering.
69774
69775 2005-06-20  Derek Price  <derek@ximbiot.com>
69776
69777         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
69778         unnecessary for Autoconfs > 2.59c.
69779
69780 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69781
69782         * lib/argp.h (__option_is_short): Check upper limit of
69783         __key. Isprint() requires its argument to have the value
69784         of an unsigned char or EOF.
69785
69786 2005-06-16  Jim Meyering  <jim@meyering.net>
69787
69788         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
69789         when either N or S is zero.
69790
69791 2005-06-16  Derek Price  <derek@ximbiot.com>
69792
69793         * m4/bison.m4: Declare YACC & YFLAGS precious.
69794
69795 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
69796
69797         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
69798         multibyte string or pattern, fall back on unibyte matching.
69799         Problem reported by James Youngman.
69800
69801 2005-06-08  Bruno Haible  <bruno@clisp.org>
69802
69803         * modules/csharpcomp: New file.
69804         * MODULES.html.sh (C#): Add csharpcomp.
69805
69806 2005-06-08  Bruno Haible  <bruno@clisp.org>
69807
69808         * m4/csharpcomp.m4: New file, from GNU gettext.
69809
69810 2005-06-08  Bruno Haible  <bruno@clisp.org>
69811
69812         * lib/csharpcomp.h: New file, from GNU gettext.
69813         * lib/csharpcomp.c: New file, from GNU gettext.
69814         * lib/csharpcomp.sh.in: New file, from GNU gettext.
69815
69816 2005-06-08  Bruno Haible  <bruno@clisp.org>
69817
69818         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
69819         warning on mingw.
69820
69821 2005-06-07  Derek Price  <derek@ximbiot.com>
69822
69823         Sync from CVS.
69824         * lib/glob_.h: Indent nested #ifdef.
69825
69826 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69827
69828         Sync from coreutils.
69829         Use "file name" when talking about file names, instead of "filename"
69830         or "path", as per the GNU coding standards.
69831         * lib/mkdir-p.c: Renamed from makepath.c.
69832         (make_dir_parents): Renamed from make_path.  All callers changed.
69833         * lib/mkdir-p.h: Likewise.  All includers changed.
69834         * lib/filenamecat.c: Renamed from path-concat.c.
69835         (file_name_concat): Renamed from path_concat.  All callers changed.
69836         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
69837         * lib/filenamecat.h: Likewise.  All includers changed.
69838         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
69839         in comments or local variable names.
69840         * lib/basename.c: Likewise.
69841         * lib/canonicalize.c, canonicalize.h: Likewise.
69842         * lib/dirname.c, dirname.h: Likewise.
69843         * lib/euidaccess.c: Likewise.
69844         * lib/exclude.c: Likewise
69845         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
69846         * lib/fsusage.c, fsuage.h: Likewise.
69847         * lib/fts.c, fts_.h: Likewise.
69848         * lib/getcwd.c: Likewise.
69849         * lib/getloadavg.c: Likewise.
69850         * lib/mkstemp.c: Likewise.
69851         * lib/mountlist.c, mountlist.h: Likewise.
69852         * lib/openat.c, openat.h: Likewise.
69853         * lib/readlink-stub.c: Likewise.
69854         * lib/readutmp.c, readutmp.h: Likewise.
69855         * lib/rename.c: Likewise.
69856         * lib/rmdir.c: Likewise.
69857         * lib/same.c: Likewise.
69858         * lib/savedir.c: Likewise.
69859         * lib/stripslash.c: Likewise.
69860         * lib/tempname.c: Likewise.
69861         * lib/xreadlink.c: Likewise.
69862         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
69863         All uses changed.
69864         * lib/exclude.h: Likewise.
69865
69866         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
69867         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69868         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
69869         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69870         * lib/pathmax.h: Include <limits.h> unconditionally, since other
69871         files have been getting away with it for years (MORE/BSD 4.3
69872         is extinct now).
69873         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
69874         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69875
69876         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
69877         Define to 256, not 255, as per modern POSIX.
69878
69879 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69880
69881         Sync from coreutils.
69882         Use "file name" when talking about file names, instead of "filename"
69883         or "path", as per the GNU coding standards.
69884         * MODULES.html.sh: mkdir-p renamed from makepath.
69885         filenamecat renamed from path-concat.
69886         * modules/filenamecat: Renamed from modules/path-concat.
69887         (Files): filenamecat.h and filenamecat.c renamed from
69888         path-concat.h and path-concat.c.
69889         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
69890         (Include): filenamecat.h, not path-concat.h.
69891         * modules/mkdir-p: Renamed from modules/makepath.
69892         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
69893         makepath.c.
69894         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
69895         (Include): mkdir-p.h, not makepath.h.
69896
69897 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69898
69899         Sync from coreutils.
69900         * m4/mkdir-p.m4: Renamed from makepath.m4.
69901         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
69902         Rename files from makepath.c to mkdir-p.c, and from
69903         makepath.h to mkdir-p.h.
69904         * m4/filenamecat.m4: Renamed from path-concat.m4.
69905         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
69906         Rename files from path-concat.c to filenamecat.c,
69907         and from path-concat.h to filenamecat.h.
69908         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
69909         "file name" in local variables or comments.
69910         * m4/rename.m4: Likewise.
69911
69912 2005-06-01  Bruno Haible  <bruno@clisp.org>
69913
69914         * modules/csharpexec: New file.
69915         * MODULES.html.sh (C#): New section.
69916
69917 2005-06-01  Bruno Haible  <bruno@clisp.org>
69918
69919         * m4/csharp.m4: New file, from GNU gettext.
69920         * m4/csharpexec.m4: New file, from GNU gettext.
69921
69922 2005-06-01  Bruno Haible  <bruno@clisp.org>
69923
69924         * lib/csharpexec.h: New file, from GNU gettext.
69925         * lib/csharpexec.c: New file, from GNU gettext.
69926         * lib/csharpexec.sh.in: New file, from GNU gettext.
69927
69928 2005-05-31  Derek Price  <derek@ximbiot.com>
69929             Paul Eggert  <eggert@cs.ucla.edu>
69930
69931         Sync from cvs.
69932         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69933
69934 2005-05-31  Derek Price  <derek@ximbiot.com>
69935             Paul Eggert  <eggert@cs.ucla.edu>
69936
69937         Sync from cvs.
69938         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69939
69940 2005-05-29  Derek Price  <derek@ximbiot.com>
69941
69942         * config/srclist.txt (glob_.h, glob.c): Add these files.
69943
69944 2005-05-29  Derek Price  <derek@ximbiot.com>
69945
69946         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
69947         * modules/glob: New file.
69948         * modules/getlogin_r: Add link to POSIX spec in description.
69949
69950 2005-05-29  Derek Price  <derek@ximbiot.com>
69951             Paul Eggert  <eggert@cs.ucla.edu>
69952
69953         * m4/glob.m4: New file.
69954
69955 2005-05-29  Derek Price  <derek@ximbiot.com>
69956             Paul Eggert  <eggert@cs.ucla.edu>
69957
69958         * lib/glob_.h, lib/glob.c: New files.
69959
69960 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69961
69962         * modules/fts (Files): Remove m4/inttypes-pri.m4.
69963         * modules/fts-lgpl (Depends-on): Remove gettext.
69964
69965 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69966
69967         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
69968         and don't require gt_INTTYPES_PRI.
69969
69970 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69971
69972         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
69973
69974         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
69975         the configuration hassle isn't worth it.
69976         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
69977         (LONGEST_MODIFIER, PRIuMAX): Remove.
69978
69979 2005-05-27  Bruno Haible  <bruno@clisp.org>
69980
69981         * lib/getlogin_r.h: Remove second include of <stddef.h>.
69982
69983 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
69984
69985         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
69986         _POSIX_PTHREAD_SEMANTICS for Solaris.
69987
69988 2005-05-25  Derek Price  <derek@ximbiot.com>
69989
69990         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
69991
69992 2005-05-25  Derek Price  <derek@ximbiot.com>
69993             Paul Eggert  <eggert@cs.ucla.edu>
69994
69995         * modules/getlogin_r, m4/getlogin_r.m4: New files.
69996         * lib/getlogin_r.c, getlogin_r.h: New files.
69997
69998 2005-05-25  Bruno Haible  <bruno@clisp.org>
69999             Derek Price  <derek@ximbiot.com>
70000
70001         * lib/getlogin_r.h: Simplify API documentation.
70002
70003 2005-05-23  Derek Price  <derek@ximbiot.com>
70004
70005         * modules/minmax (Files): Add m4/minmax.m4.
70006         (configure.ac): Add gl_MINMAX.
70007
70008 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70009
70010         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
70011         so that unistd-safer.h (GPL'ed code) need not be included.
70012
70013 2005-05-22  Bruno Haible  <bruno@clisp.org>
70014
70015         * m4/minmax.m4: New file.
70016         Based on a patch by Derek Price <derek@ximbiot.com>.
70017
70018 2005-05-22  Bruno Haible  <bruno@clisp.org>
70019
70020         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
70021         (INT64_MIN): Fix definition.
70022         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
70023
70024         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
70025         NEED_SIGNED_INT_TYPES.
70026
70027         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
70028         HAVE_SYSTEM_INTTYPES.
70029
70030 2005-05-22  Bruno Haible  <bruno@clisp.org>
70031
70032         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
70033         Also include <sys/param.h> if it defines MIN, MAX.
70034         Based on a patch by Derek Price <derek@ximbiot.com>.
70035
70036 2005-05-21  Jim Meyering  <jim@meyering.net>
70037
70038         * modules/fts (Files): Add m4/inttypes-pri.m4.
70039         (Depends-on): Add lstat and remove gettext.  Alphabetize.
70040
70041 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70042
70043         New fts module.
70044         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
70045         (setup_dir, free_dir): New functions.
70046         (enter_dir, leave_dir): Define trivial
70047         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
70048         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
70049         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
70050         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
70051         Move to fts-cycle.c.
70052         (fts_open): Use setup_dir.
70053         (fts_close): Use free_dir.
70054         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
70055         This adds a label and some gotos, but the alternatives were messier.
70056         Check for memory allocation failure when entering a dir.
70057         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
70058         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
70059         (FTS): New member fts_cycle, that is a union that contains the
70060         old active_dir_ht and cycle_state.  All uses changed to mention
70061         fts_cycle.ht and fts_cycle.state.
70062         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
70063         fts.c, with the following changes:
70064         (setup_dir, free_dir): New functions.
70065         (enter_dir): Now returns bool.  Return true if successful, false
70066         if memory exhausted.  All callers changed.
70067         Do not bother partly cleaning up on
70068         memory allocation failure; that is free_dir's job.
70069         However, free ad if hash_insert fails, to avoid memory leak.
70070         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
70071         fts->fts_options to see which union member to use.
70072
70073 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70074
70075         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
70076         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
70077
70078 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70079
70080         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
70081
70082 2005-05-20  Jim Meyering  <jim@meyering.net>
70083
70084         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
70085         Now a macro, to pacify GCC.
70086
70087 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
70088
70089         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
70090         of -1.
70091
70092 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
70093
70094         * lib/chown.c (rpl_chown): Return -1 on failure.
70095
70096 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
70097
70098         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
70099         Don't check for stddef.h.
70100         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
70101         don't use its results.
70102         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
70103         since we include them unconditionally.  Don't require
70104         AM_STDBOOL_H, since stdbool is a prerequisite.
70105         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
70106         since we assume C89 or better.
70107         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
70108         as we don't use their results.
70109         Don't check for fchdir, memmove, memset, strrchr, as we use
70110         them unconditionally.
70111         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
70112         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
70113
70114 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
70115
70116         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
70117         Include <stddef.h> unconditionally, since we assume C89 now.
70118         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
70119         * lib/fts.c: Include fts_.h first, to check interface.
70120         Do not include intprops.h; no longer needed.
70121         Include cycle-check.h and hash.h, since fts_.h no longer does.
70122         Remove unnecessary casts of closedir to void.
70123         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
70124         decide whether to decrement nlinks.
70125         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
70126         (FTS): Use struct hash_table * instead of Hash_table, so that
70127         we no longer need to include hash.h here.
70128
70129 2005-05-18  Jim Meyering  <jim@meyering.net>
70130
70131         * modules/dirfd (License): Change to LGPL.  Most of the code
70132         is already in the public domain.
70133
70134 2005-05-18  Jim Meyering  <jim@meyering.net>
70135
70136         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
70137         Reported by Yoann Vandoorselaere.
70138
70139 2005-05-17  Jim Meyering  <jim@meyering.net>
70140
70141         * m4/fts.m4: New file, from coreutils.
70142
70143 2005-05-17  Jim Meyering  <jim@meyering.net>
70144
70145         * lib/fts.c, lib/fts_.h: New files, from coreutils.
70146
70147 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70148
70149         Sync from coreutils.
70150         * m4/unlinkdir.m4: New file.
70151
70152 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70153
70154         Sync from coreutils.
70155         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
70156         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
70157         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
70158         White space changes only.
70159         * lib/makepath.c (make_path): Port to hosts where leading "//" is
70160         special.
70161         * lib/yesno.c: Include getline.h, not ctype.h.
70162         (yesno): Don't remove leading white space; POSIX doesn't allow it.
70163         Use getline to remove arbitrary restriction on response length.
70164
70165 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70166
70167         * config/srclist-update: Spell out "Street" in FSF postal
70168         mail address; this is the style the FSF seems to prefer.
70169
70170         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
70171         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
70172         this updates FSF postal mail address.
70173
70174         Sync from coreutils.
70175         * modules/unlinkdir: New file.
70176         * modules/yesno (Depends-on): Add getline.
70177         * MODULES.html.sh (File system functions): Add unlinkdir.
70178
70179 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70180
70181         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
70182         lib/strsep.h:
70183         Change the initial comment to refer to GPL, not LGPL.
70184         gnulib-tool will change it to LGPL as needed.
70185
70186         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
70187         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
70188         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
70189         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
70190         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
70191         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
70192         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
70193         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
70194         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
70195         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
70196         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
70197         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
70198         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
70199         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
70200         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
70201         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
70202         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
70203         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
70204         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
70205         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
70206         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
70207         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
70208         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
70209         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
70210         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
70211         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
70212         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
70213         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
70214         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
70215         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
70216         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
70217         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
70218         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
70219         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
70220         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
70221         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
70222         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
70223         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
70224         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
70225         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
70226         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
70227         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
70228         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
70229         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
70230         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
70231         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
70232         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
70233         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
70234         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
70235         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
70236         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70237         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
70238         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
70239         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
70240         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
70241         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
70242         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
70243         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
70244         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
70245         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
70246         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
70247         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
70248         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
70249         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
70250         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
70251         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
70252         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
70253         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
70254         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
70255         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
70256         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
70257         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
70258         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
70259         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
70260         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
70261         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
70262         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
70263         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
70264         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
70265         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
70266         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
70267         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
70268         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
70269         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
70270         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
70271         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
70272         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
70273         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
70274         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
70275         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
70276         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
70277         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
70278         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
70279         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
70280         lib/yesno.c, lib/yesno.h:
70281         Update FSF postal mail address.
70282
70283 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70284
70285         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
70286         tests/test-memmem.c, tests/test-stpncpy.c:
70287         Update FSF postal mail address.
70288
70289 2005-05-13  Bruno Haible  <bruno@clisp.org>
70290
70291         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
70292         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
70293         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
70294         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
70295         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
70296         Add support for 64-bit integers in the MSVC compiler.
70297
70298 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70299
70300         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
70301
70302 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
70303
70304         * gnulib-tool (func_import): Sort and uniquify recommended includes.
70305
70306 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
70307
70308         * doc/getdate.texi (General date syntax): Don't say that date
70309         date --iso-8601=ns generates acceptable dates; it doesn't yet.
70310         Problem reported by Nic Ferrier.
70311
70312 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70313
70314         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
70315         specified in ai_socktype. Fix invalid ai_protocol
70316         check. ai_protocol is usually set to 0 or depending on
70317         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
70318         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
70319         ai_socktype / ai_protocol in the returned addrinfo structure.
70320
70321 2005-05-10  Simon Josefsson  <jas@extundo.com>
70322
70323         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
70324         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70325
70326 2005-05-10  Karl Berry  <karl@gnu.org>
70327
70328         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
70329         (from http://www.gnu.org/licenses).
70330         * doc/COPYING.LIB: also rename to COPYING.LESSER.
70331         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
70332         fdl.texi suffices.
70333
70334 2005-05-10  Karl Berry  <karl@gnu.org>
70335
70336         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
70337         (COPYING.DOC): remove.
70338
70339         * config/srclist-update: new FSF address.
70340
70341 2005-05-10  Derek Price  <derek@ximbiot.com>
70342
70343         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
70344         possible.
70345
70346 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70347             Bruno Haible  <bruno@clisp.org>
70348
70349         * modules/inet_ntop: New file.
70350         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70351         inet_ntop.
70352
70353 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70354             Bruno Haible  <bruno@clisp.org>
70355
70356         * m4/inet_ntop.m4: New file.
70357
70358 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70359             Bruno Haible  <bruno@clisp.org>
70360
70361         * lib/inet_ntop.h: New file.
70362         * lib/inet_ntop.c: New file, from glibc with modifications.
70363
70364 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
70365
70366         * modules/time_r (License): Change to LGPL.
70367         * modules/extensions (License): Change to LGPL.  Actually,
70368         the license is more permissive than that, but currently gnulib-tool
70369         doesn't know how to handle more-permissive licenses.
70370
70371         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
70372         Problem reported by Dave Love.
70373
70374 2005-05-08  Jim Meyering  <jim@meyering.net>
70375
70376         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
70377         blank.
70378
70379 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
70380
70381         * modules/argmatch (Depends-on): Add stdbool.
70382         * modules/backupfile (Depends-on): Likewise.
70383         * modules/chdir-long (Depends-on): Likewise.
70384         * modules/closeout (Depends-on): Likewise.
70385         * modules/cycle-check (Depends-on): Likewise.
70386         * modules/dirname (Depends-on): Likewise.
70387         * modules/fnmatch (Depends-on): Likewise.
70388         * modules/fsusage (Depends-on): Likewise.
70389         * modules/fwriteerror (Depends-on): Likewise.
70390         * modules/getcwd (Depends-on): Likewise.
70391         * modules/getloadavg (Depends-on): Likewise.
70392         * modules/hard-locale (Depends-on): Likewise.
70393         * modules/makepath (Depends-on): Likewise.
70394         * modules/mountlist (Depends-on): Likewise.
70395         * modules/nanosleep (Depends-on): Likewise.
70396         * modules/posixtm (Depends-on): Likewise.
70397         * modules/quotearg (Depends-on): Likewise.
70398         * modules/readtokens (Depends-on): Likewise.
70399         * modules/readtokens0 (Depends-on): Likewise.
70400         * modules/readutmp (Depends-on): Likewise.
70401         * modules/save-cwd (Depends-on): Likewise.
70402         * modules/strftime (Depends-on): Likewise.
70403         * modules/userspec (Depends-on): Likewise.
70404         * modules/utimecmp (Depends-on): Likewise.
70405         * modules/xgetcwd (Depends-on): Likewise.
70406         * modules/xnanosleep (Depends-on): Likewise.
70407         * modules/xstrtod (Depends-on): Likewise.
70408         * modules/yesno (Depends-on): Likewise.
70409
70410 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
70411
70412         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
70413         needless checks.
70414
70415 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70416
70417         Merge from coreutils.  Among other things,
70418         add bulletproofing for cases where stdin, stdout, or stderr are closed.
70419         * lib/fd-safer.c: New file.
70420         * lib/fcntl-safer.h, open-safer.c: Remove.
70421         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
70422         * lib/dup-safer.c: Include unistd-safer.h first.
70423         Don't include errno.h.
70424         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
70425         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
70426         * lib/file-type.c: Rely on file-type.h change.
70427         * lib/getloadavg.c: Include unistd-safer.h.
70428         (getloadavg): Use safer open.
70429         * lib/getusershell.c: Include "stdio-safer.h".
70430         (getusershell): Use safer fopen.
70431         * lib/long-options.c (long_options): Use NULL rather than 0.
70432         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
70433         'free'.
70434         * lib/modechange.c: Likewise.
70435         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
70436         (MODE_DONE): New constant.
70437         (struct mode_change): Remove 'next' member.
70438         (make_node_op_equals): New function; like the old one of the
70439         same name, except it allocates an array.
70440         (mode_compile, mode_create_from_ref): Use it.
70441         (mode_compile): Allocate result as an array, not a linked list.
70442         Parse octal string ourself, so that we catch mistakes like "+0".
70443         (mode_adjust): Arg is an array, not a linked list.
70444         * lib/modechange.c: Include stat-macros.h, xalloc.h.
70445         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
70446         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
70447         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
70448         Remove.  This is now stat-macros.h's job.
70449         (talloc): Remove.  All callers replaced by xalloc, so that
70450         our invokers don't have to worry about reporting memory failures.
70451         (make_node_op_equals): Remove.
70452         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
70453         New constants.
70454         (struct mode_change): Moved here from modechange.h.
70455         (mode_append_entry): Remove.
70456         (mode_compile): Remove MASKED_OPS arg, since it encouraged
70457         apps to have incorrect behavior.  Use simpler algorithm for head
70458         and tail.  Don't futz with umask; that's now the job of mode_adjust.
70459         Detect more invalid usages rather than having somewhat-random behavior.
70460         Don't insert an "a=" action, as that leads to incorrect behavior.
70461         (mode_compile, mode_create_from_ref): Return NULL on error instead
70462         of an enum, since now there's only one way to have an error.  All
70463         callers changed.
70464         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
70465         at the correct time.  Simplify calculation of "+u" and its ilk.
70466         Don't mishandle "+X".
70467         (mode_free): Remove "register" and localize decls.
70468         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
70469         (struct mode_change): Move to modechange.c; callers don't
70470         need to see this stuff.
70471         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
70472         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
70473         (mode_change, mode_adjust): Reflect the new signatures noted above.
70474         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
70475         that might redefine system include files.
70476         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
70477         (my_usleep): Use NULL rather than (void *) 0.
70478         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
70479         Use siginterrupt to specify that system calls should be interrupted.
70480         (rpl_nanosleep): Move initialization of suspended closer to call of
70481         my_usleep.
70482         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
70483         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
70484         (desirable_utmp_entry): New function.
70485         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
70486         using x2nrealloc, to simplify logic.
70487         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
70488         size calculation.  Do not assume utmp file is a regular file.
70489         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
70490         (READ_UTMP_CHECK_PIDS): New constant.
70491         * lib/save-cwd.c: Include unistd-safer.h.
70492         (save_cwd): Use fd_safer.
70493         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
70494         [!_LIBC] Include "stat-macros.h" instead.
70495         * lib/unistd-safer.h (fd_safer): New decl.
70496
70497 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70498
70499         * modules/getloadavg (Depends-on): Add unistd-safer.
70500         * modules/getusershell (Depends-on): Add stdio-safer.
70501         * modules/lstat (Depends-on): Remove xalloc.
70502         * modules/mkstemp (Depends-on): Add stat-macros.
70503         * modules/modechange (Depends-on): Remove xstrtol.
70504         Add stat-macros, xalloc.
70505         * modules/save-cwd (Depends-on): Add unistd-safer.
70506         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
70507         * modules/unistd-safer (Files): Add lib/fd-safer.c
70508         (Makefile.am): Remove lib_SOURCES.
70509
70510         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
70511         Remove fcntl-safer; unistd-safer supersedes it.
70512
70513 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70514
70515         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
70516         AC_HEADER_STAT.
70517         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
70518         (gl_PREREQ_CHOWN): Remove.
70519         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
70520         it.  Don't require AC_HEADER_STAT.
70521         (gl_PREREQ_LSTAT): Remove.
70522         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
70523         Don't require AC_HEADER_STAT.
70524         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
70525         (gl_PREREQ_RMDIR): Remove.
70526         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
70527         mention stat-macros.h or AC_HEADER_STAT, since we'll make
70528         the stat-macros module a prerequisite.
70529         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
70530         * m4/filemode.m4 (gl_FILEMODE): Likewise.
70531         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
70532         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
70533         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
70534         variable names.
70535         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
70536         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
70537         variable prefixes.
70538         * m4/fcntl-safer.m4: Remove.
70539         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
70540         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
70541         Invoke gl_PREREQ_FD_SAFER.
70542         (gl_PREREQ_FD_SAFER): New macro.
70543         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
70544         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
70545         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
70546         Remove duplicate call to AC_LIBOBJ(readutmp).
70547         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
70548
70549         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
70550         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
70551
70552 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70553
70554         * MODULES.html.sh (Misc): Add byteswap.
70555
70556 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70557
70558         * modules/getcwd (Depends-on): Add extensions.
70559         * modules/openat (Depends-on): Likewise.
70560
70561 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70562
70563         * modules/byteswap: New file.
70564
70565 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70566
70567         * m4/byteswap.m4: New file.
70568
70569 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70570
70571         * lib/byteswap_.h: New file.
70572
70573 2005-04-25  Karl Berry  <karl@gnu.org>
70574
70575         * m4/gettext.m4: Update from GNU gettext 0.14.4.
70576
70577 2005-04-25  Albert Chin  <china@thewrittenword.com>
70578
70579         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
70580         Toolkit C bug.
70581
70582 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
70583
70584         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
70585         (func_ln_if_changed): Remove forcibly for no error message
70586         in case file does not exist.
70587
70588 2005-04-19  Simon Josefsson  <jas@extundo.com>
70589
70590         * gnulib-tool (Options): Make --symlink mean --symbolic.
70591
70592 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
70593
70594         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
70595
70596 2005-04-16  Simon Josefsson  <jas@extundo.com>
70597
70598         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
70599
70600 2005-04-15  Simon Josefsson  <jas@extundo.com>
70601
70602         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
70603
70604 2005-04-15  Simon Josefsson  <jas@extundo.com>
70605
70606         * gnulib-tool: Rename --symlink to --symbolic.
70607
70608 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
70609
70610         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
70611         symbolic links to files instead of copying/moving.  Add --aux-dir,
70612         specifying directory relative --dir where auxiliary build tools
70613         are placed.
70614
70615 2005-04-14  Bruno Haible  <bruno@clisp.org>
70616
70617         * modules/allocsa (License): Change to LGPL.
70618         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
70619
70620 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70621
70622         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
70623         that "UTC +1 second" continues to work.  Problem reported
70624         by Dmitry V. Levin.
70625         (relunit_snumber): New rule.
70626         (relunit): Use it.
70627
70628 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70629
70630         * lib/getdate.y (universal_time_zone_table): New constant.
70631         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
70632         universal_time_zone_table.
70633         (lookup_zone): Prefer universal_time_zone_table to
70634         local_time_zone_table, so that "GMT" time stamps are allowed in
70635         London during the summer.  Problem reported by Ian Abbott.
70636
70637 2005-04-12  Jim Meyering  <jim@meyering.net>
70638
70639         * lib/human.c (humblock): Set *options even when returning due to
70640         xstrtoumax conversion failure.  Thanks to a used-uninitialized
70641         warning from gcc-4.
70642
70643 2005-04-09  Jim Meyering  <jim@meyering.net>
70644
70645         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
70646         -Wuninitialized: initialize tm0.tm_year.
70647
70648 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70649
70650         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
70651         count, since there's no maximum.  All uses changed.
70652         Add member dsts_seen.
70653         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
70654         not being INT_MAX.
70655         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
70656         Use pc_rels_seen to decide whther a date is absolute.
70657
70658         * lib/getdate.y (number): Don't overwrite year.
70659         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
70660         check.
70661
70662 2005-04-02  Simon Josefsson  <jas@extundo.com>
70663
70664         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
70665         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
70666
70667 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
70668
70669         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
70670         where no absolute path name can be longer than PATH_MAX.
70671
70672 2005-03-27  Jim Meyering  <jim@meyering.net>
70673
70674         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
70675
70676 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
70677
70678         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
70679         "one's complement" -> "ones' complement" in comment, as per Knuth.
70680         "value of type" -> "type or expression" in comment.
70681         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
70682
70683 2005-03-26  Jim Meyering  <jim@meyering.net>
70684
70685         Comment nits.
70686         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
70687         Correct typos: s/or/of/.
70688
70689 2005-03-26  Jim Meyering  <jim@meyering.net>
70690
70691         * modules/check-include-files: Move to ../ and rename to...
70692         * check-module: ...this.
70693
70694 2005-03-25  Jim Meyering  <jim@meyering.net>
70695
70696         * modules/xvasprintf (Files): Add xalloc.h.
70697
70698 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70699
70700         * modules/gettext (Files): config/config.rpath ->
70701         build-aux/config.rpath
70702         * modules/iconv (Files): Likewise.
70703         Problem reported by Oskar Liljeblad.
70704
70705 2005-03-23  Jim Meyering  <jim@meyering.net>
70706
70707         * modules/check-include-files: New script to check for
70708         missing dependencies, multiple includes, etc.
70709
70710         * modules/c-strtold (Depends-on): Add xalloc.
70711         * modules/c-strtod (Depends-on): Add xalloc.
70712         * modules/hash (Depends-on): Add xalloc.
70713         (Files): Remove lib/xalloc.h.
70714
70715         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
70716         * modules/userspec (Files): Add lib/inttostr.h.
70717
70718 2005-03-23  Jim Meyering  <jim@meyering.net>
70719
70720         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
70721
70722 2005-03-22  Jim Meyering  <jim@meyering.net>
70723
70724         * modules/stat-macros: New module.
70725         * modules/canonicalize, modules/euidaccess, modules/file-type,
70726         * modules/filemode, modules/lchown, modules/makepath,
70727         * modules/rmdir, modules/stat: Depend on new stat-macros module
70728         rather than listing lib/stat-macros.h manually.
70729         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
70730
70731 2005-03-22  Jim Meyering  <jim@meyering.net>
70732
70733         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
70734
70735 2005-03-22  Bruno Haible  <bruno@clisp.org>
70736
70737         * config/srclist.txt: Replace target directory 'config' with
70738         'build-aux'.
70739         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
70740         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
70741         ../build-aux/.
70742
70743 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
70744
70745         * modules/chdir-long (Depends-on): Add mempcpy.
70746
70747         * modules/acl, modules/backupfile, modules/c-strtod,
70748         modules/c-strtold, modules/canon-host, modules/canonicalize,
70749         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
70750         modules/exclude, modules/exitfail, modules/file-type,
70751         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
70752         modules/getdate, modules/getline, modules/getpagesize,
70753         modules/getpass, modules/getugroups, modules/group-member,
70754         modules/hard-locale, modules/hash, modules/human, modules/idcache,
70755         modules/inttostr, modules/long-options, modules/makepath,
70756         modules/md5, modules/memcasecmp, modules/memcoll,
70757         modules/modechange, modules/mountlist, modules/path-concat,
70758         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
70759         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
70760         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
70761         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
70762         modules/strftime, modules/strndup, modules/strverscmp,
70763         modules/timespec, modules/unlocked-io, modules/userspec,
70764         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
70765         modules/yesno:
70766         Remove lib_SOURCES line from Makefile.am section, as this is now
70767         done automatically by the corresponding Autoconf macro.
70768
70769 2005-03-21  Jim Meyering  <jim@meyering.net>
70770
70771         Changes imported from coreutils.
70772
70773         * lib/cycle-check.c: Don't include xalloc.h.
70774
70775         * lib/path-concat.c: Don't include assert.h.
70776         (path_concat): Remove assertion that would have triggered
70777         for ABASE starting with more than one slash.
70778         Reported by Andreas Schwab.
70779
70780         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
70781         properly when ABASE is an absolute file name.
70782         Correct the description of this function.
70783         Include <assert.h>.
70784         Add an assertion and a test driver.
70785         This fixes a bug introduced on 2004-07-02.
70786         Andreas Schwab reported the resulting failure of cp --parents:
70787         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
70788
70789 2005-03-21  Jim Meyering  <jim@meyering.net>
70790
70791         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
70792         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
70793
70794 2005-03-21  Jim Meyering  <jim@meyering.net>
70795         and  Paul Eggert  <eggert@cs.ucla.edu>
70796
70797         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
70798         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
70799         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
70800         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
70801         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
70802         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
70803         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
70804         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
70805         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
70806         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
70807         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
70808         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
70809         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
70810         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
70811         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
70812         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
70813         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
70814         for these modules.
70815
70816 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
70817
70818         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
70819         (which shouldn't happen), generate nothing instead of returning 0
70820         immediately, so that nstrftime (NULL, ...) doesn't return 0.
70821
70822 2005-03-16  Bruno Haible  <bruno@clisp.org>
70823
70824         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
70825         HAVE_LONGLONG_64BIT.
70826
70827 2005-03-16  Bruno Haible  <bruno@clisp.org>
70828
70829         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
70830         HAVE_LONGLONG_64BIT.
70831
70832 2005-03-16  Bruno Haible  <bruno@clisp.org>
70833
70834         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
70835         HAVE_LONGLONG_64BIT.
70836
70837 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70838
70839         * lib/strftime.c (my_strftime): Prepend space to format so that we can
70840         reliably distinguish strftime failure from empty output on POSIX
70841         hosts.
70842
70843 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70844
70845         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
70846         (iconv_string): Don't guess a size-zero buffer, as that might cause
70847         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
70848         result would be 'too large', where 'too large' is (heuristically)
70849         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
70850         overflow concerns.  This will prevent some unwanted malloc failures
70851         when the inputs are very large.
70852
70853 2005-03-15  Karl Berry  <karl@gnu.org>
70854
70855         * config/srclist.txt (config.rpath): from gettext.
70856         * config/config.rpath: update.
70857
70858 2005-03-15  Bruno Haible  <bruno@clisp.org>
70859
70860         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
70861         to 'negate'.
70862
70863         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
70864         variable.
70865
70866         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
70867         results.
70868
70869 2005-03-14  Simon Josefsson  <jas@extundo.com>
70870
70871         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
70872         <fx@gnu.org>.
70873
70874 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
70875
70876         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
70877         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
70878         intprops.h.
70879         * lib/strtol.c: Likewise.
70880
70881 2005-03-14  Jim Meyering  <jim@meyering.net>
70882
70883         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
70884         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
70885         to be nonzero so that we (and caller) can detect the difference
70886         between a valid zero-length expansion and an error return, even
70887         when the underlying strftime fails before writing anything into
70888         that location.
70889
70890 2005-03-14  Bruno Haible  <bruno@clisp.org>
70891
70892         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
70893         Update from GNU gettext 0.14.3.
70894
70895 2005-03-10  Jim Meyering  <jim@meyering.net>
70896
70897         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
70898
70899 2005-03-10  Jim Meyering  <jim@meyering.net>
70900
70901         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
70902         so that this module works on systems without fchdir.
70903
70904 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
70905
70906         Factor int-properties macros into a single file, except for
70907         glibc-related files.
70908         * lib/intprops.h: New file.
70909         * lib/getloadavg.c: Include it instead of limits.h.
70910         (INT_STRLEN_BOUND): Remove.
70911         * lib/human.c: Include intprops.h.
70912         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
70913         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
70914         302/1000.
70915         * lib/inttostr.h: Include intprops.h instead of limits.h.
70916         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
70917         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
70918         for consistency with intprops.h.
70919         (time_t_is_integer, twos_complement_arithmetic): Use them.
70920         * lib/sig2str.h: Include <signal.h>, intprops.h.
70921         (INT_STRLEN_BOUND): Remove.
70922         * lib/strftime.c (TYPE_SIGNED): Remove.
70923         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
70924         * lib/strtol.c: Adjust comments to match intprops.h.
70925         * lib/userspec.c: Include intprops.h.
70926         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
70927         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
70928         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
70929         instead of rolling our own expressions.
70930         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
70931
70932         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
70933         instead of int.
70934         (my_strftime): Do not mishandle years close to INT_MAX, by doing
70935         the right thing even if adding 1900 would overflow.  Similarly
70936         for tm_mon + 1 and tm_yday + 1.
70937         Make %Y always equivalent to %C%y, and similarly for %G and %g.
70938         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
70939         (DO_SIGNED_NUMBER): New macro.
70940         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
70941
70942 2005-03-07  Bruno Haible  <bruno@clisp.org>
70943
70944         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
70945
70946 2005-03-07  Bruno Haible  <bruno@clisp.org>
70947
70948         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
70949
70950 2005-03-04  Derek R. Price  <derek@ximbiot.com>
70951
70952         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
70953         (func_import): Only replace files via --import when they have actually
70954         changed.
70955
70956 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70957
70958         * m4/mmap-anon.m4: New file.
70959         * m4/pagealign_alloc.m4: New file.
70960
70961 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70962             Bruno Haible  <bruno@clisp.org>
70963
70964         * modules/pagealign_alloc: New file.
70965         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
70966
70967 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70968             Bruno Haible  <bruno@clisp.org>
70969
70970         * lib/pagealign_alloc.h: New file.
70971         * lib/pagealign_alloc.c: New file.
70972
70973 2005-03-03  Bruno Haible  <bruno@clisp.org>
70974
70975         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
70976         Use an all-permissive copyright notice, recommended by RMS.
70977
70978 2005-03-02  Bruno Haible  <bruno@clisp.org>
70979
70980         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
70981         of AIX, the replacement has to be done only after <string.h> is
70982         included, therefore not in config.h. stpncpy.h does the replacement,
70983         and stpncpy.c uses it.
70984
70985 2005-03-02  Bruno Haible  <bruno@clisp.org>
70986
70987         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
70988         stpncpy.c uses it.
70989
70990 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70991
70992         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
70993         The workaround isn't strictly needed for POSIX conformance, and
70994         it's too much of a pain to configure and maintain.  We'll ask
70995         people to fix their kernels instead.
70996         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
70997         (NANOSLEEP_BUG_WORKAROUND): Remove.
70998         (xnanosleep): Remove the workaround.
70999
71000 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71001
71002         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
71003         Reported by Derek Price.
71004         (Include): Add "timespec.h".
71005
71006         * modules/xnanosleep (Depends-on): Remove gethrxtime.
71007
71008 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71009
71010         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
71011         to detect nanosleep bug.
71012
71013 2005-03-01  Bruno Haible  <bruno@clisp.org>
71014
71015         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
71016
71017 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71018
71019         * modules/gethrxtime: New file.
71020         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
71021         (Depends-on): Add gethrxtime.
71022         (configure.ac): Add gl_XNANOSLEEP.
71023         (Makefile.am): Remove lib_SOURCES line.
71024
71025 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71026
71027         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
71028         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
71029
71030 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71031
71032         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
71033         * lib/timespec.h (gettime): Return void, since it always
71034         succeeds now.  All uses changed.
71035         * lib/gettime.c (gettime): Likewise.
71036         [HAVE_NANOTIME]: Prefer nanotime.
71037         Assume gettimeofday succeeds, as POSIX requires.
71038         Assime time () succeeds, since other code already does.
71039         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
71040         (timespec_subtract): Remove.
71041         (NANOSLEEP_BUG_WORKAROUND): New constant.
71042         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
71043         things considerably.  Use it only on GNU/Linux hosts, since the
71044         workaround shouldn't be needed elsewhere.
71045
71046 2005-02-24  Bruno Haible  <bruno@clisp.org>
71047
71048         * modules/gettext (Files): Add m4/glibc2.m4.
71049
71050 2005-02-24  Bruno Haible  <bruno@clisp.org>
71051
71052         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
71053         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
71054         * m4/progtest.m4:
71055         Update from GNU gettext 0.14.2.
71056         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
71057
71058 2005-02-24  Bruno Haible  <bruno@clisp.org>
71059
71060         * lib/localcharset.c: Update from GNU gettext 0.14.2.
71061         * lib/config.charset: Update from GNU gettext 0.14.2.
71062
71063 2005-02-24  Bruno Haible  <bruno@clisp.org>
71064
71065         * lib/gettext.h: Update from GNU gettext 0.14.2.
71066
71067 2005-02-23  Simon Josefsson  <jas@extundo.com>
71068
71069         * m4/iconvme.m4: New file.
71070
71071 2005-02-23  Jim Meyering  <jim@meyering.net>
71072
71073         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
71074         change.
71075         Thanks to Bruno Haible for catching it.
71076
71077 2005-02-22  Simon Josefsson  <jas@extundo.com>
71078
71079         * modules/iconvme: New file.
71080
71081         * MODULES.html.sh: Add iconvme.
71082
71083 2005-02-22  Simon Josefsson  <jas@extundo.com>
71084
71085         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
71086
71087 2005-02-22  Simon Josefsson  <jas@extundo.com>
71088
71089         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
71090
71091 2005-02-22  Jim Meyering  <jim@meyering.net>
71092
71093         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
71094         s/ifndef/ifdef/.
71095
71096 2005-02-20  Neil Conway  <neilc@samurai.com>
71097
71098         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
71099         returned by OSX/Darwin if the specified buffer is not large
71100         enough for the hostname.
71101
71102 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71103
71104         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
71105         pass it to _help, otherwise the latter coredumps trying to
71106         dereference state.root_argp.
71107
71108 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71109
71110         * modules/chdir-long (Depends-on): Add memrchr.
71111         * modules/memrchr (Files): Add lib/memrchr.h.
71112         (Include): "memrchr.h".
71113
71114 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71115
71116         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
71117
71118 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71119
71120         * lib/memrchr.h: New file.
71121         * lib/chdir-long.c: Include it.
71122         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
71123         Don't bother including stddef.h.
71124
71125 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71126
71127         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
71128         inclusion.
71129         Include <sys/types.h>, for dev_t.
71130         (ME_DUMMY, ME_REMOTE): Move from here....
71131         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
71132         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
71133         Dmitry V. Levin.
71134         Include mountlist.h first, to test the interface.
71135
71136 2005-01-29  Bruno Haible  <bruno@clisp.org>
71137
71138         * lib/progname.c (program_name): Initialize.
71139         Needed when linking statically on MacOS X.
71140
71141 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71142
71143         Sync from coreutils.
71144         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
71145         (Depends-on): Add c-strtod.
71146         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
71147
71148 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71149
71150         Sync from coreutils.
71151         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
71152
71153         Remove files that are specific to coreutils.
71154         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
71155
71156 2005-01-28  Bruno Haible  <bruno@clisp.org>
71157
71158         * modules/javacomp: New file.
71159         * MODULES.html.sh (Java): Add javacomp.
71160
71161 2005-01-28  Bruno Haible  <bruno@clisp.org>
71162
71163         * m4/javacomp.m4: New file, from GNU gettext.
71164
71165 2005-01-28  Bruno Haible  <bruno@clisp.org>
71166
71167         * lib/javacomp.sh.in: New file, from GNU gettext.
71168         * lib/javacomp.h: New file, from GNU gettext.
71169         * lib/javacomp.c: New file, from GNU gettext.
71170
71171 2005-01-26  Simon Josefsson  <jas@extundo.com>
71172
71173         * lib/gai_strerror.c: Use GPL in header.
71174
71175 2005-01-26  Bruno Haible  <bruno@clisp.org>
71176
71177         * modules/javaexec: New file.
71178         * MODULES.html.sh (Java): Add javaexec.
71179
71180 2005-01-26  Bruno Haible  <bruno@clisp.org>
71181
71182         * m4/javaexec.m4: New file, from GNU gettext.
71183
71184 2005-01-26  Bruno Haible  <bruno@clisp.org>
71185
71186         * lib/javaexec.sh.in: New file, from GNU gettext.
71187         * lib/javaexec.h: New file, from GNU gettext.
71188         * lib/javaexec.c: New file, from GNU gettext.
71189
71190 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71191
71192         * modules/lchown (Depends-on): Remove lchown.h
71193
71194 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71195
71196         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
71197         must be defined if the header file was not found, in order
71198         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
71199
71200 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71201
71202         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
71203         initializers for struct pentry_state.
71204         (__argp_error): Check return value of __asprintf
71205         (__argp_failure): Translate error message
71206
71207         * lib/argp-parse.c: Removed braces around the expansion of N_()
71208
71209 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71210
71211         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
71212         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
71213         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
71214         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
71215         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
71216         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
71217         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
71218         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
71219         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
71220         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
71221         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
71222         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
71223         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
71224         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
71225         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
71226         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
71227         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
71228         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
71229         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
71230         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
71231         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
71232         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
71233         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
71234         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
71235         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
71236         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
71237         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
71238         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
71239         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
71240         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
71241         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
71242         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
71243         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
71244         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
71245         xstrtol.m4, xstrtoumax.m4, yesno.m4:
71246         Use an all-permissive copyright notice, recommended by RMS.
71247
71248 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
71249
71250         * modules/chdir-long (Depends-on): Remove mempcpy.
71251
71252 2005-01-21  Jim Meyering  <jim@meyering.net>
71253
71254         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
71255         same value as for Solaris 9.
71256
71257         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
71258         component length.  This included changing the parameter to be
71259         of type `char *' rather than `char const *'.
71260         * lib/chdir-long.h (chdir_long): Update prototype.
71261
71262         * lib/openat.c (fdopendir, fstatat): New functions.
71263         * lib/openat.h: Include headers required for use of DIR and struct
71264         stat.
71265         [AT_SYMLINK_NOFOLLOW]: Define.
71266         (fdopendir, fstatat): Add prototypes.
71267
71268 2005-01-21  Bruno Haible  <bruno@clisp.org>
71269
71270         * modules/classpath: New file.
71271         * MODULES.html.sh (Java): Add classpath.
71272
71273 2005-01-21  Bruno Haible  <bruno@clisp.org>
71274
71275         * lib/classpath.h: New file, from GNU gettext.
71276         * lib/classpath.c: New file, from GNU gettext.
71277
71278 2005-01-20  Simon Josefsson  <jas@extundo.com>
71279
71280         * modules/version-etc-fsf: New file.
71281
71282 2005-01-20  Simon Josefsson  <jas@extundo.com>
71283
71284         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
71285         * lib/version-etc.c: Remove version_etc_copyright.
71286         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
71287         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
71288
71289 2005-01-20  Simon Josefsson  <jas@extundo.com>
71290
71291         * lib/base64.h (isbase64): Add.
71292
71293         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
71294         using a unsigned prototype, don't inline.
71295         (base64_decode): Use it.
71296
71297 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71298
71299         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
71300         it.
71301
71302 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71303
71304         * lib/save-cwd.c (save_cwd): Remove code to support the case
71305         where fchdir is missing or flaky.
71306
71307 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71308
71309         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
71310
71311 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71312
71313         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
71314         AC_LIBSOURCES now does this.
71315         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
71316         with new ullong_max module.
71317
71318 2005-01-19  Bruno Haible  <bruno@clisp.org>
71319
71320         * modules/sh-quote: New file.
71321         * MODULES.html.sh (Executing programs): Add sh-quote.
71322
71323 2005-01-19  Bruno Haible  <bruno@clisp.org>
71324
71325         * lib/sh-quote.h: New file, from GNU gettext.
71326         * lib/sh-quote.c: New file, from GNU gettext.
71327
71328 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71329
71330         Merge from coreutils.
71331         * m4/ullong_max.m4: New file.
71332         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
71333         (gl_MACROS): Assume localeconv exists.
71334
71335 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71336
71337         Merge changes from coreutils, as described below in several
71338         changelogs dated today.
71339
71340         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
71341         (O_DIRECTORY): Remove; not needed here, since "." must be
71342         a directory.  All uses removed.
71343         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
71344         universal on Suns, and we also need to test for IRIX.
71345         Revamp code to use 'if' rather than '#if'.
71346         Avoid unnecessary comparison of cwd->desc to 0.
71347
71348         * lib/utimens.c (futimens): Robustify the previous patch, by checking
71349         for known valid error numbers rather than observed invalid ones.
71350
71351 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71352
71353         * modules/ullong_max: New file.
71354
71355         * modules/chdir-long, modules/openat: New files.
71356         * modules/save-cwd (Depends-on): Depend on chdir-long.
71357         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
71358
71359 2005-01-18  Jim Meyering  <jim@meyering.net>
71360
71361         Merge from coreutils.
71362         * m4/chdir-long.m4, m4/openat.m4: New files.
71363         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
71364         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
71365         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
71366         is sane and DOES follow symlinks.  Besides, testing 20 different
71367         systems found no broken chown implementations.
71368         Prompted by a change in rsync's copy of this macro.
71369         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
71370
71371         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
71372
71373         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
71374         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
71375         NULL-means-set-to-current-time semantics.
71376         Remove temporary file immediately, rather than waiting
71377         for configure's at-exit trap code to do it.
71378
71379 2005-01-18  Jim Meyering  <jim@meyering.net>
71380
71381         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71382
71383         * lib/utimens.c (futimens): Account for the fact that futimes
71384         can also fail with errno == ENOSYS or errno == ENOENT.
71385         Patch from Dmitry V. Levin.
71386
71387         Change the name of the robust chdir function from chdir to chdir_long.
71388         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
71389         (restore_cwd): Use chdir_long, not chdir.
71390         * lib/chdir-long.c: Renamed from chdir.c.
71391         * lib/chdir-long.h: Renamed from chdir.h.
71392         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
71393         Hurd.
71394
71395 2005-01-18  Bruno Haible  <bruno@clisp.org>
71396
71397         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
71398         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
71399         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
71400         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
71401         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
71402         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
71403         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
71404         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
71405         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
71406         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
71407         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
71408         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
71409         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
71410         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
71411         Use an all-permissive copyright notice, recommended by RMS.
71412
71413 2005-01-18  Bob Proulx  <bob@proulx.com>
71414
71415         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
71416         simplify offsetof() macro construct to avoid compile failure with
71417         native HP-UX 11.0 ANSI C compiler.
71418
71419 2005-01-17  Bruno Haible  <bruno@clisp.org>
71420
71421         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
71422         redundant because stpncpy.m4 takes care of it.
71423
71424 2005-01-17  Bruno Haible  <bruno@clisp.org>
71425
71426         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
71427
71428 2005-01-17  Bruno Haible  <bruno@clisp.org>
71429
71430         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
71431         used.
71432
71433 2005-01-17  Bruno Haible  <bruno@clisp.org>
71434
71435         * lib/fwriteerror.h (fwriteerror): Change specification to include
71436         fclose.
71437         * lib/fwriteerror.c: Include <stdbool.h>.
71438         (fwriteerror): At the end, close the file stream. Record whether
71439         stdout was already closed.
71440
71441 2005-01-17  Bruno Haible  <bruno@clisp.org>
71442
71443         * lib/execute.c (environ): Declare if needed.
71444         * lib/pipe.c (environ): Likewise.
71445         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
71446
71447 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71448
71449         * modules/argp: Depend on vsnprintf
71450
71451 2005-01-10  Jim Meyering  <jim@meyering.net>
71452
71453         * modules/closeout (Depends-on): Add atexit.
71454
71455 2005-01-06  Bruno Haible  <bruno@clisp.org>
71456
71457         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
71458
71459 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71460
71461         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
71462         definitions to be after all include files, to avoid collisions.
71463         Problem reported by Bob Proulx.
71464
71465 2005-01-04  Jim Meyering  <jim@meyering.net>
71466
71467         Changes imported from coreutils.
71468         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
71469         as the mkstemp template, use a temporary directory and an
71470         8.3-friendly template to avoid trouble on systems like DJGPP.
71471         Reported by Juan M. Guerrero via Stepan Kasal.
71472         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
71473         close. Remove the temporary directory right away, rather than waiting
71474         for configure's at-exit trap code to do it.
71475         Suggestion from Stepan Kasal.
71476
71477 2005-01-01  Simon Josefsson  <jas@extundo.com>
71478
71479         * gnulib-tool: Print #include directives when --import'ing.
71480
71481 2004-12-28  Simon Josefsson  <jas@extundo.com>
71482
71483         * tests/test-base64.c: Include required header files.  Remove
71484         unused variables.
71485
71486 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71487
71488         * modules/error (Depends-on): Remove gettext.
71489
71490 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71491
71492         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
71493         not needed.  This removes a dependency on the gettext module.
71494         [defined _LIBC]: Do not include <libintl.h>; not needed.
71495
71496 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
71497
71498         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
71499         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
71500
71501 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
71502
71503         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
71504         HAVE_DECL_STRTOLD.
71505
71506 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71507
71508         * modules/getdate (Depends-on): Remove alloca-opt.
71509
71510 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71511
71512         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
71513
71514 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71515
71516         * lib/argp-parse.c: Include <stddef.h>.
71517         (alignof, alignto): New macros.
71518         (parser_init): Don't assume that void * is aligned sufficiently
71519         for struct option.
71520
71521         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
71522         need to extend the stack.
71523         (YYINITDEPTH): New macro, so that the initial stack isn't overly
71524         large.
71525
71526 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71527
71528         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
71529
71530 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
71531
71532         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
71533         (2004-10-24) change.  Apparently this was a false alarm.
71534
71535         * modules/getdate: Depend on alloca-opt, not alloca.
71536
71537 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
71538
71539         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
71540         Remove now-obsolete comment about AIX.
71541         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
71542         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
71543         (YYMAXDEPTH): New macro.
71544
71545 2004-12-18  Simon Josefsson  <jas@extundo.com>
71546
71547         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
71548
71549 2004-12-18  Bruno Haible  <bruno@clisp.org>
71550
71551         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
71552
71553 2004-12-18  Bruno Haible  <bruno@clisp.org>
71554
71555         * lib/fatal-signal.c (fatal_signals): Make non-const.
71556         (init_fatal_signals): New function.
71557         (uninstall_handlers, install_handlers): Ignore signals that were set to
71558         SIG_IGN.
71559         (at_fatal_signal): Call init_fatal_signals.
71560         (init_fatal_signal_set): Likewise. Ignore signals that were set to
71561         SIG_IGN.
71562         Reported by Paul Eggert.
71563
71564 2004-12-18  Bruno Haible  <bruno@clisp.org>
71565
71566         * doc/alloca.texi: New file.
71567         * doc/alloca-opt.texi: New file.
71568
71569 2004-12-17  Jim Meyering  <jim@meyering.net>
71570
71571         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
71572         Otherwise, install-sh could exit with improper exit status when
71573         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
71574
71575 2004-12-16  Simon Josefsson  <jas@extundo.com>
71576
71577         * tests/test-base64.c: Add license.
71578
71579 2004-12-15  Stepan Kasal  <address@hidden>
71580
71581         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
71582
71583 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
71584
71585         * modules/getcwd (Files): Add m4/d-ino.m4.
71586         Suggested by Mark D. Baushke.
71587
71588 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
71589
71590         * lib/getdate.y (textint): New member "negative".
71591         (time_zone_hhmm): New function.
71592         Expect 14 shift-reduce conflicts, not 13.
71593         (o_colon_minutes): New rule.
71594         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
71595         (yylex): Set the "negative" member of signed numbers.
71596
71597 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
71598
71599         * doc/getdate.texi (Time of day items, Time zone items):
71600         Describe new formats +00:00, UTC+00:00.
71601
71602 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
71603
71604         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
71605         spurious "-l"s.  Problem reported by Stepan Kasal.
71606
71607 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
71608
71609         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
71610         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
71611
71612 2004-12-04  Simon Josefsson  <jas@extundo.com>
71613
71614         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
71615         Vandoorselaere <yoann@prelude-ids.org>.
71616
71617 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71618
71619         Changes imported from coreutils.
71620         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
71621         exist.
71622         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
71623
71624 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71625
71626         Changes imported from coreutils.
71627         * lib/hard-locale.c: Assume <locale.h> exists.
71628         Include "strdup.h".
71629         (GLIBC_VERSION): New macro.
71630         (hard_locale): Assume setlocale exists.
71631         Rewrite to avoid #ifdef.
71632         Use strdup rather than malloc + strcpy.
71633         * lib/human.c: Assume <locale.h> exists.
71634         (human_readable): Assume localeconv exists.
71635
71636 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71637
71638         * modules/hard-locale (Depends-on): Add strdup.
71639
71640 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71641
71642         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
71643         convert T2, not T.  (Imported from libc.)
71644
71645 2004-11-30  Simon Josefsson  <jas@extundo.com>
71646
71647         * modules/restrict (License): Change to LGPL.
71648
71649 2004-11-30  Simon Josefsson  <jas@extundo.com>
71650
71651         * m4/restrict.m4: Add copyright and copying conditions.
71652
71653 2004-11-30  Simon Josefsson  <jas@extundo.com>
71654
71655         * m4/base64.m4: New file.
71656
71657 2004-11-30  Simon Josefsson  <jas@extundo.com>
71658
71659         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
71660         base64.
71661
71662         * tests/test-base64.c: New file.
71663
71664         * modules/base64: New file.
71665
71666 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
71667
71668         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
71669         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
71670
71671         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
71672
71673 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
71674
71675         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
71676         (__getcwd.c): Don't restore errno; glibc doesn't.
71677         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
71678         first, falling back to our code only if its results look suspicious.
71679         Ensure that the resulting buffer is only as large as necessary.
71680
71681         * lib/readutmp.c: Include readutmp.h first.
71682         Include <errno.h>, since readutmp.h no longer does that.
71683         * lib/readutmp.h: Don't include <errno.h>,
71684         <sys/param.h>, <time.h>; not needed to establish interface.
71685         (errno): Remove decl.
71686         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
71687         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
71688         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
71689
71690 2004-11-28  Simon Josefsson  <jas@extundo.com>
71691
71692         * lib/base64.h, base64.c: New file.
71693
71694 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71695
71696         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
71697
71698 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71699
71700         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
71701         (Depends-on): Remove pathmax, same.  Add mempcpy.
71702         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
71703         (Makefile.am): Append getcwd.h to lib_SOURCES.
71704         (Include): Add getcwd.h.
71705         (Maintainer): Change from Jim Meyering to "all, glibc",
71706         since getdate now uses intended-for-glibc code.
71707         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
71708         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
71709
71710 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71711
71712         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
71713         HP's ANSI C compiler.
71714         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
71715         Declaring int functions causes warnings on some modern systems and
71716         shouldn't be needed to compile on ancient ones.
71717         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
71718         defined.
71719
71720         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
71721         with the following changes.
71722         (__set_errno): Parenthesize properly.
71723         Include <stdbool.h>.
71724         (MIN, MAX, MATCHING_INO): New macros.
71725         (__getcwd): Define with prototype, not K&R form.
71726         Use heuristics to allocate default buffer on stack if possible.
71727         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
71728         behavior, and to avoid the PATH_MAX limit when computing
71729         ../../../../...
71730         Use MATCHING_INO to compare inode number to file.
71731         Check for arithmetic overflow in size calculations.
71732         Fix bug in reallocation of dot array that caused getcwd to fail
71733         on directories nested deeper than 75.
71734         Be more careful about saving errno on error.
71735         Do not use realloc; use only free+malloc, as this is a bit
71736         more flexible and avoids a needless copy operation.
71737         Do not inspect st_dev and st_ino for symbolic links; POSIX
71738         doesn't specify the latter.
71739         Check for closedir errors.
71740         Avoid needless casts.
71741         Use "#ifdef weak_alias" around weak_alias, to be like other
71742         glibc code.
71743         The following changes to getcwd.c have effect only when used in
71744         gnulib; they have no effect inside glibc proper.
71745         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
71746         as alloca isn't used.
71747         (alloca, __alloca): Likewise.
71748         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
71749         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71750         unconditionally, as gnulib assumes C89 or better.
71751         Do not include <sys/param.h>.
71752         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
71753         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
71754         better.
71755         (NULL) [!defined NULL]: Remove; we assume C89 or better.
71756         Include <dirent.h> in a way that is compatible with modern Autoconf.
71757         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
71758         New macros, if not already defined.
71759         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
71760         Use "_LIBC", not "defined _LIBC", for consistency.
71761         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
71762         a mempcpy module.
71763         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
71764         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
71765         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
71766         credit only to Jim Meyering and adjust the copyright dates.
71767         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
71768         <stdlib.h>, <unistd.h>, "pathmax.h".
71769         Instead, include "xgetcwd.h" (first) and "getcwd.h".
71770         (INITIAL_BUFFER_SIZE): Remove.
71771         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
71772
71773 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71774
71775         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
71776         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
71777         Use the _ONCE methods, for efficiency.
71778         Check for fcntl.h.  In test program, include <errno.h>
71779         and <fcntl.h> if available.  Remove old K&R cruft from
71780         test program.  Check for common errors in GNU/Linux,
71781         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
71782         don't do AC_LIBOBJ, as that's getcwd.m4's job.
71783         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
71784         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
71785         name accordingly.
71786         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
71787         accommodate new getcwd.c.
71788         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
71789         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
71790         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
71791         that's all we need now.
71792
71793 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71794
71795         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
71796         argp-parse.c depends on getopt internals, that means we should
71797         always use our getopt, to be on the safe side.
71798         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
71799         order not to spoil the result of an eventual previous invocation
71800         of gl_GETOPT_SUBSTITUTE.
71801
71802 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71803
71804         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
71805         redefinition warnings. To avoid them, include the defines
71806         in `#if !defined __need_getopt ... #endif'. The only place
71807         where __getopt_argv_const is used is in definitions
71808         of getopt_long and getopt_long_only below, which are as well
71809         protected by `#ifndef __need_getopt'.
71810         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
71811         __need_getopt after including <stdio.h> and <unistd.h> These
71812         headers might have defined it.
71813
71814 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71815
71816         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
71817
71818 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71819
71820         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
71821         (futimens): New function, which uses futimes if available.
71822         (futimens, utimens): Support timespec==NULL, with same semantics
71823         as utime and utimens.
71824         * lib/utimens.h (futimens): New decl.
71825
71826 2004-11-23  Jim Meyering  <jim@meyering.net>
71827
71828         * lib/getopt_.h: Remove trailing blanks.
71829
71830 2004-11-23  Jim Meyering  <jim@meyering.net>
71831
71832         * lib/__fpending.c: Add comment.
71833
71834 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
71835
71836         * modules/canonicalize (Depends-on): Add xreadlink.
71837         Problem reported by James Youngman.
71838
71839 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71840
71841         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
71842         New macros.
71843         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
71844         optopt): Use them instead of invoking ## directly; otherwise, the
71845         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
71846
71847 2004-11-19  Bruno Haible  <bruno@clisp.org>
71848
71849         * lib/strtok_r.c: Move comments from here...
71850         * lib/strtok_r.h: ... to here.
71851
71852 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71853
71854         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
71855         implementations that mishandle size_t overflow.
71856
71857 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71858
71859         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
71860         might fail.  Problem reported by Yoann Vandoorselaere.
71861         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
71862         implementations that mishandle size_t overflow.
71863
71864 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71865
71866         * modules/canon-host (Depends-on): Add strdup.
71867
71868 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71869
71870         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
71871
71872 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71873
71874         * lib/canon-host.c: Include "strdup.h".
71875         (canon_host): Use getaddrinfo if available, so that IPv6 works.
71876         Use strdup instead of malloc/strcpy to duplicate strings.
71877
71878         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
71879         (human_space_before_unit): New constant.
71880         * lib/human.c (human_readable): Support it.
71881
71882         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
71883         (xgetcwd): Set errno correctly when failing.
71884         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
71885         the failure is actually due to a PATH_MAX problem.
71886
71887         Further getopt changes to make it more likely that glibc will
71888         buy the changes back.
71889         * lib/getopt.c (POSIXLY_CORRECT): New constant.
71890         (getopt): Use it, so to preserve glibc semantic
71891         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
71892         when compiling for libc.
71893         * lib/getopt_.h (__getopt_argv_const): Bring it back.
71894         (getopt_long, getopt_long_only): Use it.
71895
71896         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71897         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
71898         (getopt): Argv is now char * const *, as per standard.
71899         (_getopt_internal_r, _getopt_internal): Argv is now char **,
71900         not char *__getopt_argv_const *.
71901         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71902         _getopt_long_only_r): Likewise.
71903         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
71904         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71905         _getopt_long_r, _getopt_long_only_r): Likewise.
71906         * lib/getopt_.h (__getopt_argv_const): Remove.
71907         (getopt): Argv is now char * const *, as per standard.
71908
71909         * lib/getdate.y (tORDINAL): New token.
71910         (day, relunit): Allow it for relative times.
71911         (relative_time_table): Use tORDINAL for ordinals.
71912
71913 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71914
71915         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
71916         Document that "second" isn't allowed as an ordinal number.
71917
71918 2004-11-16  Jim Meyering  <jim@meyering.net>
71919
71920         * modules/closeout (Depends-on): Add fpending.
71921
71922 2004-11-15  Jim Meyering  <jim@meyering.net>
71923
71924         * lib/closeout.c: Include "__fpending.h" once again.
71925         Include <stdbool.h>.
71926         (close_stdout): Don't fail just because stdout was closed initially,
71927         since some programs don't write to stdout in the normal course of
71928         operation (other than --version and --help), and we don't want this
71929         function to make e.g. `touch file >&-' fail.
71930         But do fail if it was closed and someone has tried to write to it.
71931         E.g., `printf foo >&-' must fail.
71932
71933 2004-11-13  Jim Meyering  <jim@meyering.net>
71934
71935         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
71936
71937 2004-11-12  Simon Josefsson  <jas@extundo.com>
71938
71939         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
71940         small doc fix is still pending.
71941
71942 2004-11-11  Simon Josefsson  <jas@extundo.com>
71943
71944         * modules/strtok_r: New file.
71945
71946         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71947         strtok_r.
71948
71949 2004-11-11  Simon Josefsson  <jas@extundo.com>
71950
71951         * m4/strtok_r.m4: New file.
71952
71953         * m4/getopt.m4: Replace opterr.
71954
71955 2004-11-11  Simon Josefsson  <jas@extundo.com>
71956
71957         * lib/strtok_r.h, strtok_r.c: New file.
71958
71959 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71960
71961         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
71962         of replacing opterr, getopt, etc.  This should handle the
71963         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
71964
71965 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71966
71967         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
71968         we can stop lying to compilers about the constness of argv when we
71969         are compiled outside glibc.
71970         (getopt, getopt_long, getopt_long_only): Use it.
71971         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71972         _getopt_internal, getopt): Likewise.
71973         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71974         _getopt_long_only_r): Likewise.
71975         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71976         _getopt_long_r, _getopt_long_only_r): Likewise.
71977
71978         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
71979         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
71980         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
71981         the other external symbols.
71982         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
71983         declaration, since the above renaming now works around collisions.
71984
71985 2004-11-11  Jim Meyering  <jim@meyering.net>
71986
71987         * lib/linebreak.c: Remove trailing blanks.
71988         * lib/alloca_.h: Likewise.
71989         * lib/acosl.c: Likewise.
71990         * lib/euidaccess.c: Likewise.
71991         * lib/allocsa.h: Likewise.
71992
71993 2004-11-10  Simon Josefsson  <jas@extundo.com>
71994
71995         * m4/getaddrinfo.m4: New file.
71996
71997 2004-11-10  Simon Josefsson  <jas@extundo.com>
71998
71999         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
72000
72001 2004-11-10  Simon Josefsson  <jas@extundo.com>
72002
72003         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72004         getaddrinfo.
72005
72006         * modules/getaddrinfo: New file.
72007
72008 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72009
72010         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
72011
72012 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72013
72014         * lib/mktime.c (SHR): New macro, which is a portable
72015         substitute for >> that should work even on Crays.
72016         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
72017         Problem reported by Mark D. Baushke in
72018         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
72019         * lib/getdate.y (SHR): Likewise.
72020         (tm_diff): Use it.
72021         * lib/strftime.c (SHR): Likewise.
72022         (tm_diff): Use it.
72023         * lib/quotearg.c (struct quoting_options): Use unsigned int for
72024         quote_these_too, so that right shifts are well defined.  All uses
72025         changed.
72026
72027 2004-11-10  Jim Meyering  <jim@meyering.net>
72028
72029         Ensure that no close failure goes unreported.
72030         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
72031         return early when it seems there's nothing to flush.
72032         Don't include __fpending.h.
72033
72034 2004-11-10  Jim Meyering  <jim@meyering.net>
72035
72036         * modules/closeout (Depends-on): Remove fpending.
72037
72038 2004-11-10  Jim Meyering  <jim@meyering.net>
72039
72040         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
72041
72042 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72043
72044         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
72045         gl_FUNC_STRFTIME.
72046         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
72047         and AC_REQUIRE when possible, to avoid duplicate checks.
72048         Check for <wchar.h>.
72049
72050 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72051
72052         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
72053
72054 2004-11-09  Bruno Haible  <bruno@clisp.org>
72055
72056         * m4/sockpfaf.m4: New file.
72057
72058 2004-11-05  Bruno Haible  <bruno@clisp.org>
72059
72060         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
72061         Reported by Mark D. Baushke <mdb@cvshome.org>.
72062
72063 2004-11-04  Bruno Haible  <bruno@clisp.org>
72064
72065         2004-09-11  Bruno Haible  <bruno@clisp.org>
72066                 * allocsa.valgrind: New file.
72067         2004-02-06  Bruno Haible  <bruno@clisp.org>
72068                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
72069                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
72070                 Reported by Christopher Seip <chris.seip@hp.com>.
72071
72072 2004-11-04  Bruno Haible  <bruno@clisp.org>
72073
72074         * modules/allocsa (Files): Add lib/allocsa.valgrind.
72075         (Makefile.am): Distribute it.
72076
72077 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72078
72079         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
72080         with errno == ERANGE if the buffer is too small.
72081         Problem reported by Mark D. Baushke.
72082
72083 2004-11-03  Albert Chin  <china@thewrittenword.com>
72084             Paul Eggert  <eggert@cs.ucla.edu>
72085
72086         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
72087         equivalent, substitute $ac_type for equivalent type rather than
72088         blindly using uint32_t *always* which won't work if uint32_t is not
72089         available.  Define _UINT32_T to work around typedef of uint32_t if
72090         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
72091         2.5.1.
72092
72093 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72094
72095         * m4/jm-macros.m4: Sync from coreutils.
72096         (gl_MACROS): Check for mbrlen, for pathchk.
72097         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
72098
72099 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72100
72101         * lib/xreadlink.c (MAXSIZE): New macro.
72102         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
72103         size does not exceed MAXSIZE.  Avoid cast.
72104         As suggested by Mark D. Baushke in
72105         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
72106         if readlink fails with buffer size just under MAXSIZE, try again
72107         with MAXSIZE.
72108
72109 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72110
72111         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
72112
72113 2004-11-02  Derek R. Price  <derek@ximbiot.com>
72114         and  Paul Eggert  <eggert@cs.ucla.edu>
72115
72116         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
72117         (get_date): Overparenthesize to avoid GCC warning.
72118
72119 2004-11-02  Bruno Haible  <bruno@clisp.org>
72120
72121         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
72122         returns void.
72123
72124 2004-11-02  Bruno Haible  <bruno@clisp.org>
72125
72126         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
72127         function returns void.
72128
72129 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
72130
72131         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
72132         fflush_unlocked, flockfile, funlockfile, funlockfile,
72133         fputs_unlocked, putc_unlocked.
72134
72135 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
72136
72137         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
72138         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
72139         already declared.
72140
72141 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72142
72143         * modules/getdate (Files): Add doc/getdate.texi.
72144         (Depends-on): Add setenv, xalloc.
72145
72146 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72147
72148         * lib/getdate.y: Add support for TZ="foo" within a date string.
72149         Fix some bugs near time_t boundaries.  Reject dates with
72150         out-of-range components, e.g., "Sept 31".
72151         Include <stdlib.h>, "setenv.h", "xalloc.h".
72152         (ISDIGIT_LOCALE): Remove; unused.
72153         Note that the TZ and time functions used here are not reentrant.
72154         (mktime_ok, get_tz): New functions.
72155         (TZBUFSIZE): New constant.
72156         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
72157         This requires that we sometimes generate our own TZ="XXX..." setting.
72158
72159 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72160
72161         * doc/getdate.texi: New file, from coreutils with modifications for
72162         the new TZ parsing.
72163
72164 2004-10-27  Derek R. Price  <derek@ximbiot.com>
72165
72166         * lib/mktime.c (not_equal_tm): Remove redundant check.
72167
72168 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72169
72170         * modules/regex (lib_SOURCES): Add regex.c.
72171         Reported by James Youngman in
72172         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
72173
72174 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72175
72176         * lib/getdate.y: Use Bison 1.875 features, and some minor
72177         code cleanups.  This change does not affect semantics.
72178         Don't include <stdlib.h>; no longer needed.
72179         Don't include unlocked-io.h; only the "#if TEST" code uses
72180         stdio, and performance isn't crucial there.
72181         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
72182         Bison 1.875 features as described below.
72183         All uses of "PC." replaced by "pc->".
72184         (YYSTYPE): Add a forward declaration.
72185         (yylex, yyerror): Use full prototypes in forward decls.
72186         Use "%pure-parser" rather than obsolescent "%pure_parser".
72187         Use %parse-param and %lex-param instead of obsolescent
72188         YYPARSE_PARAM and YYLEX_PARAM.
72189         (meridian_table, month_and_day_table, time_units_table,
72190         relative_time_table, time_zone_table, military_table,
72191         lookup_zone, lookup_word, get_date):
72192         Use NULL instead of 0 where appropriate.
72193         (to_hour): Avoid abort (), to avoid a dependency on
72194         stdlib.h.
72195         (yyerror, yylex): Now accepts parser_control * arg.
72196         (main) [TEST]: Use '\0' rather than 0 for char.
72197
72198 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72199
72200         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
72201
72202 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72203
72204         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
72205         It's now the caller's responsibility to handle the case where
72206         !HAVE_GETPAGESIZE && !defined getpagesize.
72207
72208         * lib/mktime.c (leapyear): Arg is long int, not int.
72209
72210 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
72211
72212         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
72213
72214 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72215
72216         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
72217         missing.  Problem reported by James Youngman.
72218
72219 2004-10-16  Simon Josefsson  <jas@extundo.com>
72220
72221         * gnulib-tool: Fix comments.  Fix parse problem.
72222         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
72223
72224 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
72225
72226         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
72227         implementation of getopt_long.  Problem reported by Alexander Taler in:
72228         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
72229
72230 2004-10-15  Bruno Haible  <bruno@clisp.org>
72231
72232         * gnulib-tool: Untabify. Initialize supplied_libname.
72233         (func_usage): More homogenous output.
72234         (func_modules_transitive_closure, func_modules_to_filelist,
72235         func_emit_lib_Makefile_am): New functions.
72236         (func_import): New function, extracted from big case statement. Use
72237         func_get_license, func_modules_transitive_closure,
72238         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
72239         opt_lgpl. Don't use test -a, as it's not portable.
72240         (func_create_testdir): Use func_modules_transitive_closure,
72241         func_modules_to_filelist, func_emit_lib_Makefile_am.
72242
72243 2004-10-15  Bruno Haible  <bruno@clisp.org>
72244
72245         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
72246
72247 2004-10-15  Bruno Haible  <bruno@clisp.org>
72248
72249         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
72250         the portions belonging to each module.
72251         Suggested by Derek Robert Price <derek@ximbiot.com>.
72252
72253 2004-10-12  Simon Josefsson  <jas@extundo.com>
72254
72255         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
72256         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
72257         to real functions.
72258
72259 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72260
72261         * modules/vsnprintf: New file.
72262
72263 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72264
72265         * m4/vsnprintf.m4: New file.
72266
72267 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72268
72269         * lib/vsnprintf.h: New file.
72270         * lib/vsnprintf.c: New file.
72271
72272 2004-10-11  Bruno Haible  <bruno@clisp.org>
72273
72274         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
72275         vsnprintf.
72276
72277 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
72280
72281 2004-10-07  Bruno Haible  <bruno@clisp.org>
72282
72283         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
72284         fits into the provided buffer.
72285
72286 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
72287
72288         * lib/diacrit.c, diacrit.h: Add GPL notice.
72289
72290         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
72291         notice.
72292         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
72293         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
72294         This avoids a potential constant-folding bug.
72295
72296 2004-10-05  Bruno Haible  <bruno@clisp.org>
72297
72298         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
72299         for the declaration of strsep.
72300
72301 2004-10-05  Bruno Haible  <bruno@clisp.org>
72302
72303         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
72304
72305 2004-10-04  Simon Josefsson  <jas@extundo.com>
72306
72307         * modules/memmem: New file.
72308         * tests/test-memmem.c: New file.
72309         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
72310
72311 2004-10-04  Simon Josefsson  <jas@extundo.com>
72312
72313         * m4/memmem.m4: New file.
72314
72315 2004-10-04  Simon Josefsson  <jas@extundo.com>
72316
72317         * lib/memmem.h: New file.
72318         * lib/memmem.c: New file, taken from glibc.
72319
72320 2004-10-04  Simon Josefsson  <jas@extundo.com>
72321
72322         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
72323         '#ifdef USE_UNLOCKED_IO'.
72324
72325 2004-10-04  Simon Josefsson  <jas@extundo.com>
72326
72327         * config/srclist.txt: Add memmem from glibc.
72328
72329 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72330
72331         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
72332
72333         * modules/argmatch, modules/argp, modules/closeout, modules/error,
72334         modules/exclude, modules/getdate, modules/getline,
72335         modules/getndelim2, modules/getpass, modules/getpass-gnu,
72336         modules/getusershell, modules/linebuffer, modules/md5,
72337         modules/mountlist, modules/posixtm, modules/readtokens,
72338         modules/readutmp, modules/regex, modules/sha1,
72339         modules/version-etc, modules/yesno:
72340         Remove dependency on unlocked-io.
72341
72342 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72343
72344         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
72345
72346         * m4/unlocked-io.m4: Add copyright notice.
72347         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
72348
72349 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72350
72351         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
72352         * lib/xmalloc.c (xmemdup): Likewise.
72353         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
72354         XFREE): Remove these long-obsolescent macros.
72355         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
72356         * lib/xstrdup.c: Remove.
72357
72358         * lib/regex.c (re_comp): Cast gettext return value to char *,
72359         Problem reported by Martin Neitzel via Mark D. Baushke.
72360
72361 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72362
72363         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
72364         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
72365         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
72366         regex.c, sha1.c, version-etc.c, yesno.c:
72367         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
72368         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
72369         the includer's responsibility.
72370
72371         Sync from coreutils.
72372
72373         * lib/modechange.c (mode_compile): Don't decrement a pointer that
72374         points to the start of a string, as the C Standard says the
72375         resulting behavior is undefined.
72376
72377         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
72378         simple -> simple_backups, numbered_existing ->
72379         numbered_existing_backups, numbered -> numbered_backups
72380         to avoid shadowing problems.  All uses changed.
72381         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
72382         * lib/backupfile.c (check_extension, numbered_backup):
72383         Rename locals to avoid shadowing 'basename'.
72384         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
72385         once.
72386
72387         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
72388         * lib/.cvsignore: Add getopt.h.
72389
72390 2004-10-04  Bruno Haible  <bruno@clisp.org>
72391
72392         * modules/README: New file.
72393         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
72394         not a module.
72395
72396 2004-10-02  Jim Meyering  <jim@meyering.net>
72397
72398         * lib/dirfd.h, getpagesize.h: Add copyright notice.
72399
72400 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72401
72402         * modules/strsep: New file.
72403
72404 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72405
72406         * m4/strsep.m4: New file.
72407
72408 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72409
72410         * lib/strsep.h: New file.
72411         * lib/strsep.c: New file.
72412
72413 2004-10-01  Simon Josefsson  <jas@extundo.com>
72414
72415         * lib/snprintf.c (snprintf): Handle size==0.
72416
72417 2004-10-01  Simon Josefsson  <jas@extundo.com>
72418             Bruno Haible  <bruno@clisp.org>
72419
72420         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
72421         (snprintf): Declare 'args'.
72422
72423 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
72424
72425         * lib/snprintf.c: Remove comments as to why each header is needed.
72426
72427 2004-10-01  Bruno Haible  <bruno@clisp.org>
72428
72429         * MODULES.html.sh: Add strsep.
72430
72431 2004-09-30  Simon Josefsson  <jas@extundo.com>
72432
72433         * modules/snprintf: New file.
72434
72435 2004-09-30  Simon Josefsson  <jas@extundo.com>
72436
72437         * m4/snprintf.m4: New file.
72438
72439 2004-09-30  Simon Josefsson  <jas@extundo.com>
72440
72441         * lib/snprintf.h, lib/snprintf.c: New files.
72442
72443 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72444
72445         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
72446         (hol_entry_help): Never translate an empty string.
72447         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
72448         * lib/argp.h (OPTION_NO_TRANS): New option.
72449
72450 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72451
72452         * modules/argp (Maintainer): Replace Simon Josefsson
72453         by Sergey Poznyakoff.
72454
72455 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72456
72457         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
72458         changes merged back into glibc.
72459
72460 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72461
72462         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
72463
72464 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
72465
72466         * lib/xvasprintf.c: Include xalloc.h.
72467         (xvasprintf): Use xalloc_die, not xmalloc_die.
72468
72469 2004-09-29  Bruno Haible  <bruno@clisp.org>
72470
72471         * modules/alloca-opt: New file, derived from modules/alloca.
72472         * modules/allocsa: Depend on alloca-opt instead of alloca.
72473         * modules/setenv: Likewise.
72474         * modules/vasnprintf: Likewise.
72475         * MODULES.html.sh: Add alloca-opt.
72476
72477 2004-09-28  Simon Josefsson  <jas@extundo.com>
72478
72479         * gnulib-tool: New parameter --lgpl, to asseert that modules are
72480         LGPL, and to replace license template from GPL to LGPL.
72481
72482 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
72483
72484         * modules/dummy: Change license to LGPL.
72485
72486 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
72487
72488         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
72489
72490 2004-09-24  Simon Josefsson  <jas@extundo.com>
72491
72492         * modules/minmax (License): Change from GPL to LGPL.
72493
72494 2004-09-23  Simon Josefsson  <jas@extundo.com>
72495
72496         * gnulib-tool (--import): Typo.
72497
72498 2004-09-23  Simon Josefsson  <jas@extundo.com>
72499
72500         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
72501
72502 2004-09-22  Bruno Haible  <bruno@clisp.org>
72503
72504         * modules/*: Add 'License' field.
72505         * gnulib-tool: Accept --extract-license option.
72506         (func_get_license): New function.
72507
72508 2004-09-21  Bruno Haible  <bruno@clisp.org>
72509
72510         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
72511         Reported by Simon Josefsson.
72512
72513 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72514
72515         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
72516         gl_AC_TYPE_LONG_LONG.
72517
72518 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72519
72520         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
72521
72522 2004-09-18  Simon Josefsson  <jas@extundo.com>
72523         and  Paul Eggert  <eggert@cs.ucla.edu>
72524
72525         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
72526         calls with autoreconf.  Define GL_LIB.
72527
72528 2004-09-14  Karl Berry  <karl@gnu.org>
72529
72530         * config/srclist.txt: unsync setenv.c, sigh.
72531
72532 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72533
72534         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
72535         Problem reported by Bruno Haible in:
72536         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
72537
72538 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72539
72540         * config/srclist.txt: Comment out argp-pvh.c.
72541
72542 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
72543
72544         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
72545         in case some system header has #define'd it.  Problem reported by
72546         Soeren D. Schulze in
72547         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
72548
72549 2004-09-09  Karl Berry  <karl@gnu.org>
72550
72551         * regex.[ch]: delete from the root.  These were supposed to be
72552                 synced with emacs cvs, but this has not happened for about
72553                 a year, and anyway nothing else uses emacs regex.[ch].
72554                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
72555                 lib/regex[.ch] is untouched.
72556
72557 2004-09-09  Bruno Haible  <bruno@clisp.org>
72558
72559         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
72560
72561 2004-09-09  Bruno Haible  <bruno@clisp.org>
72562
72563         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
72564         modifications.
72565         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
72566
72567 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
72568
72569         * modules/xvasprintf: New file.
72570         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
72571
72572 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
72573
72574         * lib/xvasprintf.h: New file.
72575         * lib/xvasprintf.c: New file.
72576         * lib/xasprintf.c: New file.
72577
72578 2004-09-08  Bruno Haible  <bruno@clisp.org>
72579
72580         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
72581
72582 2004-09-08  Bruno Haible  <bruno@clisp.org>
72583
72584         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
72585         length is > INT_MAX.
72586         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
72587         more.
72588
72589 2004-09-08  Bruno Haible  <bruno@clisp.org>
72590
72591         * lib/stdint_.h: New file, taken from GNU clisp.
72592
72593 2004-09-08  Bruno Haible  <bruno@clisp.org>
72594             Oskar Liljeblad  <oskar@osk.mine.nu>
72595
72596         * modules/stdint: New file.
72597         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
72598
72599 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72600
72601         Import from coreutils.
72602         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
72603         strings on unbounded length.  alloca's performance benefits aren't
72604         that important here.
72605         (V_STRDUP): Remove.
72606         (parse_with_separator): New function, with most of the internals
72607         of the old parse_user_spec.  Allow user to omit both user and group,
72608         for compatibility with FreeBSD.
72609         Clone only the user name, not the entire spec.
72610         Do not set *uid, *gid unless entirely successful.
72611         Avoid memory leak in some failing cases.
72612         Fix regression for USER.GROUP reported by Dmitry V. Levin in
72613         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
72614         (parse_user_spec): Rewrite to use parse_with_separator.
72615
72616 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72617
72618         * modules/userspec: Don't depend on alloca.
72619
72620 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72621
72622         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
72623
72624 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72625
72626         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
72627         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
72628         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
72629
72630 2004-08-16  Simon Josefsson  <jas@extundo.com>
72631
72632         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
72633         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
72634         Add --dry-run for --import.
72635         Let user provided command line parameters override configure.ac
72636         settings.
72637
72638 2004-08-12  Simon Josefsson  <jas@extundo.com>
72639
72640         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
72641         as discussed with Paul Eggert in threads rooted at
72642         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
72643         and
72644         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
72645         Before, the test was empty, and relied on ELIDE_CODE in source
72646         code.)
72647         (gl_PREREQ_GETOPT): New macro.
72648         (gl_GETOPT): Use them.
72649
72650 2004-08-12  Simon Josefsson  <jas@extundo.com>
72651
72652         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
72653         * lib/getopt_.h: Renamed from getopt.h.
72654
72655 2004-08-12  Simon Josefsson  <jas@extundo.com>
72656
72657         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
72658         Change default library name from libfoo to libgnu.
72659         Now, if you have a configure.ac that says:
72660                 gl_SOURCE_BASE(gl)
72661                 gl_M4_BASE(gl/m4)
72662                 gl_MODULES(error getopt etcetera)
72663                 gl_INIT
72664         you can import all you need by running:
72665                 ../gnulib/gnulib-tool --import
72666
72667         * modules/getopt (Files): Rename getopt.h to getopt_.h.
72668         (Makefile.am): Rewrite, use logic from argz.
72669         (Include): Use <getopt.h> instead of "getopt.h".
72670
72671 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72672
72673         * modules/argp (Files): Add m4/unlocked-io.m4.
72674         (Depends-on): Add extensions.
72675
72676 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72677
72678         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
72679         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
72680         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
72681         Check for program_invocation_name, program_invocation_short_name,
72682         flockfile, funlockfile, features.h, _getopt_long_only_r.
72683
72684 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72685
72686         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
72687         its complicated substitute.
72688         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
72689         and program_invocation_name.
72690         (__argp_basename) [!_LIBC]: Remove; the only use was
72691         replaced by its body.
72692         (__argp_short_program_name): Change condition from
72693         !defined __argp_short_program_name to
72694         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
72695         to match argp-namefrob.h.
72696         (__argp_failure): Don't assume strerror_r returns char *.
72697         * lib/argp-parse.c (N_): Define unconditionally.
72698         (argp_default_options): Fill out initializers with 0 to avoid
72699         gcc warnings.
72700
72701 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72702
72703         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
72704         getopt1.c.
72705
72706 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72707
72708         Merge from coreutils.
72709
72710         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
72711
72712         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
72713         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
72714
72715 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72716
72717         Merge from coreutils.
72718
72719         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
72720         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
72721         for Reliant Unix 5.43.
72722
72723         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
72724         (union fooround): Use uintmax_t, not long int.
72725         The rest is a merge from libc:
72726         [defined _LIBC]: Include <shlib-compat.h>.
72727         (_obstack) [defined _LIBC]: Remove after 2.3.4.
72728
72729         * lib/settime.c (settime): Recode to avoid warning with
72730         Sun Forte C 6U2.
72731
72732         * lib/strverscmp.c: Convert to UTF-8.
72733
72734 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72735
72736         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
72737         m4/uintmax_t.m4.
72738
72739 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72740
72741         * modules/xalloc-die: New file.
72742         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
72743
72744         * modules/md5 (Files): Add m4/uint32_t.m4.
72745         * modules/sha1: Renamed from modules/sha.
72746         (Files):
72747         Rename lib/sha.h to lib/sha1.h.
72748         Rename lib/sha.c to lib/sha1.c.
72749         Rename m4/sha.m4 to m4/sha1.m4.
72750         (lib_SOURCES): Likewise.
72751         (configure.ac): Rename gl_SHA to gl_SHA1.
72752         (Include): sha.h -> sha1.h.
72753
72754 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72755
72756         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
72757         * m4/sha1.m4: Renamed from sha.m4.
72758         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
72759
72760 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72761
72762         * lib/obstack.h (obstack_empty_p):
72763         Don't assume that chunk->contents is suitably aligned.
72764         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
72765         Likewise. Problem reported by Benno in
72766         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
72767
72768         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
72769         readable.  This could be improved further but it'd take some work.
72770
72771 2004-08-08  Simon Josefsson  <jas@extundo.com>
72772
72773         * modules/xgethostname (Depends-on): Remove exit and error (not
72774         used).
72775
72776         * modules/getpass-gnu: Add getpass.h.
72777         (Depends-on): Add stdbool.
72778         * modules/getpass: Add getpass.h.
72779
72780 2004-08-08  Simon Josefsson  <jas@extundo.com>
72781
72782         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
72783         Check getpass declaration.
72784
72785 2004-08-08  Simon Josefsson  <jas@extundo.com>
72786
72787         * lib/xgethostname.c: Don't include error.h (not used).
72788
72789         * lib/getpass.h: Add.
72790         * lib/getpass.c: Include getpass.h first.
72791
72792 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
72793
72794         * lib/xalloc-die.c: New file.
72795         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
72796         All uses removed.
72797         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
72798         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
72799         xalloc-die.c.
72800         (_, N_, xalloc_die): Move to xalloc-die.c.
72801         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
72802         so that we needn't mess with xalloc_msg_memory_exhausted.
72803
72804         * lib/sha1.h: Renamed from sha.h.
72805         (SHA1_H): Renamed from _SHA_H.
72806         (sha1_ctx): Renamed from sha_ctx.
72807         (sha1_init_ctx): Renamed from sha_init_ctx.
72808         (sha1_process_block): Renamed from sha_process_block.
72809         (sha1_process_bytes): Renamed from sha_process_bytes.
72810         (sha1_finish_ctx): Renamed from sha_finish_ctx.
72811         (sha1_read_ctx): Renamed from sha_read_ctx.
72812         (sha1_stream): Renamed from sha_stream.
72813         (sha1_buffer): Renamed from sha_buffer.
72814         * lib/sha1.c: Likewise; renamed from sha.c.
72815         Do not include <sys/types.h>.
72816         Include <stddef.h> rather than <stdlib.h>.
72817
72818 2004-08-08  Bruno Haible  <bruno@clisp.org>
72819
72820         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
72821         FILESYSTEM_PREFIX_LEN.
72822         * lib/progreloc.c: Likewise.
72823         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
72824
72825 2004-08-06  Simon Josefsson  <jas@extundo.com>
72826
72827         * modules/progname (Depends-on): Don't depend on stdbool.
72828
72829 2004-08-06  Simon Josefsson  <jas@extundo.com>
72830
72831         * modules/getsubopt: New file.
72832         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72833         getsubopt.
72834
72835 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72836
72837         More merge from coreutils.
72838
72839         * m4/utimens.m4, m4/utimecmp.m4: New files.
72840         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
72841         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
72842         prereq.m4, sha.m4: Import changes from coreutils.
72843
72844 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72845
72846         More merge from coreutils.
72847         * modules/raise, modules/readtokens0, modules/utimens:
72848         * modules/utimecmp, module/xnanosleep: New files.
72849         * modules/strftime: Add lib/strftime.h.
72850         Change include from <time.h> to "strftime.h".
72851         * modules/yesno: Add lib/yesno.h.
72852         * modules/backupfile: Remove lib/addext.c.
72853         * modules/euidaccess: Add stat-macros.h.
72854         * modules/canonicalize, modules/euidaccess,
72855         modules/filemode, modules/lchown, modules/makepath,
72856         modules/rmdir, modules/stat: Likewise.
72857
72858 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72859
72860         Merge from tar.
72861         * lib/argp-help.c (make_hol, hol_append): Don't assume that
72862         SIZE_MAX is a valid preprocessor constant.
72863         (__argp_basename): Change from "#ifndef _LIBC"
72864         to "#ifndef __argp_short_program_name", so that
72865         we don't compile these functions for tar.
72866
72867         More merges from coreutils.
72868         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
72869         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
72870         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
72871         * lib/addext.c: Remove; no longer needed.
72872         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
72873         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
72874         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
72875         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
72876         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
72877         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
72878         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
72879         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
72880         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
72881         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72882         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
72883         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
72884         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
72885         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
72886         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
72887         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
72888         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
72889         Import changes from coreutils.
72890
72891 2004-08-05  Simon Josefsson  <jas@extundo.com>
72892
72893         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
72894
72895 2004-08-05  Simon Josefsson  <jas@extundo.com>
72896
72897         * m4/getsubopt.m4: New file.
72898
72899 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72900
72901         Merge from coreutils.
72902
72903         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
72904         * m4/getcwd-path-max.m4: New files.
72905
72906         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
72907         FILESYSTEM_PREFIX_LEN ->
72908         FILE_SYSTEM_PREFIX_LEN.
72909         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
72910         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
72911         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
72912         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
72913
72914         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
72915         prerequisite modules now handle the DOS stuff.
72916         Don't check for unistd.h.
72917
72918 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72919
72920         Merge from coreutils.
72921
72922         * lib/.gdb-history: Remove; this doesn't belong here.
72923
72924         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
72925         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
72926         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
72927         * lib/getcwd.c: New files.
72928
72929         * lib/dirname.h: Include <stdbool.h>.
72930         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
72931         for consistency with POSIX terminology.  All uses changed.
72932         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
72933         (strip_trailing_slashes): Use bool for booleans.
72934         * lib/stripslash.c (strip_trailing_slashes): Likewise.
72935
72936         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
72937         sometimes returns a positive errno value even when it succeeds.
72938         (print_errno_message) [!LIBC]: Fall back on strerror if
72939         __strerror_r fails.
72940
72941         * lib/path-concat.c (mempcpy): Don't define if a system header defines
72942         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
72943         (longest_relative_suffix): New function.
72944         (path_concat): Use it.  Assume first argument is not NULL.
72945         Port to DOS.  Omit redundant separators.
72946         Report an error instead of returning NULL.
72947         Use mempcpy instead of memcpy.
72948         (xpath_concat): Remove: not declared or used.
72949
72950         * lib/same.h: Include <stdbool.h>
72951         (same_name): Return bool, not int.
72952         * lib/same.c (same_name): Likewise.
72953         (errno): Don't declare; we assume C89 or better now.
72954
72955         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
72956         if not already defined.
72957
72958         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
72959         * lib/dup-safer.c (errno): Likewise.
72960
72961 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72962
72963         Merge from coreutils.
72964         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
72965         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
72966         * modules/path-concat: Don't depend on strdup.
72967
72968 2004-08-03  Simon Josefsson  <jas@extundo.com>
72969
72970         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
72971         * lib/progname.h: Don't include stdbool.h.
72972
72973 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72974
72975         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
72976         * MODULES.html.sh (func_all_modules): Remove fatal.
72977
72978 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72979
72980         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
72981
72982 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72983
72984         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
72985         working.
72986
72987 2004-08-02  Simon Josefsson  <jas@extundo.com>
72988
72989         * lib/getsubopt.h: New file, with comments from Bruno Haible.
72990         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
72991         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
72992
72993 2004-08-01  Simon Josefsson  <jas@extundo.com>
72994
72995         * lib/xgetdomainname.c: Include stdlib.h, for free().
72996
72997 2004-07-19  Bruno Haible  <bruno@clisp.org>
72998
72999         * MODULES.html.sh (func_all_modules): Add dummy.
73000
73001 2004-07-16  Simon Josefsson  <jas@extundo.com>
73002
73003         * modules/dummy: New file.
73004
73005 2004-07-16  Simon Josefsson  <jas@extundo.com>
73006
73007         * lib/dummy.c: New file.
73008
73009 2004-07-16  Bruno Haible  <bruno@clisp.org>
73010
73011         * lib/backupfile.h: Add extern "C" for C++.
73012         * lib/closeout.h: Likewise.
73013         * lib/copy-file.h: Likewise.
73014         * lib/findprog.h: Likewise.
73015         * lib/full-write.h: Likewise.
73016         * lib/pathname.h: Likewise.
73017         * lib/progname.h: Likewise.
73018         * lib/stpcpy.h: Likewise.
73019         * lib/stpncpy.h: Likewise.
73020         * lib/strcase.h: Likewise.
73021         * lib/strstr.h: Likewise.
73022         * lib/xalloc.h: Likewise.
73023
73024         * lib/mbswidth.h: Add extern "C" for C++.
73025         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
73026
73027 2004-07-13  Robert Millan  <robertmh@gnu.org>
73028
73029         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
73030
73031 2004-07-09  Simon Josefsson  <jas@extundo.com>
73032
73033         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
73034         failed without this.)
73035
73036 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73037
73038         * modules/chown (Files): Add lib/fchown-stub.c, since
73039         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
73040
73041 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73042
73043         * lib/fchown-stub.c: New file.
73044
73045 2004-06-24  Jim Meyering  <jim@meyering.net>
73046
73047         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
73048
73049 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73050
73051         * modules/argz: Omit "#include".
73052
73053         * MODULES.html.sh (func_all_modules): Add calloc, to match
73054         2004-06-01 addition of calloc module.
73055
73056 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73057
73058         * m4/argz.m4: New file, which is autoupdated from libtool.
73059
73060 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73061
73062         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
73063         libtool.
73064
73065 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73066
73067         * config/srclist-update: Don't insist on "USA." before the
73068         close-comment, as libtool omits the period and puts the */ on a
73069         separate line.
73070         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
73071         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
73072
73073 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
73074
73075         * modules/argz: New file.
73076         * MODULES.html.sh (func_all_modules): Add argz.
73077
73078 2004-06-12  Jim Meyering  <jim@meyering.net>
73079         and  Paul Eggert  <eggert@cs.ucla.edu>
73080
73081         * modules/hash (Files): Add lib/xalloc.h.
73082         * modules/pipe (Depends-on): Add wait-process.
73083         * modules/stat (Depends-on): Add xalloc.
73084         * modules/userspec (Files): Add lib/userspec.h.
73085         * modules/xstrto
73086
73087         Upgrade from gettext-0.13.
73088         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
73089         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
73090         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
73091
73092 2004-06-10  Jim Meyering  <jim@meyering.net>
73093
73094         * lib/calloc.c: New file.
73095
73096 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
73097
73098         * lib/getdate.y (yylex): Allow space between sign and number.
73099         Problem reported by Dan Jacobson.
73100
73101 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
73102
73103         Merge from coreutils CVS.
73104
73105         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
73106         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
73107         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
73108         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
73109         xstrtol.m4: Fix copyright date and/or serial number.
73110
73111         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
73112         See if we need an fchown replacement.
73113         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
73114         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
73115         and use the replacement function if we detect either defect.
73116
73117         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
73118         gl_UTIMECMP.
73119
73120 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
73121         and  Jim Meyering  <jim@meyering.net>
73122
73123         Merge from coreutils CVS.
73124
73125         * lib/stat-macros.h: New file, with contents from file-type.h
73126         and coreutils' system.h.
73127         * lib/file-type.c: Include "stat-macros.h".
73128         * lib/file-type.h (file_type): Move all macro definitions to new file,
73129         stat-macros.h.
73130
73131         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
73132         Wrap old code with this conditional.
73133         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
73134         function that does not dereference symlinks.
73135         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
73136
73137         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
73138         dependency problems.
73139         (xreadlink): Accept new arg SIZE, for efficiency.
73140         All decls and uses changed.
73141         * lib/xreadlink.h: Include <stddef.h>, for size_t.
73142
73143         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
73144         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
73145
73146         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
73147         sysexits.h.
73148
73149 2004-06-01  Jim Meyering  <jim@meyering.net>
73150
73151         * m4/calloc.m4: New file.
73152
73153 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
73154
73155         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
73156         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
73157         Also, fix a typo in a diagnostic.
73158
73159 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
73160
73161         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
73162         or AC_FUNC_REALLOC.
73163
73164 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
73165
73166         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
73167         macros to be defined.
73168         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
73169         the allocator returns NULL because the requested size is zero.
73170
73171 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73172
73173         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
73174         var.  Add comment explaining why libc still defines it.  This
73175         merges the following patch from glibc:
73176         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
73177
73178 2004-05-20  Andreas Schwab  <schwab@suse.de>
73179
73180         * m4/free.m4: Replace free if it not known to work, not the other
73181         way round.
73182
73183 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73184
73185         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
73186         present in glibc since revision 1.1 of this file.
73187         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
73188         obstack_alignment_mask, obstack_alloc, obstack_base,
73189         obstack_blank, obstack_blank_fast, obstack_chunk_size,
73190         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
73191         obstack_grow0, obstack_init, obstack_int_grow,
73192         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
73193         obstack_next_free, obstack_object_size, obstack_ptr_grow,
73194         obstack_ptr_grow_fast, obstack_room): Remove declarations of
73195         nonexistent functions.
73196
73197 2004-05-18  Karl Berry  <karl@gnu.org>
73198
73199         * config/srclist.txt: break link for vasnprintf.c.
73200
73201 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
73202
73203         Port obstack to the AS/400, where pointers are 16 bytes wide and
73204         you cannot cast an integer to a valid pointer.  This patch is
73205         currently waiting to be integrated into glibc; see
73206         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
73207
73208         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
73209         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
73210         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
73211         (struct obstack): temp member is now a union of a pointer and
73212         an integer, instead of an integer.  All integer uses changed.
73213         This does not affect the physical layout of struct obstack,
73214         except on hosts (like the AS/400) where the size or alignment of
73215         void * is greater than that of ptrdiff_t.
73216         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
73217         __STDC__)]: Store temporary in pointer member of union, not
73218         integer member.
73219         * lib/obstack.c: Include <stddef.h>, for offsetof.
73220         (struct fooalign): Remove; it doesn't need a name.
73221         (union fooround): Change double to long double, and add void *.
73222         (DEFAULT_ALIGNMENT): Use offsetof to compute.
73223         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
73224         not a macro.  Hence the values are always int; so remove all
73225         casts-to-int in uses.
73226
73227 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
73228
73229         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
73230         we can get this patch merged into glibc.
73231
73232 2004-05-17  Derek R. Price  <derek@ximbiot.com>
73233             Paul Eggert  <eggert@cs.ucla.edu>
73234
73235         * m4/argp: Depend on alloca.
73236
73237 2004-05-17  Derek R. Price  <derek@ximbiot.com>
73238             Paul Eggert  <eggert@cs.ucla.edu>
73239
73240         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
73241         freecoding.
73242
73243 2004-05-17  Bruno Haible  <bruno@clisp.org>
73244
73245         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
73246         precision that consists of a '.' followed by an empty digit string.
73247         Patch by Tor Lillqvist <tml@iki.fi>.
73248
73249 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
73250
73251         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
73252         for backward compatibility with older code.  We need our own
73253         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
73254         it under some other name, and our alloca.h will define it.
73255
73256 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
73257             Derek Price  <derek@ximbiot.com>
73258
73259         * lib/alloca.c: Include <alloca.h>, to get our interface.
73260         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
73261         include <alloca.h> first.  Use C89 prototype for alloca; this
73262         requires including <stddef.h> for size_t.  Use extern "C" if C++.
73263         Use #elif for simplicity, since we can assume C89 now.
73264         Don't try to source the system alloca.h since it will not be found
73265         and to prevent recursively including its replacement.
73266         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
73267         * lib/regex.c: Likewise.
73268
73269 2004-05-16  Derek Price  <derek@ximbiot.com>
73270             Paul Eggert  <eggert@cs.ucla.edu>
73271
73272         getline cleanup.  This changes the getndelim2 API: both order of
73273         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
73274         no delimiter).
73275
73276         * lib/getline.c: Don't include stddef.h or stdio.h, since our
73277         interface does that.
73278         (getline): Always use getdelim, so that we don't have two
73279         copies of this code.
73280         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
73281         if available.
73282         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
73283         (GETNDELIM2_MAXIMUM): New macro.
73284         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
73285         instead of the old practice of delim2==0.  All callers changed.
73286         Return -1 on overflow, instead of returning junk.
73287         Do not set *linesize unless allocation succeeds.
73288         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
73289         that we include sys/types.h.
73290         * lib/getnline.h: Likewise.
73291         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
73292         (getndelim2): Reorder arguments.
73293         * lib/getnline.c (getnline, getndelim):
73294         Don't discard the NMAX argument.
73295         (getnline): Invoke getndelim, to avoid code duplication.
73296         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
73297         of (size_t) -1 by callers of the getnline family.
73298
73299 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73300
73301         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
73302         Check for gettimeofday.
73303         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
73304         Check for settimeofday, stime.
73305
73306 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73307
73308         * lib/nanosleep.c (suspended): Change its type from int to
73309         sig_atomic_t volatile.
73310         (first_call): Make it private to rpl_nanosleep, and have it
73311         be zero initially as that's a bit faster.
73312         (my_usleep): Round up fractional times instead of truncating them,
73313         as this is the usual meaning for 'sleep'.
73314
73315         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
73316         doesn't work.
73317         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
73318         (ENOSYS): Define if not defined.
73319         (settime): Fall back on stime if it exists and settimeofday fails.
73320         But don't bother with fallbacks if a method fails with errno == EPERM.
73321
73322 2004-05-11  Jim Meyering  <jim@meyering.net>
73323
73324         Prior to this change, the save_cwd caller required read access to the
73325         current directory on most systems (ones with the fchdir function).
73326
73327         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
73328         fails, try write-only, and finally, resort to using xgetcwd.
73329
73330 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
73331
73332         * lib/obstack.c, obstack.h: Import changes from libc.
73333
73334 2004-04-28  Bruno Haible  <bruno@clisp.org>
73335
73336         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
73337         also implicitly appends .exe to executables.
73338         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
73339         accepts Windows pathnames.
73340         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73341         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73342         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73343         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73344         Reported by Derek Robert Price <derek@ximbiot.com>.
73345
73346 2004-04-21  Karl Berry  <karl@gnu.org>
73347
73348         * config/srclist.txt (localcharset.c): break sync.
73349
73350 2004-04-20  Paul Eggert  <eggert@twinsun.com>
73351
73352         * m4/host-os.m4: Add a copyright notice.
73353
73354 2004-04-20  Jim Meyering  <jim@meyering.net>
73355
73356         Change UTILS_ to gl_ in AC_DEFINE'd names.
73357         Change utils_- and jm_-prefixed variables, too.
73358         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
73359         UTILS_FUNC_MKDIR_TRAILING_SLASH.
73360         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
73361
73362         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
73363         Don't emit trailing blanks.
73364         Also rename jm_-prefixed variables to have gl_ prefix.
73365
73366         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
73367         Also rename jm_-prefixed variables to have gl_ prefix.
73368
73369         * m4/jm-macros.m4: Reflect the renamings.
73370         * m4/prereq.m4: Likewise.
73371
73372 2004-04-20  Jim Meyering  <jim@meyering.net>
73373
73374         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
73375         memory.
73376
73377 2004-04-20  Jim Meyering  <jim@meyering.net>
73378             Bruno Haible  <bruno@clisp.org>
73379
73380         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
73381         memory when realloc fails.
73382
73383 2004-04-19  Jim Meyering  <jim@meyering.net>
73384
73385         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
73386         now that readutmp.c may call `free (0)'.
73387
73388 2004-04-19  Bruno Haible  <bruno@clisp.org>
73389
73390         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
73391         * m4/inttypes_h.m4: Likewise.
73392         * m4/stdint_h.m4: Likewise.
73393         * m4/intmax_t.m4: Likewise.
73394         * m4/uintmax_t.m4: Likewise.
73395
73396 2004-04-18  Jim Meyering  <jim@meyering.net>
73397
73398         * m4/prereq.m4: Don't forbid jm_ prefix.
73399
73400         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
73401         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
73402         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
73403         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
73404         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
73405         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
73406         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
73407         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
73408         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
73409         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
73410         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
73411         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
73412         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
73413         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
73414         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
73415         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
73416         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
73417         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
73418         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
73419
73420 2004-04-18  Jim Meyering  <jim@meyering.net>
73421
73422         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
73423         failure, don't leak memory and do call END_UTMP_ENT.
73424
73425 2004-04-16  Jim Meyering  <jim@meyering.net>
73426
73427         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
73428         coreutils' stat program.
73429         (gl_PREREQ): Don't require jm_PREREQ_STAT.
73430
73431 2004-04-11  Paul Eggert  <eggert@twinsun.com>
73432
73433         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
73434         C89.
73435         (CHAR_BIT): Remove, since we assume C89.
73436         Include <stdint.h> if available, as per current Autoconf CVS advice.
73437
73438 2004-03-31  Jim Meyering  <jim@meyering.net>
73439
73440         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
73441         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
73442         * m4/xalloc.m4: Likewise.
73443
73444 2004-03-30  Paul Eggert  <eggert@twinsun.com>
73445
73446         Merge from coreutils.
73447
73448         * m4/inttostr.m4: New file.
73449         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
73450         Require AM_STDBOOL_H and gl_TIMESPEC instead.
73451         Require gl_CLOCK_TIME.
73452         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
73453
73454 2004-03-30  Paul Eggert  <eggert@twinsun.com>
73455
73456         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
73457         not bool, to be more consistent with Unix conventions.
73458         Suggested by Bruno Haible.
73459
73460         Merge from coreutils.
73461
73462         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
73463         * lib/umaxtostr.c: New files.
73464
73465         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
73466         the usual <time.h> dance.
73467         (get_date): Change signature to support fractional time stamps.
73468         All callers changed.
73469         * lib/getdate.y: Include "getdate.h" first, as we can now
73470         assume C89 and don't need to worry about 'const'.
73471         Similarly, include "unlocked-io.h" near start, not in middle.
73472         Include <limits.h>.
73473         (textint.value): Use long int rather than int.
73474         (textint.digits): Use size_t rather than int.
73475         (BILLION, LOG10_BILLION): New constants.
73476         (parser_control): New member rel_ns.  Members day_ordinal,
73477         time_zone, month, day, hour, minutes, rel_year, rel_month,
73478         rel_day, rel_hour, rel_minutes, rel_seconds
73479         are now long int, not int.  Member seconds is now struct timespec,
73480         not int.  New member timespec_seen.  Members dates_seen, days_seen,
73481         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
73482         not int.
73483         (%union.intval): Now long int, not int.
73484         New member timespec.
73485         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
73486         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
73487         (spec): Now is a timespec or an item list.
73488         (timespec, items): New nonterminals.
73489         (time, rel, relunit, number, get_date):
73490         Add support for fractional seconds.
73491         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
73492         (gmtime, localtime, mktime): Remove decls; not needed with C89.
73493         (to_hour): First arg is now long int, not int.
73494         (to_year): Returns long int, not int.
73495         Don't treat year -70 like 70.
73496         (tm_diff): Returns long int, not int.
73497         (lookup_word): Use bool instead of int when appropriate.
73498         (yylex): Use size_t for count, not int.
73499         Detect overflow when parsing large integer constants.
73500         Add support for fractions.
73501         (get_date): Make pointers 'const' if possible.
73502         Use more-portable code to detect integer overflow.
73503         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
73504         Don't use ctime; it's not reliable if the year has >4 digits.
73505
73506         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
73507         This is for compatibility with BSD.
73508
73509         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
73510         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
73511         From coreutils' system.h.
73512
73513         * lib/userspec.c: Don't include "posixver.h".
73514         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
73515         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
73516         compatible extension.  Simplify code by removing a boolean int
73517         that was always nonzero if a string was nonnull.
73518
73519 2004-03-30  Jim Meyering  <jim@meyering.net>
73520
73521         Merge from coreutils.
73522
73523         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
73524         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
73525         on some systems one must include <grp.h> before it.
73526         Reported by Christian Krackowizer.
73527
73528 2004-03-30  Jim Meyering  <jim@meyering.net>
73529
73530         Merge from coreutils.
73531
73532         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
73533
73534         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
73535         an empty input stream.
73536
73537         * lib/readtokens.c: Include <stdbool.h>.
73538         (readtoken): Use `size_t' rather than int/long.
73539         All callers adjusted.
73540         Use `bool' rather than `int' where appropriate.
73541         Use memset rather than an explicit loop.
73542         Use x2nrealloc rather than xrealloc.
73543         Allow the use of `\0' as a delimiter.
73544         (readtokens): Likewise.
73545         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
73546
73547 2004-03-30  Jim Meyering  <jim@meyering.net>
73548
73549         * m4/realloc.m4: Remove file, since now it does no more than
73550         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
73551         the `configure.ac' section of module/realloc.
73552         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
73553
73554 2004-03-30  Bruno Haible  <bruno@clisp.org>
73555
73556         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
73557         nonnull.
73558
73559 2004-03-29  Paul Eggert  <eggert@twinsun.com>
73560
73561         Merge changes to getloadavg.c from coreutils and Emacs.
73562
73563         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
73564         Define to an expression, not to the empty string.
73565         Include cloexec.h and xalloc.h.
73566         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
73567         Use set_cloexec_flag rather than rolling our own.
73568         * lib/cloexec.c, lib/cloexec.h: New files.
73569
73570 2004-03-29  Paul Eggert  <eggert@twinsun.com>
73571
73572         * m4/cloexec.m4: New file.
73573
73574 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73575
73576         * lib/getopt.h: Sync with libc CVS.
73577
73578 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73579             Bruno Haible  <bruno@clisp.org>
73580
73581         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
73582         mbswidth.
73583
73584 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73585             Bruno Haible  <bruno@clisp.org>
73586
73587         * lib/mbswidth.h: Include <wchar.h> only if
73588         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
73589         <wchar.h>.
73590         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
73591
73592 2004-03-09  Paul Eggert  <eggert@twinsun.com>
73593
73594         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
73595         Sync with libc CVS.
73596         * lib/getopt_int.h: New file, also synced from libc.
73597
73598 2004-03-09  Paul Eggert  <eggert@twinsun.com>
73599
73600         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
73601         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
73602         Bring back getopt.c, getopt.h, getopt1.c.
73603
73604 2004-03-07  Paul Eggert  <eggert@twinsun.com>
73605
73606         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
73607         All uses changed.  Check for sa_sigaction member; this fixes
73608         a bug first reported by Jason Andrade in
73609         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
73610
73611 2004-03-07  Paul Eggert  <eggert@twinsun.com>
73612
73613         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
73614         '#if' expressions.  Unlike the code it replaces, it does not
73615         depend on (defined _SC_PAGESIZE).  However, it does depend on
73616         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
73617         first reported by Jason Andrade in
73618         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
73619
73620 2004-02-25  Simon Josefsson  <jas@extundo.com>
73621
73622         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
73623
73624 2004-02-25  Simon Josefsson  <jas@extundo.com>
73625
73626         * lib/strdup.h: New file.
73627         * lib/strdup.c: Include it.
73628         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
73629         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
73630
73631 2004-02-23  Karl Berry  <karl@gnu.org>
73632
73633         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
73634         (from fencepost.gnu.org:/gd/gnuorg).
73635
73636 2004-02-23  Karl Berry  <karl@gnu.org>
73637
73638         * config/srclistvars.sh (GNUORG) [karl]: redefine.
73639         * config/srclist.txt: add maintain/standards documents.
73640
73641 2004-02-18  Bruno Haible  <bruno@clisp.org>
73642
73643         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
73644         Reported by Derek Robert Price <derek@ximbiot.com>.
73645
73646 2004-02-16  Karl Berry  <karl@gnu.org>
73647
73648         * config/mkinstalldirs, install-sh: update from automake.
73649
73650 2004-02-06  Karl Berry  <karl@gnu.org>
73651
73652         * m4/po.m4: update from gettext 0.14.1.
73653
73654 2004-02-06  Karl Berry  <karl@gnu.org>
73655
73656         * lib/config.charset: update from gettext 0.14.1.
73657
73658 2004-02-05  Paul Eggert  <eggert@twinsun.com>
73659
73660         Add comments and code, prompted by suggestions from Bruno Haible
73661         for sh-quote.
73662         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
73663         describing the enum quoting_style values.
73664         * lib/quotearg.c (quotearg_alloc): New function.
73665         (quotearg_buffer_restyled): Treat lone { and } as special.
73666         Treat = as special.  Work around bug with older shells
73667         that "see" a '\' that is really the 2nd byte of a multibyte char.
73668         Quote empty string with shell_quoting_style.
73669
73670 2004-02-03  Bruno Haible  <bruno@clisp.org>
73671
73672         * m4/pipe.m4: New file, from GNU gettext.
73673
73674 2004-02-03  Bruno Haible  <bruno@clisp.org>
73675
73676         * lib/pipe.h: New file, from GNU gettext.
73677         * lib/pipe.c: New file, from GNU gettext.
73678
73679 2004-01-27  Bruno Haible  <bruno@clisp.org>
73680
73681         * m4/execute.m4: New file, from GNU gettext.
73682
73683 2004-01-27  Bruno Haible  <bruno@clisp.org>
73684
73685         * lib/execute.h: New file, from GNU gettext.
73686         * lib/execute.c: New file, from GNU gettext.
73687         * lib/w32spawn.h: New file, from GNU gettext.
73688
73689 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73690
73691         Merge from diffutils.
73692
73693         * lib/file-type.c (file_type): Add typed memory objects.
73694         * lib/file-type.h (S_TYPEISTMO): New macro.
73695
73696         * lib/c-stack.h (c_stack_action): Remove argv argument.
73697         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
73698         (die): Don't calculate message unless segv_action returns.
73699         (get_stack_location, min_address_from_argv, max_address_from_argv,
73700         volatile stack_base, volatile_stack_size): Remove.
73701         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
73702         that every segmentation violation is a stack overflow.  (Ouch!)
73703         See Debian bug 136249 (still outstanding) for more info about why
73704         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
73705
73706 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73707
73708         Exit-status fix from coreutils.
73709
73710         Use exit_failure consistently in place of EXIT_FAILURE,
73711         so that program exit statuses are consistent on failure.
73712
73713         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
73714         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
73715         * lib/argmatch.h: Comment fix to match the above.
73716         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
73717         Now a macro referring to exit_failure, instead of a separate
73718         variable.  Include "exitfail.h" to get it.
73719         * lib/xstrtol.h: Include "exitfail.h".
73720         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
73721
73722         * lib/long-options.c (parse_long_options): Use prototype
73723         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
73724         for clarity.
73725
73726 2004-01-21  Jim Meyering  <jim@meyering.net>
73727
73728         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
73729         so as not to conflict with a different-sized __mktime_internal
73730         function in GNU libc.
73731         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
73732         Problem building statically-linked `ls' reported by Michael Brunnbauer.
73733
73734 2004-01-20  Karl Berry  <karl@gnu.org>
73735
73736         * config/config.guess: update from config.
73737
73738         * config/srclistvars.sh: GNUWWWLICENSES for karl.
73739
73740 2004-01-20  Bruno Haible  <bruno@clisp.org>
73741
73742         Safer stack allocation.
73743         * lib/setenv.c: Include allocsa.h.
73744         (alloca): Remove fallback definition.
73745         (freea): Remove macro.
73746         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
73747         instead of freea.
73748
73749 2004-01-20  Bruno Haible  <bruno@clisp.org>
73750
73751         * m4/eealloc.m4: New file, from GNU gettext.
73752
73753 2004-01-20  Bruno Haible  <bruno@clisp.org>
73754
73755         * m4/allocsa.m4: New file, from GNU gettext.
73756
73757 2004-01-20  Bruno Haible  <bruno@clisp.org>
73758
73759         * lib/xallocsa.h: New file, from GNU gettext.
73760         * lib/xallocsa.c: New file, from GNU gettext.
73761
73762 2004-01-20  Bruno Haible  <bruno@clisp.org>
73763
73764         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
73765
73766 2004-01-20  Bruno Haible  <bruno@clisp.org>
73767
73768         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
73769         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
73770         specially.
73771
73772 2004-01-20  Bruno Haible  <bruno@clisp.org>
73773
73774         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
73775         patch.
73776
73777 2004-01-20  Bruno Haible  <bruno@clisp.org>
73778
73779         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
73780
73781 2004-01-20  Bruno Haible  <bruno@clisp.org>
73782
73783         * lib/eealloc.h: New file.
73784
73785 2004-01-20  Bruno Haible  <bruno@clisp.org>
73786
73787         * lib/binary-io.h: Avoid warnings on Cygwin.
73788
73789 2004-01-20  Bruno Haible  <bruno@clisp.org>
73790
73791         * lib/allocsa.h: New file, from GNU gettext.
73792         * lib/allocsa.c: New file, from GNU gettext.
73793
73794 2004-01-18  Karl Berry  <karl@gnu.org>
73795
73796         * doc/gpl.texi, doc/lgpl.texi: new files.
73797
73798 2004-01-18  Karl Berry  <karl@gnu.org>
73799
73800         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
73801         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
73802
73803 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73804
73805         Merge from coreutils.
73806
73807         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
73808         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
73809         (gl_DEFAULT_POSIX2_VERSION): Move
73810         the documentation from 'configure' into 'config.hin',
73811         so that 'configure --help' isn't burdened by it and
73812         we don't have to worry about its formatting there.
73813         Reword the documentation so that it's more succinct
73814         and can be run together into a single paragraph.
73815         * m4/same.m4 (gl_SAME): Check for pathconf.
73816
73817 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73818
73819         Merge from coreutils.
73820
73821         * lib/posixver.c: Include posixver.h.
73822
73823         * lib/same.c: Include <stdbool.h>, <limits.h>.
73824         (_POSIX_NAME_MAX): Define if not defined.
73825         (MIN): New macro.
73826         (same_name): If file names are silently truncated, report
73827         that the file names are the same if they are the same after
73828         the silent truncation.
73829
73830         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
73831         conversion function.
73832         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
73833         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
73834         longer needed.
73835
73836 2004-01-15  Jim Meyering  <jim@meyering.net>
73837
73838         Merge from coreutils.
73839
73840         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
73841         if no library is required.
73842         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
73843         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
73844         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
73845         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
73846         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
73847         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
73848         value, $ac_cv_search_crypt, if it's "none required".
73849         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
73850         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
73851         not gl_FUNC_GETLOADAVG.
73852         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
73853         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
73854
73855 2004-01-15  Jim Meyering  <jim@meyering.net>
73856
73857         Merge from coreutils.
73858
73859         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
73860         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
73861         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
73862
73863         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
73864         optional configure-time default.
73865
73866         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73867
73868         * lib/xreadlink.c (xreadlink): Correct outdated comment.
73869
73870 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
73871
73872         Merge from coreutils.
73873
73874         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
73875         value, $ac_cv_search_nanosleep, if it's "none required".
73876
73877 2004-01-14  Paul Eggert  <eggert@twinsun.com>
73878
73879         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
73880         with like-named macro in fnmatch.c.
73881         (EXT): Use an internal constant instead.
73882
73883         Merge fnmatch patches from glibc.
73884         * lib/fnmatch.c (mbsinit): Remove define.
73885         Add libc_hidden_ver (__fnmatch, fnmatch).
73886         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
73887         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
73888
73889 2004-01-14  Karl Berry  <karl@gnu.org>
73890
73891         * config/install-sh: update from automake.
73892
73893 2004-01-13  Karl Berry  <karl@gnu.org>
73894
73895         * config/install-sh: update from automake.
73896
73897 2004-01-09  Karl Berry  <karl@gnu.org>
73898
73899         * config/install-sh: update from automake.
73900
73901 2004-01-05  Karl Berry  <karl@gnu.org>
73902
73903         * config/config.{sub,guess}: update from config.
73904
73905 2003-12-31  Karl Berry  <karl@gnu.org>
73906
73907         * config/depcomp: update from automake.
73908
73909 2003-12-14  Karl Berry  <karl@gnu.org>
73910
73911         * lib/config.charset: update from gettext-runtime.
73912
73913 2003-12-03  Paul Eggert  <eggert@twinsun.com>
73914
73915         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
73916         Bug reported by Alfred M. Szmidt.
73917
73918 2003-12-03  Bruno Haible  <bruno@clisp.org>
73919
73920         * m4/gettext.m4: Upgrade from gettext-0.13.
73921         * m4/po.m4: Upgrade from gettext-0.13.
73922         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
73923         * m4/intmax.m4: New file, from gettext-0.13.
73924         * m4/printf-posix.m4: New file, from gettext-0.13.
73925
73926 2003-11-29  Karl Berry  <karl@gnu.org>
73927
73928         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
73929
73930 2003-11-25  Paul Eggert  <eggert@twinsun.com>
73931             Bruno Haible  <bruno@clisp.org>
73932
73933         * lib/printf-parse.h: Don't include sys/types.h.
73934         (ARG_NONE): New macro.
73935         (char_directive): Change type of *arg_index fields to size_t.
73936         * lib/printf-parse.c: Don't include sys/types.h.
73937         (SSIZE_MAX): Remove macro.
73938         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
73939         Remove unnecessary overflow check.
73940         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
73941         fields.
73942
73943 2003-11-25  Bruno Haible  <bruno@clisp.org>
73944
73945         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
73946
73947 2003-11-25  Bruno Haible  <bruno@clisp.org>
73948
73949         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
73950         gt_TYPE_SSIZE_T.
73951
73952 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73953
73954         * modules/alloca: Remove dependency on xalloc.
73955
73956 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73957
73958         * lib/alloca.c: Remove dependency on xalloc module.
73959         (xalloc_die): Remove.
73960         (memory_full) [!defined emacs]: New macro.
73961         [!defined emacs]: Don't include xalloc.h.
73962         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
73963         address arithmetic overflows.  Change datatypes a bit to avoid
73964         unnecessary casts.
73965
73966 2003-11-22  Jim Meyering  <jim@meyering.net>
73967
73968         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
73969         s/size/size_t/.
73970
73971 2003-11-21  Karl Berry  <karl@gnu.org>
73972
73973         * config/config.{sub,guess}: update from config.
73974
73975 2003-11-18  Karl Berry  <karl@gnu.org>
73976
73977         * config/config.{sub,guess}: update from config.
73978
73979         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
73980
73981 2003-11-17  Paul Eggert  <eggert@twinsun.com>
73982
73983         * README: Mention that S+T cannot overflow if S is the size of
73984         an existing object and T is sufficiently small.
73985
73986 2003-11-17  Jim Meyering  <jim@meyering.net>
73987
73988         On systems without utime and without a utimes function capable of
73989         dealing with a NULL struct utimbuf* argument, this utime replacement
73990         could -- in unusual circumstances -- leak a file descriptor.
73991         * lib/utime.c: Include <unistd.h> and <errno.h>.
73992         (utime_null): Be sure to close `fd' and to preserve errno.
73993         Reported by Geoff Collyer via Arnold Robbins.
73994
73995 2003-11-17  Bruno Haible  <bruno@clisp.org>
73996
73997         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
73998         (Depends-on): Add xsize.
73999
74000 2003-11-17  Bruno Haible  <bruno@clisp.org>
74001
74002         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
74003
74004 2003-11-17  Bruno Haible  <bruno@clisp.org>
74005
74006         * lib/vasnprintf.c (alloca): Remove fallback definition.
74007         (freea): Remove definition.
74008         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
74009         Reported by Paul Eggert.
74010
74011 2003-11-16  Paul Eggert  <eggert@twinsun.com>
74012             Bruno Haible  <bruno@clisp.org>
74013
74014         Protect against address arithmetic overflow.
74015         * lib/printf-args.h: Include stddef.h.
74016         (arguments): Change type of field 'count' to size_t.
74017         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
74018         'unsigned int' where appropriate.
74019         * lib/printf-parse.h: Include sys/types.h.
74020         (char_directive): Change type of *arg_index fields to ssize_t.
74021         (char_directives): Change type of fields 'count', max_*_length to
74022         size_t.
74023         * lib/printf-parse.c: Include sys/types.h and xsize.h.
74024         (SSIZE_MAX): Define fallback value.
74025         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
74026         instead of 'int' where appropriate. Check a_allocated, d_allocated
74027         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
74028         * lib/vasnprintf.c: Include xsize.h.
74029         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
74030         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
74031         overflow. Avoid wraparound when converting a width or precision from
74032         decimal to binary.
74033
74034 2003-11-16  Bruno Haible  <bruno@clisp.org>
74035
74036         Update from GNU gettext.
74037         * lib/printf-parse.c: Generalize to it can be compiled for wide
74038         strings.
74039         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
74040         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
74041         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
74042         SNPRINTF): New macros.
74043         Don't include <alloca.h> if the file is used inside libintl.
74044         (local_wcslen): New function, for Solaris 2.5.1.
74045         (VASNPRINTF): Use it instead of wcslen.
74046
74047 2003-11-16  Bruno Haible  <bruno@clisp.org>
74048
74049         * lib/xsize.h (xmax): New function.
74050         (xsum, xsum3, xsum4): Declare as "pure" functions.
74051
74052 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74053
74054         * modules/xalloc (Files): Undo latest change, since xalloc.h
74055         no longer needs SIZE_MAX or PTRDIFF_MAX.
74056
74057 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74058
74059         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
74060         gl_PTRDIFF_MAX.
74061
74062 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74063
74064         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
74065         "return", to pacify some unknown compiler.  Problem reported
74066         by Joerg Schilling.
74067
74068 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74069
74070         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
74071         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
74072         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
74073         heuristic is just as accurate as far as we know, and it removes a
74074         dependency on size_max.m4 and ptrdiff_max.m4.
74075
74076 2003-11-11  Bruno Haible  <bruno@clisp.org>
74077
74078         * modules/xsize (Files): Add m4/size_max.m4.
74079         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
74080
74081 2003-11-11  Bruno Haible  <bruno@clisp.org>
74082
74083         * m4/size_max.m4: New file.
74084         * m4/ptrdiff_max.m4: New file.
74085         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
74086         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
74087         (gl_XALLOC): Invoke it.
74088
74089 2003-11-11  Bruno Haible  <bruno@clisp.org>
74090
74091         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
74092         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
74093         defined.
74094
74095 2003-11-10  Paul Eggert  <eggert@twinsun.com>
74096
74097         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
74098         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
74099         rejected some allocations of exactly SIZE_MAX - 2 bytes.
74100         From Bruno Haible.
74101         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
74102         not (size_t) -1, since it's defined here.
74103
74104 2003-11-09  Karl Berry  <karl@gnu.org>
74105
74106         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
74107
74108 2003-11-06  Paul Eggert  <eggert@twinsun.com>
74109
74110         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
74111         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
74112         Reject sizes of exactly SIZE_MAX bytes.
74113         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
74114         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
74115
74116 2003-11-05  Bruno Haible  <bruno@clisp.org>
74117
74118         * lib/xsize.h: Include limits.h, to avoid a possible collision with
74119         SIZE_MAX defined in <limits.h> on Solaris.
74120
74121 2003-11-04  Jim Meyering  <jim@meyering.net>
74122
74123         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
74124         variable names, rather than @VAR@.
74125         * modules/poll: Likewise.
74126
74127 2003-11-04  Bruno Haible  <bruno@clisp.org>
74128
74129         * modules/xsize: New file.
74130         * modules/linebreak: Depend on xsize.
74131         * MODULES.html.sh (func_all_modules): Add xsize.
74132
74133 2003-11-04  Bruno Haible  <bruno@clisp.org>
74134
74135         * m4/xsize.m4: New file.
74136
74137 2003-11-04  Bruno Haible  <bruno@clisp.org>
74138
74139         * lib/xsize.h: New file.
74140         * lib/linebreak.c: Include xsize.h.
74141         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
74142         argument for overflow.
74143         Suggested by Paul Eggert.
74144
74145 2003-11-03  Karl Berry  <karl@gnu.org>
74146
74147         * config/config.{guess,sub}: update from config.
74148
74149 2003-11-03  Jim Meyering  <jim@meyering.net>
74150
74151         * modules/userspec (lib_SOURCES): Add userspec.h.
74152         (Include): Add "userspec.h".
74153         Improve description.
74154
74155 2003-11-03  Jim Meyering  <jim@meyering.net>
74156
74157         * lib/userspec.c: Include "userspec.h".
74158         * lib/userspec.h: New file.
74159
74160 2003-11-03  Bruno Haible  <bruno@clisp.org>
74161
74162         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
74163
74164 2003-11-03  Bruno Haible  <bruno@clisp.org>
74165
74166         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
74167         available, to avoid (extremely rare) race condition.
74168         Suggested by Paul Eggert.
74169
74170 2003-11-02  Karl Berry  <karl@gnu.org>
74171
74172         * config/srclist.txt (vasprintf.c): sync broken, sigh.
74173
74174 2003-10-31  Paul Eggert  <eggert@twinsun.com>
74175
74176         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
74177         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
74178         (read_filesystem_list): Set and use me_type_malloced.
74179         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
74180         whatever the type happens to be), for brevity and consistency.
74181         Check for size calculation overflow on Alphas running OSF/1.
74182
74183 2003-10-31  Jim Meyering  <jim@meyering.net>
74184
74185         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
74186
74187         * lib/linebuffer.c: Include <string.h> for declaration of memset.
74188
74189 2003-10-30  Paul Eggert  <eggert@twinsun.com>
74190             Bruno Haible  <bruno@clisp.org>
74191
74192         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
74193         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
74194
74195 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74196
74197         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
74198         netbsd*-gnu*.  Suggested by Robert Millan.
74199
74200 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74201
74202         * modules/group-member: Depend on stdbool.
74203
74204 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74205
74206         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
74207
74208 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74209
74210         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
74211         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
74212         after the 'gnu' in these cases.  This fixes some bugs in the
74213         previous change, and is based on suggestions by Robert Millan.
74214
74215 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74216
74217         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
74218         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
74219         no longer needed.
74220         * lib/quotearg.c (quotearg_n_options): Use it.
74221         * lib/group-member.c: Include <stdbool.h>.
74222         (free_group_info): Arg is now const *; don't free arg.
74223         (get_group_info): Now returns bool and accepts struct group_info *,
74224         rather than returning a malloc'ed struct group_info *.
74225         All uses changed.  Check for overflow in internal size calculation.
74226
74227         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
74228         rather than xmalloc/xrealloc.
74229         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
74230         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
74231         conformance bug: the old code used a pointer after freeing the
74232         storage that it addressed.
74233         * lib/hash.c (hash_initialize): Simplify the code by using
74234         xalloc_oversized rather than doing it by hand.
74235         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
74236         the buffer preserved.  Use free and xmalloc instead.
74237         * lib/quotearg.c (quotearg_n_options): Likewise.
74238         Use a simpler test for size overflow.  Don't use xalloc_oversized
74239         because unsigned int might be wider than size_t (!); this suggests
74240         that we should switch from unsigned int to size_t for slot numbers.
74241
74242 2003-10-28  Paul Eggert  <eggert@twinsun.com>
74243
74244         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
74245         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
74246         NetBSD kernels.  Requested by Richard Stallman.
74247
74248 2003-10-27  Paul Eggert  <eggert@twinsun.com>
74249
74250         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
74251         to allocate the returned structure.  Do not allocate a subarray,
74252         as x2nrealloc will do that.
74253         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
74254         instead of xnrealloc.
74255         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
74256
74257 2003-10-27  Bruno Haible  <bruno@clisp.org>
74258
74259         * lib/stdbool_.h: Better support for BeOS.
74260
74261 2003-10-26  Paul Eggert  <eggert@twinsun.com>
74262
74263         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
74264         now uses inline.
74265
74266 2003-10-26  Paul Eggert  <eggert@twinsun.com>
74267
74268         * lib/xalloc.h (xalloc_oversized): New static inline function, for
74269         callers that want to do their own size-overflow checking.  Include
74270         <stdbool.h>, since xalloc_oversized returns bool.
74271         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
74272         to use xalloc_oversized.
74273
74274         Add two functions x2realloc, x2nrealloc, for programs that grow
74275         arrays dynamically by doubling their sizes.
74276         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
74277         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
74278         New functions.
74279
74280         Port to C99 semantics for 'inline' of external functions.
74281         Bug reported by Bruno Haible.
74282         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
74283         with the old contents of xnmalloc.
74284         (xnmalloc, xmalloc): Use it.
74285         (xnrealloc_inline): New static inline function,
74286         with the old contents of xnrealloc.
74287         (xnrealloc, xrealloc): Use it.
74288
74289         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
74290         that.
74291
74292 2003-10-26  Karl Berry  <karl@gnu.org>
74293
74294         * config/srclist.txt (COPYING.DOC): no longer available from
74295         /gd/gnuorg; don't know where the ultimate source is.
74296
74297 2003-10-25  Paul Eggert  <eggert@twinsun.com>
74298
74299         Fix several address-calculation bugs in the hash modules,
74300         plus some minor code cleanup.
74301
74302         * lib/hash.h: Include <stdbool.h>, for bool.
74303         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
74304         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
74305         hash_get_n_entries, hash_get_max_bucket_length,
74306         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
74307         hash_rehash): Use size_t rather than unsigned.
74308         * lib/hash.c (struct hash_table, hash_get_n_buckets,
74309         hash_get_n_buckets_used, hash_get_n_entries,
74310         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
74311         hash_get_entries, hash_do_for_each, hash_string, is_prime,
74312         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
74313         Likewise.
74314         (SIZE_MAX): Define if not defined.
74315         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
74316         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
74317         hash_print):
74318         Use const * when possible.
74319         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
74320         (check_tuning): Fix bug: if tuning parameters were very close to
74321         0 or 1, rounding errors could have caused subscript violations.
74322         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
74323         (hash_initialize): Add 'fail:' label
74324         to free table and return NULL, and use it to simplify code.
74325         Use calloc rather than clearing the storage ourself.
74326         (hash_initialize, hash_rehash): Check for arithmetic overflow in
74327         buffer size calculations.
74328         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
74329         Include <stddef.h>, for size_t.
74330         * lib/hash-pjw.c (hash_pjw): Likewise.
74331         Switch to method described by Bruno Haible.
74332         Include <limits.h>, for CHAR_BIT.
74333         (SIZE_BITS): New macro.
74334
74335 2003-10-23  Paul Eggert  <eggert@twinsun.com>
74336
74337         * m4/getline.m4 (AM_FUNC_GETLINE):
74338         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
74339         hosts.  Problem reported by Derek Robert Price in
74340         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
74341         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
74342         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
74343
74344 2003-10-21  Paul Eggert  <eggert@twinsun.com>
74345
74346         * lib/getndelim2.c (getndelim2): When size calculation overflows,
74347         ceiling the allocation at NMAX bytes rather than silently
74348         discarding input bytes before NMAX is reached.  This makes
74349         a difference only if NMAX exceeds SIZE_MAX / 2.
74350
74351         * lib/obstack.c: Merge from glibc.
74352         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
74353         Add libc_hidden_def (_obstack_newchunk).
74354         (_obstack_free) [! defined _LIBC]: Remove.
74355         [defined _LIBC]: Make a strong alias from obstack_free, rather than
74356         a clone of the function body.
74357         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
74358         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
74359
74360         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
74361         glibc.
74362         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
74363         arg to memcpy.
74364
74365         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
74366         (obstack_ptr_grow_fast, obstack_int_grow_fast):
74367         Don't use lvalue casts, as GCC plans to remove support for them
74368         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
74369         was also present in the non-GCC version, indicating that this
74370         code had always been buggy and had never been widely used.
74371         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
74372         Use the fast variant of each macro, rather than copying the
74373         definiens of the fast variant; that way, we'll be more likely to
74374         catch future bugs in the fast variants.
74375
74376 2003-10-20  Bruno Haible  <bruno@clisp.org>
74377
74378         * modules/wait-process: New file.
74379         * MODULES.html.sh (func_all_modules): Add wait-process.
74380
74381 2003-10-20  Bruno Haible  <bruno@clisp.org>
74382
74383         * m4/wait-process.m4: New file.
74384
74385 2003-10-20  Bruno Haible  <bruno@clisp.org>
74386
74387         * lib/wait-process.h: New file, from GNU gettext.
74388         * lib/wait-process.c: New file, from GNU gettext.
74389
74390 2003-10-19  Jim Meyering  <jim@meyering.net>
74391
74392         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
74393         HPUX 10.20.
74394
74395 2003-10-18  Karl Berry  <karl@gnu.org>
74396
74397         * config/config.guess: update from config.
74398
74399 2003-10-16  Paul Eggert  <eggert@twinsun.com>
74400
74401         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
74402         (getgroups): First arg is int, not size_t.
74403         Don't let 'free' mangle errno.
74404
74405 2003-10-16  Paul Eggert  <eggert@twinsun.com>
74406
74407         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
74408
74409 2003-10-16  Karl Berry  <karl@gnu.org>
74410
74411         * config/config.{guess,sub}: update from config.
74412
74413 2003-10-16  Jim Meyering  <jim@meyering.net>
74414
74415         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
74416         memcpy.
74417
74418 2003-10-15  Paul Eggert  <eggert@twinsun.com>
74419
74420         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
74421         (SIZE_MAX): Remove.
74422         (new_exclude, add_exclude_file): Initial size no longer needs to
74423         be a power of 2.
74424         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
74425         our own address arithmetic overflow checking.
74426
74427         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
74428         (fnmatch): Do not alloca more than 2000 wide characters;
74429         instead, use malloc for large buffers.
74430         Check for address arithmetic overflow, and return -1
74431         with errno set to ENOMEM in that case.
74432         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
74433         (NEW_PATTERN): Do not alloca more than 8000 bytes;
74434         instead, return -1.  Check for address arithmetic overflow.
74435
74436 2003-10-14  Paul Eggert  <eggert@twinsun.com>
74437
74438         Handle invalid suffixes and overflow independently, so that
74439         callers can treat them independently as needed.  Fix some bugs in
74440         suffix handling, e.g., "100k@" was not diagnosed as an invalid
74441         suffix for a human-readable blocksize.  The major caller-visible
74442         change is the addition of a new
74443         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
74444         that both overflow and suffix chars were found.
74445
74446         * lib/human.c (humblock): Don't check separately for invalid suffix
74447         char; that is xstrtoumax's job (now that its bug is fixed).
74448         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
74449         INTMAX_MAX]: New macros.
74450         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
74451         TYPE_MAXIMUM): New macros.
74452         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
74453         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
74454         if overflow occurs, as it's what __strtol does and it's more useful
74455         in practice.
74456         (__xstrtol): If __strtol reports some error other than ERANGE,
74457         reflect it to the caller as LONGINT_INVALID.  If it reports
74458         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
74459         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
74460         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
74461         value.
74462         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
74463         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
74464         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
74465         [defined UINTMAX_MAX]: New macros.
74466
74467 2003-10-14  Bruno Haible  <bruno@clisp.org>
74468
74469         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
74470
74471 2003-10-14  Bruno Haible  <bruno@clisp.org>
74472
74473         * m4/sig_atomic_t: New file, from GNU gettext.
74474         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
74475
74476 2003-10-14  Bruno Haible  <bruno@clisp.org>
74477
74478         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
74479         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
74480         Also use volatile where needed.
74481
74482 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74483
74484         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
74485         Change maintainer from Bruno Haible to 'all'.
74486
74487 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74488
74489         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
74490
74491 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74492
74493         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
74494         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
74495         and define in terms of the other primitives.
74496         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
74497         (SIZE_MAX): Define if not already defined.
74498         (array_size_overflow): New function.
74499         (xalloc_die): Abort instead of exiting if 'error' returns.
74500         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
74501         (xmalloc, xrealloc): Use them.
74502         (xcalloc): Check for address arithmetic overflow.
74503         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
74504         a bit faster than strcpy.
74505
74506 2003-10-10  Simon Josefsson  <jas@extundo.com>
74507
74508         * modules/argp (Depends-on): Add restrict and strcase.
74509
74510 2003-10-10  Simon Josefsson  <jas@extundo.com>
74511
74512         * m4/argp.m4: Add AC_C_INLINE.
74513
74514 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74515
74516         Merge getpass from libc, plus a few fixes.
74517
74518         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
74519         Include <stdbool.h>.
74520         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
74521         __fsetlocking to empty.
74522         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
74523         do include <bits/libc-lock.h>.
74524         Do not include <fcntl.h>; not needed.
74525         [_LIBC]: Include <wchar.h>.
74526         (NOTCANCEL_MODE): New macro.
74527         (flockfile, funlockfile) [_LIBC]: New macros.
74528         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
74529         [!_LIBC]: New macros.
74530         (call_fclose): New function.
74531         (getpass): Use it.  Save tty stream separately; this simplifies the
74532         code and makes it more reliable if stdin happens to equal stdout.
74533         Invoke __fsetlocking on tty.
74534         Handle thread cancellation if needed.
74535         Namespace cleanup (use __tcgetattr, __getline).
74536         Use bool for Booleans.
74537         [USE_IN_LIBIO]: Handle wide streams.
74538         [!_LIBC]: Unconditionally do the fseek, since we don't know what
74539         stream might go where.
74540
74541         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
74542         doesn't have to include <stdio.h> before us.
74543         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
74544         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
74545         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
74546         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
74547         if not declared, so that we can use getpass.c code from libc without
74548         rewriting it.
74549         (flockfile, ftrylockfile, funlockfile): New macros.
74550
74551 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74552
74553         * modules/getpass: Depend on stdbool.
74554
74555 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74556
74557         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
74558
74559 2003-10-07  Karl Berry  <karl@gnu.org>
74560
74561         * config/config.{guess,sub}: update from config.
74562
74563 2003-10-06  Jim Meyering  <jim@meyering.net>
74564             Bruno Haible  <bruno@clisp.org>
74565
74566         This lets translators provide better translations for the
74567         "Written by ..." part of --version output.
74568         * lib/version-etc.h: Include stdarg.h.
74569         (version_etc_copyright): Declare as readonly.
74570         (version_etc): Make this function variadic with a NULL-terminated list
74571         of author name strings.
74572         (version_etc_va): New declaration.
74573         * lib/version-etc.c: Include stdarg.h, stdlib.h.
74574         (version_etc_copyright): Declare as readonly.
74575         (version_etc_va): New function. Provide a different translatable string
74576         for each possible number of authors < 10. Abbreviate when there are 10
74577         authors or more.
74578         (version_etc): Make this function variadic. Call version_etc_va.
74579         Suggestion from Gary V. Vaughan.
74580
74581         * lib/long-options.h (parse_long_options): Change prototype: the
74582         authors string is moved to the end and becomes variadic.
74583         * lib/long-options.c: Include stdarg.h.
74584         (parse_long_options): Make this function variadic, too.
74585         Call version_etc_va, not version_etc.
74586
74587 2003-10-06  Bruno Haible  <bruno@clisp.org>
74588
74589         * modules/version-etc-2: Remove file.
74590         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
74591
74592 2003-10-06  Bruno Haible  <bruno@clisp.org>
74593
74594         * modules/fatal-signal: New file.
74595         * MODULES.html.sh (func_all_modules): Add fatal-signal.
74596
74597 2003-10-06  Bruno Haible  <bruno@clisp.org>
74598
74599         * m4/fatal-signal.m4: New file.
74600         * m4/signalblocking.m4: New file, from GNU gettext.
74601
74602 2003-10-06  Bruno Haible  <bruno@clisp.org>
74603
74604         * lib/version-etc-2.h: Remove file.
74605         * lib/version-etc-2.c: Remove file.
74606
74607 2003-10-06  Bruno Haible  <bruno@clisp.org>
74608
74609         * lib/fatal-signal.h: New file, from GNU gettext.
74610         * lib/fatal-signal.c: New file, from GNU gettext.
74611
74612 2003-10-05  Paul Eggert  <eggert@twinsun.com>
74613
74614         * README: Rework advice for preventing empty .o files.
74615         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
74616         not <sys/types.h>.
74617
74618 2003-10-04  Karl Berry  <karl@gnu.org>
74619
74620         * lib/argp*: update from libc.
74621
74622 2003-10-04  Karl Berry  <karl@gnu.org>
74623
74624         * config/config.{guess,sub}: update from config.
74625
74626 2003-10-02  Bruno Haible  <bruno@clisp.org>
74627
74628         * modules/lchown (Include): Add lchown.h.
74629         * modules/time_r (Include): Use "..." syntax.
74630         * modules/xgetdomainname (Include): Add xgetdomainname.h.
74631
74632 2003-10-01  Simon Josefsson  <jas@extundo.com>
74633
74634         * MODULES.html.sh (func_all_modules): Move gethostname from section
74635         'based on' to section 'lacking' POSIX:2001.
74636
74637 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
74638
74639         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
74640         to output mode on the same stream.
74641
74642 2003-09-29  Paul Eggert  <eggert@twinsun.com>
74643
74644         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
74645         Fix arg typo in previous patch.
74646
74647 2003-09-28  Jim Meyering  <jim@meyering.net>
74648
74649         * lib/error.c: Correct cpp indentation.
74650
74651 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74652
74653         * modules/free: New file.
74654
74655 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74656
74657         * m4/free.m4: New file.
74658
74659 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74660
74661         * lib/minmax.h (MIN, MAX)
74662         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
74663         Omit the special code that used __typeof__, since we worry that
74664         it could be more trouble than it's worth.  See:
74665         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
74666         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
74667
74668         * lib/free.c: New file.
74669
74670 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
74671
74672         Trivial fixes to Makefile.am parts of module listings.
74673         * modules/strstr: Append strstr.h to lib_SOURCES.
74674         * modules/strcase: Likewise, for strcase.h.
74675
74676 2003-09-27  Karl Berry  <karl@gnu.org>
74677
74678         * config/mkinstalldirs: update from automake.
74679
74680 2003-09-26  Paul Eggert  <eggert@twinsun.com>
74681
74682         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
74683         (error_tail): Do not loop, reallocating temporary buffer, since
74684         the output cannot contain more wide characters than the input
74685         contains bytes, the size must be big enough already.  This avoids
74686         one potential size overflow calculation.  Check for size overflow
74687         when calculating temporary buffer size.  Free temporary buffer
74688         when done, if it was allocated with malloc; this plugs a memory
74689         leak.  Remove casts from void * to pointers, that are no longer
74690         needed now that we're assuming C89 or better.
74691
74692         Merge error changes from glibc.
74693
74694         * lib/error.c, error.h: Update copyright notice header to match glibc.
74695         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
74696         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
74697         Disable cancellation while printing error.
74698         * lib/error.h: Prepend __ to parameter names.
74699
74700 2003-09-26  Jim Meyering  <jim@meyering.net>
74701
74702         * lib/error.c (error_tail): Move some declarations
74703         into inner scope where the local variables are used.
74704
74705 2003-09-26  Bruno Haible  <bruno@clisp.org>
74706
74707         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
74708         stpncpy().
74709         Don't define stpncpy through config.h; it's now done through stpncpy.h.
74710
74711 2003-09-26  Bruno Haible  <bruno@clisp.org>
74712
74713         * lib/stpncpy.h (gnu_stpncpy): New declaration.
74714         (stpncpy): Define as alias for gnu_stpncpy.
74715         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
74716
74717 2003-09-25  Simon Josefsson  <jas@extundo.com>
74718
74719         * lib/xgetdomainname.h: New file.
74720         * lib/xgetdomainname.c: New file.
74721
74722 2003-09-25  Simon Josefsson  <jas@extundo.com>
74723             Bruno Haible  <bruno@clisp.org>
74724
74725         * modules/getdomainname: New file.
74726         * modules/xgetdomainname: New file.
74727         * MODULES.html.sh (func_all_modules): Add getdomainname,
74728         xgetdomainname.
74729
74730 2003-09-25  Simon Josefsson  <jas@extundo.com>
74731             Bruno Haible  <bruno@clisp.org>
74732
74733         * m4/getdomainname.m4: New file.
74734
74735 2003-09-25  Simon Josefsson  <jas@extundo.com>
74736             Bruno Haible  <bruno@clisp.org>
74737
74738         * lib/getdomainname.h: New file.
74739         * lib/getdomainname.c: New file.
74740
74741 2003-09-25  Karl Berry  <karl@gnu.org>
74742
74743         * lib/argp-fmtstream.c, argp-help.c: update from libc.
74744
74745 2003-09-25  Karl Berry  <karl@gnu.org>
74746
74747         * config/install-sh: update from automake.
74748
74749 2003-09-25  Bruno Haible  <bruno@clisp.org>
74750
74751         * modules/version-etc-2: New file, from modules/version-etc with
74752         modifications.
74753         * MODULES.html.sh (func_all_modules): Add version-etc-2.
74754
74755 2003-09-25  Bruno Haible  <bruno@clisp.org>
74756
74757         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
74758         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
74759
74760 2003-09-24  Simon Josefsson  <jas@extundo.com>
74761
74762         * modules/xgethostname: Add xgethostname.h.
74763
74764 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74765
74766         * lib/linebuffer.c (freebuffer): Don't free the argument, just
74767         the buffer associated with the argument.  Bug reported by
74768         Simon Josefsson.
74769
74770 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74771
74772         * README: Document assumptions that 'int' is at least 32 bits
74773         wide, that integer arithmetic is 2's complement without overflow,
74774         that there are no holes in integer values, that adding sizes of
74775         two nonoverlapping objects can't overflow, and that all-bits-zero
74776         yields scalar zero.  Fix spelling and capitalization typos.
74777
74778 2003-09-19  Karl Berry  <karl@gnu.org>
74779
74780         * lib/argp.h: update from libc.
74781
74782 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74783
74784         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
74785         to avoid spurious warnings like "AC_RUN_IFELSE was called before
74786         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
74787
74788 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74789
74790         * gnulib-tool: Use "test -h", not "test -L", for portability
74791         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
74792         (tags_regexp): Remove, since \| doesn't conform to POSIX.
74793         (sed_extract_prog): Issue s commands one-by-one, rather than
74794         using \| in one s command.
74795
74796 2003-09-16  Paul Eggert  <eggert@twinsun.com>
74797
74798         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
74799         input error, instead of returning NULL the next time we are called
74800         (and therefore losing track of errno).
74801
74802 2003-09-16  Bruno Haible  <bruno@clisp.org>
74803
74804         * gnulib-tool (func_create_testdir): Warn about duplicated
74805         dependencies.
74806
74807 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74808
74809         * modules/argmatch, modules/fatal, modules/obstack,
74810         modules/xalloc, modules/xgethostname: Sort dependencies by
74811         importance, not alphabetically.
74812
74813 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74814
74815         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
74816         fails, so that the caller gets the proper errno.
74817
74818         * lib/readutmp.c (read_utmp): Likewise.
74819         Check for fstat error.  Close stream and free storage
74820         when failing.
74821
74822 2003-09-14  Karl Berry  <karl@gnu.org>
74823
74824         * config/srclist.txt (strdup.c): disable for c89 changes.
74825
74826 2003-09-14  Jim Meyering  <jim@meyering.net>
74827
74828         * lib/getloadavg.c: Correct cpp indentation.
74829         * lib/strdup.c: Likewise.
74830         * lib/vasnprintf.c: Likewise.
74831
74832 2003-09-14  Bruno Haible  <bruno@clisp.org>
74833
74834         * modules/fwriteerror: New file.
74835         * MODULES.html.sh (func_all_modules): Add fwriteerror.
74836
74837 2003-09-14  Bruno Haible  <bruno@clisp.org>
74838
74839         * lib/fwriteerror.h: New file.
74840         * lib/fwriteerror.c: New file.
74841
74842 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74843
74844         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
74845         modules/xgethostname, modules/xalloc: Depend on exit.
74846
74847 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74848
74849         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
74850
74851         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
74852         and AC_MINIX, too, so that their extensions are available.
74853
74854         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
74855         This macro has been superseded by gl_BACKUPFILE.
74856
74857         More patches to assume C89 or better.
74858
74859         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
74860
74861         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
74862         unconditionally.
74863         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
74864         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
74865         Include <string.h>, <stdlib.h> unconditionally.
74866         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
74867         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
74868         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
74869         headers or for string.h.
74870         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
74871         or strtoul.
74872
74873         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
74874         headers.
74875         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
74876         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74877         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
74878         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
74879         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74880         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
74881         memcpy, memset.
74882         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
74883         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
74884         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
74885         strtol.
74886         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
74887         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
74888         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
74889         strtoul.
74890
74891 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74892
74893         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
74894         * lib/obstack.c [!defined _LIBC]: Likewise.
74895         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
74896         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
74897         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
74898
74899         More changes to assume C89 or better.
74900
74901         * lib/error.c (error_tail): Assume vprintf.
74902
74903         * lib/argmatch.c (getenv): Remove decl.
74904         * lib/progreloc.c (get_full_program_name): Define via prototype.
74905         * lib/setenv.c (clearenv): Likewise.
74906         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
74907         needed.
74908         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
74909         (malloc, memcpy): Remove decls.
74910         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
74911         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
74912         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74913         (memcpy): Remove macro.
74914         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
74915         (__P): Remove.  All uses removed.
74916         (PTR): Remove.  All uses changed to void *.
74917         (CHAR_BIT, NULL): Remove.
74918         (spaces, zeros, memset_space, memset_zero)
74919         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
74920         Remove.
74921         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
74922         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
74923         Define with prototype.
74924         Remove now-unnecessary prototype decl.
74925         (extra_args_spec): Assume ANSI C.  All uses changed.
74926         (extra_args_spec_iso): Remove.
74927         (my_strftime, emacs_strftimeu): Define via prototype.
74928         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
74929         unconditionally.
74930         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
74931         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
74932         (strtoul, strtol): Remove decls.
74933         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
74934         LONG_MAX): Remove.
74935         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74936         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
74937         (LOCALE_PARAM_PROTO): New macro.
74938         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
74939         (INTERNAL (strtol), strtol): Define with a prototype.
74940         (PARAMS): Remove.  All uses removed.
74941         * lib/tempname.c: Include <string.h> unconditionally.
74942         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
74943         * lib/xgethostname.c (main): Define with a prototype.
74944         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
74945         Include <stdlib.h> unconditionally.
74946         (calloc, malloc, realloc, free): Remove decls.
74947         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
74948         Include <stdlib.h> unconditionally.  Sort include file names.
74949         (strtod): Remove.
74950         (xstrtod): Define with a prototype.
74951         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
74952         (strtol, strtoul): Remove decls.
74953
74954 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74955
74956         More patches to assume C89 or better.
74957         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
74958         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
74959         string.h, memchr, STDC_HEADERS.
74960
74961 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74962
74963         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
74964         Include <stdlib.h>, <string.h> unconditionally.
74965         Remove now-unnecessary cast to char *.
74966         * lib/strnlen.c: Include <string.h> unconditionally.
74967         * lib/yesno.c (yesno): Define with a prototype.
74968
74969 2003-09-11  Bruno Haible  <bruno@clisp.org>
74970
74971         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
74972
74973 2003-09-10  Jim Meyering  <jim@meyering.net>
74974
74975         * lib/error.c: Correct indentation of cpp directives.
74976
74977 2003-09-10  Bruno Haible  <bruno@clisp.org>
74978
74979         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
74980         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
74981         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
74982         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
74983         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
74984         <stdlib.h> and <string.h> checks.
74985         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
74986         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
74987
74988 2003-09-10  Bruno Haible  <bruno@clisp.org>
74989
74990         * lib/strcspn.c: Include <string.h> unconditionally.
74991         * lib/strpbrk.c: Include <string.h> unconditionally.
74992         * lib/strstr.c: Include <string.h> unconditionally.
74993         * lib/unicodeio.c: Include <string.h> unconditionally.
74994         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
74995         * lib/unsetenv.c: Likewise.
74996         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
74997         * lib/yesno.c: Include <stdlib.h> unconditionally.
74998         (rpmatch): Add prototype.
74999
75000 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75001
75002         More patches to assume C89 or better.
75003         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
75004         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
75005         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
75006         or for string.h.
75007         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
75008         stdlib.h.
75009         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
75010         C headers.
75011         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
75012         string.h.
75013         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
75014         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
75015         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
75016         or for string.h.
75017         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
75018         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
75019         C headers.
75020         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
75021         memcpy.
75022         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
75023         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
75024         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
75025         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
75026         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
75027         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
75028         string.h, free.
75029         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
75030         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
75031         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
75032         C headers, or for string.h.
75033         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
75034         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
75035         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
75036         headers, memory.h, stdlib.h, string.h, strings.h.
75037         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
75038         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
75039         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
75040         strchr.
75041         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
75042         headers, memory.h, string.h.
75043         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
75044         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
75045         free.
75046         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
75047         headers.
75048         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
75049         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
75050         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
75051         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
75052         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
75053
75054 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75055
75056         More K&R removal.
75057
75058         * lib/acosl.c (main): Use a prototype.
75059         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
75060         tanl.c: Likewise.
75061
75062         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
75063
75064         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
75065         (getopt, etopt_long, getopt_long_only, _getopt_internal)
75066         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
75067         with a prototype.
75068         * lib/getopt.c (const): Remove macro.
75069         Include <string.h> unconditionally.
75070         (my_index): Remove; all uses changed to strchr.
75071         (strlen): Remove decl.
75072         (exchange): Remove forward decl; no longer needed.
75073         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
75074         Define with prototype.
75075         * lib/getopt1.c (const): Remove macro.
75076         (getopt_long, getopt_long_only, main): Define with prototype.
75077
75078         * lib/getugroups.c: Include <string.h> unconditionally.
75079
75080         * lib/getusershell.c: Include <stdlib.h> unconditionally.
75081         (getusershell, setusershell, endusershell, readname, main):
75082         Define with prototypes.
75083
75084         * lib/group-member.c: Include group-member.h first.
75085         Include <stdlib.h> unconditionally.
75086
75087         * lib/hard-locale.c: Include hard-locale.h first.
75088         Include <stdlib.h>, <string.h> unconditionally.
75089
75090         * lib/hash.c (free, malloc): Remove decls.
75091         Include <stdlib.h> unconditionally.
75092
75093         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
75094         (getenv): Do not declare.
75095
75096         * lib/idcache.c: Include <string.h> unconditionally.
75097
75098         * lib/long-options.c: Include long-options.h first, to test interface.
75099         Include <stdlib.h> unconditionally.
75100
75101         * lib/makepath.c: Include makepath.h first, to test interface.
75102         Include <stdlib.h> and <string.h> unconditionally.
75103
75104         * lib/linebuffer.c: Include <stdlib.h>.
75105         (free): Remove decl.
75106
75107         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
75108         stddef.h. rpl_malloc returns void *, not char *.
75109         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
75110         prototype.
75111
75112         * lib/md5.h: Include <limits.h> unconditionally.
75113         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
75114         (__P): Remove; all uses removed.
75115         * lib/md5.c: Include "md5.h" first.
75116         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
75117         md5_buffer, md5_process_bytes, md5_process_block):
75118         Define with prototypes.
75119         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
75120         * lib/sha.c: Include "sha.h" first.
75121         Include <stdlib.h>, <string.h> unconditionally.
75122
75123         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
75124         * lib/memcmp.c (__ptr_t): Likewise.
75125         * lib/memrchr.c (__ptr_t): Likewise.
75126         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
75127         Include <string.h> unconditionally.
75128         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
75129         * lib/memchr.c: Include <stdlib.h> unconditionally.
75130         * lib/memchr.c (LONG_MAX): Remove.
75131         * lib/memrchr.c (LONG_MAX): Likewise.
75132         * lib/memchr.c (__memchr): Define via a prototype.
75133         * lib/memrchr.c (__memrchr): Likewise.
75134         * lib/memcmp.c (__P): Remove, and remove all uses.
75135         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
75136         Remove forward decls; no longer needed.
75137         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
75138         Use types required by C89 in prototype.
75139
75140         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
75141         * lib/savedir.c: Likewise.
75142         * lib/mkdir.c (free): Remove decl.
75143         * lib/rmdir.c (rmdir): Define with a prototype.
75144         * lib/savedir.c: Include savedir.h first, to test interface.
75145
75146         * lib/mktime.c (STDC_HEADERS): Remove.
75147         Include <stdlib.h>, <string.h> unconditionally.
75148
75149         * lib/modechange.c: Include <stdlib.h> unconditionally.
75150         (malloc): Remove decl.
75151
75152         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
75153         (free): Remove decl.
75154
75155         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
75156         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
75157         (This type really should be intptr_t, but that's a C99ism.)
75158         (_obstack_memcpy): Remove: all uses changed to memcpy.
75159         Include <string.h> unconditionally.
75160         (struct obstack): Assume __STDC__ for types of members
75161         chunkfun, freefun, extra_arg.
75162         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
75163         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
75164         obstack_begin, obstack_specify_allocation,
75165         obstack_specify_allocation_with_arg, obstack_chunkfun,
75166         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
75167         Remove unprototyped decls and the macros that use them.
75168         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
75169         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
75170         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
75171         (defined __STDC__ && __STDC__)]:
75172         Remove nonprototyped code.
75173         Include <stdlib.h> unconditionally.
75174         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
75175         _obstack_allocated_p, _obstack_free, obstack_free,
75176         _obstack_memory_used, print_and_abort):
75177         Define using prototypes.
75178         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
75179         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
75180         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
75181         obstack_next_free, obstack_object_size, obstack_room) [0]:
75182         Remove unused, unprototyped code.
75183
75184         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
75185
75186         * lib/physmem.c (physmem_total, physmem_available, main): Define
75187         with prototypes.
75188
75189         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
75190         (main): Define with a prototype.
75191
75192         * lib/posixver.c (getenv): Remove decl.
75193
75194         * lib/putenv.c (malloc): Returns void *, not char *.
75195         Include <string.h> unconditionally.
75196         (strchr, memcpy, NULL): Do not define.
75197
75198         * lib/readtokens.c: Include readtokens.h first, to test interface.
75199         Include <stdlib.h>, <string.h> unconditionally.
75200         (init_tokenbuffer): Define with a prototype.
75201
75202         * lib/regex.c (PARAMS): Remove.  All uses removed.
75203         All uses of _RE_ARGS removed, too.
75204         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
75205         unconditionally.
75206         (bzero): Assume memset exists.
75207         (memcmp, memcpy, NULL): Remove.
75208         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
75209         char, or assignments to local vars of type signed char.
75210         (init_syntax_once, PREFIX(extract_number_and_incr),
75211         PREFIX(print_partial_compiled_pattern),
75212         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
75213         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
75214         PREFIX(regex_grow_registers), PREFIX(regex_compile),
75215         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
75216         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
75217         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
75218         wcs_compile_range, byte_compile_range, truncate_wchar,
75219         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
75220         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
75221         count_mbs_length, wcs_re_match_2_internal,
75222         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
75223         PREFIX(alt_match_null_string_p),
75224         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
75225         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
75226         regfree, PREFIX(extract_number)): Define with prototype.  Remove
75227         now-unnecessary declaration, if any.
75228         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
75229         regcomp, regexec):
75230         Remove now-unnecessary casts among pointer types.
75231         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
75232
75233         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
75234         (free): Remove decl.
75235
75236         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
75237
75238         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
75239         (free): Remove decl.
75240
75241         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
75242         * lib/xgetcwd.c: Likewise.
75243
75244         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
75245         (free): Remove decl.
75246
75247         * lib/strchrnul.c (strchrnul): Define with a prototype.
75248         Fix bug: c_in was not converted to char before searching.
75249
75250         The following changes are not K&R related:
75251
75252         * lib/group-member.h: Include <sys/types.h>, so that this file is
75253         self-contained.
75254         * lib/makepath.h: Likewise.
75255
75256         * lib/getusershell.c (readname, default_index, line_size, readname):
75257         Use size_t, not int, for sizes.
75258         (readname): If the size overflows, report an error instead of
75259         looping forever.
75260
75261 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75262
75263         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
75264         libc.
75265
75266 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75267
75268         * README: New section: portability guidelines.
75269
75270 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
75271
75272         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
75273         C89 spec.
75274
75275 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
75276
75277         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
75278
75279 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75280
75281         Assume C89 or better; remove K&R cruft.
75282         A few of these changes were first proposed by Derek Robert Price
75283         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
75284
75285         * lib/addext.c: Include <string.h> unconditionally.
75286         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
75287         Don't declare getenv or malloc.
75288
75289         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
75290         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
75291         (NULL): Remove.
75292         (find_stack_direction, alloca): Use prototypes.
75293
75294         * lib/atexit.c (atexit): Define using a prototype.
75295
75296         * lib/basename.c, dirname.c, stripslash.c:
75297         Include <string.h> unconditionally.
75298
75299         * lib/bcopy.c: Include <stddef.h>.
75300         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
75301
75302         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
75303
75304         * lib/error.h (error, error_at_line, error_print_progname)
75305         [! (defined (__STDC__) && __STDC__)]: Remove decls.
75306         * lib/error.c: Include error.h first, to check interface.
75307         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
75308         (VA_START): Remove; all uses changeed to va_start.
75309         (exit, strerror): Remove decls.
75310         (error_print_progname): Prototype uncondionally.
75311         Don't include <errno.h>; no longer needed.
75312         (private_strerror): Remove.
75313         (error_tail): Always define.
75314         (error, error_at_line): Assume C89 or better; always use prototypes.
75315         * lib/fatal.c: Include "fatal.h" first, to test interface.
75316         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
75317         (VA_START): Remove; all uses changed to va_start.
75318         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
75319         this case.
75320         (exit): Remove decl.
75321         (fatal): Prototype unconditionally.  Assume va_start works.
75322         Abort at end, to pacify gcc.
75323
75324         * lib/euidaccess.c (main): Define with a prototype.
75325
75326         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
75327
75328         * lib/exitfail.c: Include <stdlib.h> unconditionally.
75329
75330         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
75331         prototypes.
75332         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
75333         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
75334         (getenv): Remove decl.
75335         (fnmatch): Define using a prototype.
75336         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
75337         (FCT): Define using a prototype.
75338
75339         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
75340
75341         * lib/gethostname.c: Include <stddef.h>.
75342         (gethostname): Define with prototype.  Length is size_t, not int.
75343
75344 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75345
75346         Assume C89 or better; remove K&R cruft.
75347         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
75348         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
75349         string.h, getenv, malloc.
75350         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
75351         headers.
75352         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
75353         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
75354         do not check for strerror.
75355         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
75356         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
75357         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
75358         do not check for doprnt or vprintf.
75359         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
75360         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
75361
75362 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75363
75364         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
75365         getversion.c should have been removed then, but was accidentally
75366         preserved.
75367
75368         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
75369         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
75370
75371 2003-09-08  Karl Berry  <karl@gnu.org>
75372
75373         * config/config.sub, config.guess, srclistvars.sh: update from savannah
75374                 config, forget about prep.
75375
75376         * config/depcomp, missing: update from automake.
75377
75378 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75379
75380         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
75381         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75382
75383 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75384
75385         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
75386         copy_tm_result.  Bug reported by Simon Josefsson in
75387         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75388
75389 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75390
75391         * m4/time_r.m4: New file.
75392         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
75393         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
75394         is. Check for timegm declaration.
75395         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
75396         Do not check for gmtime_r.
75397         Replace mktime if __mktime_internal does not exist and if mktime
75398         hasn't been replaced already.
75399
75400 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75401
75402         * lib/time_r.c, lib/time_r.h: New files.
75403
75404         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
75405         __localtime_r.
75406         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
75407         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
75408
75409         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
75410         __gmtime_r.
75411         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
75412         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
75413         Include <time_r.h>.
75414
75415         * lib/timegm.c: Switch to glibc implementation, with the following
75416         changes:
75417         [defined HAVE_CONFIG_H]: Include <config.h>.
75418         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
75419         (__mktime_internal) [!defined _LIBC]: New decl.
75420         (__gmtime_r) [!defined _LIBC]: New macro and function.
75421         (timegm): Use a prototype, since gnulib assumes C89.
75422         Do not bother declaring tmp to be const, as it's not really usefu.
75423         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
75424         (timegm): Declare only if HAVE_DECL_TIMEGM.
75425
75426 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75427
75428         * MODULES.html.sh (func_all_modules): Add time_r.
75429         * modules/time_r: New file.
75430         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
75431         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
75432
75433 2003-09-03  Paul Eggert  <eggert@twinsun.com>
75434
75435         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
75436         Bug reported by Lute Kamstra in
75437         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
75438
75439         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
75440         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
75441         course with correspondingly smaller numbers for tomorrow and
75442         yesterday.  From Tadayoshi Funaba.  Originally installed into
75443         sh-utils on 1999-08-07, but the patch got lost (I guess during the
75444         coreutils merge?).
75445
75446 2003-08-31  Simon Josefsson  <jas@extundo.com>
75447
75448         * modules/timegm: New file.
75449         * MODULES.html.sh (func_all_modules): Add timegm.
75450
75451 2003-08-31  Simon Josefsson  <jas@extundo.com>
75452
75453         * m4/timegm.m4: New file.
75454
75455 2003-08-31  Simon Josefsson  <jas@extundo.com>
75456
75457         * lib/timegm.h: New file.
75458         * lib/timegm.c: New file.  Based on
75459         wget-1.8.2/src/http.c:mktime_from_utc.
75460
75461 2003-08-31  Karl Berry  <karl@gnu.org>
75462
75463         * lib/argp.h: update from libc.
75464
75465 2003-08-28  Bruno Haible  <bruno@clisp.org>
75466
75467         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
75468         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
75469         followed by '#define fnmatch fnmatch_posix' gives an error.
75470
75471 2003-08-28  Bruno Haible  <bruno@clisp.org>
75472
75473         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
75474         warning on QNX, which defines O_BINARY to 000000.
75475
75476 2003-08-27  Jim Meyering  <jim@meyering.net>
75477
75478         * m4/mkstemp.m4: Require that the system mkstemp be able to create
75479         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
75480         would fail after 32.  Reported by Danny Levinson.  Details here:
75481         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
75482
75483 2003-08-24  Bruno Haible  <bruno@clisp.org>
75484
75485         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
75486         MSVC7 <stdio.h> is included later.
75487
75488 2003-08-22  Simon Josefsson  <jas@extundo.com>
75489
75490         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
75491
75492 2003-08-20  Karl Berry  <karl@gnu.org>
75493
75494         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
75495
75496 2003-08-20  Bruno Haible  <bruno@clisp.org>
75497
75498         * modules/progname: New file.
75499         * MODULES.html.sh (func_all_modules): Add progname.
75500
75501 2003-08-20  Bruno Haible  <bruno@clisp.org>
75502
75503         * lib/progname.h: New file, from GNU gettext.
75504         * lib/progname.c: New file, from GNU gettext.
75505         * lib/progreloc.c: New file, from GNU gettext.
75506
75507 2003-08-19  Jim Meyering  <jim@meyering.net>
75508
75509         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
75510         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
75511
75512 2003-08-19  Bruno Haible  <bruno@clisp.org>
75513
75514         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
75515         more.
75516
75517 2003-08-19  Bruno Haible  <bruno@clisp.org>
75518
75519         * lib/xstrdup.c: Assume <string.h> exists.
75520
75521 2003-08-18  Paul Eggert  <eggert@twinsun.com>
75522
75523         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
75524         in makefile rules.
75525
75526 2003-08-18  Jim Meyering  <jim@meyering.net>
75527
75528         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
75529         * m4/lib-ld.m4: Likewise.
75530
75531 2003-08-18  Jim Meyering  <jim@meyering.net>
75532
75533         * lib/setenv.h: Indent nested cpp directive.
75534         * lib/vasnprintf.c: Remove trailing blanks.
75535
75536 2003-08-17  Simon Josefsson  <jas@extundo.com>
75537
75538         * modules/xstrndup: New file.
75539         * MODULES.html.sh (func_all_modules): Add xstrndup.
75540
75541 2003-08-17  Simon Josefsson  <jas@extundo.com>
75542
75543         * modules/argp: Fix autoconf macro name. Add more dependencies.
75544
75545 2003-08-17  Simon Josefsson  <jas@extundo.com>
75546
75547         * m4/xstrndup.m4: New file.
75548
75549 2003-08-17  Simon Josefsson  <jas@extundo.com>
75550
75551         * m4/argp.m4: New file.
75552
75553 2003-08-17  Simon Josefsson  <jas@extundo.com>
75554             Bruno Haible  <bruno@clisp.org>
75555
75556         * lib/xstrndup.h: New file.
75557         * lib/xstrndup.c: New file.
75558
75559 2003-08-17  Bruno Haible  <bruno@clisp.org>
75560
75561         * modules/strndup (Files, Include): Add lib/strndup.h.
75562
75563 2003-08-17  Bruno Haible  <bruno@clisp.org>
75564
75565         * modules/euidaccess (Files): Add lib/euidaccess.h.
75566
75567 2003-08-17  Bruno Haible  <bruno@clisp.org>
75568
75569         * lib/strndup.h: New file.
75570
75571 2003-08-17  Bruno Haible  <bruno@clisp.org>
75572
75573         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
75574         like AC_GNU_SOURCE.
75575         * modules/extensions (configure.ac): Comment out the invocation of
75576         gl_USE_SYSTEM_EXTENSIONS.
75577
75578 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75579
75580         Merges from coreutils, etc.
75581         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
75582         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
75583         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
75584         fixing a typo.
75585         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
75586         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
75587
75588 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75589
75590         Document merge from coreutils.
75591         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
75592         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
75593         * modules/utime: Add m4/utimes-null.m4.
75594
75595 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75596
75597         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
75598         space, undoing this 2003-08-12 change:
75599         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
75600
75601 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75602
75603         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
75604         strtoul.c from libc, undoing this 2003-08-12 change:
75605         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
75606
75607 2003-08-16  Jim Meyering  <jim@meyering.net>
75608
75609         Merges from coreutils.
75610         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
75611         prefix.  Adjust cache variables similarly.  Create 500 rather than
75612         just 300 files, to exercise bug on Darwin6.5, too.
75613         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
75614         $missing_dir.
75615         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
75616         AM_SYS_POSIX_TERMIOS.
75617         Reported by mkc@mathdogs.com.
75618         Also change use of $am_cv_sys_posix_termios
75619         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
75620         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
75621         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
75622         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
75623         in /proc/mounts until it finds one with matching device number.  This
75624         is unnecessary when the FILE argument *is* a mount point.  No stat call
75625         is necessary in that case.  So, disable the statvfs-testing code on
75626         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
75627         as RedHat bug# 84846.
75628         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
75629         to 1MB, so as not to render systems with no stack size limit (e.g.,
75630         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
75631         Include <unistd.h>.  On some systems,
75632         it is required for the definition of _SC_PAGESIZE.
75633
75634 2003-08-16  Jim Meyering  <jim@meyering.net>
75635
75636         Merge from coreutils.
75637         * lib/xstrtoimax.c: #else #if -> #elif.
75638         * lib/xstrtoumax.c: Likewise.
75639
75640 2003-08-16  Jim Meyering  <jim@meyering.net>
75641
75642         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
75643         * m4/utimes.m4: Removed.
75644         * m4/utimes-null.m4: Renamed from utimes.m4.
75645
75646         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
75647         to 1MB, so as not to render systems with no stack size limit (e.g.,
75648         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
75649         Include <unistd.h>.  On some systems,
75650         it is required for the definition of _SC_PAGESIZE.
75651
75652 2003-08-16  Jim Meyering  <jim@meyering.net>
75653         and Paul Eggert  <eggert@cs.ucla.edu>
75654
75655         Merges from coreutils, etc.
75656
75657         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
75658         using the latest version from cvs.  This avoids problems with #line
75659         directives using a vendor (Sun) compiler.
75660         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
75661         Don't set GETGROUPS_LIB here; now it's
75662         done via getgroups.m4's wrapper function.
75663         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
75664         rather than just in sh-util/configure.in, so that the
75665         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
75666         same.
75667         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
75668         AC_FUNC_GETLOADAVG where to find getloadavg.c.
75669         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
75670         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
75671         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
75672         Remove code that is now done by the newly-required macros.
75673         Append $(EXEEXT) to DF_PROG.
75674         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
75675         Do not invoke or require the following here,
75676         since prereq.m4 or some gnulib .m4 now does this for us:
75677         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
75678         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
75679         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
75680         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
75681         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
75682         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
75683         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
75684         AC_FUNC_OBSTACK.
75685         Do not replace the following functions, as this is now the job
75686         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
75687         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
75688         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
75689         atexit getpass, strdup, getpagesize.
75690         Replace 'raise'.
75691         Do not check for the following functions, as this is now the job
75692         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
75693         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
75694         setregid.
75695         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
75696         Check for sys/sysctl.h.
75697         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
75698         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
75699         of checking for ssize_t ourselves.
75700
75701         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
75702         Require every macro that gnulib/modules/* suggests for us.
75703         (jm_PREREQ_ADDEXT): New macro.
75704         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
75705         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
75706
75707         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
75708         (gl_PHYSMEM): Use it.
75709         Also check for `table' function.
75710         Check for new headers and functions.
75711         Add check for sys/sysmp.h.
75712         With suggestions from Kaveh Ghazi.
75713         Ignore headers that are present but cannot be compiled.  This
75714         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
75715         C 5.4.
75716
75717 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75718
75719         Document merge from coreutils.
75720         * modules/userspec: Depend on posixver.
75721         * modules/strftime: Depend on tzset.
75722
75723 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75724
75725         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
75726         rather than tab, after '#' in shell-script copyright notices.
75727         Suggested by Bruno Haible.
75728
75729 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75730
75731         * config/srclist-update: Use three spaces, rather than tab, after '#'
75732         in shell-script copyright notices.  Suggested by Bruno Haible.
75733         Remove unnecessary parenthesization in regular expression.
75734
75735 2003-08-15  Jim Meyering  <jim@meyering.net>
75736
75737         Merge from coreutils.
75738         * lib/xgethostname.c: Include <stdlib.h>.
75739         (xghostname): Don't exit for anything other than memory-related
75740         failure; just return NULL.
75741         * lib/userspec.c: Include "posixver.h".
75742         (parse_user_spec): Accept `.' as a separator only
75743         in pre-POSIX-200112 mode.
75744         * lib/strtoimax.c: Use #elif rather than #else #if.
75745         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
75746         Remove function, now that we can rely on a working tzset function.
75747         [!_LIBC]: Ensure that the required autoconf test has been run.
75748         [!defined _NL_CURRENT && HAVE_STRFTIME]:
75749         Use underlying_strftime for %r.
75750         * lib/sha.c: Merge in some clean-up and optimization changes from
75751         glibc.
75752         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
75753         Ensure that it is a multiple of 64.
75754         Rearrange loop exit tests so as to avoid performing an
75755         additional fread after encountering an error or EOF.
75756         * lib/realloc.c: Update copyright date.
75757
75758 2003-08-15  Jim Meyering  <jim@meyering.net>
75759         and Paul Eggert  <eggert@twinsun.com>
75760
75761         Merge from coreutils.
75762         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
75763         member but strut utmpx does not.  Needed for AIX 4.3.3.
75764         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
75765
75766 2003-08-15  Jim Meyering  <jim@meyering.net>
75767         and Paul Eggert  <eggert@cs.ucla.edu>
75768
75769         Merges from coreutils, etc.
75770         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
75771         Require gl_FUNC_TZSET_CLOBBER.
75772         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
75773         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
75774         members.
75775
75776 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75777
75778         Help the merge from coreutils.
75779         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
75780         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
75781         * m4/tzset.m4: Use it too.
75782
75783 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75784
75785         * modules/tzset: New file.
75786
75787 2003-08-14  Jim Meyering  <jim@meyering.net>
75788
75789         Merges from coreutils.
75790         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
75791         variable names, rather than @FNMATCH_H@.
75792         * modules/alloca: Likewise for $(ALLOCA_H).
75793
75794         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
75795         the three copies of the literal target, `fnmatch.h'.
75796         * modules/alloca (alloca.h): Likewise.
75797
75798 2003-08-14  Jim Meyering  <jim@meyering.net>
75799
75800         Merge from coreutils.
75801         * m4/tzset.m4: New file.
75802         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
75803         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
75804         otherwise, AIX 5.1 systems would end up using the latter.
75805         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
75806         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
75807         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
75808         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
75809
75810 2003-08-14  Jim Meyering  <jim@meyering.net>
75811
75812         Merge from coreutils.
75813         * lib/obstack.h: Whitespace changes.
75814         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
75815         and xcalloc return values.
75816         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
75817         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
75818         hang on OSF/1 5.1 for DIR on both local and remote file systems.
75819         Reported by (and fix confirmed by) Nelson H. F. Beebe.
75820         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
75821         error from mntctl.
75822         Use mntctl's return value to drive the entry-processing loop, since
75823         we can't rely on the value of the vmt_length member in the last
75824         entry.  On some systems doing so could result in exhausting
75825         virtual memory.  Based in part on a patch from Mike Jetzer.
75826
75827 2003-08-14  Jim Meyering  <jim@meyering.net>
75828         and Paul Eggert  <eggert@twinsun.com>
75829
75830         Merges from coreutils, plus other fixes.
75831         * lib/physmem.c: Merge in portability changes from gcc/libiberty
75832         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
75833         for credits and details.  Thanks to Kaveh Ghazi for helping
75834         to keep these files in sync.
75835         (ARRAY_SIZE): Define it.
75836         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
75837         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
75838         (memcasecmp): Don't assume size_t fits in unsigned int.
75839         Remove casts and duplicate code.
75840         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
75841         (memcpy): Remove definition.
75842         Merge in some clean-up and optimization changes from glibc.
75843         [BLOCKSIZE]: Move definition to top of file.
75844         Ensure that it is a multiple of 64.
75845         Rearrange loop exit tests so as to avoid performing an
75846         additional fread after encountering an error or EOF.
75847         * lib/md5.h (md5_uintptr): Define.
75848         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
75849         return to the initial working directory.  Preserve errno
75850         for caller.
75851         * lib/idcache.c: Include "xalloc.h".
75852         (xmalloc, xrealloc): Remove decls.
75853         (getuser): Remove casts no longer required in C89.
75854         * lib/human.c: Include stdio.h, for sprintf.
75855         * lib/group-member.c: Include "xalloc.h".
75856         (xmalloc, xrealloc): Remove decls.
75857         (get_group_info): Remove casts no longer required in C89.
75858         * lib/getusershell.c (readname): Remove casts no longer required in
75859         C89.
75860         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
75861         * lib/getline.c: Whitespace fix, from coreutils.
75862
75863 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75864
75865         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
75866         Check for isascii.
75867
75868         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75869         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75870         Undo previous (whitespace-only) change.
75871
75872 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75873
75874         * lib/exclude.c: Include <ctype.h>
75875         (IN_CTYPE_DOMAIN): New macro.
75876         (is_space): New fn.
75877         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
75878         and empty lines.
75879
75880         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75881         Undo previous (whitespace-only) change.
75882
75883 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75884
75885         * config/srclist-update: Change update back to the old behavior,
75886         leaving whitespace alone.  Use one 'sed' command rather than a
75887         pipeline.
75888         (fixlicense): Now a variable, not a function.
75889         (remove_trailing_blanks): Remove.
75890         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
75891         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75892         Undo previous (whitespace-only) change.
75893
75894 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75895
75896         Merge from coreutils.
75897         * modules/euidaccess: Add lib_SOURCES, include for new
75898         file euidaccess.h
75899
75900 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75901
75902         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75903         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75904         Normalize leading white space and remove trailing white space.
75905
75906         Merge from coreutils
75907         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
75908
75909         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
75910         0.12.1.  These files are now being upgraded automatically by
75911         ../config/srclist-update.
75912
75913 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75914
75915         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75916         Normalize leading white space and remove trailing white space.
75917         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
75918         notice, as per ../config/srclist-update.
75919
75920         Merge from coreutils.
75921         * lib/euidaccess.h: New file.
75922         * lib/euidaccess.c: Include it.
75923         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
75924         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
75925         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
75926
75927 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75928
75929         * config/srclist-update: Add copyright notice.
75930         (remove_id_lines, remove_trailing_blanks): New constants.
75931         (fixfile): Use them to normalize spacing a bit in copied files.
75932         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75933         Normalize leading white space and remove trailing white space.
75934
75935         * config/texinfo.tex: Sync with texinfo.
75936
75937         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
75938         strtoul.c from libc, to merge coreutils whitespace changes.
75939
75940         * config/srclist.txt: Get the following m4 files from gettext:
75941         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
75942         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
75943         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
75944         wint_t.m4.
75945
75946 2003-08-12  Karl Berry  <karl@gnu.org>
75947
75948         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
75949         been made.
75950
75951 2003-08-11  Paul Eggert  <eggert@twinsun.com>
75952
75953         * modules/gnu-source, m4/gnu-source.m4:
75954         Remove; we're assuming Autoconf 2.54 or later now.
75955         Suggested by Bruno Haible.
75956         * MODULES.html.sh (func_all_modules): Remove gnu-source.
75957
75958 2003-08-11  Bruno Haible  <bruno@clisp.org>
75959
75960         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
75961
75962 2003-08-11  Bruno Haible  <bruno@clisp.org>
75963
75964         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
75965         (vasnprintf): Use it instead of wcslen.
75966
75967 2003-08-11  Bruno Haible  <bruno@clisp.org>
75968
75969         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
75970         value to ensure that _Bool promotes to int. Use #define for _Bool when
75971         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
75972
75973 2003-08-10  Karl Berry  <karl@gnu.org>
75974
75975         * lib/regex.h: update from libc (whitespace fix).
75976
75977 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75978
75979         Merge some files from coreutils.  These changes were
75980         originally made by Jim Meyering.
75981         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
75982         many older Unixes require this.
75983         * lib/alloca.c (alloca): Remove cast to argument of free;
75984         no longer needed in C89.
75985         * lib/alloca_.h, regex.h: Fix white space to match
75986         what GNU indent does.
75987
75988 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75989
75990         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
75991         apparently Emacs's Unicode mode got confused before my 2003-08-05
75992         checkin.
75993
75994 2003-08-08  Paul Eggert  <eggert@twinsun.com>
75995
75996         * m4/extensions.m4: New file.
75997         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
75998         Require gl_USE_SYSTEM_EXTENSIONS.
75999         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
76000         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
76001
76002 2003-08-08  Paul Eggert  <eggert@twinsun.com>
76003
76004         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
76005         * modules/extensions, modules/gnu-source: New files.
76006         * modules/timespec, modules/unlocked-io: Depend on extensions.
76007
76008 2003-08-07  Paul Eggert  <eggert@twinsun.com>
76009
76010         * modules/restrict: New file.
76011         * MODULES.html.sh (func_all_modules): Add restrict.
76012         * modules/regex: Depend on restrict.
76013
76014 2003-08-07  Paul Eggert  <eggert@twinsun.com>
76015
76016         * m4/restrict.m4: New file.
76017         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
76018
76019 2003-08-07  Bruno Haible  <bruno@clisp.org>
76020
76021         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
76022         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
76023
76024 2003-08-07  Bruno Haible  <bruno@clisp.org>
76025
76026         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
76027         makes the module 'getndelim2' compatible with the module 'getline'.
76028
76029 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76030
76031         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
76032         byte with "\201" to avoid glitches when editing that source file
76033         with multi-gnome-terminal.
76034
76035 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76036
76037         * lib/bumpalloc.h: Remove.
76038
76039 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76040
76041         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
76042         * modules/bumpalloc: Remove.
76043
76044 2003-08-04  Paul Eggert  <eggert@twinsun.com>
76045
76046         * lib/getloadavg.c: Change copyright notice and spacing to conform to
76047         GNU coding style.
76048
76049         Merge from coreutils.
76050         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
76051         1. From glibc.
76052         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
76053         from Karl Berry, implemented by Jim Meyering.
76054         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
76055         from Dmitry V. Levin.
76056         Remove anachronistic cast of xrealloc.
76057         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
76058         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
76059         type. Otherwise, it wouldn't compile with at least /bin/cc on
76060         ymp-cray-unicos9.0.2.X.
76061         Combine two mostly-identical uses of alloca into one.
76062         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
76063
76064 2003-08-04  Dave Love  <d.love@dl.ac.uk>
76065
76066         [From Emacs.]
76067
76068         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
76069         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
76070         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
76071         obsolete NLIST_NAME_UNION.
76072         [__GNU__]: Undef BSD and FSCALE.
76073         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
76074
76075 2003-08-03  Paul Eggert  <eggert@twinsun.com>
76076
76077         * lib/stdbool_.h (_Bool): Make it signed char, instead of
76078         an enum type, so that it's guaranteed to promote to int.  See:
76079         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
76080
76081 2003-08-03  Karl Berry  <karl@gnu.org>
76082
76083         * config/depcomp: update from automake.
76084
76085 2003-07-31  Paul Eggert  <eggert@twinsun.com>
76086
76087         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
76088         (strerror): Don't assume that a printable int fits in 14 bytes.
76089
76090 2003-07-31  Bruno Haible  <bruno@clisp.org>
76091
76092         * modules/getpass-gnu: New file.
76093         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
76094
76095 2003-07-31  Bruno Haible  <bruno@clisp.org>
76096
76097         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
76098
76099 2003-07-24  Karl Berry  <karl@gnu.org>
76100
76101         * config/missing: update from automake.
76102
76103 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
76104             Bruno Haible  <bruno@clisp.org>
76105
76106         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
76107         * lib/getline.c (getline, getdelim): Likewise.
76108         Remove _GNU_SOURCE define; now it's defined in config.h through
76109         m4/getline.m4.
76110
76111 2003-07-23  Karl Berry  <karl@gnu.org>
76112
76113         * config/config.sub: update from prep.
76114
76115 2003-07-22  Paul Eggert  <eggert@twinsun.com>
76116
76117         * modules/xalloc (Depends-on): Add exitfail.
76118         * modules/xmemcoll: Likewise.
76119
76120 2003-07-22  Paul Eggert  <eggert@twinsun.com>
76121
76122         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
76123         over-parenthesization in macros.
76124
76125         Sync with coreutils.
76126
76127         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
76128         required by C99.
76129
76130         Use `exit_failure' for xalloc and xmemcoll instead of their own
76131         private exit-failure variables.
76132         * lib/xalloc.h (xalloc_exit_failure): Remove.
76133         * lib/xmalloc.c: Likewise.  Include exitfail.h.
76134         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
76135         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
76136         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
76137         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
76138
76139 2003-07-20  Jim Meyering  <jim@meyering.net>
76140
76141         * modules/closeout (Depends-on): Add exitfail.
76142         Suggestion from Bruno Haible.
76143
76144 2003-07-19  Karl Berry  <karl@gnu.org>
76145
76146         * config/config.sub: update from prep.
76147
76148 2003-07-18  Paul Eggert  <eggert@twinsun.com>
76149
76150         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
76151         Remove.
76152         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
76153         to test that it can stand by itself.  Include "exitfail.h".
76154         Clients should set exit_failure instead.
76155         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
76156
76157 2003-07-18  Bruno Haible  <bruno@clisp.org>
76158
76159         * modules/getndelim2: New file.
76160         * modules/getline: Share files with module getndelim2.
76161         * modules/getnline: Depend on getndelim2 instead of sharing files with
76162         it. Add getnline.c to lib_SOURCES.
76163         * MODULES.html.sh (func_all_modules): Add getndelim2.
76164
76165 2003-07-18  Bruno Haible  <bruno@clisp.org>
76166
76167         * m4/getndelim2.m4: New file.
76168         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
76169         invoke gl_PREREQ_GETNDELIM2.
76170         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
76171         gl_PREREQ_GETNDELIM2.
76172         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
76173         gl_GETNDELIM2.
76174
76175 2003-07-18  Bruno Haible  <bruno@clisp.org>
76176
76177         * lib/getndelim2.h: New file.
76178         * lib/getndelim2.c: Make into a module of its own. Include config.h,
76179         getndelim2.h.
76180         (getndelim2): Make non-static. Change return type to ssize_t.
76181         * lib/getline.h: Change argument names.
76182         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
76183         * lib/getnline.c: Include getndelim2.h.
76184
76185 2003-07-18  Andreas Schwab  <schwab@suse.de>
76186
76187         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
76188
76189 2003-07-17  Karl Berry  <karl@gnu.org>
76190
76191         * config/config.sub: update from prep.
76192
76193 2003-07-17  Bruno Haible  <bruno@clisp.org>
76194
76195         * modules/getnline: New file.
76196         * modules/getline: Add lib/getndelim2.c to source file list.
76197         * MODULES.html.sh (func_all_modules): Add getnline.
76198
76199 2003-07-17  Bruno Haible  <bruno@clisp.org>
76200
76201         * m4/getnline.m4: New file.
76202
76203 2003-07-17  Bruno Haible  <bruno@clisp.org>
76204
76205         * m4/Makefile.am.in: Remove file.
76206         * m4/Makefile.am: Remove file.
76207         * m4/Makefile.in: Remove file.
76208
76209 2003-07-17  Bruno Haible  <bruno@clisp.org>
76210
76211         * lib/getnline.h: New file.
76212         * lib/getnline.c: New file.
76213         * lib/getndelim2.c: New file, extracted from getline.c.
76214         (getndelim2): Renamed from getdelim2, with added nmax argument.
76215         * lib/getline.c: Include getndelim2.c.
76216         (getdelim2): Moved out to getndelim2.c.
76217         (getline, getdelim): Update.
76218
76219 2003-07-17  Bruno Haible  <bruno@clisp.org>
76220
76221         * lib/Makefile.am: Remove file.
76222         * lib/Makefile.in: Remove file.
76223
76224 2003-07-17  Bruno Haible  <bruno@clisp.org>
76225
76226         * configure.in: Remove file.
76227         * Makefile.in: Remove file.
76228
76229 2003-07-17  Bruno Haible  <bruno@clisp.org>
76230
76231         * MODULES.html.sh: Put the </BODY> right before </HTML>.
76232
76233 2003-07-16  Karl Berry  <karl@gnu.org>
76234
76235         * config/srclist-update: was running fixlicense twice, which caused
76236                 texinfo.tex to be nullified for some reason.  Simplify,
76237                 $gplsrc is no longer needed as far as I can see?
76238
76239 2003-07-16  Jim Meyering  <jim@meyering.net>
76240
76241         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
76242
76243 2003-07-15  Paul Eggert  <eggert@twinsun.com>
76244
76245         * config/srclist.txt: Get the following files from gettext-runtime/intl
76246         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
76247         ref-del.sin.  From Bruno Haible.
76248         * config/srclist-update (fixfile): Change grep pattern again, since the
76249         previous fix didn't work (there was another trailing $).  Use
76250         '[$]' to escape the $s.
76251
76252 2003-07-15  Karl Berry  <karl@gnu.org>
76253
76254         * lib/vasnprintf.c: update from gettext.
76255
76256 2003-07-15  Karl Berry  <karl@gnu.org>
76257
76258         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
76259         gets expanded when surrounded by '$'.
76260
76261 2003-07-15  Jim Meyering  <jim@meyering.net>
76262
76263         * modules/save-cwd: Don't depend on error.  From Derek Price.
76264
76265 2003-07-15  Jim Meyering  <jim@meyering.net>
76266
76267         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
76268
76269 2003-07-14  Simon Josefsson  <jas@extundo.com>
76270
76271         * modules/mempcpy: New file.
76272         * MODULES.html.sh (func_all_modules): Add mempcpy.
76273
76274 2003-07-14  Simon Josefsson  <jas@extundo.com>
76275
76276         * m4/mempcpy.m4: New file.
76277
76278 2003-07-14  Simon Josefsson  <jas@extundo.com>
76279
76280         * lib/mempcpy.h: New file.
76281         * lib/mempcpy.c: New file.
76282
76283 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76284
76285         * modules/getdate, modules/posixtm: Depend on mktime.
76286
76287 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76288
76289         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
76290         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
76291         unicodeio.c, unicodeio.h, unlocked-io.h:
76292         Switch from LGPL to GPL.
76293
76294 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76295
76296         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
76297         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
76298         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
76299         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
76300         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
76301         updated automatically by ../config/srclist-update.  This changes
76302         their license from LPGL to GPL.
76303
76304 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76305
76306         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
76307         assumed to refer to the root of the most recent stable gettext version.
76308         * config/srclistvars.sh: Add defaults for eggert.
76309         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
76310         Match "This program" as well as "The program".  This is needed
76311         for gettext.
76312
76313 2003-07-14  Jim Meyering  <jim@meyering.net>
76314
76315         Don't emit diagnostics.  Let callers do that.
76316         * lib/save-cwd.c: Don't include "error.h".
76317         (save_cwd): Don't call error.  Ensure that errno is valid
76318         when returning nonzero.
76319
76320         * lib/save-cwd.h (restore_cwd): Update prototype.
76321         * lib/save-cwd.c (restore_cwd): Remove two parameters.
76322         Simplify.  Don't call error upon failure.  Let callers do that.
76323         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
76324         when auditing is enabled.  But don't bother updating the #if.
76325
76326 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
76327
76328         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
76329         it breaks C++ compilation.
76330         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
76331
76332 2003-07-10  Simon Josefsson  <jas@extundo.com>
76333
76334         * modules/strchrnul (Makefile.am): Add strchrnul.h.
76335
76336 2003-07-10  Jim Meyering  <jim@meyering.net>
76337
76338         * m4/clock_time.m4: Remove trailing blank.
76339         * m4/intmax_t.m4: Likewise.
76340
76341 2003-07-10  Jim Meyering  <jim@meyering.net>
76342
76343         * lib/vasnprintf.c: Remove trailing blanks.
76344         Make cpp indentation consistent.
76345
76346 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76347
76348         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
76349         posixver.c, strftime.c, strnlen.c, strverscmp.c:
76350         Switch from LGPL to GPL.
76351
76352 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76353
76354         * config/srclist.txt: Sort sublists.  Add
76355         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
76356         that differ from gnulib for one reason or another; we'd like this list
76357         to be smaller but for now let's document what we have.
76358
76359 2003-07-08  Paul Eggert  <eggert@twinsun.com>
76360
76361         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
76362         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
76363         and sweeter "eval x=$x".
76364         * config/srclist.txt: Get lib/argp* from glibc.
76365
76366 2003-07-07  Paul Eggert  <eggert@twinsun.com>
76367
76368         * lib/mktime.c: Fix some boundary cases and remove need for floating
76369         point.
76370
76371         Issue a compile-time diagnostic if time_t is floating point, or if
76372         two's complement arithmetic is not in effect, or if arithmetic
76373         right shift does not propagate the sign.  These assumptions were
76374         all in the original code but they weren't checked.
76375
76376         (TIME_T_MIDPOINT, verify): New macros.
76377         (__isleap): Remove; it has integer overflow problems.
76378         (leapyear): New function, without those problems.
76379         (ydhms_tm_diff): Remove; splitting into two parts.
76380         (ydhms_diff): New function, containing the arithmetic part of
76381         the old ydhms_tm_diff function.  Issue a compile-time
76382         diagnostic if we are not using C99 integer division.
76383         Avoid casts when possible.
76384         (guess_time_tm): New function, containing the checking part of
76385         the old ydhms_tm_diff function.  Return the new value, rather than
76386         the difference between it and the old.  Accept a new argument T
76387         so that *T specifies the old value.  Check for overflow in the result.
76388
76389         (__mktime_internal): Use a time_t offset, not a long int offset.
76390         This undoes the 2003-06-04 change, which is no longer needed now
76391         that we have better overflow checking.
76392         (localtime_offset): Likewise.
76393
76394         (__mktime_internal): Avoid harmful overflow on hosts where time_t
76395         and long are 64-bit but int is only 32-bit.
76396         (ydhms_diff): Use long int to store year1 and yday1.
76397         Issue a compile-time diagnostic if long int is not wide enough.
76398
76399         (__mktime_internal): Use long int to store adjusted year and yday.
76400         Use plain C rather than preprocessor commands, if that doesn't
76401         affect efficiency.
76402         Check for overflow (and try to repair) after each probe
76403         rather than checking only at the very end.  This avoids some bugs
76404         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
76405         does not equal GMT offset at maximum time).
76406         Use integer to check for overflow rather than floating point; this
76407         is more portable to non-IEEE hosts, and is a tad faster.
76408         When we detect that we are oscillating between two values,
76409         don't check whether tm_isdst has the requested value, since
76410         we already know the answer.  When tm_isdst has the wrong value,
76411         use a different heuristic to find the right one, based on the
76412         extreme values actually observed in practice in tz2003a,
76413         rather than the (overly optimistic) "previous 3 calendar quarters".
76414
76415         (not_equal_tm, print_tm, check_result): Use "const T" rather than
76416         "T const" to accommodate glibc style.
76417         (check_result): Use less-confusing report format.  "long" -> "long int.
76418         (main): Likewise.
76419         Don't loop if the iteration overflows time_t.
76420         Allow a negative step in the iteration.
76421
76422 2003-07-06  Karl Berry  <karl@gnu.org>
76423
76424         * config/depcomp: update from automake.
76425         * config/config.sub: update from prep.
76426
76427 2003-07-03  Karl Berry  <karl@gnu.org>
76428
76429         * config/config.guess: update from prep.
76430
76431 2003-07-01  Paul Eggert  <eggert@twinsun.com>
76432
76433         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
76434         xreadlink.c now includes it unconditionally.
76435
76436 2003-07-01  Paul Eggert  <eggert@twinsun.com>
76437
76438         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
76439         having it depend on HAVE_SYS_TYPES_H.
76440
76441 2003-07-01  Bruno Haible  <bruno@clisp.org>
76442
76443         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
76444         <sys/types.h> should be sufficient.
76445         Reported by Paul Eggert.
76446
76447 2003-06-26  Karl Berry  <karl@gnu.org>
76448
76449         * config/depcomp: update from automake.
76450
76451 2003-06-26  Bruno Haible  <bruno@clisp.org>
76452
76453         * modules/human: Depend on module stdbool.
76454
76455 2003-06-25  Bruno Haible  <bruno@clisp.org>
76456
76457         * modules/readlink: New file.
76458         * modules/xreadlink: Depend on it.
76459         * MODULES.html.sh (func_all_modules): Add readlink.
76460
76461 2003-06-25  Bruno Haible  <bruno@clisp.org>
76462
76463         * m4/readlink.m4: New file.
76464
76465 2003-06-25  Bruno Haible  <bruno@clisp.org>
76466
76467         * lib/readlink.c: New file.
76468
76469 2003-06-22  Karl Berry  <karl@gnu.org>
76470
76471         * config/srclist.txt: update mkinstalldirs from automake.
76472         * config/mkinstalldirs: update.
76473
76474 2003-06-22  Bruno Haible  <bruno@clisp.org>
76475
76476         Portability to mingw32.
76477         * m4/ssize_t.m4: New file, from GNU gettext.
76478         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
76479         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
76480
76481 2003-06-22  Bruno Haible  <bruno@clisp.org>
76482
76483         * modules/safe-read: Add m4/ssize_t.m4.
76484         * modules/xreadlink: Add m4/ssize_t.m4.
76485
76486 2003-06-20  Bruno Haible  <bruno@clisp.org>
76487
76488         Assume C89, so PARAMS isn't needed.
76489         * lib/unicodeio.h (PARAMS): Remove.
76490         * lib/unicodeio.c: Don't use PARAMS.
76491
76492 2003-06-18  Karl Berry  <karl@gnu.org>
76493
76494         * config/config.{guess,sub}: update from prep.
76495
76496 2003-06-18  Jim Meyering  <jim@meyering.net>
76497
76498         Merge changes from coreutils.
76499         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
76500         Remove explicit declarations of xmalloc and realloc.
76501         Include xalloc.h.
76502         (read_utmp): Remove anachronistic cast of xmalloc.
76503
76504 2003-06-17  Paul Eggert  <eggert@twinsun.com>
76505
76506         Assume C89, so PARAMS isn't needed.
76507         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
76508         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
76509         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
76510         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
76511         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
76512         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
76513         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
76514         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
76515         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
76516         lib/xstrtod.h, lib/xstrtol.h: Likewise.
76517         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
76518         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
76519         no longer needed. Anyway, config.h should always be included before any
76520         other file.
76521
76522 2003-06-11  Simon Josefsson  <jas@extundo.com>
76523
76524         * modules/sysexits: New file.
76525         * MODULES.html.sh (func_all_modules): Add sysexits.
76526
76527 2003-06-11  Simon Josefsson  <jas@extundo.com>
76528
76529         * lib/sysexit_.h: New file.
76530
76531 2003-06-11  Derek Price  <derek@ximbiot.com>
76532
76533         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
76534         necessary.
76535
76536 2003-06-11  Bruno Haible  <bruno@clisp.org>
76537
76538         * m4/sysexits.m4: New file.
76539
76540 2003-06-10  Simon Josefsson  <jas@extundo.com>
76541
76542         * lib/argp.h: New file, from glibc.
76543         * lib/argp-ba.c: New file, from glibc.
76544         * lib/argp-eexst.c: New file, from glibc.
76545         * lib/argp-fmtstream.c: New file, from glibc.
76546         * lib/argp-fmtstream.h: New file, from glibc.
76547         * lib/argp-fs-xinl.c: New file, from glibc.
76548         * lib/argp-help.c: New file, from glibc.
76549         * lib/argp-namefrob.h: New file, from glibc.
76550         * lib/argp-parse.c: New file, from glibc.
76551         * lib/argp-pv.c: New file, from glibc.
76552         * lib/argp-pvh.c: New file, from glibc.
76553         * lib/argp-xinl.c: New file, from glibc.
76554
76555 2003-06-10  Simon Josefsson  <jas@extundo.com>
76556
76557         * modules/strchrnul: New file.
76558
76559 2003-06-10  Simon Josefsson  <jas@extundo.com>
76560
76561         * modules/argp: New file.
76562
76563 2003-06-10  Simon Josefsson  <jas@extundo.com>
76564
76565         * m4/strchrnul.m4: New file.
76566
76567 2003-06-10  Simon Josefsson  <jas@extundo.com>
76568
76569         * lib/strchrnul.h: New file.
76570         * lib/strchrnul.c: New file.
76571
76572 2003-06-10  Bruno Haible  <bruno@clisp.org>
76573
76574         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
76575
76576 2003-06-07  Karl Berry  <karl@gnu.org>
76577
76578         * config/config.{guess,sub}: update from prep.
76579
76580 2003-06-07  Jim Meyering  <jim@meyering.net>
76581
76582         * modules/strtod: Use $(...) notation, not @...@ for
76583         AC_REPLACE'd variables.
76584         * modules/localcharset: Likewise.
76585
76586 2003-06-07  Jim Meyering  <jim@meyering.net>
76587
76588         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
76589         in place of my name in the copyright comment.
76590         Remove definition and uses of __P.
76591
76592         From coreutils.
76593         * lib/stat.c: Don't declare xmalloc explicitly.
76594         Instead, include "xalloc.h".
76595         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
76596         xrealloc, and xcalloc return values.
76597         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
76598         Improve comment.
76599         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
76600
76601 2003-06-07  Bruno Haible  <bruno@clisp.org>
76602
76603         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
76604         avoid AC_CONFIG_LINKS.
76605         * modules/fnmatch (Makefile.am): Use explicit creation rule for
76606         fnmatch.h, to avoid AC_CONFIG_LINKS.
76607         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
76608
76609 2003-06-07  Bruno Haible  <bruno@clisp.org>
76610
76611         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
76612         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
76613         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
76614         directory.
76615         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
76616         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
76617         directory.
76618
76619 2003-06-06  Jim Meyering  <jim@meyering.net>
76620
76621         Merge from coreutils.
76622         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
76623         Consolidate declarations and initializations of *_base* locals.
76624
76625         Merge from coreutils.
76626         This avoids a core dump on systems without GNU putenv,
76627         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
76628         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
76629         (unsetenv): New static function, from GNU libc.
76630         (rpl_putenv): Use it.
76631
76632         * lib/modechange.c: Remove trailing blanks.
76633
76634         Merge from coreutils.
76635         * lib/fsusage.c: Remove declaration of statfs.
76636         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
76637
76638         * lib/posixtm.c: Include <stdbool.h> unconditionally.
76639
76640 2003-06-06  Jim Meyering  <jim@meyering.net>
76641
76642         * lib/stdbool_.h: Renamed from stdbool.h.in.
76643
76644 2003-06-06  Jim Meyering  <jim@meyering.net>
76645             Bruno Haible  <bruno@clisp.org>
76646
76647         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
76648         Adjust Makefile.am snippet not to redirect directly to target.
76649         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
76650
76651 2003-06-05  Paul Eggert  <eggert@twinsun.com>
76652
76653         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
76654         mismatch, look in future quarters as well as past.  This fixes a
76655         bug when processing fall-backwards gaps immediately after a long
76656         period of daylight-saving time.
76657
76658         * lib/mktime.c: Assume freestanding C89 or better.
76659         (HAVE_LIMITS_H): Remove.  Assume it's 1.
76660         (__P): Remove; not used.
76661         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
76662         (mktime, not_equal_tm, print_tm, check_result,
76663         main): Use prototypes.  Use const * where appropriate.
76664         (main): Fix typo in testing code that uncovered by above changes.
76665         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
76666
76667 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76668
76669         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
76670         locale.h, localeconv.  This merges changes from coreutils.
76671
76672         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
76673         It can be removed after the next Autoconf is released.
76674         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
76675         needed.
76676
76677 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76678
76679         * lib/mktime.c: Fix Debian bug 177940
76680         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
76681         (localtime_offset): Now long int, not time_t, because we want it
76682         to be guaranteed to be signed.  All uses changed.
76683         (__mktime_internal): If overflow would occur when adding offset,
76684         don't add it.
76685
76686         Merge 'human' changes from coreutils.  Rewrite to support
76687         locale-specific notations like thousands separators.
76688         * lib/human.c: Simplify authorship notice.
76689         Include human.h immediately after config.h.
76690         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
76691         <limits.h>: Do not include, since human.h does.
76692         (SIZE_MAX, UINTMAX_MAX): New macros.
76693         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
76694         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
76695         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
76696         (power_letter): Renamed from suffixes.
76697         (generate_suffix_backwards): Remove.
76698         (adjust_value): Now takes int style (because of human.h changes)
76699         and long double value (for greater precision on some platforms).
76700         (group_number): New function.
76701         (human_readable): Use it.  Use integer options, not enum.
76702         Put the options before the sizes in the arg list.
76703         Support all the new options.
76704         The old human_readable function has been removed;
76705         use inttostr.h instead.
76706         (human_readable, default_block_size, humblock):
76707         Use uintmax_t, not int, for block sizes.
76708         (human_readable_inexact, block_size_types): Remove.
76709         (block_size_opts): New constant.
76710         (human_options): Renamed from human_block_size, with new signature
76711         that allows block sizes up to UINTMAX_MAX.  All callers changed.
76712         * lib/human.h: Add copyright and authorship notice.
76713         Include <limits.h> and <stdbool.h> unconditionally.
76714         (PARAMS): Remove.  All uses removed.
76715         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
76716         (enum human_inexact_style): Remove tag; now a nameless enum.
76717         (human_floor, human_ceiling, human_round_to_even): Now have
76718         values 2, 0, 1 rather than -1, 1, 0.
76719         (human_group_digits, human_suppress_point_zero, human_autoscale,
76720         human_base_1024, human_SI, human_B): New constants.
76721         (human_readable_inexact, human_block_size): Remove.
76722         (human_readable): Size args are now uintmax_t, not int.
76723         (human_options): New decl.
76724
76725         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
76726         unnecessary now that we assume C89 or better.  This change
76727         imported from coreutils.
76728
76729         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76730         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
76731         in the 2003-05-30 sync from glibc.
76732
76733         .h files should stand alone, but we shouldn't include <sys/types.h>
76734         if we can get away with just <stddef.h>.
76735
76736         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
76737         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
76738         rather than <sys/types.h>, as we merely need size_t.
76739         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
76740         to get size_t.
76741         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
76742         Include <stdio.h>, to get FILE.
76743         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
76744         memcasecmp.h has included <stddef.h> and all we need is size_t.
76745         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
76746         our interface, instead of including <sys/types.h>
76747
76748 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76749
76750         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
76751         now, as glibc mktime is buggy on non-glibc systems.
76752
76753 2003-06-03  Karl Berry  <karl@gnu.org>
76754
76755         * config/config.sub: update from prep.
76756
76757 2003-06-02  Paul Eggert  <eggert@twinsun.com>
76758
76759         [from coreutils]
76760         Fix some minor time-related bugs with POSIX time arguments.
76761         Some valid time stamps were being rejected (notably -1, and
76762         time stamps before 1900 on 64-bit hosts).  And some invalid
76763         time stamps were being accepted, e.g. September 31.
76764
76765         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
76766         that we can return (time_t) -1 successfully.
76767         * lib/posixtm.c: Likewise.
76768         [HAVE_STDBOOL_H]: Include <stdbool.h>.
76769         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
76770         (t): Remove static var.
76771         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
76772         of static var.  All uses changed.
76773         (year): Do not reject years before 1900; they can occur with
76774         64-bit time_t.
76775         (posix_time_parse): Do not check for out-of-range components;
76776         that is now the caller's responsibility, since our checks were
76777         only approximations.
76778         (posixtime): Use mktime to check for out-of-range components,
76779         since it knows them exactly.
76780         If mktime returns (time_t) -1, check whether an error actually occurred
76781         by invoking localtime on -1.
76782         (main) [TEST_POSIXTIME]: Check for input data errors, and report
76783         posixtime failures better.
76784         Improve the test data (in comments only).
76785
76786 2003-06-02  Karl Berry  <karl@gnu.org>
76787
76788         * config/mkinstalldirs (version): new variable.
76789         (--version): new option.
76790         (usage): improve message.
76791
76792 2003-05-30  Karl Berry  <karl@gnu.org>
76793
76794         * lib/mktime.c: update from libc.
76795
76796 2003-05-30  Bruno Haible  <bruno@clisp.org>
76797
76798         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
76799         * config/config.rpath: Upgrade to gettext-0.12.1.
76800
76801 2003-05-30  Bruno Haible  <bruno@clisp.org>
76802
76803         * m4/gettext.m4: Upgrade to gettext-0.12.1.
76804         * m4/nls.m4: New file, from gettext-0.12.1.
76805         * m4/po.m4: New file, from gettext-0.12.1.
76806         * m4/progtest.m4: Upgrade to gettext-0.12.1.
76807
76808 2003-05-30  Bruno Haible  <bruno@clisp.org>
76809
76810         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
76811         * lib/localcharset.h: Likewise.
76812         * lib/localcharset.c: Likewise.
76813
76814 2003-05-29  Karl Berry  <karl@gnu.org>
76815
76816         * config/config.rpath: update from gettext.
76817
76818 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76819
76820         Assume the headers required for C89 freestanding compilers.
76821         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
76822         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
76823         * m4/human.m4 (gl_HUMAN): Likewise.
76824         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
76825         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
76826         * m4/userspec.m4 (gl_USERSPEC): Likewise.
76827         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
76828         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76829         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
76830
76831 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76832
76833         Assume the headers required for C89 freestanding compilers.
76834         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
76835         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
76836         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
76837         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
76838         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
76839         define, since <limits.h> is guaranteed to do that.
76840         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
76841         * lib/exclude.c: Include <stdbool.h> unconditionally.
76842         * lib/tempname.c: Include <stddef.h> unconditionally.
76843         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
76844         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
76845         <stddef.h> does that.
76846         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
76847         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
76848         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
76849         needed.
76850         * lib/xstrtol.c: Likewise.
76851         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
76852         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
76853
76854         * lib/addext.c (addext): Use assignment rather than cast, to avoid
76855         warnings on some platforms.
76856
76857         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76858         arbitrarily.
76859
76860 2003-05-26  Jim Meyering  <jim@meyering.net>
76861
76862         Merge in a change from coreutils:
76863         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
76864         that is guaranteed to be `no'.  Use `no_such_member' to indicate
76865         that condition, rather than `-1' which is slightly misleading.
76866         Change the name of the cache variable to have the gl_ prefix.
76867         Prompted by a patch from Richard Dawe for DJGPP.
76868
76869 2003-05-24  Karl Berry  <karl@gnu.org>
76870
76871         * config/config.guess: update from prep.
76872
76873 2003-05-22  Karl Berry  <karl@gnu.org>
76874
76875         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
76876
76877 2003-05-20  Karl Berry  <karl@gnu.org>
76878
76879         * config/config.guess: update from prep.
76880
76881 2003-05-18  Karl Berry  <karl@gnu.org>
76882
76883         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
76884         might actually be set by the user.
76885
76886         * config/depcomp, install-sh, mdate-sh: update from automake.
76887
76888 2003-05-17  Bruno Haible  <bruno@clisp.org>
76889
76890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
76891         invalid expansion for AC_EGREP_CPP.
76892         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
76893         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
76894         Suggested by Akim Demaille <akim@epita.fr> in
76895         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
76896
76897 2003-05-12  Jim Meyering  <jim@meyering.net>
76898
76899         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
76900         the space-padded-by-default conversion specifiers, %e, %k, %l.
76901
76902 2003-05-12  Bruno Haible  <bruno@clisp.org>
76903
76904         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
76905         the string is longer than 4 KB.
76906
76907 2003-05-11  Karl Berry  <karl@gnu.org>
76908
76909         * config/config.{guess,sub}: update from prep.
76910
76911 2003-05-09  Bruno Haible  <bruno@clisp.org>
76912
76913         * modules/error: Add m4/strerror_r.m4 to file list.
76914
76915 2003-05-03  Bruno Haible  <bruno@clisp.org>
76916
76917         Upgrade to Unicode-4.0.
76918         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
76919         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
76920         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
76921         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
76922         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
76923         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
76924         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
76925         Change width of U+E0100..U+E01EF from 1 to 0.
76926
76927 2003-04-25  Jim Meyering  <jim@meyering.net>
76928
76929         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
76930         of type size_t, not int.
76931
76932 2003-04-25  Bruno Haible  <bruno@clisp.org>
76933
76934         * lib/copy-file.c: Include <stddef.h>, for size_t.
76935
76936 2003-04-21  Paul Eggert  <eggert@twinsun.com>
76937
76938         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
76939         code which expansion is under static control.  Patch imported from
76940         Akim Demaille's patch to Bison; see
76941         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
76942
76943 2003-04-14  Bruno Haible  <bruno@clisp.org>
76944
76945         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
76946
76947 2003-04-11  Jim Meyering  <jim@meyering.net>
76948
76949         Merge changes from Coreutils.
76950
76951         2003-03-22  Jim Meyering  <jim@meyering.net>
76952
76953         * lib/strftime.c (widen): Cast alloca return value to proper type.
76954
76955         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
76956
76957         From GNU libc.
76958         * lib/strftime.c (my_strftime): Handle very large width
76959         specifications for numeric values correctly.  Improve checks for
76960         overflow.
76961
76962         2003-01-19  Jim Meyering  <jim@meyering.net>
76963
76964         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
76965         definitions.
76966         (nl_get_alt_digit) [! defined my_strftime]: Define.
76967         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
76968         _nl_get_alt_digit and _nl_get_walt_digit.
76969
76970         * lib/strftime.c (my_strftime): Merge in locale-related changes from
76971         libc. These changes have no effect outside of _LIBC.
76972
76973 2003-04-10  Bruno Haible  <bruno@clisp.org>
76974
76975         * modules/findprog: New file.
76976         * MODULES.html.sh (func_all_modules): Add it.
76977
76978 2003-04-10  Bruno Haible  <bruno@clisp.org>
76979
76980         * m4/findprog.m4: New file.
76981         * m4/eaccess.m4: New file.
76982
76983 2003-04-10  Bruno Haible  <bruno@clisp.org>
76984
76985         * lib/findprog.h: New file, from GNU gettext.
76986         * lib/findprog.c: New file, from GNU gettext.
76987
76988 2003-04-05  Jim Meyering  <jim@meyering.net>
76989
76990         Merge changes from Coreutils.
76991
76992         * lib/exclude.h (PARAMS): Remove definition and uses.
76993         * lib/exclude.c: Remove uses of `PARAMS'.
76994
76995         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
76996         Add test-cases for DOS filenames. Declare program_name.
76997         (main): Set up program_name.  Patch by Rich Dawe.
76998
76999         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
77000         error from mntctl.
77001         Use mntctl's return value to drive the entry-processing loop, since
77002         we can't rely on the value of the vmt_length member in the last
77003         entry.  On some systems doing so could result in exhausting
77004         virtual memory.  Based in part on a patch from Mike Jetzer.
77005
77006 2003-04-04  Bruno Haible  <bruno@clisp.org>
77007
77008         * modules/linebreak: New file.
77009         * MODULES.html.sh (func_all_modules): Add it.
77010
77011 2003-04-04  Bruno Haible  <bruno@clisp.org>
77012
77013         * m4/linebreak.m4: New file.
77014
77015 2003-04-04  Bruno Haible  <bruno@clisp.org>
77016
77017         * lib/linebreak.h: New file, from GNU gettext.
77018         * lib/linebreak.c: New file, from GNU gettext with slight
77019         modifications.
77020         * lib/lbrkprop.h: New file, from GNU gettext.
77021
77022 2003-04-03  Bruno Haible  <bruno@clisp.org>
77023
77024         * modules/utf8-ucs4: New file.
77025         * modules/utf16-ucs4: New file.
77026         * modules/ucs4-utf8: New file.
77027         * modules/ucs4-utf16: New file.
77028         * MODULES.html.sh (func_all_modules): Add them.
77029
77030 2003-04-03  Bruno Haible  <bruno@clisp.org>
77031
77032         * m4/utf-ucs4.m4: New file.
77033         * m4/ucs4-utf.m4: New file.
77034
77035 2003-04-03  Bruno Haible  <bruno@clisp.org>
77036
77037         * lib/utf8-ucs4.h: New file, from GNU gettext.
77038         * lib/utf16-ucs4.h: New file, from GNU gettext.
77039         * lib/ucs4-utf8.h: New file, from GNU gettext.
77040         * lib/ucs4-utf16.h: New file, from GNU gettext.
77041
77042 2003-04-02  Bruno Haible  <bruno@clisp.org>
77043
77044         * modules/binary-io: New file.
77045         * MODULES.html.sh (func_all_modules): Add it.
77046
77047 2003-04-02  Bruno Haible  <bruno@clisp.org>
77048
77049         * lib/binary-io.h: New file, from GNU gettext.
77050
77051 2003-04-01  Bruno Haible  <bruno@clisp.org>
77052
77053         * modules/pathname: New file.
77054         * MODULES.html.sh (func_all_modules): Add it.
77055
77056 2003-04-01  Bruno Haible  <bruno@clisp.org>
77057
77058         * lib/pathname.h: New file, from GNU gettext.
77059         * lib/concatpath.c: New file, from GNU gettext.
77060
77061 2003-03-30  Bruno Haible  <bruno@clisp.org>
77062
77063         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
77064
77065 2003-03-30  Bruno Haible  <bruno@clisp.org>
77066
77067         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
77068         function chown() doesn't exist.
77069
77070 2003-03-28  Bruno Haible  <bruno@clisp.org>
77071
77072         * modules/copy-file: New file.
77073         * MODULES.html.sh (func_all_modules): Add it.
77074
77075 2003-03-28  Bruno Haible  <bruno@clisp.org>
77076
77077         * m4/copy-file.m4: New file.
77078
77079 2003-03-28  Bruno Haible  <bruno@clisp.org>
77080
77081         * lib/copy-file.h: New file, from GNU gettext.
77082         * lib/copy-file.c: New file, from GNU gettext.
77083
77084 2003-03-18  Jim Meyering  <jim@meyering.net>
77085
77086         * lib/quote.c (quote_n): Fix typo in comment.
77087
77088 2003-03-18  Bruno Haible  <bruno@clisp.org>
77089
77090         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
77091         checking.
77092         * m4/onceonly_2_57.m4: Likewise.
77093
77094 2003-03-17  Bruno Haible  <bruno@clisp.org>
77095
77096         * m4/onceonly.m4: Require autoconf 2.54 or newer.
77097         (m4_quote): Remove macro.
77098         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
77099
77100 2003-03-14  Jim Meyering  <jim@meyering.net>
77101
77102         Merge changes from Coreutils.
77103         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
77104         to be const, in order to avoid warnings.
77105         (obstack_room): Likewise.
77106         (obstack_empty_p): Likewise.
77107
77108 2003-03-14  Bruno Haible  <bruno@clisp.org>
77109
77110         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
77111         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
77112
77113 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77114
77115         Merge changes from Bison.
77116         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
77117         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
77118         when compiling Bison 1.875's `bitset bset = obstack_alloc
77119         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
77120         * lib/hash.c: Include <stdbool.h> unconditionally.
77121
77122 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77123
77124         * m4/onceonly.m4 (m4_quote): New macro.
77125         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
77126         Quote AC_FOREACH variable-expansions properly.
77127
77128 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77129
77130         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
77131
77132 2003-03-09  Paul Eggert  <eggert@twinsun.com>
77133
77134         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
77135         Reported by Bruce Becker; see:
77136         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
77137
77138 2003-03-03  Paul Eggert  <eggert@twinsun.com>
77139             Bruno Haible  <bruno@clisp.org>
77140
77141         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
77142         Reported by John Hughes, see
77143         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
77144
77145 2003-02-20  Bruno Haible  <bruno@clisp.org>
77146
77147         * MODULES.html.sh (func_all_modules): Add poll.
77148
77149 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77150
77151         * modules/poll: New file.
77152
77153 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77154
77155         * lib/poll_.h: New file.
77156         * lib/poll.c: New file.
77157
77158 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77159
77160         * m4/poll.m4: New file.
77161
77162 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77163
77164         * modules/mathl: New file.
77165
77166 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77167
77168         * lib/mathl.h: New file.
77169         * lib/acosl.c: New file.
77170         * lib/asinl.c: New file.
77171         * lib/atanl.c: New file.
77172         * lib/ceill.c: New file.
77173         * lib/cosl.c: New file.
77174         * lib/expl.c: New file.
77175         * lib/floorl.c: New file.
77176         * lib/frexpl.c: New file.
77177         * lib/ldexpl.c: New file.
77178         * lib/logl.c: New file.
77179         * lib/sincosl.c: New file.
77180         * lib/sinl.c: New file.
77181         * lib/sqrtl.c: New file.
77182         * lib/tanl.c: New file.
77183         * lib/trigl.c: New file.
77184         * lib/trigl.h: New file.
77185
77186 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77187
77188         * m4/mathl.m4: New file.
77189
77190 2003-02-18  Bruno Haible  <bruno@clisp.org>
77191
77192         * MODULES.html.sh (func_all_modules): Add mathl.
77193
77194 2003-02-17  Bruno Haible  <bruno@clisp.org>
77195
77196         * modules/mkdtemp: New module.
77197         * MODULES.html.sh (func_all_modules): Add it.
77198
77199 2003-02-17  Bruno Haible  <bruno@clisp.org>
77200
77201         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
77202
77203 2003-02-17  Bruno Haible  <bruno@clisp.org>
77204
77205         * lib/mkdtemp.h: New file, from GNU gettext.
77206         * lib/mkdtemp.c: New file, from GNU gettext.
77207
77208 2003-02-02  Jim Meyering  <jim@meyering.net>
77209
77210         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
77211         e.g. glibc-2.2.93.
77212
77213 2003-01-31  Bruno Haible  <bruno@clisp.org>
77214
77215         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
77216         'rpl_rename'.
77217         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
77218         'rpl_strnlen'.
77219         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
77220         'rpl_strtod'.
77221         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
77222         'rpl_utime'.
77223
77224 2003-01-31  Bruno Haible  <bruno@clisp.org>
77225
77226         * lib/rename.c: #undef rename before defining rpl_rename.
77227         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
77228
77229 2003-01-30  Bruno Haible  <bruno@clisp.org>
77230
77231         * modules/vasnprintf, modules/vasprintf: New modules.
77232         * MODULES.html.sh (func_all_modules): Add them.
77233
77234 2003-01-30  Bruno Haible  <bruno@clisp.org>
77235
77236         * m4/signed.m4: New file, from GNU gettext.
77237         * m4/longdouble.m4: New file, from GNU gettext.
77238         * m4/wchar_t.m4: New file, from GNU gettext.
77239         * m4/wint_t.m4: New file, from GNU gettext.
77240         * m4/vasnprintf.m4: New file.
77241         * m4/vasprintf.m4: New file.
77242
77243 2003-01-30  Bruno Haible  <bruno@clisp.org>
77244
77245         * lib/printf-args.h: New file, from GNU gettext.
77246         * lib/printf-args.c: New file, from GNU gettext.
77247         * lib/printf-parse.h: New file, from GNU gettext.
77248         * lib/printf-parse.c: New file, from GNU gettext.
77249         * lib/vasnprintf.h: New file, from GNU gettext.
77250         * lib/vasnprintf.c: New file, from GNU gettext.
77251         * lib/asnprintf.c: New file, from GNU gettext.
77252         * lib/vasprintf.h: New file, from GNU gettext with modifications.
77253         * lib/vasprintf.c: New file, from GNU gettext.
77254         * lib/asprintf.c: New file, from GNU gettext.
77255
77256 2003-01-29  Bruno Haible  <bruno@clisp.org>
77257
77258         * modules/stpncpy: New module.
77259         * MODULES.html.sh (func_all_modules): Add it.
77260
77261 2003-01-29  Bruno Haible  <bruno@clisp.org>
77262
77263         * m4/stpncpy.m4: New file.
77264
77265 2003-01-29  Bruno Haible  <bruno@clisp.org>
77266
77267         * lib/stpncpy.h: New file, from GNU gettext with modifications.
77268         * lib/stpncpy.c: New file, from GNU gettext with modifications.
77269
77270 2003-01-28  Bruno Haible  <bruno@clisp.org>
77271
77272         * modules/c-ctype: New module.
77273         * MODULES.html.sh (func_all_modules): Add it.
77274
77275 2003-01-28  Bruno Haible  <bruno@clisp.org>
77276
77277         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
77278         Paul Eggert.
77279         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
77280         Paul Eggert.
77281
77282 2003-01-27  Bruno Haible  <bruno@clisp.org>
77283
77284         * modules/xsetenv: New module.
77285         * MODULES.html.sh (func_all_modules): Add it.
77286
77287 2003-01-27  Bruno Haible  <bruno@clisp.org>
77288
77289         * lib/xsetenv.h: New file, from GNU gettext.
77290         * lib/xsetenv.c: New file, from GNU gettext.
77291
77292 2003-01-23  Jim Meyering  <jim@meyering.net>
77293
77294         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
77295         from working on systems without dirfd (at least Irix and OSF1/Tru64).
77296
77297 2003-01-23  Bruno Haible  <bruno@clisp.org>
77298
77299         * modules/minmax: New module.
77300         * MODULES.html.sh (func_all_modules): Add it.
77301
77302 2003-01-23  Bruno Haible  <bruno@clisp.org>
77303
77304         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
77305         Eggert.
77306
77307 2003-01-22  Bruno Haible  <bruno@clisp.org>
77308
77309         * modules/exit: New module.
77310         * MODULES.html.sh (func_all_modules): Add it.
77311
77312 2003-01-22  Bruno Haible  <bruno@clisp.org>
77313
77314         * lib/exit.h: New file, from GNU gettext.
77315
77316 2003-01-19  Bruno Haible  <bruno@clisp.org>
77317
77318         * gnulib-tool: Recognize option --extract-maintainer.
77319         (func_get_maintainer): New function.
77320         * modules/*: Add Maintainer entry.
77321
77322 2003-01-16  Jim Meyering  <jim@meyering.net>
77323
77324         * m4/regex.m4: The `regex' struct is both input and output.
77325         Initialize it before each use.  Patch by Tim Waugh.
77326
77327 2003-01-16  Bruno Haible  <bruno@clisp.org>
77328
77329         * MODULES.html.sh: Add a table of contents. Add the module name as
77330         leftmost column. Add hyperlinks.
77331
77332 2003-01-15  Bruno Haible  <bruno@clisp.org>
77333
77334         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
77335
77336 2003-01-15  Bruno Haible  <bruno@clisp.org>
77337
77338         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
77339         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
77340         suffix.
77341
77342 2003-01-15  Bruno Haible  <bruno@clisp.org>
77343
77344         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
77345
77346 2003-01-15  Bruno Haible  <bruno@clisp.org>
77347
77348         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
77349         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
77350
77351 2003-01-14  Jim Meyering  <jim@meyering.net>
77352
77353         * lib/same.c (same_name): Tweak a comment.
77354
77355 2003-01-14  Bruno Haible  <bruno@clisp.org>
77356
77357         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
77358         when a string comparison is sufficient.
77359
77360 2003-01-14  Bruno Haible  <bruno@clisp.org>
77361
77362         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
77363         'unsigned int'.
77364
77365 2003-01-14  Bruno Haible  <bruno@clisp.org>
77366
77367         * lib/hash-pjw.c: Add comment about low quality of this function.
77368
77369 2003-01-13  Bruno Haible  <bruno@clisp.org>
77370
77371         * modules/stpcpy: Distribute lib/stpcpy.h.
77372         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
77373
77374 2003-01-13  Bruno Haible  <bruno@clisp.org>
77375
77376         * modules/*: Add a description.
77377         * modules/strpbrk: Fix Makefile.am snippet.
77378         * modules/strtoimax: Fix dependencies.
77379         * modules/strtoumax: Likewise.
77380
77381 2003-01-13  Bruno Haible  <bruno@clisp.org>
77382
77383         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
77384         * modules/alloca (Makefile.am): All object files depend on alloca.h.
77385         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
77386
77387 2003-01-13  Bruno Haible  <bruno@clisp.org>
77388
77389         * gnulib-tool (func_create_testdir): Store config/* files in the main
77390         directory.
77391         * config.rpath: Move to ...
77392         * config/config.rpath: ... here.
77393         * modules/gettext: Contains config/config.rpath, not config.rpath.
77394         * modules/iconv: Likewise.
77395
77396 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77397
77398         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77399         to avoid collisions with libcurses and libreadline.
77400
77401         * m4/getstr.m4: Remove.
77402         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
77403
77404 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77405
77406         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77407         to avoid collisions with libcurses and libreadline.
77408
77409         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
77410         * lib/getstr.h, getstr.c: Remove.
77411         * lib/getline.c: Include "getline.h", to check interface.
77412         Move body of old getstr.c here: this defines MIN_CHUNK and
77413         declares getdelim2, which is renamed from getstr.
77414         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
77415
77416         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
77417         All uses changed.
77418         * lib/linebuffer.h: Likewise.
77419         (readline): Remove backward-compatibility macro.
77420
77421 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77422
77423         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77424         to avoid collisions with libcurses and libreadline.
77425         * getstr: Remove.
77426         * MODULES.html.sh: Remove getstr.
77427         * modules/getline: Depend on unlocked-io, not getstr.
77428
77429 2003-01-12  Jim Meyering  <jim@meyering.net>
77430
77431         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
77432
77433 2003-01-10  Bruno Haible  <bruno@clisp.org>
77434
77435         * modules/alloca: Change Makefile.am requirements. Simplify Include
77436         requirements. Add lib/alloca_.h to file list.
77437
77438 2003-01-10  Bruno Haible  <bruno@clisp.org>
77439
77440         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
77441
77442 2003-01-10  Bruno Haible  <bruno@clisp.org>
77443
77444         * lib/alloca_.h: New file.
77445         * lib/getdate.y: Unconditionally include alloca.h.
77446         * lib/makepath.c: Likewise.
77447         * lib/setenv.c: Likewise.
77448         * lib/userspec.c: Likewise.
77449
77450 2003-01-09  Karl Berry  <karl@gnu.org>
77451
77452         * MODULES.html.sh: include `dirname $0` in PATH, to find
77453         gnulib-tool.
77454
77455 2003-01-09  Bruno Haible  <bruno@clisp.org>
77456
77457         * modules/stdbool: Change configure.ac, Makefile.am requirements.
77458         Simplify Include requirements. Add lib/stdbool.h.in to file list.
77459
77460 2003-01-09  Bruno Haible  <bruno@clisp.org>
77461
77462         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
77463
77464 2003-01-09  Bruno Haible  <bruno@clisp.org>
77465
77466         * lib/stdbool.h.in: New file.
77467
77468 2003-01-09  Bruno Haible  <bruno@clisp.org>
77469
77470         * gnulib-tool (func_all_modules): Ignore files ending in ~.
77471         * MODULES.html.sh: Likewise.
77472
77473 2003-01-08  Jim Meyering  <jim@meyering.net>
77474
77475         * lib/full-write.c: Undefine and define-away `const' after inclusion
77476         of errno.h, not before.  Suggestion from Bruno Haible.
77477
77478 2003-01-08  Bruno Haible  <bruno@clisp.org>
77479
77480         * modules/full-read: Depend on full-write.
77481
77482 2003-01-08  Bruno Haible  <bruno@clisp.org>
77483
77484         * lib/safe-read.c: Include specification header first, to ensure its
77485         selfcontainedness.
77486         * lib/full-write.c: Likewise.
77487
77488 2003-01-07  Jim Meyering  <jim@meyering.net>
77489
77490         * lib/full-write.c: Rework so that it may serve to define full_read,
77491         too.
77492         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
77493
77494 2003-01-07  Bruno Haible  <bruno@clisp.org>
77495
77496         * lib/strtoimax.c: Include <stdint.h> as an alternative to
77497         <inttypes.h>.
77498         * lib/xstrtol.h: Likewise.
77499         * lib/xstrtoimax.c: Likewise.
77500         * lib/xstrtoumax.c: Likewise.
77501         * lib/human.h: Likewise.
77502
77503         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
77504         on systems that have <inttypes.h> but not <stdint.h>.
77505
77506 2003-01-07  Bruno Haible  <bruno@clisp.org>
77507
77508         * MODULES.html.sh: Add copyright notice.
77509         (missed_files): Omit CVS directory entries.
77510         (func_module): Make it work with sed-3.02.
77511         * MODULES.txt: Remove file.
77512
77513 2003-01-06  Jim Meyering  <jim@meyering.net>
77514
77515         * lib/version-etc.c: Update year in translatable copyright string.
77516
77517 2003-01-03  Karl Berry  <karl@gnu.org>
77518
77519         * config/config.{guess,sub}: update from prep.
77520
77521 2003-01-02  Karl Berry  <karl@gnu.org>
77522
77523         * doc/COPYING.DOC: belatedly updated to 1.2.
77524
77525 2003-01-01  Karl Berry  <karl@gnu.org>
77526
77527         * gnulib-tool (func_verify_module): report module name $module in
77528         error message, not $1.
77529         * gnulib-tool (create-testdir): don't complain if destdir couldn't
77530         be created, only if it doesn't exist.
77531         * gnulib-tool (last_checkin_date): don't expand the $Date here.
77532
77533 2002-12-31  Paul Eggert  <eggert@twinsun.com>
77534
77535         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
77536
77537 2002-12-31  Paul Eggert  <eggert@twinsun.com>
77538
77539         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
77540         memcmp if strcoll doesn't work.
77541
77542 2002-12-31  Bruno Haible  <bruno@clisp.org>
77543
77544         * lib/utime.c (utime_null): No need to call ftruncate if the file was
77545         nonempty.
77546
77547 2002-12-31  Bruno Haible  <bruno@clisp.org>
77548
77549         * lib/memcoll.c (STRCOLL): New macro.
77550         (memcoll): Use it.
77551
77552 2002-12-31  Bruno Haible  <bruno@clisp.org>
77553
77554         * lib/localcharset.h: New file.
77555         * lib/localcharset.c: Include it.
77556         * lib/unicodeio.c: Likewise.
77557
77558 2002-12-31  Bruno Haible  <bruno@clisp.org>
77559
77560         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
77561         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
77562
77563 2002-12-31  Bruno Haible  <bruno@clisp.org>
77564
77565         * lib/getline.h: Include <stddef.h>, for size_t.
77566
77567         * lib/unicodeio.h: Include <stddef.h>, for size_t.
77568         * lib/unicodeio.c: Don't include <stddef.h>.
77569
77570 2002-12-31  Bruno Haible  <bruno@clisp.org>
77571
77572         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
77573         HAVE_TM_ZONE.
77574
77575 2002-12-24  Karl Berry  <karl@gnu.org>
77576
77577         * config/config.guess: update from prep.
77578
77579 2002-12-24  Bruno Haible  <bruno@clisp.org>
77580
77581         General infrasructure.
77582         * m4/README: Rewritten.
77583         * m4/onceonly.m4: New file.
77584         * m4/onceonly_2_57.m4: New file.
77585
77586         Module atexit.
77587         * m4/atexit.m4: New file.
77588
77589         Module strtod.
77590         * m4/strtod.m4: New file.
77591
77592         Module strtol.
77593         * m4/strtol.m4: New file.
77594
77595         Module strtoul.
77596         * m4/strtoul.m4: New file.
77597
77598         Module memchr.
77599         * m4/memchr.m4: New file.
77600
77601         Module memcmp.
77602         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
77603         (jm_FUNC_MEMCMP): Invoke it.
77604
77605         Module memcpy.
77606         * m4/memcpy.m4: New file.
77607
77608         Module memmove.
77609         * m4/memmove.m4: New file.
77610
77611         Module memset.
77612         * m4/memset.m4: New file.
77613
77614         Module strcspn.
77615         * m4/strcspn.m4: New file.
77616
77617         Module strpbrk.
77618         * m4/strpbrk.m4: New file.
77619
77620         Module strstr.
77621         * m4/strstr.m4: New file.
77622
77623         Module strerror.
77624         * m4/strerror.m4: New file.
77625
77626         Module mktime.
77627         * m4/mktime.m4: Renamed from jm-mktime.m4.
77628         (gl_PREREQ_MKTIME): New macro.
77629         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
77630
77631         Module malloc.
77632         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
77633         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
77634         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
77635
77636         Module realloc.
77637         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
77638         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
77639         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
77640
77641         Module strftime.
77642         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
77643         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
77644         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
77645         gl_TM_GMTOFF.
77646         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
77647
77648         Module xalloc.
77649         * m4/xalloc.m4: New file.
77650
77651         Module alloca.
77652         * m4/alloca.m4: New file.
77653
77654         Module putenv.
77655         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
77656         (jm_FUNC_PUTENV): Invoke it.
77657
77658         Module setenv.
77659         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
77660         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
77661         when invoked twice.
77662         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
77663         gt_FUNC_SETENV.
77664
77665         Module memrchr.
77666         * m4/memrchr.m4: New file.
77667
77668         Module stpcpy.
77669         * m4/stpcpy.m4: New file.
77670
77671         Module strcase.
77672         * m4/strcase.m4: New file.
77673
77674         Module strdup.
77675         * m4/strdup.m4: New file.
77676
77677         Module strnlen.
77678         * m4/strnlen.m4: New file.
77679
77680         Module strndup.
77681         * m4/strndup.m4: New file.
77682
77683         Module xstrtod.
77684         * m4/xstrtod.m4: New file.
77685
77686         Module xstrtol.
77687         * m4/xstrtol.m4: New file.
77688
77689         Module getdate.
77690         * m4/getdate.m4: New file.
77691
77692         Module unlocked-io.
77693         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
77694         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
77695         * m4/jm-glibc-io.m4n: Remove file.
77696
77697         Module long-options.
77698         * m4/long-options.m4: New file.
77699
77700         Module md5.
77701         * m4/md5.m4: New file.
77702
77703         Module sha.
77704         * m4/sha.m4: New file.
77705
77706         Module getstr.
77707         * m4/getstr.m4: New file.
77708
77709         Module getline.
77710         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
77711         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
77712         <sys/types.h>, for size_t. Use the function name gnu_getline, not
77713         simply getline. Infoke gl_PREREQ_GETLINE.
77714
77715         Module obstack.
77716         * m4/obstack.m4: New file.
77717
77718         Module hash.
77719         * m4/hash.m4: New file.
77720
77721         Module readtokens.
77722         * m4/readtokens.m4: New file.
77723
77724         Module strverscmp.
77725         * m4/strverscmp.m4: New file.
77726
77727         Module stdbool.
77728         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
77729         OSF/1.
77730
77731         Module strtoll.
77732         * m4/strtoll.m4: New file.
77733
77734         Module strtoull.
77735         * m4/strtoull.m4: New file.
77736
77737         Module strtoimax.
77738         * m4/strtoimax.m4: New file.
77739
77740         Module strtoumax.
77741         * m4/strtoumax.m4: New file.
77742
77743         Module xstrtoimax.
77744         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
77745         jm_AC_PREREQ_XSTRTOIMAX.
77746         Moved the strtol prerequisites to strtol.m4.
77747         Moved the strtoll prerequisites to strtoll.m4.
77748         Moved the strtoimax prerequisites to strtoimax.m4.
77749
77750         Module xstrtoumax.
77751         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
77752         jm_AC_PREREQ_XSTRTOUMAX.
77753         Moved the strtoul prerequisites to strtoul.m4.
77754         Moved the strtoull prerequisites to strtoull.m4.
77755         Moved the strtoumax prerequisites to strtoumax.m4.
77756
77757         Module chown.
77758         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
77759         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
77760
77761         Module dup2.
77762         * m4/dup2.m4: New file.
77763
77764         Module ftruncate.
77765         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
77766         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
77767
77768         Module getgroups.
77769         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
77770         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
77771
77772         Module gettimeofday.
77773         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
77774         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
77775         gl_PREREQ_GETTIMEOFDAY.
77776
77777         Module mkdir.
77778         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
77779         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
77780
77781         Module mkstemp.
77782         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
77783         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
77784         jm_AC_TYPE_UINTMAX_T.
77785         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
77786
77787         Module stat.
77788         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
77789         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
77790
77791         Module lstat.
77792         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
77793         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
77794
77795         Module timespec.
77796         * m4/timespec.m4 (gl_TIMESPEC): New macro.
77797         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
77798         * m4/st_mtim.m4: Indentation.
77799
77800         Module nanosleep.
77801         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
77802         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
77803         gl_PREREQ_NANOSLEEP.
77804
77805         Module regex.
77806         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
77807         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
77808         (gl_REGEX): New macro.
77809
77810         Module rename.
77811         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
77812         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
77813
77814         Module rmdir.
77815         * m4/rmdir.m4: New file.
77816
77817         Module utime.
77818         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
77819         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
77820         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
77821
77822         Module dirname.
77823         * m4/dirname.m4: New file.
77824
77825         Module getopt.
77826         * m4/getopt.m4: New file.
77827
77828         Module unistd-safer.
77829         * m4/unistd-safer.m4: New file.
77830
77831         Module fnmatch.
77832         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
77833         declaration.
77834         (gl_PREREQ_FNMATCH_EXTRA): New macro.
77835         (gl_FUNC_FNMATCH_POSIX): New macro.
77836         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
77837         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
77838         simply fnmatch.
77839
77840         Module exclude.
77841         * m4/exclude.m4: New file.
77842
77843         Module human.
77844         * m4/human.m4: New file.
77845
77846         Module acl.
77847         * m4/acl.m4: Nop.
77848
77849         Module backupfile.
77850         * m4/backupfile.m4: New file.
77851         * m4/d-ino.m4: Indentation.
77852
77853         Module fsusage.
77854         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
77855         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
77856         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
77857
77858         Module dirfd.
77859         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
77860         requirements.
77861
77862         Module euidaccess.
77863         * m4/euidaccess.m4: New file.
77864
77865         Module file-type.
77866         * m4/file-type.m4: New file.
77867
77868         Module fileblocks.
77869         * m4/fileblocks.m4: New file.
77870
77871         Module filemode.
77872         * m4/filemode.m4: New file.
77873
77874         Module isdir.
77875         * m4/isdir.m4: New file.
77876
77877         Module lchown.
77878         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
77879         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
77880
77881         Module makepath.
77882         * m4/makepath.m4: New file.
77883
77884         Module modechange.
77885         * m4/modechange.m4: New file.
77886
77887         Module mountlist.
77888         * m4/mountlist.m4: New file.
77889         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
77890         Indentation.
77891
77892         Module path-concat.
77893         * m4/path-concat.m4: New file.
77894
77895         Module pathmax.
77896         * m4/pathmax.m4: New file.
77897
77898         Module same.
77899         * m4/same.m4: New file.
77900
77901         Module save-cwd.
77902         * m4/save-cwd.m4: New file.
77903
77904         Module savedir.
77905         * m4/savedir.m4: New file.
77906
77907         Module xgetcwd.
77908         * m4/xgetcwd.m4: New file.
77909         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
77910
77911         Module xreadlink.
77912         * m4/xreadlink.m4: New file.
77913
77914         Module safe-read.
77915         * m4/safe-read.m4: New file.
77916
77917         Module safe-write.
77918         * m4/safe-write.m4: New file.
77919
77920         Module closeout.
77921         * m4/closeout.m4: New file.
77922
77923         Module stdio-safer.
77924         * m4/stdio-safer.m4: New file.
77925
77926         Module getpass.
77927         * m4/getpass.m4: New file.
77928
77929         Module getugroups.
77930         * m4/getugroups.m4: New file.
77931
77932         Module group-member.
77933         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
77934         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
77935
77936         Module idcache.
77937         * m4/idcache.m4: New file.
77938
77939         Module userspec.
77940         * m4/userspec.m4: New file.
77941
77942         Module gettime.
77943         * m4/clock_time.m4: New file.
77944         * m4/gettime.m4: New file.
77945
77946         Module settime.
77947         * m4/settime.m4: New file.
77948
77949         Module posixtm.
77950         * m4/posixtm.m4: New file.
77951
77952         Module gethostname.
77953         * m4/gethostname.m4: New file.
77954
77955         Module canon-host.
77956         * m4/canon-host.m4: New file.
77957
77958         Module gettext.
77959         * m4/codeset.m4: New file, from gettext-0.11.5.
77960         * m4/gettext.m4: New file, from gettext-0.11.5.
77961         * m4/glibc21.m4: New file, from gettext-0.11.5.
77962         * m4/iconv.m4: New file, from gettext-0.11.5.
77963         * m4/intdiv0.m4: New file, from gettext-0.11.5.
77964         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
77965         * m4/inttypes.m4: New file, from gettext-0.11.5.
77966         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
77967         * m4/isc-posix.m4: New file, from gettext-0.11.5.
77968         * m4/lcmessage.m4: New file, from gettext-0.11.5.
77969         * m4/lib-ld.m4: New file, from gettext-0.11.5.
77970         * m4/lib-link.m4: New file, from gettext-0.11.5.
77971         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
77972         * m4/progtest.m4: New file, from gettext-0.11.5.
77973         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
77974         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
77975         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
77976
77977         Module localcharset.
77978         * m4/localcharset.m4: New file.
77979
77980         Module hard-locale.
77981         * m4/hard-locale.m4: New file.
77982
77983         Module mbswidth.
77984         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
77985         onceonly macros.
77986         * m4/mbrtowc.m4: Add comment.
77987
77988         Module memcasecmp.
77989         * m4/memcasecmp.m4: New file.
77990
77991         Module memcoll.
77992         * m4/memcoll.m4: New file.
77993
77994         Module unicodeio.
77995         * m4/unicodeio.m4: New file.
77996
77997         Module rpmatch.
77998         * m4/rpmatch.m4: New file.
77999
78000         Module yesno.
78001         * m4/yesno.m4: New file.
78002
78003         Module exitfail.
78004         * m4/exitfail.m4: New file.
78005
78006         Module c-stack.
78007         * m4/c-stack.m4 (gl_C_STACK): New macro.
78008         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
78009
78010         Module error.
78011         * m4/error.m4 (gl_ERROR): New macro.
78012         (jm_PREREQ_ERROR): Use onceonly macros.
78013
78014         Module fatal.
78015         * m4/fatal.m4: New file.
78016
78017         Module getloadavg.
78018         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
78019         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
78020
78021         Module getpagesize.
78022         * m4/getpagesize.m4: New file.
78023
78024         Module getusershell.
78025         * m4/getusershell.m4: New file.
78026
78027         Module physmem.
78028         * m4/physmem.m4: New file.
78029
78030         Module posixver.
78031         * m4/posixver.m4: New file.
78032
78033         Module quotearg.
78034         * m4/quotearg.m4: New file.
78035
78036         Module quote.
78037         * m4/quote.m4: New file.
78038
78039         Module readutmp.
78040         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
78041
78042         Module sig2str.
78043         * m4/sig2str.m4: New file.
78044
78045         Other.
78046         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
78047         ulonglong.m4.
78048         * m4/intmax_t.m4: New file.
78049         * m4/d-type.m4: Indentation.
78050         * m4/jm-macros.m4: Update.
78051         * m4/prereq.m4 (jm_PREREQ): Update.
78052         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
78053         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
78054         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
78055         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
78056         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
78057         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
78058         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
78059         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
78060         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
78061         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
78062         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
78063         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
78064         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
78065         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
78066         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
78067         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
78068         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
78069         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
78070         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
78071
78072 2002-12-24  Bruno Haible  <bruno@clisp.org>
78073
78074         * MODULES.txt: Update according to m4/ changes.
78075
78076         Module gettext.
78077         * config.rpath: New file, from gettext-0.11.5.
78078
78079         * modules/*: New module descriptions.
78080         * gnulib-tool: New file.
78081         * MODULES.html.sh: New file.
78082
78083 2002-12-21  Karl Berry  <karl@gnu.org>
78084
78085         * doc/fdl.texi: update to version 1.2.
78086
78087 2002-12-19  Karl Berry  <karl@gnu.org>
78088
78089         * config/config.guess: update from prep.
78090
78091 2002-12-18  Bruno Haible  <bruno@clisp.org>
78092
78093         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
78094         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
78095
78096 2002-12-17  Bruno Haible  <bruno@clisp.org>
78097
78098         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
78099         stdlib.h, string.h.
78100
78101 2002-12-17  Bruno Haible  <bruno@clisp.org>
78102
78103         * lib/canon-host.c (strdup): Remove unused declaration.
78104
78105         * lib/fsusage.c: Include full_read.h.
78106         (get_fs_usage): Use full_read instead of safe_read.
78107
78108         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
78109
78110 2002-12-12  Karl Berry  <karl@gnu.org>
78111
78112         * config/config.guess: update from prep.
78113
78114 2002-12-11  Bruno Haible  <bruno@clisp.org>
78115
78116         * m4/setenv.m4: New file, from gettext-0.11.5.
78117
78118 2002-12-11  Bruno Haible  <bruno@clisp.org>
78119
78120         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
78121         not unsetenv().
78122         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
78123         modifications:
78124
78125         2002-12-11  Bruno Haible  <bruno@clisp.org>
78126
78127                 * setenv.c (alloca): Fall back to malloc.
78128                 (freea): New macro.
78129                 (setenv): Use freea() to free memory allocated with alloca().
78130
78131         2002-11-13  Bruno Haible  <bruno@clisp.org>
78132
78133                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
78134                 function declarations.
78135                 * unsetenv.c (unsetenv): Likewise.
78136
78137         2002-03-04  Bruno Haible  <bruno@clisp.org>
78138
78139                 Portability to AIX 4.3.3.
78140                 * unsetenv.c: New file, extracted from setenv.c.
78141                 * setenv.c: Move the unsetenv() function to unsetenv.c.
78142
78143         2001-12-20  Bruno Haible  <bruno@clisp.org>
78144
78145                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
78146                 use malloc instead. For SunOS 4.
78147
78148         2001-12-11  Bruno Haible  <bruno@clisp.org>
78149
78150                 * setenv.c: Declare alloca.
78151                 (compar_fn_t): New typedef.
78152                 (KNOWN_VALUE, STORE_VALUE): Use it.
78153
78154         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
78155         setenv.h.
78156
78157 2002-12-10  Paul Eggert  <eggert@twinsun.com>
78158
78159         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
78160         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
78161         Choose values that are less likely to collide with system fnmatch
78162         options.
78163         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
78164         defined (e.g., a pure POSIX system).
78165         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
78166         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
78167
78168 2002-12-06  Paul Eggert  <eggert@twinsun.com>
78169
78170         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
78171         a pain in practice to deal with generated m4 files.  This change
78172         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
78173
78174         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
78175         and jm-glibc-io.m4, as they are no longer a special case.
78176         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
78177         kludge and the auto-generation stuff.  Check only whether the
78178         functions are declared, not whether they exist, since older hosts
78179         that don't declare the functions can't use the optimization anyway.
78180
78181 2002-12-06  Jim Meyering  <jim@meyering.net>
78182
78183         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
78184
78185         Merge in changes from libc's misc/error.c, in preparation
78186         for the merge of gnulib's changes back into libc.
78187
78188         * lib/error.c (_): Define only if not already defined.
78189         Move definition to follow all #include directives.
78190         Include unlocked-io.h only if !_LIBC.
78191         [_LIBC]: Include <libio/libioP.h>.
78192         [USE_IN_LIBIO]: Include <libio/iolibio.h>
78193         (fflush): Tweak definition to use INTUSE.
78194         (putc): Define.
78195
78196 2002-12-05  Paul Eggert  <eggert@twinsun.com>
78197
78198         * lib/alloca.c [defined emacs]: Include "lisp.h".
78199         (xalloc_die) [defined emacs]: New macro.
78200         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
78201         [! defined emacs]: Include <xalloc.h>.
78202         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
78203         (pointer): Typedef to POINTER_TYPE *.
78204         (malloc): Remove decl; we now always use xmalloc.
78205         (alloca): Use old-style definition, since Emacs needs this.
78206         Check for arithmetic overflow when computing combined size.
78207
78208 2002-12-04  Paul Eggert  <eggert@twinsun.com>
78209
78210         Do not generate unlocked-io.h automatically, since it's easier to
78211         maintain it by hand.
78212
78213         * lib/unlocked-io.h: New file, from GNU diffutils,
78214         but with proper copyright notice and attribution.
78215         * lib/gen-uio: Remove.
78216         * lib/Makefile.am: Add copyright notice.
78217         (libfetish_a_SOURCES): Add unlocked-io.h.
78218         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
78219         (DISTCLEANFILES, io_functions): Remove macros.
78220         (EXTRA_DIST): Remove gen_uio.
78221         (unlocked-io.h): Remove rule.
78222
78223 2002-12-04  Jim Meyering  <jim@meyering.net>
78224
78225         Reflect the fact that stat.c and lstat.c are no longer generated.
78226         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
78227         (DISTCLEANFILES): Likewise.
78228         (EXTRA_DIST): Likewise.
78229         (all_local): Don't depend on stat.c or lstat.c.
78230         (stat.c, lstat.c): Remove rules.
78231         (EXTRA_DIST): Remove xstat.in.
78232
78233         * lib/xstat.in: Remove file.  Contents moved into stat.c.
78234         * lib/stat.c: New file.  Contents mostly from xstat.in.
78235         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
78236         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
78237
78238         * lib/safe-read.c: Rework so that it may serve to define safe_write,
78239         too.
78240         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
78241
78242 2002-12-03  Jim Meyering  <jim@meyering.net>
78243
78244         * lib/safe-read.c, safe-write.c: Change variable names and comments,
78245         but not semantics, to minimize the differences between these two files.
78246         (safe_read): Change comment to mention SAFE_READ_ERROR.
78247
78248         * lib/safe-read.c (IS_EINTR): Define.
78249         (safe_read): Use IS_EINTR in place of in-function cpp directives.
78250
78251 2002-12-02  Jim Meyering  <jim@meyering.net>
78252
78253         * lib/safe-read.c (EINTR): Define.
78254         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78255         (INT_MAX): Provide fallback.
78256         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
78257
78258         * lib/safe-read.h (SAFE_READ_ERROR): Define.
78259
78260 2002-12-02  Bruno Haible  <bruno@clisp.org>
78261
78262         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
78263         Define, taken from safe-read.c.
78264         (INT_MAX): Provide fallback.
78265         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
78266         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
78267
78268         * lib/safe-read.c (EINTR): Remove definition.
78269         (safe_read): Don't use EINTR if it is absent.
78270
78271 2002-12-01  Jim Meyering  <jim@meyering.net>
78272
78273         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
78274         zero.
78275         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
78276
78277 2002-11-27  Paul Eggert  <eggert@twinsun.com>
78278
78279         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
78280         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
78281         with `if (! (value < limit)) abort ();', for readability.
78282
78283 2002-11-26  Karl Berry  <karl@gnu.org>
78284
78285         * lib/strdup.c: copy from libc again, with jim's ok.
78286         * lib/.cppi-disable: re-add strdup.c
78287
78288 2002-11-25  Karl Berry  <karl@gnu.org>
78289
78290         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
78291         instead of "strtol.c".
78292
78293 2002-11-25  Karl Berry  <karl@gnu.org>
78294
78295         * config/install-sh: update from automake for variable quoting, $0 in
78296         error msgs, etc.
78297
78298         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
78299         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
78300         entry.
78301
78302 2002-11-25  Jim Meyering  <jim@meyering.net>
78303
78304         * lib/mktime.c: Sync from libc, now that it has the latest fix.
78305
78306 2002-11-24  Karl Berry  <karl@gnu.org>
78307
78308         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
78309         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
78310
78311 2002-11-24  Jim Meyering  <jim@meyering.net>
78312
78313         Update from coreutils:
78314
78315         * lib/mktime.c: Merge in changes from libc.
78316
78317         Avoid a link-time failure on some Linux systems.
78318         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
78319         (otherwise).
78320         (__mon_yday): Declare with the STATIC attribute.
78321         (__mktime_internal): Likewise.
78322         Based on a report from Greg Schafer.
78323
78324 2002-11-23  Jim Meyering  <jim@meyering.net>
78325
78326         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
78327         Use `unsigned', not `int', as type of index.
78328
78329         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
78330
78331         * lib/fsusage.c: Remove unneeded parentheses around operands of
78332         `defined'.
78333
78334 2002-11-22  Paul Eggert  <eggert@twinsun.com>
78335
78336         * lib/quotearg.h: Allow multiple inclusion by surrounding with
78337         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
78338         so that we can be included first.
78339         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
78340         * lib/quotearg.c: Include quotearg.h immediately after config.h.
78341         No need to include stddef.h or sys/types.h any more.
78342         Surround local include files with "", not "<>".
78343         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
78344         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
78345         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
78346         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
78347         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
78348         (ISPRINT): Remove; no longer needed now that we assume C89.
78349
78350         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
78351         Preserve errno.
78352
78353         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
78354         quotearg_char): Use SIZE_MAX rather than
78355         (size_t) -1 when we are talking about "infinity".
78356
78357         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
78358
78359 2002-11-22  Paul Eggert  <eggert@twinsun.com>
78360
78361         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
78362         hint that one should use `if (! x) abort ();' rather than `assert
78363         (x);', and anyway it's one less thing to worry about configuring.
78364         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
78365         hash_rehash, hash_insert): Use abort rather than assert.
78366
78367 2002-11-22  Bruno Haible  <bruno@clisp.org>
78368
78369         * lib/safe-read.h: Assume C89. Add comments.
78370         (safe_read): Change return type to size_t.
78371         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
78372         byte counts > SSIZE_MAX correctly.
78373         * lib/safe-write.h: New file.
78374         * lib/safe-write.c: New file.
78375         * lib/full-read.h: New file.
78376         * lib/full-read.c: New file.
78377         * lib/full-write.h: Assume C89. Add comments.
78378         * lib/full-write.c: Include safe-write.h.
78379         (full_write): Rewritten to use safe_write.
78380         Suggested by Jim Meyering and Paul Eggert.
78381
78382 2002-11-21  Jim Meyering  <jim@meyering.net>
78383
78384         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
78385
78386         Merge in changes from the coreutils.
78387
78388         2002-09-25  Paul Eggert  <eggert@twinsun.com>
78389         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
78390         <stdint.h>.
78391         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
78392         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
78393         int.  Work more efficiently if X is the same width as uintmax_t.
78394         Do not compare X to -1, to avoid bogus compiler warning.
78395         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
78396         Don't assume that f_frsize and f_bsize are the same type.
78397
78398         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
78399         warning on FreeBSD.
78400
78401         * lib/makepath.c (make_path): Restore umask *before* creating the final
78402         component.
78403         (make_path): Minor reformatting.
78404
78405         * lib/xmalloc.c: Adjust to work with new autoconf macros,
78406         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
78407         HAVE_MALLOC/HAVE_REALLOC.
78408
78409         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
78410         dummy ones.  At least on GNU/Linux systems, `auto' means something
78411         else.
78412         From Michael Stone.
78413
78414 2002-11-21  Bruno Haible  <bruno@clisp.org>
78415
78416         Remove case insensitive option matching.
78417         * lib/argmatch.h (argcasematch): Remove declaration.
78418         (ARGCASEMATCH): Remove macro.
78419         (__xargmatch_internal): Remove case_sensitive argument.
78420         (XARGMATCH): Update.
78421         (XARGCASEMATCH): Remove macro.
78422         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
78423         case_sensitive argument.
78424         (argcasematch): Remove function.
78425         (__xargmatch_internal): Remove case_sensitive argument.
78426         (main): Use XARGMATCH instead of XARGCASEMATCH.
78427
78428         * lib/xmalloc.c: Change compile-time error message. Add comment about
78429         required autoconf version.
78430
78431 2002-11-20  Paul Eggert  <eggert@twinsun.com>
78432
78433         Merge argmatch cleanups from Bison.  Assume C89.
78434
78435         * lib/argmatch.c: Include config.h here, not in argmatch.h.
78436         Include stdlib.h, for EXIT_FAILURE.
78437         Always include <string.h>, since we assume C89.
78438         (EXIT_FAILURE): Remove pre-C89 bug workaround.
78439         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
78440         Include <stddef.h> instead, since it's all we need for size_t.
78441         (PARAMS): Remove.  All uses removed.
78442         (ARRAY_CARDINALITY): Do not bother to #undef.
78443         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
78444         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
78445         Remove unnecessary parentheses.
78446         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
78447         Insert necessary parentheses.
78448         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
78449         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
78450
78451 2002-11-19  Bruno Haible  <bruno@clisp.org>
78452
78453         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
78454         * lib/mbswidth.h: Include <stddef.h>, for size_t.
78455
78456         * lib/mbswidth.h (PARAMS): Remove macro.
78457         (mbswidth, mbsnwidth): Use ANSI C function declarations.
78458         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
78459
78460         * lib/gcd.h (PARAMS): Remove macro.
78461         (gcd): Use ANSI C function declarations.
78462         * lib/gcd.c (gcd): Likewise.
78463
78464 2002-11-15  Bruno Haible  <bruno@clisp.org>
78465
78466         * lib/strcspn.c: Include <stddef.h>.
78467         (strcspn): Use ANSI C function declaration. Change return type to
78468         size_t. Use NULL.
78469         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
78470         (strpbrk): Use NULL.
78471         * lib/strpbrk.h (PARAMS): Remove macro.
78472         (strpbrk): Use ANSI C function declaration.
78473         * lib/strstr.c: Don't include <sys/types.h>.
78474         * lib/strstr.h (PARAMS): Remove macro.
78475         (strstr): Use ANSI C function declarations.
78476
78477 2002-11-14  Karl Berry  <karl@gnu.org>
78478
78479         * config/mkinstalldirs: `do' on separate line, instead of
78480         `for var; do'.
78481
78482 2002-11-06  Bruno Haible  <bruno@clisp.org>
78483
78484         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
78485         * lib/gcd.c (gcd): Likewise.
78486
78487 2002-11-05  Bruno Haible  <bruno@clisp.org>
78488
78489         * lib/gcd.h: New file, from gettext-0.11.5.
78490         * lib/gcd.c: New file, from gettext-0.11.5.
78491
78492 2002-11-05  Bruno Haible  <bruno@clisp.org>
78493
78494         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78495         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78496         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78497         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78498
78499         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
78500         <libintl.h>.
78501         * lib/makepath.c: Include gettext.h instead of <locale.h> and
78502         <libintl.h>.
78503
78504         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
78505         * lib/human.c: Include gettext.h instead of <libintl.h>.
78506         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
78507         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
78508         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
78509         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
78510         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
78511         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
78512         (textdomain): Remove definition.
78513         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
78514
78515         * lib/long-options.c: Remove include of <libintl.h> and definition of
78516         _.
78517         * lib/same.c: Remove include of <libintl.h> and definition of _.
78518
78519 2002-11-04  Owen Taylor  <otaylor@redhat.com>
78520
78521         * lib/config.charset: A few additions for Solaris.
78522
78523 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
78524
78525         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
78526         * lib/localcharset.c (locale_charset): Declare as extern "C".
78527
78528 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
78529
78530         * lib/config.charset: msdos in uk_UA uses CP1125.
78531
78532 2002-11-04  Bruno Haible  <bruno@clisp.org>
78533
78534         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
78535         * lib/strcase.h: New file, from GNU gettext-0.11.5.
78536         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
78537         * lib/strstr.h: New file, from GNU gettext-0.11.5.
78538         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
78539
78540 2002-11-04  Bruno Haible  <bruno@clisp.org>
78541
78542         * lib/localcharset.c (locale_charset): Don't return an empty string.
78543
78544 2002-11-04  Bruno Haible  <bruno@clisp.org>
78545
78546         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
78547         aliases.
78548
78549 2002-11-04  Bruno Haible  <bruno@clisp.org>
78550
78551         * lib/config.charset: Update for newest glibc. Add canonical names
78552         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
78553
78554 2002-11-04  Bruno Haible  <bruno@clisp.org>
78555
78556         * lib/config.charset: Add support for NetBSD.
78557
78558 2002-11-04  Bruno Haible  <bruno@clisp.org>
78559
78560         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
78561
78562 2002-11-01  Bruno Haible  <bruno@clisp.org>
78563
78564         * configure.in: Add AC_CONFIG_AUX_DIR call.
78565         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
78566         test/Makefile.
78567         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
78568
78569 2002-09-28  Karl Berry  <karl@gnu.org>
78570
78571         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
78572         installed automake until the next release, since changes have been
78573         made.
78574
78575 2002-09-25  Karl Berry  <karl@gnu.org>
78576
78577         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
78578         * lib/getopt*: copy from libc/posix.
78579         * lib/gettext.h: copy from gettext.
78580         * lib/.cppi-disable: add strdup.c, gettext.h.
78581
78582 2002-09-25  Karl Berry  <karl@gnu.org>
78583
78584         * config/srclist.txt: enable gettext.h check.
78585         * config/config.{guess,sub}: update from prep.
78586         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
78587                 from automake 1.6.3.
78588         See srclist*.
78589
78590 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
78591
78592         * regex.c (PATFETCH): Remove the translating fetch.
78593         (PATFETCH_RAW): Rename to PATFETCH.
78594         (set_image_of_range): New fun.
78595         (SET_RANGE_TABLE_WORK_AREA): Use it.
78596         (regex_compile): Don't translate the pattern chars so eagerly.
78597         Only do it when inserting an `exactn' bytecode or when handling
78598         a char-range.
78599         (mutually_exclusive_p): Avoid empty statement.
78600
78601 2002-07-06  Jim Meyering  <meyering@lucent.com>
78602
78603         * m4/README: Don't mention Makefile.am.in.
78604         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
78605
78606 2002-07-01  Jim Meyering  <meyering@lucent.com>
78607
78608         * lib/c-stack.c: Include sys/time.h.
78609         From Volker Borchert.
78610
78611 2002-06-26  Paul Eggert  <eggert@twinsun.com>
78612
78613         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
78614
78615 2002-06-26  Paul Eggert  <eggert@twinsun.com>
78616
78617         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
78618         New macro.  Use it uniformly instead of
78619         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
78620         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
78621         reported by Vin Shelton.
78622
78623 2002-06-22  Paul Eggert  <eggert@twinsun.com>
78624
78625         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
78626         Do not assume SA_SIGINFO behavior.
78627         Bug reported by Jim Meyering on NetBSD 1.5.2.
78628
78629 2002-06-22  Jim Meyering  <meyering@lucent.com>
78630
78631         * m4/c-stack.m4: New file, from diffutils-2.8.2.
78632         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
78633
78634         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
78635         now that configure.ac uses AC_GNU_SOURCE.
78636         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
78637         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
78638
78639         Update to latest tools.  Suggestions from Paul Eggert.
78640         * m4/stdbool.m4: New file, from diffutils-2.8.2.
78641         * m4/gnu-source.m4: Update from diffutils-2.8.2.
78642         * m4/fnmatch.m4: Likewise.
78643         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
78644         to AC_HEADER_STDBOOL
78645
78646 2002-06-22  Jim Meyering  <meyering@lucent.com>
78647
78648         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
78649         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
78650
78651 2002-06-22  Jim Meyering  <meyering@lucent.com>
78652
78653         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
78654
78655         * lib/exitfail.c, exitfail.h: Likewise.
78656         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
78657
78658         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
78659         of fnmatch.h.
78660         (EXTRA_DIST): Add fnmatch_loop.c.
78661         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
78662
78663         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
78664         * lib/fnmatch.c: Update from diffutils-2.8.2.
78665         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
78666         * lib/fnmatch.h: Remove file.
78667
78668 2002-06-21  Jim Meyering  <meyering@lucent.com>
78669
78670         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
78671         * m4/mbrtowc.m4: Likewise.
78672
78673         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
78674         * m4/mbswidth.m4: Reflect name change:
78675         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
78676         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78677
78678         * m4/lib-link.m4: Update from gettext-0.11.2.
78679         * m4/gettext.m4: Likewise.
78680
78681         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
78682         From Alfred M. Szmidt.
78683
78684 2002-06-18  Paul Eggert  <eggert@twinsun.com>
78685
78686         * lib/file-type.h: Report an error if neither S_ISREG nor
78687         S_IFREG is defined, instead of using a test specific to glibc
78688         2.2.  This should be safe, since POSIX requires S_ISREG and
78689         Unix Version 7 had S_IFREG.  We don't need to check for
78690         <sys/types.h> since we don't use any symbols that it defines.
78691
78692 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
78693
78694         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
78695         $@-t, so that each temporary file name is unique and valid in the first
78696         8 characters, for operation under DOS.
78697
78698 2002-06-15  Paul Eggert  <eggert@twinsun.com>
78699
78700         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
78701
78702 2002-06-15  Jim Meyering  <meyering@lucent.com>
78703
78704         Work even with DJGPP 2.03, which lacks support for symlinks.
78705         From Richard Dawe.
78706         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
78707         is defined.
78708         * lib/lchown.c (S_ISLNK): Likewise.
78709
78710 2002-06-15  Jim Meyering  <meyering@lucent.com>
78711
78712         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
78713         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
78714         have been included before this file.
78715
78716 2002-06-14  Jim Meyering  <meyering@lucent.com>
78717
78718         * lib/file-type.h: Use the version from diffutils-2.8.2.
78719         * lib/file-type.c: Likewise.
78720
78721 2002-06-07  Jim Meyering  <meyering@lucent.com>
78722
78723         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
78724         They're needed at least for NetBSD 1.5.2.
78725         ($statxfs_includes): Include those same headers.
78726         ($statxfs_includes): Include sys/vfs.h if available.
78727         ($statxfs_includes): Likewise for sys/statvfs.h.
78728         Check for the following members in both structs statfs and statvfs:
78729         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
78730
78731 2002-06-01  Jim Meyering  <meyering@lucent.com>
78732
78733         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
78734         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
78735
78736 2002-05-28  Jim Meyering  <meyering@lucent.com>
78737
78738         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
78739         Reported by Volker Borchert.
78740
78741 2002-05-27  Jim Meyering  <meyering@lucent.com>
78742
78743         Fix a problem seen only on nonconforming systems whereby ls.c's
78744         use of localtime, and then of gettimeofday would cause trouble:
78745         the localtime call used to initialize rpl_gettimeofday's save
78746         mechanism would clobber ls's current local time information so
78747         that in any long listing the first file would always be listed
78748         with date 1970-01-01.  Analysis by Volker Borchert.
78749
78750         * lib/gettimeofday.c (localtime): Undefine.
78751         (rpl_localtime): New function.
78752
78753 2002-05-27  Jim Meyering  <meyering@lucent.com>
78754
78755         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
78756         localtime.
78757
78758         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
78759         use the replacement function; it wouldn't resolve at link time.
78760         Reported by Volker Borchert.
78761
78762 2002-05-22  Jim Meyering  <meyering@lucent.com>
78763
78764         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
78765         file-type.h.
78766         * lib/file-type.h: New file.
78767         * lib/file-type.c (file_type): New file/function.  Extracted from
78768         diffutils.
78769
78770 2002-04-30  Jim Meyering  <meyering@lucent.com>
78771
78772         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
78773
78774 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78775
78776         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
78777
78778 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78779
78780         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
78781         Do not check for alloca.h (no longer used) or stdbool.h (was never
78782         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
78783
78784 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78785
78786         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
78787
78788 2002-04-29  Jim Meyering  <meyering@lucent.com>
78789
78790         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
78791         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
78792         Use AC_FUNC_STRNLEN here instead.
78793
78794         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
78795         With autoconf-2.53a, it's part of AC_PROG_CC.
78796
78797 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78798
78799         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
78800         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
78801
78802 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78803
78804         * lib/sig2str.h, lib/sig2str.c: New files.
78805         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
78806
78807 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78808
78809         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
78810         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
78811         of 127, since 64 is the largest conceivable number for ancient
78812         nonstandard hosts.
78813         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
78814
78815 2002-04-28  Jim Meyering  <meyering@lucent.com>
78816
78817         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
78818
78819 2002-04-24  Jim Meyering  <meyering@lucent.com>
78820
78821         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
78822         (jm_PREREQ): Use it.
78823
78824         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
78825         mach/mach.h fcntl.h.
78826         Check for this function: setlocale.
78827
78828 2002-04-24  Jim Meyering  <meyering@lucent.com>
78829
78830         * lib/gettext.h: New file, from Gettext.
78831         * lib/Makefile.am (INCLUDES): Remove -I../intl.
78832         (libfetish_a_SOURCES): Add gettext.h.
78833
78834 2002-04-16  Jim Meyering  <meyering@lucent.com>
78835
78836         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
78837         ut_pid, ut_id, ut_exit.
78838
78839 2002-04-16  Jim Meyering  <meyering@lucent.com>
78840
78841         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
78842         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
78843         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
78844
78845 2002-04-12  Jim Meyering  <meyering@lucent.com>
78846
78847         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
78848         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
78849         existence of the getmntinfo function.  Needed for Darwin 5.3.
78850
78851         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
78852         This is necessary at least on Darwin 5.3.
78853
78854         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
78855         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
78856         strnlen.o in the library, and that makes some versions of ranlib
78857         object.
78858
78859 2002-04-12  Jim Meyering  <meyering@lucent.com>
78860
78861         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
78862
78863 2002-04-09  Jim Meyering  <meyering@lucent.com>
78864
78865         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
78866         to be more precise.  Rather than saying we're checking whether the
78867         function `works', say what we're testing.
78868         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
78869         Reported by Bruno Haible.
78870
78871 2002-03-10  Jim Meyering  <meyering@lucent.com>
78872
78873         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
78874         Suggestion from Santiago Vila.
78875
78876 2002-03-08  Jim Meyering  <meyering@lucent.com>
78877
78878         * lib/rename.c: Mention that this wrapper is needed also on
78879         mips-dec-ultrix4.4 systems.
78880
78881 2002-03-02  Jim Meyering  <meyering@lucent.com>
78882
78883         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
78884         not HAVE_CLOCK_SETTIME.
78885
78886 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78887
78888         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
78889         Check for clock_settime.
78890
78891 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78892
78893         * lib/nanosleep.h: Rename to....
78894         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
78895
78896         * lib/gettime.c: New file.
78897         * lib/settime.c: New file.
78898         * lib/stime.c: Remove.
78899
78900         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
78901         timespec.h.  Remove nanosleep.h.
78902
78903 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78904
78905         * m4/acl.m4: New file.
78906         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
78907         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
78908
78909 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78910
78911         * lib/acl.c, lib/acl.h: New files.
78912         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
78913
78914 2002-02-24  Jim Meyering  <meyering@lucent.com>
78915
78916         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
78917         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
78918         cause trouble.  Reported by Nelson Beebe.
78919
78920 2002-02-23  Paul Eggert  <eggert@twinsun.com>
78921
78922         * lib/path-concat.c (xpath_concat): Reorder code to pacify
78923         compilers that don't know that xalloc_die never returns.
78924
78925 2002-02-20  Jim Meyering  <meyering@lucent.com>
78926
78927         * lib/getdate.c: Regenerate using bison-1.33.
78928
78929 2002-02-17  Jim Meyering  <meyering@lucent.com>
78930
78931         * config/config.guess (main): Don't use `head -1'; it's no longer
78932         portable. Use `sed 1q' instead.
78933
78934 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
78935
78936         * m4/codeset.m4: Upgrade to gettext-0.11.
78937         * m4/gettext.m4: Upgrade to gettext-0.11.
78938         * m4/glibc21.m4: Upgrade to gettext-0.11.
78939         * m4/iconv.m4: Upgrade to gettext-0.11.
78940         * m4/isc-posix.m4: Upgrade to gettext-0.11.
78941         * m4/lcmessage.m4: Upgrade to gettext-0.11.
78942         * m4/lib-ld.m4: New file, from gettext-0.11.
78943         * m4/lib-link.m4: New file, from gettext-0.11.
78944         * m4/lib-prefix.m4: New file, from gettext-0.11.
78945         * m4/progtest.m4: Upgrade to gettext-0.11.
78946
78947 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78948
78949         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
78950         (jm_PREREQ): Use it.
78951
78952 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78953
78954         * lib/posixver.c, lib/posixver.h: New files.
78955         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78956
78957 2002-02-02  Paul Eggert  <eggert@twinsun.com>
78958             Bruno Haible  <bruno@clisp.org>
78959
78960         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
78961         (fwrite_success_callback): New declaration.
78962         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
78963         print_unicode_char. Call failure callback instead of error.
78964         (fwrite_success_callback): New function.
78965         (exit_failure_callback): New function.
78966         (fallback_failure_callback): New function.
78967         (print_unicode_char): Call unicode_to_mb.
78968
78969 2002-01-26  Jim Meyering  <meyering@lucent.com>
78970
78971         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
78972         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
78973
78974 2002-01-26  Jim Meyering  <meyering@lucent.com>
78975
78976         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
78977
78978 2002-01-22  Paul Eggert  <eggert@twinsun.com>
78979
78980         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
78981
78982 2002-01-22  Jim Meyering  <meyering@lucent.com>
78983
78984         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
78985         Otherwise, some versions of automake would omit the rule that makes
78986         Makefile from Makefile.in.
78987
78988 2002-01-21  Paul Eggert  <eggert@twinsun.com>
78989
78990         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
78991         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78992         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
78993         (memcoll): Set errno to zero if there is no error.
78994
78995         * lib/quotearg.c (quotearg_buffer_restyled):
78996         Fix bug with quoting buffers containing NUL when backslashing escapes.
78997         This bug was exposed by the other changes in this patch.
78998         (quotearg_n_options): New arg ARGSIZE.
78999         All callers changed.
79000         (quoting_options_from_style): New function.
79001         (quotearg_n_style): Use it.
79002         (quotearg_n_style_mem): New function.
79003
79004         * lib/quotearg.h (quotearg_n_style_mem): New function.
79005
79006 2002-01-19  Jim Meyering  <meyering@lucent.com>
79007
79008         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
79009         Remove useless quotes: DF_PROG="df".
79010         * m4/strnlen.m4: New file.
79011
79012 2002-01-16  Paul Eggert  <eggert@twinsun.com>
79013
79014         * lib/backupfile.c (ISDIGIT): Comment fix.
79015         * lib/getdate.y (ISDIGIT): Likewise.
79016         * lib/posixtm.c (ISDIGIT, year): Likewise.
79017         * lib/strverscmp.c (ISDIGIT): Likewise.
79018         * lib/userspec.c (ISDIGIT): Likewise.
79019
79020 2002-01-16  Jim Meyering  <meyering@lucent.com>
79021
79022         * lib/getdate.y: Add three semicolons, each just before a closing
79023         brace. Bison (as of version 1.31) no longer papers over that mistake.
79024
79025 2002-01-05  Jim Meyering  <meyering@lucent.com>
79026
79027         * lib/version-etc.c (version_etc_copyright): Update copyright year.
79028
79029 2001-12-19  Paul Eggert  <eggert@twinsun.com>
79030
79031         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
79032         not silently exit merely because the output buffer happens to
79033         have nothing pending.
79034
79035 2001-12-18  Paul Eggert  <eggert@twinsun.com>
79036
79037         See the big note in ../ChangeLog.
79038         * lib/human.c (suffixes): Prefer K to k for 1024.
79039         (generate_suffix_backwards): New function.
79040         (human_readable_inexact): Use it.
79041         * lib/xstrtol.c (__xstrtol): If there is no number but there
79042         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
79043         Accept 'K' as well as 'k'.
79044
79045 2001-12-15  Jim Meyering  <meyering@lucent.com>
79046
79047         * lib/regex.h (__restrict_arr): Update from libc.
79048
79049         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
79050         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
79051         (STREQ): Define.
79052
79053 2001-12-14  Jim Meyering  <meyering@lucent.com>
79054
79055         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
79056         Suggestion from Bruno Haible.
79057
79058 2001-12-10  Jim Meyering  <meyering@lucent.com>
79059
79060         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
79061         xrealloc, Instead, include "xalloc.h".
79062         (initbuffer): Don't cast xmalloc return value to char*.
79063         (readline): Reword comment.
79064         Don't cast xrealloc return value to char*
79065         Return NULL, not 0.
79066
79067 2001-12-09  Jim Meyering  <meyering@lucent.com>
79068
79069         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
79070         about `signed and unsigned type in conditional expression'.
79071         * lib/posixtm.c (posix_time_parse): Likewise.
79072
79073         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
79074
79075         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
79076         to avoid a pedantic warning.
79077
79078         * lib/getstr.c: Don't include assert.h.
79079         (getstr): Remove warning-evoking assertions.
79080         Return -1 if offset parameter is out of bounds.
79081         Change the type of a local from int to size_t.
79082
79083         * lib/strftime.c (my_strftime_localtime_r): Include this function
79084         definition in the `#if ! HAVE_TM_GMTOFF' block.
79085
79086         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
79087         Include xalloc.h instead.
79088
79089 2001-12-02  Jim Meyering  <meyering@lucent.com>
79090
79091         * lib/tempname.c: Don't declare getenv, thus reverting the change of
79092         2001-11-18.  It's no longer necessary, now that stdlib.h is always
79093         included.
79094
79095         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
79096         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
79097
79098 2001-11-30  Akim Demaille  <akim@epita.fr>
79099
79100         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
79101         before being defined.
79102
79103 2001-11-27  Paul Eggert  <eggert@twinsun.com>
79104
79105         * lib/quotearg.h (quotearg_n, quotearg_n_style):
79106         First arg is int, not unsigned.
79107         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
79108         (SIZE_MAX, UINT_MAX): New macros.
79109         (quotearg_n_options): Abort if N is negative.
79110         Avoid overflow check on hosts where size_t is 64 bits and int
79111         is 32 bits, as overflow is impossible there.
79112         Fix off-by-one typo that caused unnecessary reallocation.
79113
79114 2001-11-27  Jim Meyering  <meyering@lucent.com>
79115
79116         * lib/tempname.c: Merge with version from libc.
79117         * lib/regex.c: Likewise.
79118
79119         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
79120         systems for which STDC_HEADERS is 0, it was not included, resulting in
79121         a warning about an integer-to-pointer conversion problem with getenv.
79122         Reported by Volker Borchert.
79123
79124 2001-11-26  Jim Meyering  <meyering@lucent.com>
79125
79126         * lib/gtod.h: Remove file.
79127         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
79128         * lib/gettimeofday.c: Don't include gtod.h.
79129         (GTOD_init): Remove function.
79130         (rpl_gettimeofday): Do its job here instead, rather than aborting.
79131         Suggestion from Volker Borchert.
79132
79133 2001-11-23  Jim Meyering  <meyering@lucent.com>
79134
79135         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
79136         it.
79137         * lib/hash.c (struct hash_table): Define it here instead.
79138
79139 2001-11-22  Jim Meyering  <meyering@lucent.com>
79140
79141         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
79142
79143 2001-11-20  Jim Meyering  <meyering@lucent.com>
79144
79145         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
79146         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
79147
79148 2001-11-19  Jim Meyering  <meyering@lucent.com>
79149
79150         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
79151         directory.  Use "conftestXXXXXX" as the template.
79152         Suggestion from Paul Eggert.
79153
79154         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
79155         immediately, so the test doesn't mistakenly hit the max-open-files
79156         limit.
79157
79158 2001-11-18  Paul Eggert  <eggert@twinsun.com>
79159
79160         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
79161         (TEMPORARIES): New macro.
79162         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
79163         removes an artificial limitation (e.g. HP-UX 10.20, where
79164         TMP_MAX is 17576).
79165
79166 2001-11-18  Jim Meyering  <meyering@lucent.com>
79167
79168         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
79169
79170 2001-11-18  Jim Meyering  <meyering@lucent.com>
79171
79172         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
79173         on SunOS 4.
79174
79175         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
79176         files will be created before anything else.
79177
79178 2001-11-17  Paul Eggert  <eggert@twinsun.com>
79179
79180         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
79181         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
79182
79183 2001-11-17  Jim Meyering  <meyering@lucent.com>
79184
79185         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
79186         Prompted by a report from Bob Proulx.
79187
79188         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
79189         Instead, require UTILS_FUNC_MKSTEMP.
79190
79191 2001-11-17  Jim Meyering  <meyering@lucent.com>
79192
79193         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
79194         Now, that's done as part of AC_FUNC_STRTOD.
79195
79196 2001-11-17  Jim Meyering  <meyering@lucent.com>
79197
79198         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
79199         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
79200         rather than group writable.  Patch by Juan F. Codagnone.
79201
79202         * lib/readtokens.c: Remove explicit declarations of xmalloc and
79203         xrealloc, Instead, include "xalloc.h".
79204
79205         * lib/mountlist.c: Include unlocked-io.h after all system headers.
79206         Remove explicit declarations of xmalloc, xrealloc,
79207         and xstrdup.  Instead, include "xalloc.h".
79208
79209         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
79210         unlocked-io.h.
79211         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
79212         Likewise.
79213         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
79214
79215         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
79216         Reported by Padraig Brady.
79217
79218         * lib/mkstemp.c: #undef mkstemp.
79219         Include config.h.
79220         (rpl_mkstemp): Rename from mkstemp.
79221         Protoize.
79222
79223 2001-11-16  Jim Meyering  <meyering@lucent.com>
79224
79225         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
79226         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
79227         determine the amount of total physical memory, use pstat_getstatic.
79228         HPUX-11 doesn't define _SC_PHYS_PAGES.
79229         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
79230         If sysconf couldn't be used to determine the amount of available
79231         physical memory, use both pstat_getstatic and pstat_getdynamic.
79232         Based on a patch from Bob Proulx.
79233
79234 2001-11-10  Jim Meyering  <meyering@lucent.com>
79235
79236         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
79237         (jm_PREREQ): Use it.
79238
79239 2001-11-09  Jim Meyering  <meyering@lucent.com>
79240
79241         * m4/jm-macros.m4: Require autoconf-2.52f.
79242         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
79243         Use these AC_-prefixed names, not the AM_-prefixed ones.
79244
79245         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
79246
79247 2001-11-05  Jim Meyering  <meyering@lucent.com>
79248
79249         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
79250
79251 2001-11-04  Jim Meyering  <meyering@lucent.com>
79252
79253         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
79254         $DEFS.
79255
79256 2001-11-03  Jim Meyering  <meyering@lucent.com>
79257
79258         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
79259         of AC_DEFUN.
79260
79261         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
79262         know the name of the variable in the macro definition.
79263
79264 2001-11-03  Jim Meyering  <meyering@lucent.com>
79265
79266         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
79267         in argmatch_to_argument call.
79268
79269         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
79270         argument.
79271
79272         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
79273         e.g., a fault due to an attempt to free a NULL pointer.
79274
79275 2001-11-01  Jim Meyering  <meyering@lucent.com>
79276
79277         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
79278         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
79279
79280 2001-11-01  Jim Meyering  <meyering@lucent.com>
79281
79282         * lib/dirfd.c, lib/dirfd.h: New files.
79283         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
79284
79285         * lib/hash.c (hash_print) [TESTING]: Clean up.
79286
79287 2001-10-22  Paul Eggert  <eggert@twinsun.com>
79288
79289         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
79290         to avoid a warning if -Wall.
79291
79292 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
79293
79294         * README: New file
79295         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
79296         (per RMS's instructions, this is now the canonical source)
79297         * lgpl/, gpl/: New directories.
79298
79299 2001-10-21  Paul Eggert  <eggert@twinsun.com>
79300
79301         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
79302
79303 2001-10-21  Jim Meyering  <meyering@lucent.com>
79304
79305         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
79306         this code would end up calling gettext even in packages built
79307         with --disable-nls.
79308         * lib/getopt.c (_): Likewise.
79309         * lib/regex.c (_): Likewise.
79310
79311 2001-10-20  Paul Eggert  <eggert@twinsun.com>
79312
79313         * m4/error.m4 (jm_PREREQ_ERROR):
79314         Do not invoke AC_CHECK_FUNCS with strerror_r, as
79315         AC_FUNC_STRERROR_R does that.
79316         Check for strerror declaration.
79317
79318         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
79319         are supposed to have them these days.
79320         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
79321         Merge changes from latest Autoconf CVS.
79322         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
79323         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
79324         POSIX decided to standardize on the int flavor of strerror_r.
79325
79326 2001-10-20  Paul Eggert  <eggert@twinsun.com>
79327
79328         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
79329         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
79330         Use strerror_r that is only a macro, even if it is not a function.
79331         (strerror): Check for HAVE_DECL_STRERROR before declaring.
79332         (private_strerror): Use prototypes, not old-style function definition.
79333         (print_errno_message): New function.
79334         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
79335         char*-flavored one.
79336         (error_tail, error, error_at_line): Use it.
79337
79338 2001-10-11  Jim Meyering  <meyering@lucent.com>
79339
79340         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
79341         and quote_n (1, ... to avoid clobbering a buffer.
79342
79343 2001-10-05  Jim Meyering  <meyering@lucent.com>
79344
79345         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
79346         hash-pjw.h.
79347         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
79348         * lib/hash-pjw.h: New file.
79349
79350 2001-09-30  Jim Meyering  <meyering@lucent.com>
79351
79352         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
79353         `struct fsstat' has the `f_fstypename' member.
79354         Use that to define FS_TYPE, which is now used to make
79355         the getfsstat link test tighter.
79356
79357 2001-09-30  Jim Meyering  <meyering@lucent.com>
79358
79359         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
79360         Include <sys/ucred.h>, for Apple Darwin.
79361         Include sys/mount.h and sys/fs_types.h only if available.
79362         (FS_TYPE): Define.
79363         (read_filesystem_list): Use FS_TYPE.
79364
79365 2001-09-29  Paul Eggert  <eggert@twinsun.com>
79366
79367         * lib/exclude.c (excluded_filename): 0 -> false, since it's
79368         a boolean context.
79369
79370 2001-09-29  Jim Meyering  <meyering@lucent.com>
79371
79372         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79373         [one-argument getmntent function]): Include stdio.h before mntent.h.
79374         SunOS 4.1.x needs it for the declaration of `FILE'.
79375         Patch by Volker Borchert.
79376
79377         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79378         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
79379         sys/fs_types.h, and make the link-test for getfsstat guard #include
79380         directives with appropriate #if HAVE_*_H tests so that we can
79381         detect getfsstat on Apple Darwin1.3.7 systems.
79382         Reported by Nelson Beebe.
79383         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
79384
79385 2001-09-28  Paul Eggert  <eggert@twinsun.com>
79386
79387         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
79388         #defines strtoimax.  Also treat the other strto* functions
79389         like strtoimax.
79390
79391         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
79392         Check for strtoul and strtoumax,
79393         as those declarations are made even in the signed case.
79394         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
79395         Likewise, for strtol and strtoimax.
79396
79397 2001-09-28  Paul Eggert  <eggert@twinsun.com>
79398
79399         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
79400         #defines strtoimax.  Also treat the other strto* functions
79401         like strtoimax.
79402
79403         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
79404         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
79405         (strtoimax, strtoumax): Do not declare if already defined as a macro.
79406
79407 2001-09-26  Jim Meyering  <meyering@lucent.com>
79408
79409         Most macros in unlocked-io.h had the wrong number of arguments.
79410         * lib/gen-uio: New script.
79411         (USE_UNLOCKED_IO): Define to 1 if not already defined.
79412         * lib/unlocked-io.hin: Remove file.
79413         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
79414         rather than trying to embed it here.
79415         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
79416         Reported by Padraig Brady.
79417
79418 2001-09-25  Volker Borchert  <bt@teknon.de>
79419
79420         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
79421         `result'.
79422
79423 2001-09-24  Jim Meyering  <meyering@lucent.com>
79424
79425         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
79426
79427 2001-09-23  Jim Meyering  <meyering@lucent.com>
79428
79429         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
79430         instead of the mere test for existence of mntent.h.  The latter
79431         would get a false-positive on AIX 3.4 systems.
79432         In the outer getmntent if-block, don't die if neither of the getmntent
79433         tests succeeds.  Instead, just fall through and continue with the
79434         remaining tests.
79435
79436 2001-09-23  Jim Meyering  <meyering@lucent.com>
79437
79438         * lib/mountlist.c: Remove useless parentheses in #if directives.
79439         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
79440         the deprecated MOUNTED symbol is no longer defined in mntent.h.
79441
79442 2001-09-22  Jim Meyering  <meyering@lucent.com>
79443
79444         * m4/gettext.m4: New file.  From gettext.
79445         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
79446         * m4/progtest.m4: Likewise
79447         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
79448         * m4/glibc21.m4: Likewise.
79449
79450         * m4/libintl.m4: Remove.  No longer used.
79451
79452 2001-09-22  Jim Meyering  <meyering@lucent.com>
79453
79454         * lib/localcharset.c: Update from latest gettext.
79455         * lib/config.charset: Likewise.
79456
79457 2001-09-20  Jim Meyering  <meyering@lucent.com>
79458
79459         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
79460         strtoimax.
79461         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
79462         strtoumax.
79463
79464 2001-09-20  Jim Meyering  <meyering@lucent.com>
79465
79466         * lib/xstrtol.c (strtoimax): Guard declaration with
79467         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
79468         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
79469         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
79470         (strtoumax): Likewise, for completeness (it wasn't necessary).
79471
79472 2001-09-17  Paul Eggert  <eggert@twinsun.com>
79473
79474         * lib/strtoimax.c (HAVE_LONG_LONG):
79475         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
79476         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
79477         to work around bug in IBM C compiler.
79478
79479 2001-09-17  Jim Meyering  <meyering@lucent.com>
79480
79481         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
79482         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
79483         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
79484         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
79485         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
79486         whenever the right hand side need not be expanded by the shell.
79487
79488 2001-09-16  Paul Eggert  <eggert@twinsun.com>
79489
79490         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
79491         library.  It's not correct, as some older glibcs are buggy.
79492         fnmatch wasn't fixed until glibc 2.2.
79493
79494         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
79495         special shell magic here.
79496
79497 2001-09-16  Jim Meyering  <meyering@lucent.com>
79498
79499         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
79500         * m4/jm-macros.m4: Require it.
79501
79502 2001-09-16  Jim Meyering  <meyering@lucent.com>
79503
79504         * lib/mkdir.c: New file.
79505
79506 2001-09-15  Jim Meyering  <meyering@lucent.com>
79507
79508         * m4/jm-macros.m4: Check for help2man.
79509
79510 2001-09-11  Jim Meyering  <meyering@lucent.com>
79511
79512         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
79513         The body, by Paul Eggert, was moved here from configure.in.
79514         * m4/jm-macros.m4: Require UTILS_HOST_OS.
79515
79516 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79517
79518         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
79519         (jm_PREREQ): Use it.
79520
79521 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79522
79523         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
79524         Use ssize_t, not int, to store result of readlink.
79525         Check for ssize_t overflow as well as size_t overflow,
79526         as POSIX says the result of readlink is implementation-defined
79527         when ssize_t overflows.
79528         Remove unnecessary cast to char*.
79529         Use free+malloc instead of realloc, as the storage doesn't need
79530         to be preserved and it's clearer and can be more efficient that way.
79531         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
79532         * lib/xreadlink.h (xreadlink): Update prototype.
79533
79534 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79535
79536         * lib/xgetcwd.c: Revert some of the previous change; intead,
79537         fix the HAVE_GETCWD_NULL code to behave more like the
79538         !HAVE_GETCWD_NULL code used to.
79539
79540         Include "xalloc.h".
79541         (xgetcwd): Do not return NULL when memory is exhausted; instead,
79542         invoke xalloc_die.
79543
79544 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79545
79546         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
79547         sys/param.h, as pathmax.h includes them.
79548
79549 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79550
79551         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
79552         (jm_PREREQ_XGETCWD): New macro.
79553
79554         * m4/getcwd.m4: New file.
79555
79556 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79557
79558         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
79559         like the HAVE_GETCWD_NULL code.
79560         Include pathmax.h if not HAVE_GETCWD.
79561         Do not include xalloc.h.
79562         (INITIAL_BUFFER_SIZE): New symbol.
79563         Do not use xmalloc / xrealloc, since the caller is responsible for
79564         handling errors.  Preserve errno around `free' during failure.
79565         Do not overrun buffer when using getwd.
79566
79567 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79568
79569         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
79570         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
79571         getcwd (NULL, 0).
79572
79573 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79574
79575         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
79576         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
79577         spotted by Jim Meyering.
79578
79579 2001-09-03  Jim Meyering  <meyering@lucent.com>
79580
79581         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
79582         failure.
79583
79584 2001-09-02  Jim Meyering  <meyering@lucent.com>
79585
79586         * lib/error.c: Update from GNU libc.
79587
79588 2001-09-01  Jim Meyering  <meyering@lucent.com>
79589
79590         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
79591         Used by df.
79592
79593 2001-09-01  Jim Meyering  <meyering@lucent.com>
79594
79595         * lib/xreadlink.c: New file.
79596         * lib/xreadlink.h: New file.
79597         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
79598         xreadlink.h.
79599
79600         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
79601         doesn't conflict with sparc Solaris 7's definition in
79602         /usr/include/sys/int_types.h.
79603
79604         * lib/exclude.c: Use `""', not `<>' to #include non-system header
79605         files.
79606         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
79607         and strncasecmp as r-values.  Unixware didn't have declarations.
79608
79609 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79610
79611         * lib/xstrtol.h: Add copyright notice.
79612         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
79613         LONGINT_INVALID_SUFFIX_CHAR.
79614
79615 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79616
79617         * lib/xstrtol.c (strtoimax): New decl.
79618
79619 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79620
79621         * lib/xgetcwd.c: Don't include pathmax.h.
79622         Include stdlib.h and unistd.h if available.
79623         Include xalloc.h.
79624         (xmalloc, xstrdup, free): Remove decls.
79625         (xgetcwd): Don't assume sizes fit in unsigned.
79626         Check for overflow when computing sizes.
79627         Simplify reallocation code.
79628
79629 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79630
79631         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
79632         a directory's st_size can have an arbitrary value, so the old
79633         usage could waste an arbitrary amount of memory.  All uses
79634         changed.
79635         * lib/savedir.h: Update prototype.
79636
79637 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79638
79639         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
79640
79641         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
79642         old strtoimax.c.
79643
79644         Also, make the following further changes to make this file's
79645         configuration more similar to that of strtol.c:
79646         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
79647         (strtoumax, uintmax_t, strtoull, strtol): Remove.
79648         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
79649         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
79650         changed to signed values.
79651
79652         And make the following changes as well:
79653         Fix copyright notice, as 1999 was missing.
79654         (verify): New macro.
79655         (strtoimax): Check sizes at compile-time, not run-time.
79656         Prefer strtol to strtoll if both work.
79657         (main): Remove; it was not that useful and was a pain to maintain.
79658
79659         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
79660
79661 2001-08-31  Jim Meyering  <meyering@lucent.com>
79662
79663         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
79664         Use an initial, malloc'd, buffer of length 128 rather than
79665         a statically allocated one of length 1024.
79666
79667 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79668
79669         Simplify code, partly by assuming autoconf 2.52 semantics.
79670
79671         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
79672
79673         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
79674         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
79675         All uses removed.
79676         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
79677         Move AC_REQUIRE to next-to-top level, to avoid confusion.
79678         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
79679         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
79680         jm_AC_HEADER_INTTYPES_H.
79681         * m4/jm-macros.m4 (jm_MACROS): Likewise.
79682
79683         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
79684
79685         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
79686         Quote first arg of AC_DEFUN.
79687         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
79688         since they are needed to parse the include file even if we need
79689         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
79690         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
79691         but with opposite signedness.
79692
79693 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79694
79695         Merge 'exclude' changes from tar 1.13.22.
79696         This fixes one or two unlikely storage allocation overflow bugs,
79697         but doesn't change user-visible behavior otherwise.
79698
79699 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79700
79701         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
79702         (jm_PREREQ_EXCLUDE): New macro.
79703
79704 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79705
79706         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
79707         tm to be declared.
79708
79709 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79710
79711         * lib/hash.c: Remove '2001' from copyright notice.
79712
79713 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79714
79715         * lib/full-write.h: New file.
79716         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
79717         * lib/full-write.c: Correct credits, as cccp.c no longer
79718         exists and anyway it was so heavily changed from the old cccp
79719         code as to be unrecognizable.  Include full-write.h.
79720         (full_write): Return size_t, with short writes meaning failure.
79721         All callers changed.  This fixes a bug with large buffers
79722         on 64-bit hosts.
79723         * lib/utime.c: Include full-write.h.
79724
79725 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79726
79727         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
79728         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
79729         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
79730         Include if available.
79731         (<xalloc.h>): Include
79732         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
79733         (verify): New macro.  Use it to verify that EXCLUDE macros do not
79734         collide with FNM macros.
79735         (struct patopts): New struct.
79736         (struct exclude): Use it, as exclude patterns now come with options.
79737         (new_exclude): Support above changes.
79738         (new_exclude, add_exclude_file):
79739         Initial size must now be a power of two to simplify overflow checking.
79740         (free_exclude, fnmatch_no_wildcards): New function.
79741         (excluded_filename): No longer requires options arg, as the options
79742         are determined by add_exclude.  Now returns bool, not int.
79743         (excluded_filename, add_exclude):
79744         Add support for the fancy new exclusion options.
79745         (add_exclude, add_exclude_file): Now takes int options arg.
79746         Check for arithmetic overflow when computing sizes.
79747         (add_exclude_file): xrealloc might modify errno, so don't
79748         realloc until after errno might be used.
79749
79750         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
79751         New macros.
79752         (free_exclude): New decl.
79753         (add_exclude, add_exclude_file): Now takes int options arg.
79754         (excluded_filename): No longer requires options arg, as the options
79755         are determined by add_exclude.  Now returns bool, not int.
79756
79757 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79758
79759         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
79760
79761 2001-08-27  Jim Meyering  <meyering@lucent.com>
79762
79763         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
79764
79765         * lib/version-etc.c (N_): Remove definition.
79766         Revert most of last change.
79767         Instead, simply don't mark the `Copyright...' string for translation.
79768         Based on advice from Paul Eggert.
79769
79770         * lib/strtoxmax.c: Tweak comment.
79771
79772 2001-08-26  Jim Meyering  <meyering@lucent.com>
79773
79774         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
79775
79776         * m4/xstrtoimax.m4: New file.
79777         * m4/xstrtoumax.m4: Add comments explaining why we
79778         AC_REPLACE_FUNCS(strtol).
79779
79780 2001-08-26  Jim Meyering  <meyering@lucent.com>
79781
79782         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
79783         of copyright with `%s' so translators don't get an untranslated
79784         message in 2002.
79785         (COPYRIGHT_YEAR): Define.
79786         (version_etc): Use fprintf rather than fputs.
79787         Suggestion from Ulrich Drepper.
79788
79789         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
79790
79791         * lib/strtoll.c: New file, from GNU libc.
79792         * lib/xstrtoimax.c: New file.
79793
79794         * lib/xstrtol.h: Add xstrtoimax.
79795         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
79796         * lib/strtoimax.c: New file.  Likewise, but first define
79797         STRTOUXMAX_SIGNED.
79798
79799         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
79800         ...
79801         * lib/strtoxmax.c: ... then renamed to this.
79802
79803 2001-08-18  Paul Eggert  <eggert@twinsun.com>
79804
79805         * m4/inttypes.m4: Add AC_PREREQ(2.13).
79806         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
79807         (jm_AC_TYPE_INTMAX_T): New macro.
79808         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
79809
79810         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
79811
79812         * m4/longlong.m4: Renamed from ulonglong.m4.
79813         * m4/inttypes.m4: Renamed from inttypes_h.m4.
79814         * m4/uintmax_t.m4: Removed.
79815
79816 2001-08-13  Paul Eggert  <eggert@twinsun.com>
79817
79818         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
79819         Port to Solaris 8, where 'sed' requires a space after the 'r'
79820         command, and where sh dislikes "$/".  Clean up the spacing a bit.
79821         Redirect output to $tmp just once.
79822
79823 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
79824
79825         * lib/addext.c (<errno.h>): Include.
79826         (errno): Declare if not defined.
79827         (addext): Work correctly when pathconf returns -1 and leaves
79828         errno alone because there is no limit.  Also, work even if
79829         pathconf returns a value greater than SIZE_MAX.
79830
79831 2001-08-12  Jim Meyering  <meyering@lucent.com>
79832
79833         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
79834         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
79835         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
79836         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
79837         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
79838         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
79839         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
79840         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
79841         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
79842         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
79843         utime.m4, utimes.m4, xstrtoumax.m4:
79844         Quote the first argument in each use of AC_DEFUN.
79845
79846 2001-08-12  Jim Meyering  <meyering@lucent.com>
79847
79848         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
79849         Simply `return getcwd (NULL, 0);'.
79850         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
79851         Use 1300 as initial value for length, not PATH_MAX.
79852
79853         * lib/pathmax.h: Clean up cpp syntax.
79854
79855 2001-08-12  Jim Meyering  <meyering@lucent.com>
79856
79857         * lib/gettimeofday.c: New file.
79858         * lib/gtod.h: New file.
79859         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
79860
79861 2001-08-05  Jim Meyering  <meyering@lucent.com>
79862
79863         * m4/jm-macros.m4: Require autoconf-2.52.
79864
79865 2001-08-04  Jim Meyering  <meyering@lucent.com>
79866
79867         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
79868         stmt, to get in sync with glibc.
79869
79870 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79871
79872         The following changes are from gettext 0.10.39 as maintained by
79873         Bruno Haible.
79874
79875         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
79876         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
79877         with inverted sense.  All uses changed.
79878
79879         * lib/mbswidth.c: Don't include <limits.h>.
79880         Include <stdlib.h> and <string.h> unconditionally.
79881         (iswcntrl, mbsinit, ISCNTRL): New macros.
79882         (mbsnwidth): Use K&R style function declarations.
79883         Don't bother checking for MB_LEN_MAX == 1, since the compiler
79884         can optimize it when MB_CUR_MAX == 1.
79885         The width of control characters is zero, not 1.
79886
79887 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79888
79889         The following changes are from gettext 0.10.39 as maintained by
79890         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
79891
79892         * m4/codeset.m4: Upgrade to serial AM1.
79893         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
79894         all uses changed.  Quote first arg of AC_DEFUN.
79895         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
79896
79897         * m4/iconv.m4: Upgrade to serial AM2.
79898         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
79899         Add --with-libconv-prefix.
79900         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
79901         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
79902         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
79903         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
79904         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
79905
79906         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
79907         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
79908         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
79909         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
79910         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
79911         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
79912         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
79913         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
79914         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
79915
79916         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
79917         string.h any more.
79918
79919         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
79920         not the default value.
79921
79922         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
79923         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
79924         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
79925         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
79926         Also check for iswcntrl, used for wcwidth fallback.
79927         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
79928         to Autoconf 2.13.
79929
79930 2001-08-03  Jim Meyering  <meyering@lucent.com>
79931
79932         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
79933         as it was in the original.  Reported by Paul Eggert.
79934
79935 2001-07-16  Jim Meyering  <meyering@lucent.com>
79936
79937         * m4/gettimeofday.m4: New file.
79938         Prompted by a report from Bernhard Baehr.
79939
79940 2001-07-15  Jim Meyering  <meyering@lucent.com>
79941
79942         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
79943         stuff. Now it's in ../Makefile.cfg.
79944
79945 2001-07-15  Jim Meyering  <meyering@lucent.com>
79946
79947         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
79948         (BUILT_SOURCES): Add unlocked-io.h.
79949         (io_functions): Define.
79950         (unlocked-io.h): New rule.
79951         (DISTCLEANFILES): Add unlocked-io.h.
79952         (all-local): Depend on unlocked-io.h, to ensure it is created.
79953
79954         * lib/unlocked-io.hin: New file
79955
79956         * lib/regex.c: Update from glibc.
79957
79958 2001-07-05  Jim Meyering  <meyering@lucent.com>
79959
79960         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
79961         recommendation.
79962         (libfetish_a_SOURCES): Put all .h files here instead.
79963         Remove a thus-exposed (better checks in automake) duplicate and
79964         two unnecessary .h files.
79965
79966 2001-07-04  Jim Meyering  <meyering@lucent.com>
79967
79968         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
79969         that generates jm-glibc-io.m4 so that it doesn't trigger any make
79970         distcheck failure.
79971
79972 2001-07-02  Jim Meyering  <meyering@lucent.com>
79973
79974         The following changes were prompted by suggestions from Bruno Haible.
79975
79976         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
79977         is now generated.
79978         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
79979         definition of EXTRA_DIST.
79980         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
79981         ensure that the generated file is created/updated whenever the list
79982         of $(unlocked_functions) is changed.
79983         (jm-glibc-io.m4): New rule.
79984         (unlocked-io.h): New rule -- currently unused.
79985
79986 2001-06-24  Jim Meyering  <meyering@lucent.com>
79987
79988         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
79989         unmatched right bracket, rather than kludging it with an extra,
79990         falsely-matching quote in a comment.  Patch by Akim Demaille.
79991
79992 2001-06-11  Jim Meyering  <meyering@lucent.com>
79993
79994         * lib/regex.c: Update from GNU libc.
79995
79996 2001-05-27  Jim Meyering  <meyering@lucent.com>
79997
79998         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
79999         Check for ut_type in struct utmp.
80000
80001 2001-05-27  Jim Meyering  <meyering@lucent.com>
80002
80003         * lib/readutmp.h (UT_TYPE): Define.
80004
80005 2001-05-24  Jim Meyering  <meyering@lucent.com>
80006
80007         * lib/argmatch.c: Include "quote.h".
80008         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
80009         quote function.  Reported by Göran Uddeborg.
80010
80011 2001-05-22  Jim Meyering  <meyering@lucent.com>
80012
80013         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
80014         now that we use the package-supplied version unconditionally.
80015         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
80016
80017 2001-05-21  Jim Meyering  <meyering@lucent.com>
80018
80019         * m4/regex.m4: Change a couple backticks to single quotes to avoid
80020         shell syntax errors.
80021
80022 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
80023
80024         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
80025
80026 2001-05-20  Paul Eggert  <eggert@twinsun.com>
80027
80028         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
80029         Don't bother to check library strftime, since
80030         we'll be using our own my_strftime function anyway.
80031         Define my_strftime instead of strftime.
80032
80033 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
80034
80035         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
80036         which is not yet declared.
80037
80038 2001-05-15  Jim Meyering  <meyering@lucent.com>
80039
80040         * m4/regex.m4: Use proper quoting so brackets appear in the test
80041         program.
80042         Reported by, and with help from, Bruno Haible.
80043
80044 2001-05-13  Jim Meyering  <meyering@lucent.com>
80045
80046         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
80047         undefined.
80048
80049 2001-05-11  Paul Eggert  <eggert@twinsun.com>
80050
80051         dirname code cleanup.  base_name now behaves more compatibly
80052         with POSIX basename when given file names that have trailing
80053         slashes, and similarly for dir_name.  Add new primitives
80054         base_len and dir_len.  Put the directory-name-related decls
80055         into dirname.h.
80056
80057         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
80058         * lib/backupfile.c (base_name): Likewise.
80059         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
80060         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
80061         * lib/makepath.c (strip_trailing_slashes): Likewise.
80062         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
80063         ISSLASH): Likewise.
80064         * lib/rename.c (strip_trailing_slashes): Likewise.
80065         * lib/same.c (base_name): Likewise.
80066         * lib/stripslash.c (ISSLASH): Likewise.
80067
80068         * lib/addext.c: Include <dirname.h> after size_t is defined.
80069         * lib/backupfile.c: Likewise.
80070
80071         * lib/addext.c (addext): Use base_len to trim redundant
80072         trailing slashes instead of doing it ourselves.
80073         But do not trim the last slash if it is not redundant.
80074
80075         * lib/backupfile.c (find_backup_file_name,
80076         max_backup_version): Use base_len instead of rolling it ourselves.
80077         Handle the case of "" and (on DOS) "C:" correctly.
80078
80079         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
80080         needed. Include <string.h>, <dirname.h>.
80081         (base_name): Allow file names ending in slashes, other than names
80082         that are all slashes.  In this case, return the basename followed
80083         by the slashes.  This is more general, and can be used in places
80084         where the original base_name purposely had an assertion failure.
80085         (base_len): New function.
80086
80087         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
80088         Do not include <assert.h>; no longer needed.
80089         Include xalloc.h.
80090         (memrchr): Remove decl.
80091         (dir_name_r): Remove.
80092         (dir_len): Renamed from dirlen.  All callers changed.
80093         Rewrite in terms of base_name, for simplicity and consistency.
80094         (dir_name): Never return NULL.  All callers changed.
80095         Do not include <stdlib.h> in test program; no longer needed.
80096         return 0; is fine for test program.
80097
80098         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
80099         New macros.
80100         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
80101
80102         * lib/path-concat.c (path_concat): Use base_len to compute
80103         base length, not strlen; this means we cannot rely on memcpy
80104         to null-terminate.
80105
80106         * lib/same.c (STREQ): Remove.
80107         (same_name): Handle the case where the basename ends in trailing '/'.
80108
80109         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
80110         a slash was stripped.  Do not strip the last slash after a
80111         file system prefix.
80112
80113 2001-05-11  Paul Eggert  <eggert@twinsun.com>
80114
80115         * lib/Makefile.am (libfetish_a_SOURCES):
80116         Add strftime.c, since we now compile it on all hosts.
80117
80118         * lib/strftime.c (my_strftime):
80119         Define to nstrftime if emacs, but only if my_strftime is not defined.
80120         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
80121         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
80122         Add one more extra argument: a nanoseconds value.
80123         All uses changed.
80124         (ns): New macro.
80125         (my_strftime function): Add %N format.
80126         (emacs_strftimeu): Renamed from emacs_strftime,
80127         with extra ut argument.
80128
80129 2001-05-09  Paul Eggert  <eggert@twinsun.com>
80130
80131         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
80132
80133 2001-04-21  Jim Meyering  <meyering@lucent.com>
80134
80135         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
80136         doesn't interfere.
80137
80138 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
80139
80140         * m4/ftruncate.m4: Check for chsize.
80141         Link with ftruncate.o unconditionally if ftruncate is missing.
80142         This was required when cross-compiling to i586-mingw32msvc.
80143
80144 2001-04-08  Jim Meyering  <meyering@lucent.com>
80145
80146         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
80147         recomputed; that's necessary when the offset spans a DST transition.
80148         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
80149
80150 2001-04-02  Jim Meyering  <meyering@lucent.com>
80151
80152         * lib/regex.h, regex.c: Update from GNU libc.
80153
80154 2001-03-24  Jim Meyering  <meyering@lucent.com>
80155
80156         * m4/jm-macros.m4: Require autoconf-2.49d.
80157
80158 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
80159
80160         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
80161
80162 2001-03-19  Paul Eggert  <eggert@twinsun.com>
80163
80164         * lib/version-etc.c (version_etc_copyright): Update to 2001.
80165
80166 2001-03-17  Jim Meyering  <meyering@lucent.com>
80167
80168         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
80169         now that the version in autoconf is equivalent.
80170         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
80171
80172         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
80173         Suggestion from Akim Demaille.
80174
80175         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
80176         (jm_PREREQ_TEMPNAME): New function.
80177
80178 2001-03-16  Paul Eggert  <eggert@twinsun.com>
80179
80180         * lib/tempname.c (uint64_t): Define to uintmax_t if
80181         not defined, and if UINT64_MAX is not defined.
80182         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
80183         Reported by John David Anglin.
80184
80185 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
80186
80187         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
80188         resolve alias if codeset is empty.
80189         * lib/config.charset (BeOS): Use wildcard syntax.
80190
80191 2001-03-13  Jim Meyering  <meyering@lucent.com>
80192
80193         * lib/path-concat.c (path_concat)
80194         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
80195         concatenating e.g., `C:' and `foo'.
80196         From Bruno Haible.
80197
80198 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80199
80200         * lib/localcharset.c (locale_charset): Don't use
80201         setlocale(LC_CTYPE,NULL). Don't return NULL.
80202         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
80203
80204 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80205
80206         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
80207         support for DOS/DJGPP.
80208
80209 2001-03-01  Paul Eggert  <eggert@twinsun.com>
80210
80211         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
80212         lacks mkstemp.  Compile our own tempname.c if we compile our own
80213         mkstemp.c, as mkstemp relies on tempname.
80214
80215 2001-03-01  Jim Meyering  <meyering@lucent.com>
80216
80217         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
80218         AH_VERBATIM really does output its argument verbatim.
80219
80220 2001-02-28  Paul Eggert  <eggert@twinsun.com>
80221
80222         * lib/Makefile.am (libfetish_a_SOURCES):
80223         Add dup-safer.c, fopen-safer.c.
80224         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
80225
80226         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
80227         * lib/unistd-safer.h: New files.
80228
80229 2001-02-25  Paul Eggert  <eggert@twinsun.com>
80230
80231         The mkstemp replacement is taken from glibc 2.2.2, with some
80232         portability fixes for use outside glibc, as follows:
80233
80234         * lib/tempname.c (struct_stat64): New macro.
80235         (direxists, __gen_tempname): Use it.
80236         This avoids a portability problem with Solaris 8.
80237
80238         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
80239         (<stddef.h>, <stdint.h>, <string.h>):
80240         Include only if STDC_HEADERS || _LIBC.
80241         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
80242         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
80243         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
80244         (__set_errno): Define this macro if <errno.h> doesn't.
80245         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
80246         Define these macros if <stdio.h> doesn't.
80247         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
80248         Define these macros if <sys/stat.h>
80249         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
80250         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
80251         __xstat64): Define if not _LIBC.
80252         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
80253         (__gen_tempname): Invoke gettimeofday only if
80254         HAVE_GETTIMEOFDAY || _LIBC;
80255         otherwise, fall back on plain "time".
80256         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
80257
80258         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
80259
80260         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
80261
80262 2001-02-18  Paul Eggert  <eggert@twinsun.com>
80263
80264         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
80265
80266 2001-02-17  Paul Eggert  <eggert@twinsun.com>
80267
80268         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
80269         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
80270         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
80271         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
80272
80273 2001-02-17  Paul Eggert  <eggert@twinsun.com>
80274
80275         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
80276         Remove workaround macros for hosts that have mbrtowc but not
80277         mbstate_t, as we now insist on proper declarations for both
80278         before using mbrtowc.
80279
80280 2001-02-17  Jim Meyering  <meyering@lucent.com>
80281
80282         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
80283         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
80284         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
80285         UnixWare 7.1.1.
80286
80287         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
80288         rather than AC_CACHE_VAL.
80289
80290 2001-02-17  Jim Meyering  <meyering@lucent.com>
80291
80292         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
80293         around included file name.
80294
80295         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
80296
80297         * lib/strftime.c: Update from GNU libc (the only changes were to
80298         comments).
80299
80300 2001-02-17  Jim Meyering  <meyering@lucent.com>
80301
80302         * lib/regex.c: Update from libc.
80303
80304 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
80305
80306         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
80307         clash.
80308
80309 2001-02-16  Paul Eggert  <eggert@twinsun.com>
80310
80311         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
80312         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
80313         Reported by Mark Hounschell via Paul Eggert.
80314
80315 2001-02-07  Jim Meyering  <meyering@lucent.com>
80316
80317         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
80318
80319 2001-02-05  Jim Meyering  <meyering@lucent.com>
80320
80321         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
80322         it includes the patch required for `large file' support with at least
80323         HP-UX's 10.20 /bin/cc.
80324
80325 2001-02-03  Jim Meyering  <meyering@lucent.com>
80326
80327         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
80328         AS_IF, now that it works once again (mysteriously).
80329         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
80330
80331 2001-01-30  Jim Meyering  <meyering@lucent.com>
80332
80333         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
80334         * m4/chown.m4: Rename conftestchown to conftest.chown.
80335         * m4/rename.m4: s/conftestdir/conftest.d1/ and
80336         s/conftestdir2/conftest.d2/.
80337         * m4/utimes.m4: s/conftestdata/conftest.data/
80338         Inspired by Pavel Roskin's change in autoconf.
80339
80340 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
80341
80342         * lib/config.charset: Update for FreeBSD 4.2.
80343
80344 2001-01-27  Jim Meyering  <meyering@lucent.com>
80345
80346         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
80347         a use of AS_IF.
80348         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
80349
80350 2001-01-26  Jim Meyering  <meyering@lucent.com>
80351
80352         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
80353         quotearg.c includes it.
80354
80355 2001-01-26  Jim Meyering  <meyering@lucent.com>
80356
80357         * lib/quotearg.c: Include stddef.h.
80358         * lib/quote.c: Include stddef.h.
80359         Reported by Axel Kittenberger.
80360
80361         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
80362         line in double quotes so that it evokes a better diagnostic.
80363         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
80364         Reported by Axel Kittenberger.
80365
80366 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
80367
80368         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
80369         as if it was a `charset'.
80370
80371 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80372
80373         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
80374         has const.
80375
80376 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80377
80378         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
80379         to avoid a warning.  Add back 'const' to inptr.
80380
80381 2001-01-20  Jim Meyering  <meyering@lucent.com>
80382
80383         Be sure that headers are checked before used in code compiled
80384         for the type checks.
80385         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
80386         In place of that, invoke jm_CHECK_ALL_TYPES.
80387         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
80388         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
80389         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
80390         The check for ssize_t was mistakenly run before the test for unistd.h.
80391
80392         The configure-time check for stdbool.h was missing.
80393         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
80394         (jm_PREREQ_HASH): New function.
80395
80396 2001-01-17  Jim Meyering  <meyering@lucent.com>
80397
80398         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
80399         for autoconf-2.49c.
80400         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
80401
80402 2001-01-16  Jim Meyering  <meyering@lucent.com>
80403
80404         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
80405         From Bruno Haible.
80406
80407 2001-01-14  Jim Meyering  <meyering@lucent.com>
80408
80409         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
80410         foo and bar.  Create conftestdir/ in the script, not in the C code.
80411         Remove directories in the script, not in the C code.
80412         Remove conftestdir{,2} before trying to create the directory.
80413         Make the entire configure script fail if the mkdir fails.
80414
80415 2001-01-14  Jim Meyering  <meyering@lucent.com>
80416
80417         * lib/rename.c: New file.  From Volker Borchert.
80418         Include stdlib.h, string.h or strings.h, and xalloc.h.
80419         Use strip_trailing_slashes rather than open-coding it.
80420
80421 2001-01-03  Paul Eggert  <eggert@twinsun.com>
80422
80423         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
80424
80425 2001-01-03  Jim Meyering  <meyering@lucent.com>
80426
80427         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
80428         of local `inptr' to avoid warning with some system declarations of
80429         iconv.
80430
80431 2001-01-02  Volker Borchert  <bt@teknon.de>
80432
80433         * m4/rename.m4: New file.
80434         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
80435
80436 2001-01-01  Jim Meyering  <meyering@lucent.com>
80437
80438         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
80439         even on systems with utmpx.h.  It's necessary for the declaration of
80440         utmp's ut_user member.  Reported by Andreas Jaeger.
80441
80442         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
80443         available. They are required for the declarations of getgrgid and
80444         getpwuid resp.
80445         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
80446         Reported by Andreas Jaeger.
80447
80448 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
80449
80450         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
80451         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
80452         so `make install' also works in VPATH builds.
80453
80454 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
80455
80456         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
80457         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
80458         can be used in subdirectories.
80459
80460 2000-12-29  Paul Eggert  <eggert@twinsun.com>
80461
80462         * lib/modechange.c: Do not assume that mode_t uses the
80463         traditional octal encoding.  E.g. "chmod 1 FOO" should set
80464         the other-execute bit of FOO even if S_IXOTH != 1.
80465
80466         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
80467         WOTH, XOTH, ALLM): New macros.
80468         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
80469          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
80470         Use them.
80471         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
80472         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
80473         (mode_compile):
80474         No need to use uintmax_t; unsigned long is long enough.
80475         Don't bother to get suffix since we don't use it.
80476
80477 2000-12-26  Jim Meyering  <meyering@lucent.com>
80478
80479         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
80480         better with autoheader.
80481
80482 2000-12-24  Jim Meyering  <meyering@lucent.com>
80483
80484         * lib/hash.c (is_prime): Return explicit boolean values.
80485         (hash_get_first): Return NULL to appease Irix5.6's 89.
80486         Reported by Nelson Beebe.
80487
80488 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
80489
80490         * lib/localcharset.c (locale_charset): Add support for Win32.
80491
80492 2000-12-18  Paul Eggert  <eggert@twinsun.com>
80493
80494         * lib/physmem.h, lib/physmem.c: New files.
80495
80496         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
80497         (noinst_HEADERS): Add physmem.h.
80498
80499         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
80500         't' for compatibility with Solaris 8 sort.
80501
80502 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
80503
80504         * lib/config.charset: Add support for BeOS.
80505
80506 2000-12-17  Jim Meyering  <meyering@lucent.com>
80507
80508         * m4/dos.m4 (jm_AC_DOS): New file and macro.
80509         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
80510
80511 2000-12-16  Jim Meyering  <meyering@lucent.com>
80512
80513         This bug had a serious impact on chown: `chown N:M FILE' (for integer
80514         N and M) would have treated it like `chown N:N FILE'.
80515
80516         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
80517
80518 2000-12-16  Jim Meyering  <meyering@lucent.com>
80519
80520         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
80521         SHELLS_FILE to a file name that's useful on djgpp systems.
80522         Include stdlib.h.
80523         (ADDITIONAL_DEFAULT_SHELLS): Define.
80524         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
80525         Based mostly on a patch from Prashant TR.
80526
80527 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
80528
80529         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
80530         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
80531         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
80532
80533 2000-12-08  Andreas Schwab  <schwab@suse.de>
80534
80535         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
80536         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
80537
80538 2000-12-07  Jim Meyering  <meyering@lucent.com>
80539
80540         * lib/stripslash.c (ISSLASH): Define.
80541         (strip_trailing_slashes): Use ISSLASH rather than comparing against
80542         `/'.
80543         From Prashant TR.
80544
80545         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
80546         (dir_name_r): Declare this function as static.
80547         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
80548         manifest itself on a name containing a mix of slashes and
80549         backslashes.
80550         Make this function work with names starting with a DOS-style
80551         drive letter and colon prefix.
80552         (dir_name): Append `.' if necessary.
80553         Based mostly on patches from Prashant TR and Eli Zaretskii.
80554
80555         * lib/dirname.h (dir_name_r): Remove prototype.
80556
80557 2000-12-06  Paul Eggert  <eggert@twinsun.com>
80558
80559         * m4/off_t-format.m4: Remove this file.
80560         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
80561
80562 2000-12-06  Jim Meyering  <meyering@lucent.com>
80563
80564         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
80565         replacement strtoull, we may well need the replacement strtoul, too.
80566         Check for declarations of strtoul and strtoull.
80567         Check for strtol.  Mainly as a cue to cause automake to include
80568         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
80569         Check for limits.h -- strtol.c needs it.
80570
80571 2000-12-05  Jim Meyering  <meyering@lucent.com>
80572
80573         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
80574
80575 2000-12-04  Jim Meyering  <meyering@lucent.com>
80576
80577         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
80578         Also include memory.h, stdlib.h, unistd.h if appropriate.
80579         Reported by Andreas Jaeger (conflicting declaration of malloc).
80580
80581 2000-12-02  Jim Meyering  <meyering@lucent.com>
80582
80583         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
80584         * m4/jm-macros.m4 (jm_MACROS): require it.
80585
80586 2000-12-02  Jim Meyering  <meyering@lucent.com>
80587
80588         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
80589
80590 2000-12-01  Paul Eggert  <eggert@twinsun.com>
80591
80592         * lib/memrchr.c: Include <config.h> before any system include file.
80593
80594 2000-11-30  Jim Meyering  <meyering@lucent.com>
80595
80596         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
80597
80598 2000-11-30  Jim Meyering  <meyering@lucent.com>
80599
80600         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
80601
80602 2000-11-29  Paul Eggert  <eggert@twinsun.com>
80603
80604         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
80605
80606 2000-11-26  Jim Meyering  <meyering@lucent.com>
80607
80608         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
80609
80610 2000-11-22  Paul Eggert  <eggert@twinsun.com>
80611
80612         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
80613         size of (size_t) -1; it's not portable.
80614
80615 2000-11-17  Jim Meyering  <meyering@lucent.com>
80616
80617         * lib/strstr.c: Update from GNU libc.
80618
80619 2000-11-17  Akim Demaille  <akim@epita.fr>
80620
80621         * lib/obstack.h: Formatting changes.
80622         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
80623         prevent type checking.
80624         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
80625         cast the value to (void *): assigning a `foo *' to a `void *'
80626         variable is valid.
80627         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
80628
80629 2000-11-16  Jim Meyering  <meyering@lucent.com>
80630
80631         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
80632
80633 2000-11-11  Jim Meyering  <meyering@lucent.com>
80634
80635         * lib/error.c: Add a couple #includes, merging from GNU libc version.
80636
80637 2000-11-10  Jim Meyering  <meyering@lucent.com>
80638
80639         * lib/obstack.h: Update from GNU libc.
80640         * lib/obstack.c: Likewise.
80641
80642 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
80643
80644         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
80645
80646 2000-11-06  Paul Eggert  <eggert@twinsun.com>
80647
80648         * lib/getusershell.c (setusershell): Use rewind rather than
80649         fseek/fseeko, to avoid configuration hassles with fseeko.
80650         Don't bother opening SHELLS_FILE if shellstream is NULL;
80651         it's not necessary.
80652
80653 2000-11-05  Jim Meyering  <meyering@lucent.com>
80654
80655         * lib/makepath.h (make_dir): Declare.
80656         * lib/makepath.c (make_dir): Remove `static' attribute.
80657         Tweak a comment.
80658
80659 2000-11-04  Jim Meyering  <meyering@lucent.com>
80660
80661         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
80662
80663 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
80664
80665         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
80666         last one in a bucket, advance to the next bucket.
80667
80668 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
80669
80670         * lib/fnmatch.c: Do not comment out all the code if we are using
80671         the GNU C library, because in some cases we are replacing buggy
80672         code in the GNU C library itself.
80673
80674 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
80675
80676         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
80677         (regex_compile): Catch bogus \(\1\).
80678
80679 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80680
80681         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
80682         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
80683         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
80684
80685 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80686
80687         * lib/error.h, getline.h, modechange.h:
80688         Remove "2000" from Copyright line, as the file hasn't been
80689         changed this year other than in the copyright notice.
80690
80691         * lib/xalloc.h: Add "2000" to Copyright line, as this file
80692         was changed this year.
80693
80694 2000-10-29  Jim Meyering  <meyering@lucent.com>
80695
80696         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
80697         renaming.
80698         * m4/ls-mntd-fs.m4: Likewise
80699
80700 2000-10-29  Jim Meyering  <meyering@lucent.com>
80701
80702         * lib/xstat.in: Fix grammar in comment.
80703
80704 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
80705
80706         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
80707         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
80708         doesn't define __restrict_arr.
80709
80710 2000-10-28  Jim Meyering  <meyering@lucent.com>
80711
80712         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
80713         (jm_PREREQ_MEMCHR): New function.
80714
80715 2000-10-28  Jim Meyering  <meyering@lucent.com>
80716
80717         * lib/memchr.c: Update from libc.
80718         Adjust for portability:
80719         [HAVE_STDLIB_H]: Include stdlib.h.
80720         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
80721         Undef __memchr, too.
80722         [!weak_alias]: Define __memchr to memchr.
80723
80724         * lib/regex.c: Update from libc.
80725         * lib/regex.h: Likewise.
80726         * lib/getopt1.c: Likewise.
80727         * lib/memcmp.c: Likewise.
80728
80729         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
80730         Avoid using fseek, when possible -- it's broken by design.
80731         Patch by Ulrich Drepper.
80732
80733 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
80734
80735         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
80736         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
80737         Giving in to popular pressure to shut up the compiler with casts.
80738
80739 2000-10-26  Jim Meyering  <meyering@lucent.com>
80740
80741         * lib/strftime.c: Update from libc.
80742
80743 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
80744
80745         * regex.c: More `unsigned char' -> `re_char' changes.
80746         Also change several `int' into `re_wchar_t'.
80747         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
80748         (PUSH_FAILURE_POINTER): Don't cast any more.
80749         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
80750         We want GCC to complain, since this piece of code makes
80751         re_match non-reentrant, which *should* be fixed.
80752         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
80753         (EXTEND_BUFFER): Use RETALLOC.
80754         (SET_LIST_BIT): Don't cast.
80755         (re_wchar_t): New type.
80756         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
80757         that those two functions will always properly return.
80758         (IMMEDIATE_QUIT_CHECK): Cast to void.
80759         (analyse_first): Use recursion rather than an explicit stack.
80760         (re_compile_fastmap): Can't fail anymore.
80761         (re_search_2): Don't check re_compile_fastmap for failure.
80762         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
80763         Now also sets the new value (passed in a new argument).
80764         (re_match_2_internal): Use it.
80765         Also, use a new var `reg' of type size_t when looping through regs
80766         rather than reuse the inappropriate `mcnt'.
80767
80768 2000-10-25  Jim Meyering  <meyering@lucent.com>
80769
80770         * lib/obstack.c: Update from libc.
80771
80772 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
80773
80774         * regex.c (regex_compile): Change the way of handling a range from
80775         a char less than 256 to a char not less than 256.
80776
80777 2000-10-24  Andrew Innes  <andrewi@gnu.org>
80778
80779         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
80780         NT-Emacs only.
80781         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
80782         so that re_search functions only quit when callers expect them to.
80783
80784 2000-10-23  Jim Meyering  <meyering@lucent.com>
80785
80786         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
80787         wrong.  That set_locale call must not have any side effects.
80788         From Paul Eggert.
80789
80790 2000-10-22  Jim Meyering  <meyering@lucent.com>
80791
80792         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
80793         [CYCLIC]: Remove now-unused definition.
80794
80795         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
80796         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
80797         Suggestion from Ulrich Drepper.
80798
80799 2000-10-21  Jim Meyering  <meyering@lucent.com>
80800
80801         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
80802         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
80803         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
80804
80805 2000-10-21  Jim Meyering  <meyering@lucent.com>
80806
80807         * lib/dirname.c (memrchr): Declare if necessary.
80808         (dir_name): Remove the restriction that there be no
80809         trailing slashes.  Now, this code skips past them, effectively
80810         ignoring them.
80811         [TEST_DIRNAME] (main): New unit tests.
80812
80813         * lib/memrchr.c: New file from GNU libc.
80814         Undef __memrchr, too.
80815         [!weak_alias]: Define __memrchr to memrchr.
80816         Guard weak_alias use with `#ifdef weak_alias'.
80817
80818 2000-10-21  Jim Meyering  <meyering@lucent.com>
80819
80820         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
80821         (dir_name): Use dir_name_r.
80822         * lib/dirname.h (dir_name_r): Declare it.
80823
80824 2000-10-17  Jim Meyering  <meyering@lucent.com>
80825
80826         * lib/quote.h (PARAMS): Define and use.
80827         Reported by Akim Demaille.
80828
80829         * lib/getopt.c: Update from libc.
80830
80831 2000-10-16  Jim Meyering  <meyering@lucent.com>
80832
80833         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
80834         setlocale.
80835         From Jan Fedak.
80836
80837 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
80838
80839         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
80840
80841 2000-09-25  Jim Meyering  <meyering@lucent.com>
80842
80843         * lib/md5.h (rol): Define (from GnuPG).
80844
80845         * lib/sha.c: Give credit (GnuPG) where due.
80846         (M): Use rol rather than open-coding it.
80847         Add a FIXME comment.
80848
80849 2000-09-21  Jim Meyering  <meyering@lucent.com>
80850
80851         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
80852         Reported by Michael Stone.
80853
80854 2000-09-20  Jim Meyering  <meyering@lucent.com>
80855
80856         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
80857         (noinst_HEADERS): Add sha.h.
80858         Based on code from Scott G. Miller and from GnuPG.
80859
80860 2000-09-18  Jim Meyering  <meyering@lucent.com>
80861
80862         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
80863         LIBS. Otherwise, everyone ends up linking with -lelf for some
80864         configurations.
80865         Reported by Mike Stone.
80866
80867 2000-09-15  Jim Meyering  <meyering@lucent.com>
80868
80869         * lib/regex.c: Update from libc.
80870
80871 2000-09-10  Jim Meyering  <meyering@lucent.com>
80872
80873         * lib/getopt.c (_getopt_internal): Update from glibc.
80874
80875 2000-09-09  Jim Meyering  <meyering@lucent.com>
80876
80877         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
80878         think it should be used as a general replacement for isascii.
80879         * lib/fnmatch.c: Likewise.
80880         * lib/mbswidth.c: Likewise
80881         * lib/regex.c: Likewise.
80882
80883         Don't use atoi.
80884         * lib/userspec.c: Include sys/param.h and limits.h.
80885         Include xstrtol.h.
80886         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80887         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
80888         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
80889         UID, GID.  Check range.
80890
80891 2000-09-06  Jim Meyering  <meyering@lucent.com>
80892
80893         * lib/getopt.c (_getopt_internal): Update from glibc.
80894
80895 2000-08-30  Jim Meyering  <meyering@lucent.com>
80896
80897         * lib/strftime.c: Merge in changes from GNU libc.
80898
80899 2000-08-26  Jim Meyering  <meyering@lucent.com>
80900
80901         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
80902         * m4/fpending.m4: New file.
80903
80904 2000-08-26  Jim Meyering  <meyering@lucent.com>
80905
80906         * lib/closeout.c: Include "__fpending.h".
80907         (close_stdout_status): Return right away if there's nothing to flush.
80908
80909         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
80910         * lib/__fpending.c: New file.
80911         * lib/__fpending.h: New file.
80912
80913 2000-08-20  Jim Meyering  <meyering@lucent.com>
80914
80915         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
80916         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
80917         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
80918
80919 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
80920
80921         Improve fileutils installation on systems where running
80922         programs (like install) can't be unlinked.
80923         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
80924         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
80925
80926 2000-08-07  Paul Eggert  <eggert@twinsun.com>
80927
80928         Standardize on "memory exhausted" instead of "Memory exhausted"
80929         or "virtual memory exhausted".
80930         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
80931         "virtual memory exhausted".
80932         * lib/same.c (same_name): Invoke xalloc_die instead of printing
80933         our own message.
80934         * lib/userspec.c (parse_user_spec): Likewise.
80935         * lib/bumpalloc.h: comment fix
80936         * lib/same.c, userspec.c: Include xalloc.h.
80937
80938         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
80939         not char *const and pointing to a constant array.
80940         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
80941         (xrealloc): Comment fix.
80942
80943         * lib/userspec.c (parse_user_spec):
80944         Don't translate a message until just before returning,
80945         to avoid unnecessary translation.
80946
80947 2000-08-07  Jim Meyering  <meyering@lucent.com>
80948
80949         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
80950         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
80951         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
80952         getgroups.c, gethostname.c, getopt.h, group-member.c,
80953         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
80954         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
80955         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
80956         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
80957         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
80958         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
80959         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
80960         yesno.c: Back out Copyright date changes for each file with no change
80961         this year.  This eases coordination with other programs using the same
80962         source code modules.  From Paul Eggert.
80963
80964 2000-08-06  Paul Eggert  <eggert@twinsun.com>
80965
80966         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
80967         not char, for compatibility with glibc 2.1.3 strftime.c.
80968
80969 2000-08-03  Greg McGary  <greg@mcgary.org>
80970
80971         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
80972         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
80973         (EXTEND_BUFFER): Use them.
80974
80975 2000-08-01  Jim Meyering  <meyering@lucent.com>
80976
80977         * lib/dirname.c (ISSLASH): Define.
80978         (BACKSLASH_IS_PATH_SEPARATOR): Define.
80979         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
80980         both `\' and `/' may be use as path separators.
80981         Based on a patch from Prashant TR.
80982
80983 2000-07-31  Paul Eggert  <eggert@twinsun.com>
80984
80985         * lib/quotearg.c (quotearg_n_options): Don't make the initial
80986         slot vector a constant, since it might get modified.
80987
80988 2000-07-31  Jim Meyering  <meyering@lucent.com>
80989
80990         * lib/xmalloc.c: Use `virtual memory exhausted', not
80991         `Memory exhausted'.
80992         * lib/obstack.c (print_and_abort): Likewise.
80993
80994 2000-07-30  Paul Eggert  <eggert@twinsun.com>
80995
80996         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
80997         buffer, so that the caller can always quote one small
80998         component of a "memory exhausted" message in slot 0.
80999         From a suggestion by Jim Meyering.
81000
81001 2000-07-30  Jim Meyering  <meyering@lucent.com>
81002
81003         * lib/makepath.c (make_path): Quote the other instance, too.
81004
81005         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
81006         (STATIC_BUF_SIZE): Define.
81007         (quotearg_n_options): Use only statically allocated storage when
81008         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
81009         than STATIC_BUF_SIZE.
81010
81011 2000-07-29  Jim Meyering  <meyering@lucent.com>
81012
81013         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
81014         * lib/dirname.c (dir_name): Likewise.
81015
81016         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
81017         `/'.
81018
81019         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
81020         (dir_name): Assert that there are no trailing slashes.
81021
81022 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
81023
81024         * lib/mbswidth.h (mbswidth): Add a flags argument.
81025         (mbswidth): New declaration.
81026         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
81027         * lib/mbswidth.c (mbswidth): Add a flags argument.
81028         (mbsnwidth): New function.
81029
81030 2000-07-24  Jim Meyering  <meyering@lucent.com>
81031
81032         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
81033
81034 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81035
81036         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
81037
81038 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81039
81040         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
81041         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
81042         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
81043         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
81044         invoke multibyte primitives.
81045
81046 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81047
81048         * lib/quotearg.c:
81049         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
81050         so that mbstate_t is always defined.
81051
81052         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
81053         be 1 in at least one GCC installation, and this configuration
81054         error is likely to be common.  Ignoring MB_LEN_MAX hurts
81055         performance on hosts that have mbrtowc but have only unibyte
81056         locales, but I assume these hosts are rare.
81057
81058 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81059
81060         * lib/mbswidth.c (_XOPEN_SOURCE):
81061         Don't define; this causes problems on Solaris 7.
81062         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
81063
81064 2000-07-23  Jim Meyering  <meyering@lucent.com>
81065
81066         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
81067         too: getgrgid, getpwuid, getuid.
81068
81069 2000-07-23  Jim Meyering  <meyering@lucent.com>
81070
81071         * lib/basename.c (base_name): Add an assertion.
81072
81073 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
81074
81075         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
81076         shadow its mbsinit function.
81077
81078 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
81079
81080         * lib/mbswidth.h: New file.
81081         * lib/mbswidth.c: New file.
81082         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
81083         (noinst_HEADERS): Add mbswidth.h.
81084
81085 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
81086
81087         * lib/config.charset: Add support for FreeBSD. Improve support for
81088         HP-UX and IRIX 6.
81089
81090 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
81091
81092         * m4/mbswidth.m4: New file.
81093         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
81094
81095 2000-07-15  Jim Meyering  <meyering@lucent.com>
81096
81097         * lib/makepath.c: Include quote.h.
81098         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
81099         corresponding argument in a `quote (...)' call.
81100         Give better diagnostics.
81101
81102         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
81103         (noinst_HEADERS): Add quote.h.
81104
81105         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
81106         from tar's src/misc.c.
81107         * lib/quote.h: New file.  Prototypes for same.
81108
81109 2000-07-14  Paul Eggert  <eggert@twinsun.com>
81110
81111         From a suggestion by Bruno Haible.
81112         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
81113         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
81114         to decide whether to define the BeOS workaround macro;
81115         this adjusts to the change to AC_MBSTATE_T.
81116
81117 2000-07-14  Jim Meyering  <meyering@lucent.com>
81118
81119         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
81120         jm_AC_TYPE_UINTMAX_T.
81121
81122 2000-07-13  Paul Eggert  <eggert@twinsun.com>
81123
81124         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
81125
81126         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
81127         quotearg_buffer_restyled): Add support for
81128         clocale_quoting_style.  Undo previous change to
81129         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
81130         and "{RIGHT QUOTATION MARK}" msgids.
81131
81132 2000-07-10  Paul Eggert  <eggert@twinsun.com>
81133
81134         From a suggestion by Bruno Haible.
81135         * m4/mbstate_t.m4 (AC_MBSTATE_T):
81136         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
81137         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
81138         and mbstate_t, to a single-part test that simply defines mbstate_t.
81139         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
81140         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
81141
81142 2000-07-10  Jim Meyering  <meyering@lucent.com>
81143
81144         * m4/strerror_r.m4: Mirror the correction made in autoconf.
81145
81146         * m4/gnu-source.m4: Output to confdefs.h directly.
81147         Suggestion from Akim Demaille.
81148
81149 2000-07-09  Paul Eggert  <eggert@twinsun.com>
81150
81151         The old behavior of quoting `like this' doesn't look good with
81152         newer, ISO-style fonts.  See:
81153         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
81154
81155         Instead, quote "like this" by default.  Let the translator
81156         tailor the locale-specific quoting behavior by providing
81157         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
81158
81159         * lib/quotearg.c (N_): New macro.
81160         (gettext_default): New function.
81161         (quotearg_buffer_restyled): Use
81162         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
81163         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
81164
81165 2000-07-09  Jim Meyering  <meyering@lucent.com>
81166
81167         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
81168         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
81169
81170         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
81171         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
81172
81173 2000-07-09  Jim Meyering  <meyering@lucent.com>
81174
81175         * lib/Most files: Update copyright dates to include 2000.
81176
81177 2000-07-08  Jim Meyering  <meyering@lucent.com>
81178
81179         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
81180         if not defined.
81181         (xgethostname): Remove now-unnecessary #ifdef.
81182         Move declaration of `err' into loop where it's used.
81183
81184 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81185         and Bruno Haible  <haible@clisp.cons.org>
81186
81187         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
81188         only if the test for an object-type mbstate_t fails.  This
81189         prevents us from mistakenly reporting that mbstate_t is a
81190         system object type after we "#define mbstate_t int" to work
81191         around its lack.
81192
81193 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81194         and Bruno Haible  <haible@clisp.cons.org>
81195
81196         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
81197
81198 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81199
81200         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
81201         to strerror_r.
81202         Include <ctype.h> for use of isalpha.
81203
81204 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81205
81206         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
81207         by allocating a larger buffer. Test the gethostname return value for
81208         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
81209         returns an error and ENAMETOOLONG isn't defined.
81210
81211 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81212
81213         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
81214         dimension.
81215
81216 2000-07-04  Jim Meyering  <meyering@lucent.com>
81217
81218         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
81219         of the deprecated AC_CHECKING.
81220
81221 2000-07-04  Jim Meyering  <meyering@lucent.com>
81222
81223         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
81224         Reported by Bruno Haible.
81225
81226 2000-07-04  Jim Meyering  <meyering@lucent.com>
81227
81228         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
81229         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
81230         lacks mbrtowc.
81231
81232 2000-07-03  Paul Eggert  <eggert@twinsun.com>
81233
81234         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
81235         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
81236
81237 2000-07-03  Paul Eggert  <eggert@twinsun.com>
81238         and Bruno Haible  <haible@clisp.cons.org>
81239
81240         * lib/quotearg.c (mbrtowc):
81241         Assign to *pwc, and return 1 only if result is nonzero.
81242         (iswprint): Use ISPRINT when substituting our own mbrtowc.
81243
81244 2000-07-03  Jim Meyering  <meyering@lucent.com>
81245
81246         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
81247
81248 2000-07-03  Jim Meyering  <meyering@lucent.com>
81249
81250         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
81251         This is necessary to get a definition of e.g., UTMP_FILE on
81252         HP-UX 10.20.
81253         From Bob Proulx.
81254
81255 2000-07-02  Jim Meyering  <meyering@lucent.com>
81256
81257         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
81258
81259         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
81260         AC_LIBOBJ(function_name).
81261         * m4/chown.m4: Likewise.
81262         * m4/fnmatch.m4: Likewise.
81263         * m4/ftruncate.m4: Likewise.
81264         * m4/getgroups.m4: Likewise.
81265         * m4/getline.m4: Likewise.
81266         * m4/group-member.m4: Likewise.
81267         * m4/jm-macros.m4: Likewise.
81268         * m4/lstat.m4: Likewise.
81269         * m4/malloc.m4: Likewise.
81270         * m4/memcmp.m4: Likewise.
81271         * m4/nanosleep.m4: Likewise.
81272         * m4/putenv.m4: Likewise.
81273         * m4/realloc.m4: Likewise.
81274         * m4/regex.m4: Likewise.
81275         * m4/stat.m4: Likewise.
81276         * m4/strftime.m4: Likewise.
81277
81278 2000-07-02  Jim Meyering  <meyering@lucent.com>
81279
81280         * lib/quotearg.c (mbstate_t): Don't define here.
81281
81282 2000-07-02  Jim Meyering  <meyering@lucent.com>
81283
81284         * lib/nanosleep.c (SIGCONT): Define if not already defined.
81285
81286 2000-07-01  Jim Meyering  <meyering@lucent.com>
81287
81288         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
81289
81290 2000-07-01  Jim Meyering  <meyering@lucent.com>
81291
81292         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
81293         problem.
81294
81295 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
81296
81297         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
81298         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
81299
81300 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
81301
81302         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
81303         per change in ../m4/ls-mntd-fs.m4.
81304         (read_filesystem_list): Ignore symbolic links.
81305
81306 2000-06-29  Jim Meyering  <meyering@lucent.com>
81307
81308         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
81309         for declaration of strcmp.
81310
81311         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
81312
81313         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
81314         Avoid warning by casting result to `char *' to remove `const'.
81315
81316 2000-06-28  Jim Meyering  <meyering@lucent.com>
81317
81318         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
81319         included by quotearg.c, for which we perform this test.  From
81320         Bruno Haible.
81321
81322 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
81323
81324         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
81325         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
81326         <utmpx.h> exists, put readutmp.o into LIBOBJS.
81327
81328 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
81329
81330         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
81331
81332 2000-06-26  Paul Eggert  <eggert@twinsun.com>
81333
81334         savedir now sets errno on failure and invokes xmalloc to get memory.
81335         Fix a couple of other minor bugs while we're at it.
81336
81337         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
81338         (NAMLEN): Remove macro.
81339         (malloc, realloc): Remove decls.
81340         (stpcpy): Likewise.
81341         ("xalloc.h"): Include.
81342         (NAME_SIZE_DEFAULT): New macro.
81343         (savedir): Use xmalloc / xrealloc to allocate memory.
81344         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
81345         Skip "" directory entries.
81346         Use strlen to calculate directory entry length, since the old method
81347         is rarely used these days and isn't worth supporting.
81348         Don't use a pointer after freeing it.
81349         Check for integer overflow when calculating allocation size.
81350         Use memcpy to copy entries, instead of stpcpy.
81351         Set errno properly when returning NULL.
81352         Check for readdir error.
81353
81354 2000-06-26  Jim Meyering  <meyering@lucent.com>
81355
81356         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
81357
81358 2000-06-25  Jim Meyering  <meyering@lucent.com>
81359
81360         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
81361         Linux header bug when _XOPEN_SOURCE is defined to 500.
81362
81363 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81364
81365         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
81366         deficiency.
81367
81368 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81369
81370         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
81371         Include xalloc.h.
81372         Don't include <stdlib.h>.  Don't declare malloc, realloc.
81373
81374 2000-06-24  Jim Meyering  <meyering@lucent.com>
81375
81376         * m4/strerror_r.m4: Revive this file -- to try out an experimental
81377         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
81378         for which strerror does return char*, but which lacks a conveniently
81379         accessible declaration of the function.  If the compile-test says
81380         strerror_r doesn't work, then resort to a `run'-test that works on
81381         BeOS and segfaults on DEC Unix.
81382
81383 2000-06-24  Jim Meyering  <meyering@lucent.com>
81384
81385         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
81386
81387 2000-06-23  Paul Eggert  <eggert@twinsun.com>
81388
81389         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
81390         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
81391
81392 2000-06-23  Paul Eggert  <eggert@twinsun.com>
81393
81394         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
81395         (mbrtowc, mbstate_t): Define substitutes if
81396         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
81397         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
81398         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
81399
81400 2000-06-23  Jim Meyering  <meyering@lucent.com>
81401
81402         * m4/afs.m4: Add missing AC_MSG_RESULT.
81403         Reported by Bruno Haible.
81404
81405         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
81406         Suggestion from Bruno Haible.
81407
81408 2000-06-23  Jim Meyering  <meyering@lucent.com>
81409
81410         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
81411
81412 2000-06-21  Jim Meyering  <meyering@lucent.com>
81413
81414         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
81415
81416 2000-06-21  Jim Meyering  <meyering@lucent.com>
81417
81418         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
81419         (noinst_HEADERS): Add getstr.h.
81420
81421         * lib/getline.c (getstr): Move into a separate file.
81422         * lib/getstr.c (getstr): New file, extracted from getline.c, with
81423         the following changes: new parameter, delim2; both delim[12]
81424         parameters have type `int', not `char'.  The latter would lose
81425         with 8-bit delimiters.
81426         * lib/getstr.h: New file.
81427
81428 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81429
81430         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
81431         than 1024, return a memory chunk of least possible size, instead
81432         of size PATH_MAX + 2. In the loop, increment the size proportionally.
81433         Use free/xmalloc instead of xrealloc to avoid copying for very long
81434         paths.
81435
81436 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81437
81438         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
81439         the empty string.
81440
81441 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81442
81443         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
81444         address, not strdup.  Include <stdlib.h> and don't declare free().
81445
81446 2000-06-19  Jim Meyering  <meyering@lucent.com>
81447
81448         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
81449
81450 2000-06-18  Jim Meyering  <meyering@lucent.com>
81451
81452         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
81453
81454         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
81455         `checking whether...' message to be consistent with that of the
81456         lstat test.
81457
81458 2000-06-18  Jim Meyering  <meyering@lucent.com>
81459
81460         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
81461         Besides, these days every porting target provides a mkdir function.
81462
81463         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
81464         needed. (this snippet comes from src/system.h).
81465
81466 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
81467
81468         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
81469
81470 2000-06-15  Paul Eggert  <eggert@twinsun.com>
81471
81472         * lib/human.c (adjust_value): New function.
81473         (human_readable_inexact): Apply rounding style even when
81474         printing approximate values.
81475
81476 2000-06-14  Paul Eggert  <eggert@twinsun.com>
81477
81478         * lib/human.c (human_readable_inexact): Allow an input block
81479         size that is not a multiple of the output block size, and vice versa.
81480         Reported by Piergiorgio Sartor.
81481
81482 2000-06-14  Paul Eggert  <eggert@twinsun.com>
81483
81484         * lib/getdate.y (get_date): Apply relative times after time
81485         zone indicator, not before.  Reported by Todd A. Jacobs.
81486
81487 2000-06-13  Jim Meyering  <meyering@lucent.com>
81488
81489         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
81490
81491         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
81492
81493 2000-06-12  Paul Eggert  <eggert@twinsun.com>
81494
81495         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
81496
81497 2000-06-12  Jim Meyering  <meyering@lucent.com>
81498
81499         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
81500         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
81501         optional argument.
81502         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
81503         the optional argument, `lib'.
81504
81505 2000-06-08  Jim Meyering  <meyering@lucent.com>
81506
81507         * m4/largefile.m4: Remove file (now that it's part of autoconf).
81508
81509 2000-06-04  Paul Eggert  <eggert@twinsun.com>
81510
81511         Rewrite largefile configuration so that we don't need to run
81512         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
81513         AC_CANONICAL_HOST in configure.in -- jmm]
81514
81515         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
81516         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
81517         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
81518         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
81519         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
81520         All uses changed.
81521         Instead of inspecting the output of getconf, try to compile the
81522         test program without and with the macro definition.
81523         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
81524         for getconf.  Instead, check for the needed flags by compiling
81525         test programs.
81526
81527 2000-06-04  Paul Eggert  <eggert@twinsun.com>
81528
81529         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
81530
81531 2000-06-04  Jim Meyering  <meyering@lucent.com>
81532
81533         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
81534         SunOS 4.1.4 for which gid_t is an unsigned type.
81535
81536 2000-06-03  Jim Meyering  <meyering@lucent.com>
81537
81538         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
81539         now that autoconf requires that.
81540
81541         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
81542         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
81543         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
81544
81545 2000-06-03  Jim Meyering  <meyering@lucent.com>
81546
81547         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
81548
81549 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
81550
81551         * m4/glibc21.m4: New file.
81552         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
81553
81554 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
81555
81556         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
81557         newer, don't install charset.alias.
81558         * lib/config.charset: Change the Linux/glibc rules so they become empty
81559         on glibc-2.1 or newer.
81560
81561 2000-06-02  Jim Meyering  <meyering@lucent.com>
81562
81563         * lib/mountlist.c: Back out last change.  Instead, do this...
81564         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
81565         me_dummy member using the same `ignore'-testing code.
81566         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
81567         fs_type strings.
81568         From Mark D. Roth.
81569
81570 2000-05-29  Jim Meyering  <meyering@lucent.com>
81571
81572         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
81573         mounts with the `ignore' attribute.  Based on a patch from
81574         Mark D. Roth.
81575
81576 2000-05-28  Jim Meyering  <meyering@lucent.com>
81577
81578         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
81579         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81580         * m4/stat.m4: Likewise.
81581         * m4/lstat.m4: Likewise.
81582         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
81583
81584         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
81585         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
81586
81587 2000-05-26  Jim Meyering  <meyering@lucent.com>
81588
81589         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
81590
81591 2000-05-24  Jim Meyering  <meyering@lucent.com>
81592
81593         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
81594         autoconf requires that.
81595         * m4/lib-check.m4: Likewise.
81596         * m4/jm-macros.m4: Likewise.
81597         * m4/strftime.m4: Likewise.
81598
81599         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
81600         AC_CHECK_DECLS, now that autoconf requires that.
81601
81602 2000-05-22  Jim Meyering  <meyering@lucent.com>
81603
81604         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81605         * m4/lstat.m4: Likewise.
81606
81607 2000-05-22  Jim Meyering  <meyering@lucent.com>
81608
81609         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
81610
81611 2000-05-20  Jim Meyering  <meyering@lucent.com>
81612
81613         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
81614         (jm_PREREQ): Use it.
81615
81616 2000-05-18  Jim Meyering  <meyering@lucent.com>
81617
81618         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
81619         back, too, since it may have been modified by allocate_entry.
81620         (hash_delete): Rewrite to use neither the assignment operator
81621         nor the comma operator in an if-expression.
81622
81623 2000-05-15  Paul Eggert  <eggert@twinsun.com>
81624
81625         * lib/closeout.c:
81626         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
81627         Remove; no longer needed.
81628         "quotearg.h": Add include.
81629         (file_name): Do not bother to explicitly initialize to NULL; it's less
81630         efficient on some hosts.
81631         (close_stdout_status): Remove test as to whether stdout was already
81632         closed; it breaks for the case "echo x | sort >&-".
81633         Quote file name colons.
81634         Do not assume that _("write error") lacks format strings.
81635
81636 2000-05-15  Jim Meyering  <meyering@lucent.com>
81637
81638         * lib/version-etc.c (version_etc_copyright): Update the copyright
81639         string used in all --version output.
81640
81641 2000-05-14  Jim Meyering  <meyering@lucent.com>
81642
81643         * lib/closeout.c (close_stdout_set_file_name): New function.
81644         (close_stdout_status): Use new file-scoped global.
81645         Return right away if fstat says the stdout file descriptor is invalid.
81646         * lib/closeout.h (close_stdout_set_file_name): Declare.
81647
81648 2000-05-10  Jim Meyering  <meyering@lucent.com>
81649
81650         * lib/closeout.c [default_exit_status]: New file-scoped variable.
81651         (close_stdout_set_status): New function.
81652         * lib/closeout.h (close_stdout_set_status): Declare.
81653
81654 2000-05-09  Jim Meyering  <meyering@lucent.com>
81655
81656         * m4/gettext.m4: Rename this...
81657         * m4/libintl.m4: ...to this.
81658
81659 2000-05-08  Jim Meyering  <meyering@lucent.com>
81660
81661         * lib/long-options.c: Don't include closeout.h.
81662         (parse_long_options): Don't call close_stdout for --version.
81663
81664 2000-05-06  Paul Eggert  <eggert@twinsun.com>
81665
81666         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
81667         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
81668         2.1.3 bug.  This avoids a clash when files like regex.c define
81669         _GNU_SOURCE.
81670
81671 2000-05-06  Jim Meyering  <meyering@lucent.com>
81672
81673         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
81674         (AC_REPLACE_FUNCS): Add strnlen.
81675
81676         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
81677         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
81678
81679         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
81680         AC_SEARCH_LIBS call for nanosleep.
81681         (LIB_NANOSLEEP): Set and AC_SUBST.
81682
81683 2000-05-06  Jim Meyering  <meyering@lucent.com>
81684
81685         * lib/strnlen.c: Undefine __strnlen and strnlen.
81686         [!weak_alias]: Define __strnlen to strnlen.
81687
81688         * lib/atexit.c: New file, from libiberty.
81689
81690 2000-05-06  Jim Meyering  <meyering@lucent.com>
81691
81692         * lib/closeout.c (close_stdout_status): Also check for errors on the
81693         stderr stream.
81694
81695 2000-05-05  Jim Meyering  <meyering@lucent.com>
81696
81697         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
81698         AC_SEARCH_LIBS call for clock_gettime.
81699         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
81700
81701         * m4/search-libs.m4: Update from autoconf.
81702
81703         su doesn't work on Solaris 2.6.
81704         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
81705         <shadow.h>.  Reported by Dragos Harabor.
81706
81707 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
81708
81709         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
81710         memcpy instead of xmalloc, xrealloc, path_concat.
81711         (locale_charset): Treat empty environment variables as absent.
81712         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
81713
81714 2000-05-04  Jim Meyering  <meyering@lucent.com>
81715
81716         * lib/getopt.c: Update from glibc.
81717         * lib/obstack.c: Likewise.
81718         * lib/obstack.h: Likewise.
81719         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
81720         file
81721
81722         * lib/regex.h: Likewise.
81723         * lib/strndup.c: Likewise.
81724         * lib/strnlen.c: New file, from glibc.
81725
81726 2000-05-03  Jim Meyering  <meyering@lucent.com>
81727
81728         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
81729
81730 2000-05-02  Paul Eggert  <eggert@twinsun.com>
81731
81732         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
81733         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
81734         compile-time test, rather than inspecting host and OS, to
81735         decide whether to define _LARGEFILE_SOURCE.
81736
81737 2000-05-01  Jim Meyering  <meyering@lucent.com>
81738
81739         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
81740
81741         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
81742         Based on a patch from Bruno Haible.
81743
81744 2000-05-01  Jim Meyering  <meyering@lucent.com>
81745
81746         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
81747
81748 2000-04-29  Jim Meyering  <meyering@lucent.com>
81749
81750         * lib/path-concat.c: Declare strdup only if it's not defined.
81751         * lib/canon-host.c: Likewise.
81752
81753 2000-04-28  Jim Meyering  <meyering@lucent.com>
81754
81755         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
81756         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
81757         is included first, then limits.h is included by locale.h by libintl.h.
81758         From John David Anglin.
81759
81760 2000-04-25  Jim Meyering  <meyering@lucent.com>
81761
81762         * lib/makepath.c (S_IRWXUGO): Define.
81763         (make_path): Always perform explicit chmod if MODE specifies any
81764         of the `special' permission bits.  Prompted by a bug report against
81765         install from Mate Wierdl and Joost van Baal.
81766
81767 2000-04-18  Jim Meyering  <meyering@lucent.com>
81768
81769         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
81770         (jm_PREREQ): Use it.
81771
81772 2000-04-18  Jim Meyering  <meyering@lucent.com>
81773
81774         * lib/README: New file.
81775
81776         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
81777         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
81778
81779 2000-04-17  Jim Meyering  <meyering@lucent.com>
81780
81781         Get it right :-)
81782         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
81783         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
81784         Suggestion from Akim Demaille.
81785
81786 2000-04-17  Jim Meyering  <meyering@lucent.com>
81787
81788         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
81789         the definition of it to rpl_strftime also defined-away the system's
81790         declaration.
81791
81792 2000-04-15  Jim Meyering  <meyering@lucent.com>
81793
81794         Use `C' to denote so-called `contiguous' files, the same way
81795         that tar does.
81796         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
81797         (ftypelet): Use S_ISCTG.
81798         From Michael Deutschmann.
81799
81800 2000-04-14  Jim Meyering  <meyering@lucent.com>
81801
81802         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
81803         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
81804         clobbered.
81805
81806 2000-04-14  Jim Meyering  <meyering@lucent.com>
81807
81808         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
81809
81810 2000-04-13  Jim Meyering  <meyering@lucent.com>
81811
81812         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
81813         AH_VERBATIM to insert required #ifndef into config.h.in.
81814         Suggestion from Akim Demaille.
81815
81816 2000-04-12  Jim Meyering  <meyering@lucent.com>
81817
81818         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
81819         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
81820         Christian Krackowizer.
81821
81822         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
81823         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
81824         (AC_SYS_LARGEFILE): Require.
81825         (AM_C_PROTOTYPES): Require.
81826
81827 2000-04-08  Jim Meyering  <meyering@lucent.com>
81828
81829         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
81830         names don't conflict.  Reported by Eli Zaretskii.
81831
81832 2000-04-07  Jim Meyering  <meyering@lucent.com>
81833
81834         * lib/putenv.c: Move inclusion of errno.h so it follows that of
81835         sys/types.h, to work around system header problems on AIX 3.2.5.
81836         From Bruno Haible.
81837
81838 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
81839
81840         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
81841         bug.  Deal with the different error behavior of Irix iconv.
81842
81843 2000-04-05  Paul Eggert  <eggert@twinsun.com>
81844
81845         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
81846         IRIX if the installer said otherwise.
81847
81848 2000-04-05  Jim Meyering  <meyering@lucent.com>
81849
81850         Portability tweaks required for ultrix4.3.
81851         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
81852         (jm_CHECK_DECLS): Add getutent to the list of functions.
81853         (_jm_DECL_HEADERS): Add utmpx.h.
81854         From John David Anglin.
81855
81856         * m4/strftime.m4: Back out the 2000-04-02 change.
81857         Instead of that change, simply undefine putenv in the test program.
81858
81859 2000-04-05  Jim Meyering  <meyering@lucent.com>
81860
81861         Portability tweaks required for ultrix4.3.
81862         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
81863         getutent.
81864         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
81865         * lib/canon-host.c: Declare strdup.
81866         * lib/path-concat.c: Likewise.
81867         From John David Anglin.
81868
81869 2000-04-04  Jim Meyering  <meyering@lucent.com>
81870
81871         Be more DOS 8.3-friendly.
81872         * lib/ref-add.sin: Renamed from ref-add.sed.in.
81873         * lib/ref-del.sin: Renamed from ref-del.sed.in.
81874         * lib/Makefile.am: Reflect renaming.
81875         Reported by Eli Zaretskii.
81876
81877         Use a temporary file name that won't clash with `charset.alias'
81878         in the DOS 8.3 name space.
81879         * lib/Makefile.am (charset_tmp): Define.
81880         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
81881         (uninstall-local): Likewise.
81882         Reported by Eli Zaretskii.
81883
81884 2000-04-03  Jim Meyering  <meyering@lucent.com>
81885
81886         * m4/gettext.m4: Fix typo in comment.
81887
81888         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
81889         textutils/configure.in).  Suggestion from Paul Eggert.
81890         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
81891
81892 2000-04-02  Paul Eggert  <eggert@twinsun.com>
81893
81894         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
81895         variable in the shell rather than using putenv, which isn't
81896         portable.  This avoids the configure-time inter-test dependency
81897         on the potentially-renamed putenv function.
81898
81899 2000-03-30  Paul Eggert  <eggert@twinsun.com>
81900
81901         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
81902         before checking struct stat.st_blksize, so that
81903         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
81904
81905 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81906
81907         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
81908         since strftime.c uses HAVE_STRFTIME to decide whether to use
81909         the underlying strftime.
81910
81911 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81912
81913         * lib/time/strftime.c (my_strftime): Make sure we call the system
81914         strftime, not ourselves, when invoking the underlying strftime.
81915
81916 2000-03-24  Jim Meyering  <meyering@lucent.com>
81917
81918         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
81919         (charset_alias): Define.
81920         (install-exec-local): Factor out common code.
81921         (uninstall-local): Split lines longer than 80.
81922         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
81923         (SUFFIXES): Define.
81924         (.sed.in.sed): New rule.  Don't redirect directly to $@.
81925         (CLEANFILES): Add ref-add.sed and ref-del.sed.
81926
81927 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
81928
81929         * lib/config.charset: Output a line containing "Packages using this
81930         file".
81931         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
81932         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
81933         ref-del.sed): New rules.
81934
81935 2000-03-17  Jim Meyering  <meyering@lucent.com>
81936
81937         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
81938         Otherwise, include <strings.h>
81939
81940 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
81941
81942         * lib/unicodeio.c (utf8_wctomb): New function.
81943         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
81944         format instead of in UCS-4 with platform dependent endianness.
81945
81946 2000-03-10  Jim Meyering  <meyering@lucent.com>
81947
81948         * m4/lib-check.m4: Look for getspnam in -lgen, too.
81949         From Marco Franzen.
81950
81951 2000-03-07  Paul Eggert  <eggert@twinsun.com>
81952
81953         * lib/savedir.c (savedir): Work even if directory size is
81954         negative; this can happen with some screwy NFS configurations.
81955
81956 2000-03-06  Jim Meyering  <meyering@lucent.com>
81957
81958         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
81959         if it's NULL (because we ran out of memory).  From Bruno Haible.
81960
81961 2000-03-05  Jim Meyering  <meyering@lucent.com>
81962
81963         * lib/localcharset.c ("path-concat.h"): Include.
81964         (get_charset_aliases): Use path_concat instead of ANSI string
81965         concatenation.
81966
81967         * lib/unicodeio.h (PARAMS): Define.
81968         Use it to guard prototype.
81969
81970 2000-03-04  Jim Meyering  <meyering@lucent.com>
81971
81972         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
81973         for lib/localcharset.c.
81974
81975 2000-03-04  Jim Meyering  <meyering@lucent.com>
81976
81977         * lib/Makefile.am (install-exec-local): Create $(libdir) before
81978         installing into it.
81979         (uninstall-local): Uncomment this rule so `make distcheck' works
81980         once again.
81981
81982         * lib/unicodeio.c (<errno.h>): Include it.
81983         (errno): Declare if not defined.
81984
81985         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
81986
81987         * lib/config.charset: New version, incorporating remarks from a linux
81988         i18n mailing list.  From Bruno Haible.
81989
81990 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
81991
81992         * m4/codeset.m4: New file.
81993         * m4/iconv.m4: New file.
81994         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
81995
81996 2000-03-03  Jim Meyering  <meyering@lucent.com>
81997
81998         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
81999
82000 2000-03-02  Jim Meyering  <meyering@lucent.com>
82001
82002         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
82003         the messages come out on separate lines.
82004
82005         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
82006         rather than jm_CHECK_DECLARATIONS.
82007         * m4/decl.m4: Remove now-unused file.
82008
82009         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
82010         geteuid.
82011
82012 2000-03-02  Jim Meyering  <meyering@lucent.com>
82013
82014         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
82015
82016 2000-03-01  Jim Meyering  <meyering@lucent.com>
82017
82018         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
82019         * lib/unicodeio.c: Likewise.
82020
82021 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
82022
82023         * lib/config.charset: New file.
82024         * lib/localcharset.c: New file.
82025         * lib/unicodeio.h, lib/unicodeio.c: New files.
82026         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
82027         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
82028         (noinst_HEADERS): Add unicodeio.h.
82029         (all-local, install-exec-local, charset.alias): New targets.
82030
82031 2000-02-28  Paul Eggert  <eggert@twinsun.com>
82032
82033         * lib/quotearg.c (ALERT_CHAR): New macro.
82034         (quotearg_buffer_restyled): Use it.
82035
82036 2000-02-27  Jim Meyering  <meyering@lucent.com>
82037
82038         * m4/check-decl.m4: Add getenv to the list.
82039
82040 2000-02-27  Jim Meyering  <meyering@lucent.com>
82041
82042         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
82043         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
82044
82045         * lib/backupfile.c: Guard inclusion of stdlib.h with
82046         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
82047         Declare malloc if needed.
82048
82049         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
82050         `#ifndef HAVE_DECL..'
82051         now that autoconf always defines the HAVE_DECL_ symbols.
82052         * lib/human.c: Likewise.
82053         * lib/same.c: Likewise.
82054         * lib/strtoumax.c: Likewise.
82055
82056         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
82057         declaration check was not run.
82058         * lib/hash.c: Likewise.
82059         * lib/human.c: Likewise.
82060         * lib/same.c: Likewise.
82061         * lib/strtoumax.c: Likewise.
82062
82063         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
82064         `.', then first look up the entire `.'-containing string as a login
82065         name.
82066
82067 2000-02-23  Jim Meyering  <meyering@lucent.com>
82068
82069         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
82070         in place of my hack.
82071
82072 2000-02-18  Paul Eggert  <eggert@twinsun.com>
82073
82074         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
82075         (textint): New typedef.
82076         (parser_control): Member year changed from int to textint.
82077         All uses changed.
82078         (YYSTYPE): Removed; replaced by %union with int and textint members.
82079         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
82080         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
82081         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
82082         (tSNUMBER, tUNUMBER): Now of type <textintval>.
82083         (date, number, to_year): Use width of number in digits, not its value,
82084         to determine whether it's a 2-digit year, or a 2-digit time.
82085         (yylex): Store number of digits of numeric tokens.
82086         Reported by John Kendall.
82087
82088         (parser_control): Changed from struct parser_control to typedef (for
82089         consistency).  All uses changed.
82090
82091         (tID): Removed; not used.
82092         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
82093
82094 2000-02-14  Paul Eggert  <eggert@twinsun.com>
82095
82096         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
82097         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
82098
82099 2000-02-12  Jim Meyering  <meyering@lucent.com>
82100
82101         * lib/userspec.c (ISDIGIT): Define it.
82102         (isdigit): Remove definition.
82103         (is_number): Use ISDIGIT, not isdigit.
82104         <libintl.h>: Include.
82105         (_ and N_): Define.
82106         (parse_user_spec): Mark translatable strings.
82107
82108 2000-02-10  Jim Meyering  <meyering@lucent.com>
82109
82110         With these changes, nanosleep.[ch] are finally enough like the other
82111         lib/* replacement files to compile on a few more losing systems.
82112
82113         * lib/nanosleep.h: Don't include config.h.
82114         Remove prototype from declaration of nanosleep.
82115         (PARAMS): Remove now-unneeded definition.
82116         * lib/nanosleep.c: #undef nanosleep.
82117         (rpl_nanosleep): Rename from nanosleep.
82118
82119 2000-02-10  Jim Meyering  <meyering@lucent.com>
82120
82121         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
82122         gnu_nanosleep to rpl_nanosleep.
82123
82124 2000-02-09  Jim Meyering  <meyering@lucent.com>
82125
82126         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
82127         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
82128
82129 2000-02-08  Akim Demaille  <akim@epita.fr>
82130
82131         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
82132         `[' and `]' and remove uses of `changequote'.
82133         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
82134         (AC_SYS_LARGEFILE): Likewise.
82135         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
82136         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
82137         of changequote.
82138         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
82139         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
82140         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
82141         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
82142
82143 2000-02-05  Jim Meyering  <meyering@lucent.com>
82144
82145         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
82146         Remove explicit use of AC_HEADER_TIME.  It is required by
82147         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
82148         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
82149         in autoconf whereby the expansion of the latter ended up preceding
82150         the expansion of its prerequisite, AC_HEADER_TIME.
82151         Reported by Volker Borchert.
82152
82153 2000-02-03  Jim Meyering  <meyering@lucent.com>
82154
82155         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
82156
82157 2000-02-03  Jim Meyering  <meyering@lucent.com>
82158
82159         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
82160         rather than with `#if HAVE_UTMPNAME'.
82161
82162 2000-02-02  Jim Meyering  <meyering@lucent.com>
82163
82164         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
82165         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
82166         Reported by Eli Zaretskii.
82167
82168 2000-02-01  Jim Meyering  <meyering@lucent.com>
82169
82170         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
82171
82172 2000-01-31  Jim Meyering  <meyering@lucent.com>
82173
82174         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
82175         functions.  Add the time.h and sys/time.h headers along with the
82176         AC_REQUIRE'ment of AC_HEADER_TIME.
82177
82178 2000-01-31  Jim Meyering  <meyering@lucent.com>
82179
82180         * lib/nanosleep.h (nanosleep): Guard declaration with
82181         `#if ! HAVE_DECL_NANOSLEEP'.
82182         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
82183         the declaration in that vendor's sys/timers.h.
82184         Reported by Christian Krackowizer.
82185
82186         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
82187         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
82188         (ISPRINT): Likewise.
82189         Reported by Tom Tromey.
82190
82191 2000-01-30  Jim Meyering  <meyering@lucent.com>
82192
82193         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
82194
82195         * m4/prereq.m4 (utmp_includes): Define.
82196         Check for ut_user and ut_name members in both struct utmpx
82197         and struct utmp.
82198
82199 2000-01-30  Jim Meyering  <meyering@lucent.com>
82200
82201         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
82202         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
82203         header files where only utmpx.ut_user is declared.
82204
82205         * lib/readutmp.h (UT_USER): Define.
82206
82207 2000-01-29  Jim Meyering  <meyering@lucent.com>
82208
82209         * m4/lib-check.m4: New file containing library-related checks from
82210         fileutils and sh-utils (textutils had none).
82211
82212 2000-01-28  Jim Meyering  <meyering@lucent.com>
82213
82214         * m4/perl.m4: Change format of warning message to look more like that
82215         from the missing script.  Suggestion from François Pinard.
82216
82217 2000-01-25  Jim Meyering  <meyering@lucent.com>
82218
82219         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
82220         well as time.h in the compile check.
82221         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
82222         Fix typo in cross-compiling case: s/yes/no/.
82223
82224 2000-01-23  Jim Meyering  <meyering@lucent.com>
82225
82226         * m4/jm-macros.m4: Move df-related tests here from
82227         fileutils/configure.in
82228
82229         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
82230         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
82231
82232         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
82233         s/space/ac_fsusage_space/.
82234         (jm_FILE_SYSTEM_USAGE): Take two parameters.
82235
82236         * m4/ftruncate.m4: New file (derived from part of
82237         fileutils/configure.in).
82238         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
82239         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
82240
82241         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
82242         AC_SUBST these here, rather than just in sh-util/configure.in, so
82243         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
82244         all the same.
82245         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
82246         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
82247         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
82248         (AC_SUBST(POW_LIBM)): Likewise.
82249         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
82250
82251 2000-01-23  Jim Meyering  <meyering@lucent.com>
82252
82253         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
82254         obstack.c.
82255
82256 2000-01-22  Jim Meyering  <meyering@lucent.com>
82257
82258         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
82259
82260         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
82261
82262         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
82263         configure.in
82264         (AC_CHECK_HEADERS): Likewise for sh-utils.
82265         (AC_CHECK_HEADERS): Likewise for textutils.
82266         Merge the three lists of headers.
82267
82268         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
82269         from fileutils' configure.in.
82270
82271         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
82272         code. Moved tests into their own function (_jm_DECL_HEADERS) in
82273         check-decl.m4.
82274
82275         * m4/check-decl.m4: Use #if rather than #ifdef.
82276         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
82277         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
82278         (_jm_DECL_HEADERS): Define new function.
82279         (jm_CHECK_DECLARATIONS): Require it.
82280
82281 2000-01-22  Jim Meyering  <meyering@lucent.com>
82282
82283         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
82284         [! HAVE_DECL_STRTOULL]: Declare strtoull.
82285         Required for some AIX systems.  Reported by Christian Krackowizer.
82286         [TESTING] (main): New function.
82287
82288         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
82289         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
82290         letters.
82291
82292         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
82293         iswprint.
82294
82295         * lib/strverscmp.c (ISDIGIT): Define.
82296         (strverscmp): Use ISDIGIT, not isdigit.
82297
82298 2000-01-19  Jim Meyering  <meyering@lucent.com>
82299
82300         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
82301         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
82302         defines `struct timespec' in <sys/time.h>
82303
82304         * m4/c-bs-a.m4: Remove uses of changequote altogether.
82305         Thanks to Akim for explaining.
82306
82307 2000-01-17  Paul Eggert  <eggert@twinsun.com>
82308
82309         * lib/nanosleep.c (nanosleep):
82310         Don't use SA_INTERRUPT to decide whether to call sigaction, as
82311         POSIX.1 doesn't require SA_INTERRUPT and some systems
82312         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
82313         it's been part of POSIX.1 since day 1 (in 1988).
82314
82315 2000-01-17  Jim Meyering  <meyering@lucent.com>
82316
82317         * lib/interlock: Remove unused file.  Reported by François Pinard.
82318
82319 2000-01-16  Paul Eggert  <eggert@twinsun.com>
82320
82321         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
82322         alert, backslash, formfeed, and vertical tab unnecessarily in
82323         shell quoting style.
82324
82325 2000-01-16  Jim Meyering  <meyering@lucent.com>
82326
82327         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
82328         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
82329         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
82330         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
82331
82332 2000-01-16  Jim Meyering  <meyering@lucent.com>
82333
82334         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
82335         because the latter didn't work.
82336
82337 2000-01-15  Jim Meyering  <meyering@lucent.com>
82338
82339         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
82340         (AC_REPLACE_FUNCS): Add memcpy and memset.
82341         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
82342         Add strpbrk.
82343         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
82344
82345 2000-01-12  Jim Meyering  <meyering@lucent.com>
82346
82347         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
82348         (jm_PREREQ): Use it.
82349         (jm_PREREQ_READUTMP): New macro.
82350         (jm_PREREQ): Use it.
82351
82352 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82353
82354         Quote multibyte characters correctly.
82355         * m4/c-bs-a.m4: New file.
82356         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
82357         (jm_PREREQ): Use it.
82358
82359 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82360
82361         * m4/uintmax_t.m4: Port to autoconf 2.13.
82362
82363 2000-01-08  Jim Meyering  <meyering@ascend.com>
82364
82365         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
82366         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
82367
82368 2000-01-04  Jim Meyering  <meyering@ascend.com>
82369
82370         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
82371         jm_STRUCT_DIRENT_D_TYPE.
82372         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
82373         jm_STRUCT_DIRENT_D_INO.
82374         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
82375         jm_STRUCT_UTIMBUF.
82376         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
82377         renamings.
82378         * m4/utime.m4: Likewise.
82379
82380         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
82381         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
82382
82383 2000-01-03  Paul Eggert  <eggert@twinsun.com>
82384
82385         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
82386         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
82387
82388 2000-01-02  Jim Meyering  <meyering@ascend.com>
82389
82390         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
82391         remember if this is necessary.
82392
82393 1999-12-26  Jim Meyering  <meyering@ascend.com>
82394
82395         * m4/jm-macros.m4: Use it here.
82396         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
82397
82398 1999-12-23  Jim Meyering  <meyering@ascend.com>
82399
82400         * m4/jm-macros.m4: Check for clock_gettime (moved from
82401         fileutils/configure.in)
82402         Check for gettimeofday.
82403
82404 1999-12-20  Jim Meyering  <meyering@ascend.com>
82405
82406         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
82407         autoconf-2.14a-1999-12-20.
82408
82409 1999-12-19  Jim Meyering  <meyering@ascend.com>
82410
82411         * m4/lstat-slash.m4: New file.
82412         * m4/jm-macros.m4: Use the new macro:
82413         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82414
82415 1999-12-07  Jim Meyering  <meyering@ascend.com>
82416
82417         * m4/perl.m4: Require that File::Compare be available, too.
82418         Too many systems seem to lack it.
82419
82420         * m4/strftime.m4: Add checks for most of the cpp macros tested in
82421         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
82422
82423 1999-11-18  Paul Eggert  <eggert@twinsun.com>
82424
82425         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
82426         problem with the QNX 4.25 shell, which doesn't propagate exit
82427         status of failed commands inside shell assignments.
82428
82429 1999-11-17  Jim Meyering  <meyering@ascend.com>
82430
82431         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
82432
82433 1999-11-07  Jim Meyering  <meyering@ascend.com>
82434
82435         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
82436
82437 1999-11-06  Jim Meyering  <meyering@ascend.com>
82438
82439         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
82440         * m4/jm-macros.m4 (jm_MACROS): Use it here.
82441
82442 1999-11-05  Jim Meyering  <meyering@ascend.com>
82443
82444         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
82445         configure.in of textutils, fileutils, and sh-utils into this one
82446         (shared between those packages) file.
82447         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
82448         AC_STRUCT_ST_BLKSIZE.
82449
82450 1999-11-03  Jim Meyering  <meyering@ascend.com>
82451
82452         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
82453         of AC_CHECK_TYPE checks includes unistd.h.
82454         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
82455         Suggestion from Akim Demaille.
82456
82457 1999-10-30  Jim Meyering  <meyering@ascend.com>
82458
82459         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
82460         m4-quoted string.
82461         * m4/ls-mntd-fs.m4: Likewise.
82462         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
82463         * m4/jm-winsz1.m4: Likewise.
82464
82465         * m4/const.m4: Remove file, since the fix made it into the experimental
82466         version of autoconf.
82467         * m4/mktime.m4: Likewise.
82468
82469         * m4/check-type.m4: Remove file, now that the latest version of
82470         AC_CHECK_TYPE takes a third arg to specify additional #includes.
82471
82472         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
82473         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
82474         AC_CHECK_TYPE.
82475
82476 1999-10-04  Jim Meyering  <meyering@ascend.com>
82477
82478         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
82479
82480 1999-09-22  Paul Eggert  <eggert@twinsun.com>
82481
82482         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
82483         2.95.1 bug with HP-UX 10.20.
82484
82485 1999-09-17  Jim Meyering  <meyering@ascend.com>
82486
82487         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
82488         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
82489         due to missing strdup (against sh-utils-2.0).
82490
82491 1999-08-29  Jim Meyering  <meyering@ascend.com>
82492
82493         * m4/jm-macros.m4: Require jm_BISON.
82494         * m4/bison.m4: New file.
82495
82496 1999-08-17  Paul Eggert  <eggert@twinsun.com>
82497
82498         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
82499         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
82500
82501 1999-08-05  Jim Meyering  <meyering@ascend.com>
82502
82503         * m4/getline.m4: Rename test file from conftestdata to conftest.data
82504         to avoid conflicts with `conftest' on 8+3 filesystems.
82505         Suggestion from Eli Zaretskii.
82506
82507 1999-08-04  Jim Meyering  <meyering@ascend.com>
82508
82509         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
82510         fileutils and sh-utils (textutils's getline test was inadequate).
82511         (AM_FUNC_GETLINE): Run this test.
82512         (AC_CHECK_FUNCS): Check for getdelim.
82513         Reported by Bob Proulx.
82514
82515 1999-08-02  Jim Meyering  <meyering@ascend.com>
82516
82517         * m4/jm-macros.m4: Add a comment.
82518
82519 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82520
82521         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
82522         <inttypes.h> defines strtoumax as a macro (and not as a
82523         function).
82524
82525 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82526
82527         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
82528         that we can shift, multiply and divide unsigned long long
82529         values; Ultrix cc can't do it.
82530
82531 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82532
82533         * m4/mktime.m4: New file, which is a preview of what should appear
82534         in the next public autoconf release.
82535
82536 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82537
82538         * m4/lfs.m4: Remove this file.
82539         * m4/largefile.m4: New file.  It contains the old contents of
82540         lfs.m4, except that all names with prefix AC_LFS have been
82541         changed to use the prefix AC_SYS_LARGEFILE instead, to be
82542         compatible with future autoconf versions.  Also, some minor m4
82543         quoting problems have been fixed.
82544
82545 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82546
82547         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
82548         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
82549         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
82550         and simplify the shell code.
82551
82552 1999-08-01  Jim Meyering  <meyering@ascend.com>
82553
82554         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
82555         m4.
82556
82557 1999-07-20  Jim Meyering  <meyering@ascend.com>
82558
82559         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
82560
82561 1999-07-15  Jim Meyering  <meyering@ascend.com>
82562
82563         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
82564
82565 1999-05-22  Jim Meyering  <meyering@ascend.com>
82566
82567         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
82568
82569 1999-05-20  Jim Meyering  <meyering@ascend.com>
82570
82571         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
82572         Add a colon after each `then' in case $4 is empty.
82573
82574 1999-05-16  Jim Meyering  <meyering@ascend.com>
82575
82576         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
82577
82578 1999-05-10  Jim Meyering  <meyering@ascend.com>
82579
82580         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
82581
82582         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
82583         AC_FUNC_MKTIME.
82584
82585 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
82586
82587         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
82588
82589 1999-05-04  Paul Eggert  <eggert@twinsun.com>
82590
82591         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
82592         not CPPFLAGS, so that linking works correctly in IRIX.
82593
82594 1999-04-30  Paul Eggert  <eggert@twinsun.com>
82595
82596         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
82597
82598 1999-04-20  Paul Eggert  <eggert@twinsun.com>
82599
82600         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
82601         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
82602         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
82603         jm_AC_TYPE_UNSIGNED_LONG_LONG.
82604         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
82605
82606         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
82607
82608 1999-04-20  Jim Meyering  <meyering@ascend.com>
82609
82610         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
82611         AC_REPLACE xstroull if necessary.  From Paul Eggert.
82612         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
82613
82614 1999-04-18  Jim Meyering  <meyering@ascend.com>
82615
82616         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
82617         * m4/jm-macros.m4: Use it.
82618
82619 1999-04-06  Jim Meyering  <meyering@ascend.com>
82620
82621         * m4/strftime.m4: Remove test for %f.
82622
82623 1999-03-29  Jim Meyering  <meyering@ascend.com>
82624
82625         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
82626         superset of the AC_TYPE_* checks in the textutils, fileutils,
82627         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
82628         AC_TYPE_PID_T.
82629
82630 1999-03-28  Jim Meyering  <meyering@ascend.com>
82631
82632         * m4/jm-macros.m4: Define GNU_PACKAGE here.
82633         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
82634         replaced e.g., in the *.sh files of the sh-utils.
82635
82636 1999-03-20  Jim Meyering  <meyering@ascend.com>
82637
82638         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
82639         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
82640         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
82641
82642 1999-03-19  Jim Meyering  <meyering@ascend.com>
82643
82644         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
82645
82646 1999-03-12  Jim Meyering  <meyering@ascend.com>
82647
82648         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
82649
82650 1999-03-07  Jim Meyering  <meyering@ascend.com>
82651
82652         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
82653         declared.
82654
82655 1999-02-17  Jim Meyering  <meyering@ascend.com>
82656
82657         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
82658         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
82659
82660 1999-02-07  Jim Meyering  <meyering@ascend.com>
82661
82662         * m4/group-member.m4: New file -- extracted from sh-utils'
82663         configure.in.
82664
82665         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
82666         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
82667
82668 1999-02-06  Jim Meyering  <meyering@ascend.com>
82669
82670         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
82671         * m4/fnmatch.m4: Likewise.
82672         * m4/getgroups.m4: Likewise.
82673         * m4/lstat.m4: Likewise.
82674         * m4/malloc.m4: Likewise.
82675         * m4/putenv.m4: Likewise.
82676         * m4/realloc.m4: Likewise.
82677         * m4/regex.m4: Likewise.
82678         * m4/stat.m4: Likewise.
82679         * m4/strftime.m4: Likewise.
82680         Suggestion from Alain Magloire.
82681
82682         * m4/chown.m4: Use `.$ac_objext', not `.o'.
82683         * m4/fnmatch.m4: Likewise.
82684         * m4/getgroups.m4: Likewise.
82685         * m4/getline.m4: Likewise.
82686         * m4/lstat.m4: Likewise.
82687         * m4/malloc.m4: Likewise.
82688         * m4/memcmp.m4: Likewise.
82689         * m4/putenv.m4: Likewise.
82690         * m4/realloc.m4: Likewise.
82691         * m4/regex.m4: Likewise.
82692         * m4/stat.m4: Likewise.
82693         * m4/strftime.m4: Likewise.
82694         Suggestion from Alain Magloire.
82695
82696         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
82697         an argument.
82698
82699         * m4/regex.m4: Add a run-time Test for proper operation of
82700         re_compile_pattern.
82701
82702 1999-01-31  Jim Meyering  <meyering@ascend.com>
82703
82704         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
82705
82706 1999-01-30  Jim Meyering  <meyering@ascend.com>
82707
82708         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
82709
82710         * m4/jm-mktime.m4: Make this a wrapper around the official
82711         AM_FUNC_MKTIME rather than my private copy, now that the official one
82712         is up to date.
82713         * m4/mktime.m4: Remove file.
82714
82715         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
82716         * m4/uptime.m4: Likewise.
82717         * m4/uintmax_t.m4: Likewise.
82718
82719 1999-01-28  Jim Meyering  <meyering@ascend.com>
82720
82721         * m4/jm-macros.m4: Use jm_AFS.
82722         * m4/afs.m4: New file (from fileutils' configure.in).
82723
82724         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
82725         * m4/chown.m4: Likewise.
82726         * m4/d-ino.m4: Likewise.
82727         * m4/d-type.m4: Likewise.
82728         * m4/fnmatch.m4: Likewise.
82729         * m4/getgroups.m4: Likewise.
82730         * m4/gettext.m4: Likewise.
82731         * m4/jm-mktime.m4: Likewise.
82732         * m4/jm-winsz2.m4: Likewise.
82733         * m4/lcmessage.m4: Likewise.
82734         * m4/ls-mntd-fs.m4: Likewise.
82735         * m4/malloc.m4: Likewise.
82736         * m4/memcmp.m4: Likewise.
82737         * m4/putenv.m4: Likewise.
82738         * m4/realloc.m4: Likewise.
82739         * m4/st_mtim.m4: Likewise.
82740         * m4/strftime.m4: Likewise.
82741
82742 1999-01-16  Jim Meyering  <meyering@ascend.com>
82743
82744         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
82745         (ARGMATCH_DIE_DECL): Define.
82746
82747 1999-01-12  Jim Meyering  <meyering@ascend.com>
82748
82749         * m4/Makefile.am.in: Rewrite to avoid using fmt.
82750         Reported by Lars Hecking.
82751
82752 1999-01-10  Jim Meyering  <meyering@ascend.com>
82753
82754         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
82755         gross kludge.
82756         * m4/inttypes_h.m4: Likewise.
82757         * m4/lstat.m4: Likewise.
82758         * m4/malloc.m4: Likewise.
82759         * m4/readdir.m4: Likewise.
82760         * m4/realloc.m4: Likewise.
82761         * m4/st_dm_mode.m4: Likewise.
82762         * m4/stat.m4: Likewise.
82763         * m4/utimbuf.m4: Likewise.
82764         * m4/utimes.m4: Likewise.
82765
82766         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
82767         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
82768         comments in config.h.in are meaningful.
82769
82770         * m4/jm-macros.m4: Require autoconf-2.13 here.
82771
82772         * m4/regex.m4: By default, don't use the included regex.c on systems
82773         with glibc 2.  Suggestion from Uli Drepper.
82774
82775 1999-01-02  Jim Meyering  <meyering@ascend.com>
82776
82777         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
82778
82779 1998-12-18  Jim Meyering  <meyering@ascend.com>
82780
82781         * m4/Makefile.am.in (Makefile.am): Simplify rule.
82782         Based on a suggestion from Lars Hecking.
82783
82784 1998-11-16  Paul Eggert  <eggert@twinsun.com>
82785
82786         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
82787
82788 1998-11-16  Jim Meyering  <meyering@ascend.com>
82789
82790         * m4/lfs.m4: Double-quote the `uname...` expression.
82791
82792 1998-11-14  Jim Meyering  <meyering@ascend.com>
82793
82794         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
82795         * m4/stat.m4: Likewise.
82796
82797 1998-11-03  Jim Meyering  <meyering@ascend.com>
82798
82799         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
82800         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
82801
82802 1998-10-18  Jim Meyering  <meyering@ascend.com>
82803
82804         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
82805
82806 1998-10-17  Jim Meyering  <meyering@ascend.com>
82807
82808         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
82809         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
82810         calls for those previously hard-coded headers.  Instead, take a new
82811         parameter.
82812         (jm_CHECK_DECLARATIONS): Reflect interface change.
82813         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
82814         (jm_CHECK_DECL_LOCALTIME_R): New macro.
82815
82816         * m4/mktime.m4: Test for spring-forward gap before long-running test.
82817
82818 1998-10-14  Jim Meyering  <meyering@ascend.com>
82819
82820         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
82821         instead of "TZ=America/Vancouver".  From Paul Eggert.
82822
82823 1998-10-11  Jim Meyering  <meyering@ascend.com>
82824
82825         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
82826         This adds a test for a recently added compatibility fix for mktime.c.
82827         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
82828
82829 1998-09-27  Jim Meyering  <meyering@ascend.com>
82830
82831         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
82832
82833         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
82834         ../configure.in, including a change from Gordon Matzigkeit to allow
82835         cross-compiling for the Hurd.
82836
82837         * m4/glibc.m4: New file/macro to test for the GNU C Library
82838         versions 1 and 2.  From Gordon Matzigkeit.
82839         Indent.
82840
82841 1998-09-21  Jim Meyering  <meyering@ascend.com>
82842
82843         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
82844
82845 1998-08-18  Paul Eggert  <eggert@twinsun.com>
82846
82847         Port nanosecond-resolution times to UnixWare 2.1.2 and
82848         pedantic Solaris 2.6.
82849
82850         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
82851         AC_STRUCT_ST_MTIM.
82852         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
82853         Generate name of ns member, instead of just 1 or undef.
82854         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
82855
82856 1998-08-15  Jim Meyering  <meyering@ascend.com>
82857
82858         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
82859         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
82860         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
82861         instead of jm_TYPE_SSIZE_T.
82862
82863 1998-08-12  Jim Meyering  <meyering@ascend.com>
82864
82865         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
82866
82867 1998-08-02  Jim Meyering  <meyering@ascend.com>
82868
82869         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
82870         in acconfig.h manually.
82871
82872 1998-07-31  Paul Eggert  <eggert@twinsun.com>
82873
82874         * m4/st_mtim.m4: New file.
82875
82876 1998-07-28  Jim Meyering  <meyering@ascend.com>
82877
82878         * m4/utimes.m4: Undef stat.
82879
82880 1998-07-25  Jim Meyering  <meyering@ascend.com>
82881
82882         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
82883         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
82884
82885 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
82886
82887         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
82888         uid and gid actually remain unchanged.
82889
82890 1998-07-07  Jim Meyering  <meyering@ascend.com>
82891
82892         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
82893
82894 1998-07-04  Jim Meyering  <meyering@ascend.com>
82895
82896         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
82897         to prove that this macro can be used in packages without regex.c.
82898
82899 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
82900
82901         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
82902         is to be used.
82903
82904 1998-07-03  Jim Meyering  <meyering@ascend.com>
82905
82906         * m4/gettext.m4: Add -lintl if it's found to be necessary.
82907
82908         * m4/gettext.m4: New file -- from gettext-0.10.35.
82909         * m4/lcmessage.m4: Likewise.
82910         * m4/progtest.m4: Likewise.
82911
82912         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
82913         * m4/jm-macros.m4: Require the new macro.
82914
82915 1998-06-29  Jim Meyering  <meyering@ascend.com>
82916
82917         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
82918         for the definition of NGROUPS (used in a system header included
82919         by sys/mount.h).
82920
82921 1998-06-28  Jim Meyering  <meyering@ascend.com>
82922
82923         * m4/ls-mntd-fs.m4: New file.
82924         * m4/fstypename.m4: New file.
82925
82926         * m4/jm-macros.m4: Require the new macro.
82927         * m4/jm-glibc-io.m4: New file.
82928
82929 1998-05-19  Jim Meyering  <meyering@ascend.com>
82930
82931         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
82932         * m4/lchown.m4: New file.
82933
82934         * m4/Makefile.am.in: New file.
82935         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
82936
82937 1998-05-14  Jim Meyering  <meyering@ascend.com>
82938
82939         * m4/Makefile.am (EXTRA_DIST): Add them.
82940         * m4/jm-macros.m4: New file.
82941         * m4/utimbuf.m4: New file.
82942
82943 1998-05-12  Jim Meyering  <meyering@ascend.com>
82944
82945         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
82946
82947 1998-05-11  Jim Meyering  <meyering@ascend.com>
82948
82949         * m4/isc-posix.m4: New file.
82950
82951 1998-05-10  Jim Meyering  <meyering@ascend.com>
82952
82953         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
82954
82955 1998-05-09  Jim Meyering  <meyering@ascend.com>
82956
82957         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
82958         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
82959         with automake.
82960
82961         * m4/ssize_t.m4: New file.
82962         * m4/mktime.m4: Remove file -- the new automake has this now.
82963
82964 1998-04-26  Jim Meyering  <meyering@ascend.com>
82965
82966         * m4/assert.m4: New file.
82967         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
82968
82969 1998-04-05  Jim Meyering  <meyering@ascend.com>
82970
82971         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
82972         (jm_PREREQ): Use it here.
82973
82974 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
82975
82976         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
82977         in acconfig.h.
82978
82979 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
82980
82981         * m4/prereq.m4: New file.
82982         * m4/error.m4: New file.
82983         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
82984
82985 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
82986
82987         * m4/getline.m4: Don't set am_cv_func_working_getline before the
82988         cache-check for the same variable -- that defeated the purpose of
82989         the test; the test program was never run.  This was a problem only
82990         on systems with losing getline functions -- HP-UX 10.20 is one.
82991         Reported by Bjorn Helgaas.
82992
82993 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
82994
82995         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
82996
82997 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
82998
82999         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
83000
83001         * m4/const.m4: New file.  Use an initializer in this declaration
83002         typedef int charset[2]; const charset x;
83003         Reported by Bob Glickstein.
83004
83005 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
83006
83007         * m4/chown.m4: Fix reversed types on -1 args to chown.
83008         From Kaveh Ghazi.
83009
83010 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
83011
83012         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
83013         Add lseek and memchr.
83014
83015         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
83016         T.E.Dickey <dickey@clark.net> said that some older preprocessors
83017         have a 20-character limit on names.
83018
83019 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
83020
83021         * m4/inttypes_h.m4: New file.
83022         * m4/uintmax_t.m4: New file.
83023         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
83024
83025
83026         -----
83027
83028         Local Variables:
83029         coding: utf-8
83030         End:
83031
83032         Copyright (C) 1997-2011 Free Software Foundation, Inc.
83033
83034         Copying and distribution of this file, with or without
83035         modification, are permitted provided the copyright notice
83036         and this notice are preserved.